GNU Nettle 4.0

Niels Möller
Я рад объявить о новом крупном релизе 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 прочитано 1371 раз
