Программная модель алгоритма симметричного шифрования AES (Advanced Encryption Standard), реализованная на языке С в соответствии со стандартом FIPS-197.
- Документация
- Реализованные функции
- Структура проекта
- Сборка проекта
- Запуск модели
- Тестирование
- Используемые ресурсы
- Лицензия
С документацией работы устройства можно ознакомиться по ссылке: документация.
- AES-128 encryption/decryption.
- AES-192 encryption/decryption.
- AES-256 encryption/decryption.
- Автоматизированное тестирование с использованием CTest.
- include/ - заголовочные файлы;
- src/ - исходные файлы;
- test/ - автоматизированные тесты;
- docs/ - документация NIST.
Размер ключа для основного приложения выбирается на этапе конфигурирования CMake.
cmake -S . -B build -G "MinGW Makefiles" -DAES_KEY_SIZE=128
cmake --build buildcmake -S . -B build -G "MinGW Makefiles" -DAES_KEY_SIZE=192
cmake --build buildcmake -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.