GNU-projektet har præsenteret udgivelsen af biblioteket Libgcrypt 1.11.0, som implementerer komponenter, der ligger til grund for de krypteringsmekanismer, der anvendes i GnuPG. Biblioteket tilbyder funktioner til brug i tredjepartsapplikationer med forskellige kryptografiske algoritmer, herunder symmetrisk kryptering (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), hash-algoritmer (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool),
autentificeringskryptering (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), kryptering ved hjælp af offentlige nøgler (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Den nye gren er fuldt kompatibel med niveauer af API og ABI fra version 1.10.x (der kræves ikke en genkompilering af programmerne for at bruge den nye version).
Nøgleforbedringer:
- API'et til brug af nøgleindkapslingsmekanismer (KEM, Key Encapsulation Mechanism) er blevet tilføjet, hvilket anvendes til at beskytte nøgler til symmetrisk kryptering ved at udnytte algoritmer baseret på offentlige nøgler (asymmetrisk kryptering) til deres overførsel.
- Algoritmen til nøgleindkapsling sntrup761 (Streamlined NTRU Prime), som er modstandsdygtig over for angreb fra kvantecomputere, er blevet tilføjet.
- En kvante-resistent algoritme kaldet Kyber er blevet tilføjet, som benytter metoder fra kryptografi baseret på løsning af opgaver inden for gitterteori, hvor løsnings tidsrammen er ens for både almindelige og kvantecomputere.
- Algoritmen til nøgleindkapsling Classic McEliece, der er modstandsdygtig over for angreb fra kvantecomputere, er blevet tilføjet.
- Nøglegenereringsalgoritmerne er blevet tilføjet: One-Step KDF med hash og MAC (Message Authentication Code), HKDF (RFC-5869) og X963KDF.
- Autentificeringskrypteringsalgoritmerne GMAC-SM4 og Poly1305-SM4 er blevet tilføjet.
- Algoritmen til blok-kryptering ARIA er blevet tilføjet.
- Hash-algoritmen cSHAKE er blevet tilføjet.
- Der er implementeret støtte til intern generation af initialiseringsvektorer (IV) til AEAD-autentificeringskrypteringsmetoden.
- Der er blevet tilføjet hurtige assemblerimplementeringer af algoritmerne SM3 og SM4 til AArch64-arkitekturen samt SM4-varianter på assembler for ARMv9, PowerPC og x86 (med AVX2-instruktioner GFNI og AVX512-instruktioner GFI).
- Implementeringerne af algoritmerne ChaCha20 og Poly1305 er blevet optimeret til PPC-arkitekturen ved brug af P10-instruktioner. Implementeringen af AES til PPC er blevet accelereret.
- Implementeringen af algoritmen Camellia, der anvender AVX2-instruktionen GFNI, er blevet tilføjet.
- Implementeringerne af GHASH (GCM) og POLYVAL (GCM-SIV), der er accelereret ved hjælp af AVX2- og AVX512-udvidelser, er blevet tilføjet.
- Implementeringer af algoritmerne SHA512, Serpent, SHA3, Blake2, Poly1305 og ChaCha20 er blevet tilføjet og accelereret med AVX512-udvidelsen.
- Implementering af AES til i386-systemer er blevet tilføjet, accelereret med AVX2-instruktionen VAES.
- Implementeringer af algoritmerne SHA512 og Camellia er blevet tilføjet, accelereret med kryptoudvidelser til AArch64-arkitekturen.
- Der er udført arbejde for at sikre konstant udførelsestid for operationer med forskellige kryptografiske algoritmer.
Kilde: opennet.ru
