/GthCryptor

Cryptography library.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

О проекте

Эта библиотека реализует удобный интерфейс создания ключей из паролей при помощи SHA256 и шифрования файлов алгоритмом AES128 в режиме CTR. Демонстрационная программа находится в этом файле.

AES NI

С одной из версий поддерживаются специальные инструкции AES NI, значительно ускоряющие скорость шифрования. Так как не все процессоры их поддерживают, оставлена возможность шифрования без их использования. Для этого замените значение соответствующего макроса в этом файле.

Тесты производительности

Тесты были выполнены на процессоре Ryzen 5 5600H. Хоть они и не могут быть до конца объективными, так как скорость шифрования файлов зависит от используемой файловой системы, скорости накопителя и других данных, они отражают примерную производительность реализации.

  • 300 МБ/сек (2400 Мб/сек) при использовании AES NI
  • 80 МБ/сек (640 Мб/сек) без использования AES NI