Niels Møller
Jeg er glad for at kunne annoncere en større ny udgivelse af GNU Nettle, et lavniveau-kryptografisk bibliotek. Denne udgivelse inkluderer adskillige API-ændringer, nogle ret betydelige, samt fjernelse af forældede funktioner. En bemærkelsesværdig ny funktion er understøttelse af SLH-DSA-signaturer (en statsløs hash-baseret digital signaturalgoritme).
Dette er en større ny udgivelse. Den inkluderer understøttelse af SLH-DSA. Der er foretaget adskillige ændringer i Nettle API'en, og forældede funktioner er fjernet. Derudover er ABI blevet forbedret, så API'en stort set er uændret. Specifikt er kontekststrukturerne for flere algoritmer blevet reduceret.
Ændringer:
- Funktionerne _digest i hash-algoritmerne MAC og AEAD accepterer ikke længere den ønskede digest-størrelse som argument; i stedet returnerer de altid en digest i fuld størrelse. Typen nettle_hash_digest_func er blevet ændret i overensstemmelse hermed.
- Funktioner til behandling af fulde meddelelser ved hjælp af CCM AES accepterer nu en konstant krypteringskontekst som det første argument. For eksempel er det første argument i funktionen ccm_aes128_encrypt_message nu den konstante aes128_ctx*-struktur. Tidligere var dette ccm_aes128_ctx*-strukturen, som ignorerede alt undtagen den underliggende krypteringskontekst.
- SHA3-funktioner bruger nu den samme sha3_ctx-struktur til alle hash-varianter, såvel som den samme sha3_init-funktion. Gamle navne, såsom sha3_256_ctx og sha3_256_init, er defineret som præprocessor-aliasser for bagudkompatibilitet.
- Argumentet dst_length i funktionerne base16_decode_update og base64_decode_update er nu både et input- og et outputargument. Når det bruges som input, skal det indeholde størrelsen på målbufferen; afkodningen vil mislykkes, hvis denne størrelse er utilstrækkelig. Tidligere var dst_length kun et outputargument, der krævede, at målbufferen var stor nok til enhver inputværdi af den angivne src_length-længde.
Kilde: linux.org.ru
