Проект GNU представил выпуск библиотеки Libgcrypt 1.8.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.7.x (для использования новой версии не требуется пересборка программ).

Ключевые улучшения:

  • Реализован алгоритм хэширования Blake-2;
  • Добавлен режим работы блочных шифров XTS, применяемый при полном шифровании дисков;
  • Добавлены новые функции gcry_mpi_point_copy и gcry_get_config;
  • Добавлен параметр GCRYCTL_REINIT_SYSCALL_CLAMP, позволяющий инициализировать многопоточную библиотеку nPth после Libgcrypt;
  • Представлен новый глобальный файл конфигурации /etc/gcrypt/random.conf для настройки генератора псевдослучайных чисел;
  • Добавлена поддержка режима GCRY_CIPHER_MODE_CFB8;
  • Добавлены идентификаторы для отечественной хэш-функции Stribog (ГОСТ Р 34.11-2012);
  • Задействован новый высокопроизводительный коллектор энтропии на основе джиттера (jitter);
  • Выполнена оптимизация работы функции gcry_md_hash_buffers для хэшей SHA-256 и SHA-512;
  • Проведены оптимизации производительности реализаций AES, GCM, SHA-256 и SHA-1 для архитектур ARMv8/AArch32;
  • Добавлены ассемблерные реализации симметричных шифров Twofish и Camellia для ARMv8/AArch32;
  • Добавлена поддержка пакетного выполнения операций для ARMv8/AArch32;
  • Увеличена производительность DRBG (Deterministic Random Bit Generator) и кода синхронизации на платформе Linux.


Источник: http://www.opennet.ru/opennews/art.shtml?num=46886