Доступен выпуск криптографической библиотеки Botan 3.1.0, применяемой в проекте NeoPG, форке GnuPG 2. Библиотека предоставляет большую коллекцию готовых примитивов, используемых в протоколе TLS, сертификатах X.509, шифрах AEAD, модулях TPM, PKCS#11, хэшировании паролей и постквантовой криптографии (подписи на основе хэша и согласование ключей на основе McEliece). Библиотека написана на языке C++ и поставляется под лицензией BSD.
Среди изменений в новом выпуске:
Добавлена поддержка алгоритма для работы с цифровыми подписями SPHINCS+, применяющего методы криптографии на основе хеш-функций, устойчивые к подбору на квантовом компьютере.
Добавлены обвязки для использования инструкций AVX-512. Добавлены реализации алгоритмов ChaCha и Serpent, использующие AVX-512.
Реализация TLS 1.3 переведена на использование интерфейса KEM (Key Encapsulation Mechanism).
Добавлена возможность отключения определённых расширений CPU через выставление переменных окружения.
Добавлены функции FFI, связанные с управлением ключами Kyber.
Проведено переформатирование кода при помощи утилиты clang-format.
Улучшена обработка настроек PBKDF в интерфейсе командной строки.
В утилитах командной строки для работы с TLS добавлена поддержка использования PSK.
Настройки PBKDF в python-модуле изменены с применения 10 тыс. итераций на 100 тыс.
Внесены исправления для улучшения соответствия спецификациям TLS
Проведена оптимизация кодирования методом base64.
Источник: OpenNET.
