Niels Möller
Sunt încântat să anunț un nou release major al GNU Nettle, o bibliotecă de funcții criptografice de nivel inferior. Această versiune include mai multe modificări la API, dintre care unele sunt destul de substanțiale, precum și eliminarea funcțiilor depășite. Există o nouă funcție notabilă: suportul pentru semnăturile SLH-DSA (algoritm de semnătură digitală bazat pe hashing fără stocare de stare).
Aceasta este o nouă versiune majoră. Include suport pentru SLH-DSA. Au fost făcute mai multe modificări la API-ul Nettle și au fost eliminate funcții obsolete. De asemenea, ABI-ul a fost îmbunătățit, rezultând un API care a rămas practic neschimbat, în special, structurile de context pentru mai multe algoritmi au fost reduse…
Modificări:
- În funcțiile _digest pentru algoritmi hash, MAC și AEAD, nu mai acceptă ca argument dimensiunea dorită a digestului, ci întotdeauna returnează un digest de dimensiune completă. În consecință, tipul nettle_hash_digest_func a fost modificat.
- Funcțiile pentru procesarea mesajelor complete utilizând CCM AES acum acceptă ca primul argument un context de criptare constant. De exemplu, primul argument al funcției ccm_aes128_encrypt_message acum este o structură constantă aes128_ctx*. Precedent, aceasta era o structură ccm_aes128_ctx*, care ignora totul, în afară de contextul de bază de criptare.
- Acum funcțiile SHA3 folosesc aceeași structură sha3_ctx pentru toate variantele de hash, precum și aceeași funcție sha3_init. Numele mai vechi, cum ar fi sha3_256_ctx și sha3_256_init, sunt definite ca aliasuri preprocesor pentru a asigura compatibilitatea înapoi.
- Argumentul dst_length al funcțiilor base16_decode_update și base64_decode_update este acum atât un argument de intrare, cât și de ieșire. La intrare, acesta trebuie să conțină dimensiunea bufferului de destinație; decodarea va eșua dacă această dimensiune este insuficientă. Precedent, dst_length era doar un argument de ieșire și se cerea ca bufferul de destinație să fie suficient de mare pentru orice valoare de intrare de lungime specificată src_length.
Sursa: linux.org.ru
