Выпуск криптографической библиотеки Libgcrypt 1.7.0
После двух с половиной лет разработки проект GNU представил выпуск библиотеки Libgcrypt 1.7.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). Новая ветка полностью совместима на уровне API и ABI с веткой 1.6.x (для использования новой версии не требуется пересборка программ).
Ключевые улучшения:
- Поддержка новых алгоритмов и режимов:
- Алгоритмы хэширования SHA3–224, SHA3–256, SHA3–384, SHA3–512 и MD2;
- Алгоритмы хэширования SHAKE128 и SHAKE256;
- Потоковый шифр ChaCha20;
- Алгоритм аутентификации сообщений Poly1305;
- Алгоритм аутентифицированного шифрования ChaCha20-Poly1305;
- Режим OCB;
- Поддержка HMAC-MD2 для устаревших приложений;
- Поддержка эллиптических кривых Curve25519, sec256k1, GOST R 34.10–2001 и GOST R 34.10–2012;
- Увеличение производительности функций KDF;
- Ассемблерные оптимизации для Blowfish и Serpent для CPU ARM, 3DES для x86;
- Задействование инструкций AVX/BMI для SHA-1 и SHA-256 SHA-1, и SSSE3 для AES. Новая AVX-реализация SHA-1 быстрее на 20% по сравнению с версией на базе SSSE3 и на 100% по сравнению с реализацией в libc;
- На 40% ускорена реализация SHA-512 и на 72% реализация SHA-1 для ARM Cortex-A8;
- На 60–90% ускорена реализация Whirlpool для x86;
- На 300% ускорена реализация RIPE MD-160;
- Вычисление CRC на системах x86 ускорено в 11 раз;
- Улучшена совместимость с ECDSA и FIPS 186–4.
© OpenNet