The GNU Project has released version 1.11.0 of the Libgcrypt library, featuring the implementation of components underlying the encryption mechanisms used in GnuPG. The library provides functions for use in third-party applications for various cryptographic algorithms, 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-*), and public key encryption (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). The new branch is fully compatible at both the API and ABI level with the 1.10.x branch (no recompilation of programs is required to use the new version).
Key Improvements:
- An API has been added for the use of Key Encapsulation Mechanisms (KEM) that protect keys for symmetric encryption through the use of public key-based algorithms (asymmetric encryption) for their transmission.
- The key encapsulation algorithm sntrup761 (Streamlined NTRU Prime) has been added, which is resistant to attacks by quantum computers.
- A quantum-resistant algorithm, Kyber, has been added, employing cryptography based on solving lattice theory problems, with solution times that do not differ on classical and quantum computers.
- The Classic McEliece key encapsulation algorithm, resistant to quantum attacks, has been added.
- Key derivation algorithms have been added: One-Step KDF with a hash and Message Authentication Code (MAC), HKDF (RFC-5869), and X963KDF.
- Authenticated encryption algorithms GMAC-SM4 and Poly1305-SM4 have been added.
- The ARIA block cipher algorithm has been added.
- The cSHAKE hashing algorithm has been added.
- Support for internal initialization vector (IV) generation for the AEAD authenticated encryption mode has been implemented.
- Fast assembly implementations of SM3 and SM4 algorithms for AArch64 architecture have been added, as well as assembly variants of SM4 for ARMv9, PowerPC, and x86 (utilizing AVX2 GFNI instructions and AVX512 GFI instructions).
- Implementations of ChaCha20 and Poly1305 algorithms have been optimized for PPC architecture using P10 instructions. The AES implementation for PPC has been accelerated.
- An implementation of the Camellia algorithm using AVX2 GFNI instruction has been added.
- Implementations of GHASH (GCM) and POLYVAL (GCM-SIV), accelerated with AVX2 and AVX512 extensions, have been added.
- Implementations of the SHA512, Serpent, SHA3, Blake2, Poly1305, and ChaCha20 algorithms have been added, accelerated using the AVX512 extension.
- The AES implementation for i386 systems has been added, accelerated using the AVX2 instruction VAES.
- Implementations of the SHA512 and Camellia algorithms have been added, accelerated with crypto extensions for the AArch64 architecture.
- Work has been carried out to ensure constant time execution for various cryptographic algorithms.
Source: opennet.ru
