Niels Möller
Me complace anunciar una nueva versión importante de GNU Nettle, una biblioteca criptográfica de bajo nivel. Esta versión incluye varios cambios en la API, algunos bastante significativos, así como la eliminación de funciones obsoletas. Una novedad destacada es la compatibilidad con firmas SLH-DSA (un algoritmo de firma digital sin estado basado en hash).
Esta es una nueva versión importante. Incluye compatibilidad con SLH-DSA. Se han realizado varios cambios en la API de Nettle y se han eliminado funciones obsoletas. Además, se ha mejorado la ABI, manteniendo la API prácticamente sin cambios. En concreto, se han reducido las estructuras de contexto de varios algoritmos.
Cambios:
- Las funciones _digest de los algoritmos hash MAC y AEAD ya no aceptan el tamaño del resumen deseado como argumento; en su lugar, siempre devuelven un resumen completo. El tipo nettle_hash_digest_func se ha modificado en consecuencia.
- Las funciones para procesar mensajes completos con CCM AES ahora aceptan un contexto de cifrado constante como primer argumento. Por ejemplo, el primer argumento de la función ccm_aes128_encrypt_message es ahora la estructura constante aes128_ctx*. Anteriormente, esta era la estructura ccm_aes128_ctx*, que ignoraba todo excepto el contexto de cifrado subyacente.
- Las funciones SHA3 ahora utilizan la misma estructura sha3_ctx para todas las variantes de hash, así como la misma función sha3_init. Los nombres antiguos, como sha3_256_ctx y sha3_256_init, se definen como alias de preprocesador para compatibilidad con versiones anteriores.
- El argumento dst_length de las funciones base16_decode_update y base64_decode_update ahora es tanto de entrada como de salida. Al usarse como entrada, debe contener el tamaño del búfer de destino; la decodificación fallará si este tamaño es insuficiente. Anteriormente, dst_length era solo un argumento de salida, que requería que el búfer de destino fuera lo suficientemente grande para cualquier valor de entrada con la longitud especificada en src_length.
Fuente: linux.org.ru
