Niels Möller
S potěšením oznamuji vydání nové významné verze GNU Nettle, nízkoúrovňové kryptografické knihovny. Tato verze obsahuje několik změn API, některé poměrně významné, a také odstranění zastaralých funkcí. Jednou z významných nových funkcí je podpora podpisů SLH-DSA (bezstavový algoritmus digitálního podpisu založený na hashování).
Toto je významná nová verze. Zahrnuje podporu pro SLH-DSA. V Nettle API bylo provedeno několik změn a byly odstraněny zastaralé funkce. Dále bylo vylepšeno ABI, takže API zůstalo z velké části nezměněno. Konkrétně byly zredukovány kontextové struktury pro několik algoritmů.
Změny:
- Funkce _digest hašovacích algoritmů MAC a AEAD již neakceptují požadovanou velikost digest jako argument; místo toho vždy vracejí digest v plné velikosti. Typ nettle_hash_digest_func byl odpovídajícím způsobem změněn.
- Funkce pro zpracování celých zpráv pomocí CCM AES nyní akceptují jako první argument konstantní kontext šifrování. Například prvním argumentem funkce ccm_aes128_encrypt_message je nyní konstantní struktura aes128_ctx*. Dříve se jednalo o strukturu ccm_aes128_ctx*, která ignorovala vše kromě podkladového kontextu šifrování.
- Funkce SHA3 nyní používají stejnou strukturu sha3_ctx pro všechny varianty hash a také stejnou funkci sha3_init. Staré názvy, jako například sha3_256_ctx a sha3_256_init, jsou kvůli zpětné kompatibilitě definovány jako aliasy preprocesoru.
- Argument dst_length funkcí base16_decode_update a base64_decode_update je nyní vstupním i výstupním argumentem. Pokud je použit jako vstup, musí obsahovat velikost cílové vyrovnávací paměti; dekódování selže, pokud tato velikost nebude dostatečná. Dříve byl dst_length pouze výstupním argumentem, který vyžadoval, aby cílová vyrovnávací paměť byla dostatečně velká pro jakoukoli vstupní hodnotu o zadané délce src_length.
Zdroj: linux.org.ru
