Projekt GNU je predstavio izdanje biblioteke Libgcrypt 1.11.0, sa realizacijom komponenti koje čine osnove mehanizama šifriranja korišćenih u GnuPG. Biblioteka pruža funkcije za korišćenje različitih kriptoalgoritama u sporednim aplikacijama, uključujući simetrične šifre (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), algoritme haširanja (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool),
algoritme autentifikovanog šifriranja (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), šifriranje korišćenjem javnih ključeva (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Nova grana je potpuno kompatibilna na API i ABI nivou sa granom 1.10.x (za korišćenje nove verzije nije potrebna ponovna izgradnja programa).
Ključna poboljšanja:
- Dodato je API za korišćenje mehanizama enkapsulacije ključeva (KEM, Key Encapsulation Mechanism), korišćenih za zaštitu ključeva za simetrično šifriranje tako što se za njihovu prenos koriste algoritmi zasnovani na javnim ključevima (asimetrično šifriranje).
- Dodata je algoritam enkapsulacije ključeva sntrup761 (Streamlined NTRU Prime), otporan na probijanje na kvantnim računarima.
- Dodana je algoritam Kyber otporan na probijanje na kvantnim računarima, koji koristi metode kriptografije zasnovane na rešavanju problema teorije rešetki, čije vreme rešavanja nije različito na običnim i kvantnim računarima.
- Dodata je algoritam enkapsulacije ključeva Classic McEliece, otporan na probijanje na kvantnim računarima.
- Dodati su algoritmi za formiranje ključeva: One-Step KDF sa hašem i imitoslavom (MAC, Message Authentication Code), HKDF (RFC-5869) i X963KDF.
- Dodati su algoritmi autentifikovanog šifriranja GMAC-SM4 i Poly1305-SM4.
- Dodata je algoritam blokovnog šifriranja ARIA.
- Dodata je algoritam haširanja cSHAKE.
- Implementirana je podrška za unutrašnju generaciju inicijalizacijskog vektora (IV) za režim autentifikovanog šifriranja AEAD.
- Dodate su brze asemberske implementacije algoritama SM3 i SM4 za arhitekturu AArch64, kao i varijante SM4 na asembleru za ARMv9, PowerPC i x86 (korišćene AVX2 instrukcije GFNI i AVX512 instrukcije GFI).
- Implementacije algoritama ChaCha20 i Poly1305 optimizovane su za arhitekturu PPC koristeći instrukcije P10. Ubrzana je implementacija AES za PPC.
- Dodata je implementacija algoritma Camellia, koja koristi AVX2 instrukciju GFNI.
- Dodane implementacije GHASH (GCM) in POLYVAL (GCM-SIV), pospešene s pomočjo razširitev AVX2 in AVX512.
- Dodane implementacije algoritmov SHA512, Serpent, SHA3, Blake2, Poly1305 in ChaCha20, pospešene s pomočjo razširitve AVX512.
- Dodana je implementacija AES za sisteme i386, pospešena s pomočjo AVX2-navodil VAES.
- Dodane implementacije algoritmov SHA512 in Camellia, pospešene s pomočjo kripto-razširitev za arhitekturo AArch64.
- Opravljeno delo na zagotavljanju konstantnega časa izvajanja operacij za različne kriptoalgoritme.
Izvor: opennet.ru
