Projekt GNU predstavio je izdanje biblioteke Libgcrypt 1.11.0, koja implementira komponente na osnovu mehanizama šifriranja korištenih u GnuPG-u. Biblioteka pruža funkcije za korištenje različitih kriptoalgoritama u vanjskim aplikacijama, uključujući simetrične šifre (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), algoritme hashiranja (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool),
algoritme autentifikovanog šifriranja (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), šifriranje koristeći javne ključeve (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Nova grana potpuno je kompatibilna na API i ABI nivou sa granom 1.10.x (nije potrebna ponovna izgradnja programa za korištenje nove verzije).
Ključna poboljšanja:
- Dodana je API podrška za korištenje mehanizama enkapsulacije ključeva (KEM, Key Encapsulation Mechanism), koji se koriste za zaštitu ključeva za simetrično šifriranje putem algoritama zasnovanih na javnim ključevima (asimetrično šifriranje).
- Dodana je algoritam enkapsulacije ključeva sntrup761 (Streamlined NTRU Prime), otpornog na napade kvantnim računarima.
- Dodana je otpornija na napade kvantnim računarima algoritam Kyber, koja koristi metode kriptografije zasnovane na rješavanju problema teorije rešetki, čije vrijeme rješavanja se ne razlikuje na klasičnim i kvantnim računarima.
- Dodana je algoritam enkapsulacije ključeva Classic McEliece, otpornog na napade kvantnim računarima.
- Dodani su algoritmi za formiranje ključeva: One-Step KDF sa hashom i MAC-om (Message Authentication Code), HKDF (RFC-5869) i X963KDF.
- Dodani su algoritmi autentifikovanog šifriranja GMAC-SM4 i Poly1305-SM4.
- Dodana je algoritam bloka šifriranja ARIA.
- Dodana je algoritam hashiranja cSHAKE.
- Implementirana je podrška za internu generaciju inicijalizacijskog vektora (IV) za način autentifikovanog šifriranja AEAD.
- Dodane su brze asemberske implementacije algoritama SM3 i SM4 za arhitekturu AArch64, kao i varijante SM4 na asembleru za ARMv9, PowerPC i x86 (koriste se AVX2 instrukcije GFNI i AVX512 instrukcije GFI).
- Implementacije algoritama ChaCha20 i Poly1305 optimizovane su za PPC arhitekturu koristeći P10 instrukcije. Poboljšana je implementacija AES-a za PPC.
- Dodana je implementacija algoritma Camellia koja koristi AVX2 instrukciju GFNI.
- Dodane su implementacije GHASH (GCM) i POLYVAL (GCM-SIV), ubrzane pomoću AVX2 i AVX512 ekstenzija.
- Dodane su implementacije algoritama SHA512, Serpent, SHA3, Blake2, Poly1305 i ChaCha20, ubrzane korištenjem AVX512 instrukcija.
- Dodana je implementacija AES za i386 sustave, ubrzana korištenjem AVX2 instrukcije VAES.
- Dodane su implementacije algoritama SHA512 i Camellia, ubrzane korištenjem kripto proširenja za AArch64 arhitekturu.
- Obavljen je rad na osiguranju konstantnog vremena izvršavanja operacija za različite kriptoalgoritme.
Izvor: opennet.ru
