После полутора лет разработки состоялся релиз библиотеки OpenSSL 3.1.0 с реализацией протоколов SSL/TLS и различных алгоритмов шифрования. Поддержка OpenSSL 3.1 будет осуществляться до марта 2025 года. Поддержка прошлых веток OpenSSL 3.0 и 1.1.1 продлится до сентября 2026 года и сентября 2023 года соответственно. Код проекта распространяется под лицензией Apache 2.0.
Основные новшества OpenSSL 3.1.0:
- В модуле FIPS реализована поддержка криптографических алгоритмов, соответствующих стандарту безопасности FIPS 140-3. Начат процесс сертификации модуля для получения сертификата соответствия требованиям FIPS 140-3. До завершения сертификации после обновления OpenSSL до ветки 3.1 пользователи могут продолжить использование модуля FIPS, сертифицированного для FIPS 140-2. Из изменений в новой версии модуля отмечается включение алгоритмов Triple DES ECB, Triple DES CBC и EdDSA, которые пока не проверены на соответствия требованиям FIPS. Также в новой версии внесены оптимизации для повышения производительности и осуществлён переход на запуск внутренних тестов при каждой загрузке модуля, а не только после установки.
- Переработан код OSSL_LIB_CTX. Новый вариант избавлен от излишних блокировок и позволяет добиться более высокой производительности.
- Повышена производительность фреймворков кодировщика и декодировщика.
- Проведена оптимизация производительности, связанная с использованием внутренних структур (хеш-таблиц) и кэшированием.
- Повышена скорость генерации RSA-ключей в режиме FIPS.
- Для различных процессорных архитектур в реализации алгоритмов AES-GCM, ChaCha20, SM3, SM4 и SM4-GCM внесены специфичные ассемблерные оптимизации. Например, код AES-GCM ускорен при помощи инструкций AVX512 vAES и vPCLMULQDQ.
- В KBKDF (Key Based Key Derivation Function) добавлена поддержка алгоритма KMAC (KECCAK Message Authentication Code).
- Различные функции “OBJ_*” адаптированы для использования в многопоточном коде.
- Добавлена возможность использования для генерации псевдослучайных чисел инструкции RNDR и регистров RNDRRS, доступных в процессорах на базе архитектуры AArch64.
- Переведены в разряд устаревших функции OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio и OPENSSL_LH_node_usage_stats_bio. Объявлен устаревшим макроc DEFINE_LHASH_OF.
Release.
Ссылка here.