Выпуск криптографической библиотеки 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 прочитано 4519 раз