Niels Möller
Esmu priecīgs paziņot par jaunu lielu GNU Nettle laidienu, zemu līmeņa kriptogrāfisko funkciju bibliotēku. Šis laidienu ietver vairākas API izmaiņas, no kurām dažas ir diezgan būtiskas, kā arī novecojušo funkciju izņemšanu. Ir viena ievērojama jauna iezīme: SLH-DSA parakstu atbalsts (digitālā paraksta algoritms, kas balstīts uz bezstāvokļa hašēšanu).
Tas ir jauns liels laidienu. Tas ietver SLH-DSA atbalstu. Veiktas vairākas izmaiņas Nettle API, kā arī izņemtas novecojušas funkcijas. Turklāt ir uzlabots ABI, rezultātā API palicis praktiski nemainīgs, proti, ir samazinātas konteksta struktūras vairākām algoritmām…
Izmaiņas:
- Funkcijas _digest hašēšanas algoritmiem, MAC un AEAD vairs nepieņem kā argumentu vēlamo haša lielumu, vietā tā vienmēr izsniedz pilna lieluma hašu. Attiecīgi, ir mainīts arī tips nettle_hash_digest_func.
- Funkcijas pilnu ziņojumu apstrādei, izmantojot CCM AES, tagad pieņem kā pirmo argumentu konstantu šifrēšanas kontekstu. Piemēram, funkcijas ccm_aes128_encrypt_message pirmais arguments tagad ir konstanta struktūra aes128_ctx*. Agrāk tā bija struktūra ccm_aes128_ctx*, kurā ignorēja visu, izņemot pamatšifrēšanas kontekstu.
- Tagad SHA3 funkcijas izmanto to pašu struktūru sha3_ctx visiem haša variantiem, kā arī to pašu funkciju sha3_init. Vecie nosaukumi, piemēram, sha3_256_ctx un sha3_256_init, ir definēti kā makro pārsvarā, lai nodrošinātu atpakaļsaderību.
- Argumentā dst_length funkcijām base16_decode_update un base64_decode_update tagad ir gan ievades, gan izvades arguments. Ievadā tam jāietver mērķa bufera izmērs; dekodēšana beigsies nesekmīgi, ja šī izmēra nepietiks. Agrāk dst_length bija tikai izvades arguments, un bija nepieciešams, lai mērķa buferim būtu pietiekami liels izmērs jebkuram ievades vērtības attiecīgā garuma src_length.
Avots: linux.org.ru
