После двух с половиной лет разработки проект 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;
  • Возможность выборочного отключения использования аппаратных реализаций различных криптоалгортимов;
  • Добавлена вспомогательная функция для отладки.


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