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

