Proiectul GNU a lansat biblioteca Libgcrypt 1.11.0, care implementează componentele de bază pentru mecanismele de criptare utilizate în GnuPG. Biblioteca oferă funcții pentru utilizarea diverselor algoritmi criptografici în aplicații externe, inclusiv cifruri simetrice (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), algoritmi de hashing (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool),
algoritmi de criptare autentificată (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), criptare folosind chei publice (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Noua ramură este complet compatibilă la nivel API și ABI cu ramura 1.10.x (nu este necesară recompilarea programelor pentru a utiliza noua versiune).
Îmbunătățiri cheie:
- A fost adăugat un API pentru utilizarea mecanismelor de encapsulare a cheilor (KEM, Key Encapsulation Mechanism), utilizate pentru protejarea cheilor pentru criptarea simetrică prin implicarea algoritmilor de criptare pe bază de chei publice (criptare asimetrică).
- A fost adăugat algoritmul de encapsulare a cheilor sntrup761 (Streamlined NTRU Prime), rezistent la atacurile de tip brute force cu computere cuantice.
- A fost adăugat algoritmul Kyber, rezistent la atacurile de tip brute force cu computere cuantice, care utilizează metode de criptografie bazate pe soluționarea problemelor din teoria rețelelor, timpul de soluționare nefiind diferit între computerele obișnuite și cele cuantice.
- A fost adăugat algoritmul de encapsulare a cheilor Classic McEliece, rezistent la atacurile de tip brute force cu computere cuantice.
- Au fost adăugate algoritmi de generare a cheii: One-Step KDF cu hash și MAC (Message Authentication Code), HKDF (RFC-5869) și X963KDF.
- Au fost adăugați algoritmi de criptare autentică GMAC-SM4 și Poly1305-SM4.
- A fost adăugat algoritmul de criptare pe bloc ARIA.
- A fost adăugat algoritmul de hashing cSHAKE.
- A fost implementat suportul pentru generarea internă a vectorului de inițializare (IV) pentru modul de criptare autentică AEAD.
- Au fost adăugări rapide de implementări assembly ale algoritmilor SM3 și SM4 pentru arhitectura AArch64, precum și variante SM4 pe assembly pentru ARMv9, PowerPC și x86 (sunt implicate instrucțiuni AVX2 GFNI și instrucțiuni AVX512 GFI).
- Implementările algoritmilor ChaCha20 și Poly1305 au fost optimizate pentru arhitectura PPC folosind instrucțiuni P10. Implementarea AES pentru PPC a fost accelerată.
- A fost adăugată implementarea algoritmului Camellia, care utilizează instrucția AVX2 GFNI.
- Au fost adăugate implementări GHASH (GCM) și POLYVAL (GCM-SIV), accelerate cu ajutorul extensiilor AVX2 și AVX512.
- Au fost adăugate implementări ale algoritmilor SHA512, Serpent, SHA3, Blake2, Poly1305 și ChaCha20, accelerate cu ajutorul extensiei AVX512.
- A fost adăugată o implementare AES pentru sistemele i386, accelerată prin instrucțiunea AVX2 VAES.
- Au fost adăugate implementări ale algoritmilor SHA512 și Camellia, accelerate cu ajutorul extensiilor criptografice pentru arhitectura AArch64.
- A fost realizată o muncă pentru asigurarea unui timp constant de execuție a operațiunilor pentru diferite algoritmi criptografici.
Sursa: opennet.ro
