ΠΡΠΎΠ΅ΠΊΡ 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 Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 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
