Skip to content

Dimakdrshv/AES_System_Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AES

Программная модель алгоритма симметричного шифрования AES (Advanced Encryption Standard), реализованная на языке С в соответствии со стандартом FIPS-197.

Содержание

Документация

С документацией работы устройства можно ознакомиться по ссылке: документация.

Реализованные функции

  1. AES-128 encryption/decryption.
  2. AES-192 encryption/decryption.
  3. AES-256 encryption/decryption.
  4. Автоматизированное тестирование с использованием CTest.

Структура проекта

  • include/ - заголовочные файлы;
  • src/ - исходные файлы;
  • test/ - автоматизированные тесты;
  • docs/ - документация NIST.

Сборка проекта

Размер ключа для основного приложения выбирается на этапе конфигурирования CMake.

AES-128

cmake -S . -B build -G "MinGW Makefiles" -DAES_KEY_SIZE=128
cmake --build build

AES-192

cmake -S . -B build -G "MinGW Makefiles" -DAES_KEY_SIZE=192
cmake --build build

AES-256

cmake -S . -B build -G "MinGW Makefiles" -DAES_KEY_SIZE=256
cmake --build build

Запуск модели

./build/aes_model.exe

После запуска необходимо ввести ключ и входные данные в шестнадцатеричном формате.

Тестирование

Для проверки корректности работы реализованы автоматизированные тесты для конфигураций AES-128, AES-192 и AES-256.

Запуск тестирования:

ctest --test-dir build --verbose

При выполнении тестов производится многократное шифрование и дешифрование случайно сгенерированных данных с последующей проверкой совпадения исходного и восстановленного текста.

Используемые ресурсы

Based on FIPS-197 (Advanced Encryption Standard) and publicly available cryptographic reference materials.

Used for non-commercial educational purposes.

Лицензия

MIT License.

About

AES software model in C supporting AES-128, AES-192 and AES-256 encryption and decryption with automated CTest verification.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors