Veröffentlichung der Krypto-Bibliothek Libgcrypt 1.11.0

Das GNU-Projekt hat die Version 1.11.0 der Bibliothek Libgcrypt veröffentlicht, die die Komponenten zur Implementierung der in GnuPG verwendeten Verschlüsselungsmechanismen bereitstellt. Die Bibliothek bietet Funktionen für die Verwendung verschiedener kryptografischer Algorithmen in externen Anwendungen, einschließlich symmetrischer Verschlüsselungen (AES, Arcfour, Blowfish, Camellia, CAST5, ChaCha20, DES, GOST28147, Salsa20, SEED, Serpent, Twofish), Hash-Algorithmen (MD5, RIPE-MD160, SHA-*, SHAKE256, TIGER-192, Whirlpool),
authentifizierte Verschlüsselungsalgorithmen (HMAC-*, CMAC-*, GMAC-*, Poly1305-*), Verschlüsselung mit öffentlichen Schlüsseln (RSA, Elgamal, DSA, ECDSA, EdDSA, ECDH). Der neue Branch ist auf API- und ABI-Ebene vollständig mit dem Branch 1.10.x kompatibel (für die Verwendung der neuen Version ist kein Neubauen der Programme erforderlich).

Wesentliche Verbesserungen:

  • Eine API zur Verwendung von Schlüsselinkapselungsmechanismen (KEM, Key Encapsulation Mechanism) wurde hinzugefügt, die zum Schutz von Schlüsseln für die symmetrische Verschlüsselung eingesetzt werden, indem Algorithmen für deren Übertragung verwendet werden, die auf öffentlichen Schlüsseln basieren (asymmetrische Verschlüsselung).
  • Der Schlüsselinkapselungsalgorithmus sntrup761 (Streamlined NTRU Prime), der gegen Angriffe von Quantencomputern resistent ist, wurde hinzugefügt.
  • Ein quanternresistenter Algorithmus Kyber, der Methoden der Kryptografie verwendet, die auf der Lösung von Gitterproblemen basieren und deren Lösungszeiten auf normalen und Quantencomputern nicht variieren, wurde hinzugefügt.
  • Der Schlüsselinkapselungsalgorithmus Classic McEliece, der gegen Angriffe von Quantencomputern resistent ist, wurde hinzugefügt.
  • Neue Schlüsselbildungsalgorithmen wurden hinzugefügt: One-Step KDF mit Hash und MAC (Message Authentication Code), HKDF (RFC-5869) und X963KDF.
  • Die Algorithmen zur authentifizierten Verschlüsselung GMAC-SM4 und Poly1305-SM4 wurden hinzugefügt.
  • Der Blockverschlüsselungsalgorithmus ARIA wurde hinzugefügt.
  • Der Hash-Algorithmus cSHAKE wurde hinzugefügt.
  • Unterstützung für die interne Generierung von Initialisierungsvektoren (IV) für den authentifizierten Verschlüsselungsmodus AEAD wurde implementiert.
  • Schnelle assemblerbasierte Implementierungen der Algorithmen SM3 und SM4 für die Architektur AArch64 sowie ARMv9, PowerPC und x86 (unter Verwendung der AVX2-Instruktionen GFNI und der AVX512-Instruktionen GFI) wurden hinzugefügt.
  • Die Implementierungen der Algorithmen ChaCha20 und Poly1305 wurden für die PPC-Architektur unter Verwendung der P10-Instruktionen optimiert. Die AES-Implementierung für PPC wurde beschleunigt.
  • Eine Implementierung des Camellia-Algorithmus, die die AVX2-Instruktion GFNI verwendet, wurde hinzugefügt.
  • Die Implementierungen von GHASH (GCM) und POLYVAL (GCM-SIV), die durch AVX2- und AVX512-Erweiterungen beschleunigt wurden, wurden hinzugefügt.
  • Implementierungen der Algorithmen SHA512, Serpent, SHA3, Blake2, Poly1305 und ChaCha20 wurden hinzugefügt, beschleunigt durch die AVX512-Erweiterung.
  • Die AES-Implementierung für i386-Systeme wurde hinzugefügt, beschleunigt durch den AVX2-Befehl VAES.
  • Implementierungen der Algorithmen SHA512 und Camellia wurden hinzugefügt, beschleunigt durch Krypto-Erweiterungen für die AArch64-Architektur.
  • Es wurde daran gearbeitet, die Ausführungszeit von Operationen für verschiedene Kryptografieverfahren konstant zu halten.

Quelle: opennet.ru

60GB SSD 8Gb DDR4