Niels Möller
Sono lieto di annunciare un nuovo grande rilascio di GNU Nettle, una libreria di funzioni crittografiche a basso livello. Questa versione include diverse modifiche all'API, alcune delle quali sono piuttosto significative, oltre alla rimozione di funzioni obsolete. C'è una nuova funzionalità notevole: il supporto per le firme SLH-DSA (algoritmo di firma digitale basato su hashing senza stato).
Questo è un nuovo grande rilascio. Include il supporto per SLH-DSA. Sono state apportate diverse modifiche all'API di Nettle e sono state rimosse funzioni obsolete. Inoltre, è stato migliorato l'ABI, il che ha permesso all'API di rimanere praticamente invariato, in particolare le strutture di contesto per diversi algoritmi sono state ridotte…
Modifiche:
- Nelle funzioni _digest degli algoritmi di hash, MAC e AEAD non è più accettato come argomento la dimensione desiderata del digest, ma ora restituiscono sempre un digest di dimensione completa. Di conseguenza, è stato modificato anche il tipo nettle_hash_digest_func.
- Le funzioni per gestire messaggi completi utilizzando CCM AES ora accettano come primo argomento un contesto di crittografia costante. Ad esempio, il primo argomento della funzione ccm_aes128_encrypt_message è ora la struttura costante aes128_ctx*. In precedenza, era la struttura ccm_aes128_ctx*, che ignorava tutto tranne il contesto di crittografia di base.
- Ora le funzioni SHA3 utilizzano la stessa struttura sha3_ctx per tutte le varianti di hash, così come la stessa funzione sha3_init. I vecchi nomi, ad esempio, sha3_256_ctx e sha3_256_init, sono definiti come alias del preprocessore per garantire la retrocompatibilità.
- L'argomento dst_length delle funzioni base16_decode_update e base64_decode_update è ora un argomento di input e output. In ingresso deve contenere la dimensione del buffer di destinazione e la decodifica fallirà se questa dimensione non è sufficiente. In precedenza, dst_length era solo un argomento di output, e si richiedeva che il buffer di destinazione fosse sufficientemente grande per qualsiasi valore di input di una certa lunghezza src_length.
Fonte: linux.org.ru
