Выпуск криптографической библиотеки Libgcrypt 1.6.0

Проект GNU представил новый значительный выпуск библиотеки Libgcrypt 1.6.0, с реализацией компонентов, лежащих в основе механизмов шифрования, применяемых в GnuPG. Библиотека предоставляет функции для использования в сторонних приложениях различных криптоалгоритмов, включая симметричные шифры (AES, DES, Blowfish, CAST5, Twofish, SEED, Camellia, Arcfour), алгоритмы хэширования (MD4, MD5, RIPE-MD160, SHA-1, SHA_224, SHA-256, SHA-384, SHA-512, TIGER-192, Whirlpool), шифрование с использованием публичных ключей (RSA, Elgamal, DSA, ECDSA). Новая версия примечательная изменением ABI (для использования новой версии требуется пересборка программ) из-за проведения большой чистки некоторых давно устаревших функций. В частности, удалена поддержка интерфейса gcry_ac, подсистемы регистрации модулей, устаревших отладочных макросов.

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

Поддержка российских криптографических стандартов: ГОСТ Р 34.11–94 и ГОСТ Р 34.11–2012 (Stribog) для хэширования и ГОСТ 28147–89 для шифрования; Заметное увеличение производительности большинства алгоритмов шифрования и хэш-функций семейства SHA. Оптимизация алгоритмов шифрования по публичным ключам, в том числе Curve25519, ожидается в следующем выпуске; Поддержка симметричного блочного алгоритма шифрования шифрования IDEA; Поддержка потоковых шифров Salsa20 и Salsa20/12 (12 циклов шифрования вместо 20); Добавлен генератор псевдослучайных чисел для обращения к системному /dev/random. Обеспечена возможность выбора специфичного генератора случайных чисел; Поддержка алгоритма SCRYPT для формирования ключа на основе пароля; Реализована защита от проведения атак (CVE-2013–4242), позволяющих восстановить содержимое закрытого RSA-ключа другого пользователя многопользовательской системы, используя особенности помещения данных в совместно используемый L3-кэш; Поддержка детерминированного DSA в соответствии с RFC-6969; Поддержка схемы формирования цифровых подписей по эллиптическим кривым Ed25519; Реализованы вспомогательные функции для использования MPI и SEXP; Возможность выборочного отключения использования аппаратных реализаций различных криптоалгортимов; Добавлена вспомогательная функция для отладки.

© OpenNet