Выпуск криптографической библиотеки Libgcrypt 1.11.0
Проект GNU представил выпуск библиотеки Libgcrypt 1.11.0, с реализацией компонентов, лежащих в основе механизмов шифрования, применяемых в GnuPG. Библиотека предоставляет функции для использования в сторонних приложениях различных криптоалгоритмов, включая симметричные шифры (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), алгоритмы хэширования (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool), алгоритмы аутентифицированного шифрования (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), шифрование с использованием публичных ключей (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Новая ветка полностью совместима на уровне API и ABI с веткой 1.10.x (для использования новой версии не требуется пересборка программ).
Ключевые улучшения:
Добавлен API для использования механизмов инкапсуляции ключей (KEM, Key Encapsulation Mechanism), применяемых для защиты ключей для симметричного шифрования через задействование для их передачи алгоритмов на основе открытых ключей (асимметричное шифрование).
Добавлен алгоритм инкапсуляции ключей sntrup761 (Streamlined NTRU Prime), стойкий к подбору на квантовых компьютерах.
Добавлен устойчивый к подбору на квантовых компьютерах алгоритм Kyber, использующий методы криптографии, основанные на решении задач теории решёток, время решения которых не отличается на обычных и квантовых компьютерах.
Добавлен алгоритм инкапсуляции ключей Classic McEliece, стойкий к подбору на квантовых компьютерах.
Добавлены алгоритмы формирования ключа: One-Step KDF с хэшем и имитовставкой (MAC, Message Authentication Code), HKDF (RFC-5869) и X963KDF.
- Добавлены алгоритмы аутентифицированного шифрования GMAC-SM4 и Poly1305-SM4.
Добавлен алгоритм блочного шифрования ARIA.
Добавлен алгоритм хэширования cSHAKE.
Реализована поддержка внутренней генерации вектора инициализации (IV) для режима аутентифицированного шифрования AEAD.
Добавлены быстрые ассемблерные реализации алгоритмов SM3 и SM4 для архитектуры AArch64, а также варианты SM4 на ассемблере для ARMv9, PowerPC и x86 (задействованы AVX2-инструкции GFNI и AVX512-инструкции GFI).
Реализации алгоритмов ChaCha20 и Poly1305 оптимизированы для архитектуры PPC c использованием инструкций P10. Ускорена реализация AES для PPC.
Добавлена реализация алгоритма Camellia, использующая AVX2-инструкцию GFNI.
Добавлены реализации GHASH (GCM) и POLYVAL (GCM-SIV), ускоренные при помощи расширений AVX2 и AVX512.
Добавлены реализации алгоритмов SHA512, Serpent, SHA3, Blake2, Poly1305 и ChaCha20, ускоренные при помощи расширения AVX512.
Добавлена реализация AES для систем i386, ускоренная при помощи AVX2-инструкции VAES.
Добавлены реализации алгоритмов SHA512 и Camellia, ускоренные при помощи крипто-расширений для архитектуры AArch64.
Проведена работа по обеспечению постоянного времени выполнения операций для различных криптоалгоритмов.
Источник: http://www.opennet.ru/opennews/art.shtml? num=61405
© OpenNet