Das GNU-Projekt hat die Version 1.11.0 der Bibliothek Libgcrypt veröffentlicht, die die Komponenten für die Verschlüsselungsmechanismen, die in GnuPG verwendet werden, implementiert. Die Bibliothek bietet Funktionen für die Verwendung verschiedener Kryptoalgorithmen in Drittanwendungen, einschließlich symmetrischer Chiffren (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), Hash-Algorithmen (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool),
authentifizierenden Verschlüsselungsalgorithmen (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), und Verschlüsselung mit öffentlichen Schlüsseln (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Der neue Branch ist vollständig API- und ABI-kompatibel mit dem Branch 1.10.x (es ist kein Neubaum von Programmen erforderlich, um die neue Version zu nutzen).
Wesentliche Verbesserungen:
- Eine API für die Verwendung von Key Encapsulation Mechanisms (KEM) wurde hinzugefügt, die zum Schutz von Schlüsseln für die symmetrische Verschlüsselung durch den Einsatz öffentlicher Schlüsselalgorithmen (asymmetrische Verschlüsselung) dienen.
- Der Schlüsselinkapselierungsalgorithmus sntrup761 (Streamlined NTRU Prime) wurde hinzugefügt, der quantensicheren Angriffen standhält.
- Ein quantensicheren Kyber-Algorithmus wurde hinzugefügt, der Methoden der Kryptografie verwendet, die auf der Lösung von Aufgaben der Gittertheorie basieren, deren Lösungzeiten sich auf herkömmlichen und Quantencomputern nicht unterscheiden.
- Der Classic McEliece-Schlüsselkapselungsalgorithmus wurde hinzugefügt, der gegen Bruteforce-Angriffe auf Quantencomputern resistent ist.
- Schlüsselerzeugungsalgorithmen hinzugefügt: One-Step KDF mit Hash und MAC (Message Authentication Code), HKDF (RFC-5869) und X963KDF.
- Die GMAC-SM4- und Poly1305-SM4-Authentifizierungs-Verschlüsselungsalgorithmen wurden hinzugefügt.
- Der ARIA-Blockverschlüsselungsalgorithmus wurde hinzugefügt.
- Der cSHAKE-Hash-Algorithmus wurde hinzugefügt.
- Unterstützung für die interne Generierung des Initialisierungsvektors (IV) für den AEAD-Authentifizierungsverschlüsselungsmodus wurde implementiert.
- Schnelle assemblerbasierte Implementierungen der SM3- und SM4-Algorithmen für die AArch64-Architektur wurden hinzugefügt, sowie SM4-Varianten in Assembler für ARMv9, PowerPC und x86 (mit AVX2 GFNI- und AVX512 GFI-Instruktionen).
- Die Implementierungen der ChaCha20- und Poly1305-Algorithmen wurden für die PPC-Architektur optimiert, unter Verwendung von P10-Instruktionen. Die AES-Implementierung für PPC wurde beschleunigt.
- Eine Implementierung des Camellia-Algorithmus wurde hinzugefügt, die die AVX2 GFNI-Instruktion verwendet.
- Implementierungen von GHASH (GCM) und POLYVAL (GCM-SIV) wurden hinzugefügt, die durch AVX2- und AVX512-Erweiterungen beschleunigt werden.
- Die Implementierungen der Algorithmen SHA512, Serpent, SHA3, Blake2, Poly1305 und ChaCha20 wurden hinzugefügt und durch die AVX512-Erweiterung beschleunigt.
- Eine AES-Implementierung für i386-Systeme wurde hinzugefügt, beschleunigt durch die AVX2-Anweisung VAES.
- Die Implementierungen der Algorithmen SHA512 und Camellia wurden hinzugefügt, beschleunigt durch Krypto-Erweiterungen für die AArch64-Architektur.
- Es wurde an der Sicherstellung einer konstanten Ausführungszeit für verschiedene Krypto-Algorithmen gearbeitet.
Quelle: opennet.ru
