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
