Niels Möller
Jam i lumtur të njoftoj një lëshim të ri të rëndësishëm të GNU Nettle, një bibliotekë me nivel të ulët për funksionet kriptografike. Kjo lëshim përfshin disa ndryshime në API, disa prej të cilave janë mjaft të rëndësishme, si dhe heqjen e funksioneve të vjetruara. Ka një funksion të ri të spikatur: mbështetje për nënshkrimet SLH-DSA (algoritmi i nënshkrimit digjital të bazuar në hash pa ruajtje të qëndrueshme).
Ky Ă«shtĂ« njĂ« lĂ«shim i ri i rĂ«ndĂ«sishĂ«m. Ai pĂ«rfshin mbĂ«shtetje pĂ«r SLH-DSA. JanĂ« bĂ«rĂ« disa ndryshime nĂ« API e Nettle, dhe gjithashtu janĂ« hequr funksione tĂ« vjetruara. PĂ«r mĂ« tepĂ«r, ABI Ă«shtĂ« pĂ«rmirĂ«suar, duke rezultuar nĂ« njĂ« API qĂ« Ă«shtĂ« nĂ« gjendje tĂ« mbetet pothuajse i pandryshuar, sidomos duke reduktuar strukturat kontekstuale pĂ«r disa algoritmaâŠ
Ndryshimet:
- Në funksionet _digest të algoritmeve hash, MAC dhe AEAD nuk pranohet më si argument madhësia e dëshiruar e digesës, në vend të kësaj ato gjithmonë kthejnë një digest të plotë. Përkatësisht, është ndryshuar edhe tipi nettle_hash_digest_func.
- Funksionet për trajtimin e mesazheve të plota me CCM AES tani pranojnë si argumentin e parë një kontekst të kodimit të konstatuar. Për shembull, argumenti i parë i funksionit ccm_aes128_encrypt_message tani është një strukturë konstante aes128_ctx*. Më parë, kjo ishte një strukturë ccm_aes128_ctx*, në të cilën injoroheshin të gjitha përveç kontekstit bazë të kodimit.
- Tani funksionet SHA3 përdorin të njëjtën strukturë sha3_ctx për të gjitha variantet e hash-it, si dhe të njëjtën funksion sha3_init. Emrat e vjetër, për shembull, sha3_256_ctx dhe sha3_256_init, janë të përcaktura si pseudonime përpara procesorëve për të siguruar mbështetje të prapavijës.
- Argumenti dst_length i funksioneve base16_decode_update dhe base64_decode_update tani është njëkohësisht argument hyrës dhe dalës. Si hyrje, ai duhet të përmbajë madhësinë e tamponit të synuar, dekodimi do të dështojë nëse kjo madhësi nuk është e mjaftueshme. Më parë, dst_length ishte vetëm një argument dalës, dhe kërkohej që tamponi i synuar të ishte mjaft i madh për çdo vlerë hyrëse me të dhëna të caktuara dimensions src_length.
Burimi: linux.org.ru
