Niels Möller
Ich freue mich, die Veröffentlichung einer neuen großen Version von GNU Nettle, einer Low-Level-Bibliothek für kryptografische Funktionen, anzukündigen. Dieses Release umfasst mehrere API-Änderungen, von denen einige erheblich sind, sowie die Entfernung veralteter Funktionen. Ein bemerkenswertes neues Feature ist die Unterstützung von SLH-DSA-Signaturen (ein Zustandsloses Hash-basiertes digitales Signaturverfahren).
Dies ist eine neue große Version. Sie beinhaltet die Unterstützung von SLH-DSA. Es wurden mehrere Änderungen an der Nettle-API vorgenommen und veraltete Funktionen wurden entfernt. Darüber hinaus wurde die ABI verbessert, so dass die API nahezu unverändert blieb, insbesondere wurden die Kontextstrukturen für mehrere Algorithmen reduziert …
Änderungen:
- In den Funktionen _digest der Hash-Algorithmen, MAC und AEAD wird die gewünschte Größe des Digests nicht mehr als Argument akzeptiert, stattdessen geben sie immer ein Digest der vollen Größe aus. Entsprechend wurde auch der Typ nettle_hash_digest_func geändert.
- Die Funktionen zur Verarbeitung vollständiger Nachrichten mit CCM AES akzeptieren jetzt als erstes Argument einen konstanten Verschlüsselungskontext. Beispielsweise ist das erste Argument der Funktion ccm_aes128_encrypt_message jetzt eine konstante Struktur aes128_ctx*. Zuvor war dies eine Struktur ccm_aes128_ctx*, in der alles außer dem grundlegenden Verschlüsselungskontext ignoriert wurde.
- Jetzt verwenden die Funktionen SHA3 dieselbe Struktur sha3_ctx für alle Hash-Varianten sowie dieselbe Funktion sha3_init. Die alten Namen, wie z.B. sha3_256_ctx und sha3_256_init, sind als Präprozessor-Aliase definiert, um die Abwärtskompatibilität zu gewährleisten.
- Das Argument dst_length der Funktionen base16_decode_update und base64_decode_update ist jetzt sowohl ein Eingabe- als auch ein Ausgabeargument. Es muss die Größe des Zielpuffers enthalten, das Decodieren schlägt fehl, wenn diese Größe nicht ausreicht. Früher war dst_length nur ein Ausgabeargument, und es wurde vorausgesetzt, dass der Zielpuffer groß genug für jeden Eingabewert der angegebenen Länge src_length ist.
Quelle: linux.org.ru
