GNU Project presented library release Libgcrypt 1.11.0, with the implementation of the components underlying the encryption mechanisms used in GnuPG. The library provides functions for using various cryptographic algorithms in third-party applications, including symmetric ciphers (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), hashing algorithms (MD5, RIPE-MD160, SHA -*, SHAKE256, TIGER-192, Whirlpool), authenticated encryption algorithms (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), public key encryption (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH ). The new branch is fully compatible at the API and ABI level with the 1.10.x branch (using the new version does not require rebuilding programs).
Key improvements:
- Added API for using key encapsulation mechanisms (KEMKey Encapsulation Mechanism), used to protect keys for symmetric encryption by using algorithms based on public keys to transmit them (asymmetric encryption).
- Added sntrup761 key encapsulation algorithm (Streamlined NTRU Prime), resistant to selection on quantum computers.
- Added algorithm resistant to selection on quantum computers Kyberusing problem-solving-based cryptography methods lattice theorythe solution time of which does not differ on conventional and quantum computers.
- Added key encapsulation algorithm Classic McElieceresistant to selection on quantum computers.
- Added key generation algorithms: One-Step KDF with hash and imitative insertion (MAC, Message Authentication Code), HKDF (RFC-5869) and X963KDF.
- Added GMAC-SM4 and Poly1305-SM4 authenticated encryption algorithms.
- Added block encryption algorithm ARIA.
- Added cSHAKE hashing algorithm.
- Implemented support for internal initialization vector (IV) generation for AEAD authenticated encryption mode.
- Added fast assembler implementations of the SM3 and SM4 algorithms for the AArch64 architecture, as well as assembler versions of SM4 for ARMv9, PowerPC and x86 (AVX2 GFNI instructions and AVX512 GFI instructions are used).
- Implementations of the ChaCha20 and Poly1305 algorithms are optimized for the PPC architecture using P10 instructions. Accelerated implementation of AES for PPC.
- Added implementation of the Camellia algorithm using the AVX2 GFNI instruction.
- Added implementations of GHASH (GCM) and POLYVAL (GCM-SIV), accelerated using the AVX2 and AVX512 extensions.
- Added implementations of the SHA512, Serpent, SHA3, Blake2, Poly1305 and ChaCha20 algorithms, accelerated using the AVX512 extension.
- Added AES implementation for i386 systems, accelerated using the VAES AVX2 instruction.
- Added implementations of the SHA512 and Camellia algorithms, accelerated using crypto extensions for the AArch64 architecture.
- Work has been carried out to ensure constant execution time of operations for various cryptoalgorithms.
Thanks for reading: