Выпуск криптографичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ 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.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ постоянного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru