Нилс Мёллер
С радостью объявявам за новото голямо издание на GNU Nettle, нискоуровнева библиотека за криптографски функции. Това издание включва няколко промени в API, някои от които са значителни, както и премахване на остарели функции. Има една забележителна нова функция: поддръжка на SLH-DSA подписи (алгоритъм за цифрова подписка на базата на хеширане без запазване на състояние).
Това е ново голямо издание. То включва поддръжка на SLH-DSA. Направени са няколко промени в API Nettle, а също така са премахнати остарели функции. Освен това, ABI е подобрен, в резултат на което API остана практически непроменен, в частност, намалени са контекстните структури за редица алгоритми…
Промени:
- В функциите _digest на хеш алгоритми, MAC и AEAD вече не се приема желан размер на дайджеста като аргумент, вместо това те винаги дават дайджест с пълен размер. Съответно, е променен и типът nettle_hash_digest_func.
- Функциите за обработка на пълни съобщения с използване на CCM AES сега приемат константен контекст на шифроване като първи аргумент. Например, първият аргумент на функцията ccm_aes128_encrypt_message сега е константна структура aes128_ctx*. Преди това това беше структура ccm_aes128_ctx*, в която се игнорираше всичко освен базовия контекст на шифроване.
- Сега функциите SHA3 използват една и съща структура sha3_ctx за всички варианти на хеш, а също така и една и съща функция sha3_init. Старите имена, например, sha3_256_ctx и sha3_256_init, са дефинирани като псевдоними на предусловието за осигуряване на обратно съвместимост.
- Аргументът dst_length на функциите base16_decode_update и base64_decode_update сега е едновременно входен и изходен аргумент. На вход той трябва да съдържа размера на целевия буфер, декодирането ще завърши неуспешно, ако този размер не е достатъчен. Преди това dst_length беше само изходен аргумент и изискваше целевият буфер да е достатъчно голям за всяко входно значение с дадена дължина src_length.
Източник: linux.org.ru
