GNU Nettle 4.0

Niels Möller

Tenho o prazer de anunciar uma nova versão importante do GNU Nettle, uma biblioteca criptográfica de baixo nível. Esta versão inclui diversas alterações na API, algumas bastante significativas, bem como a remoção de funções obsoletas. Uma novidade notável é o suporte a assinaturas SLH-DSA (um algoritmo de assinatura digital baseado em hash e sem estado).
Esta é uma nova versão importante. Ela inclui suporte para SLH-DSA. Diversas alterações foram feitas na API do Nettle e funções obsoletas foram removidas. Além disso, a ABI foi aprimorada, mantendo a API praticamente inalterada. Especificamente, as estruturas de contexto para vários algoritmos foram reduzidas.

Mudanças:

  • As funções `_digest` dos algoritmos de hash MAC e AEAD não aceitam mais o tamanho desejado do resumo como argumento; em vez disso, elas sempre retornam um resumo completo. O tipo `nettle_hash_digest_func` foi alterado de acordo.
  • As funções para processar mensagens completas usando CCM AES agora aceitam um contexto de criptografia constante como primeiro argumento. Por exemplo, o primeiro argumento da função ccm_aes128_encrypt_message agora é a estrutura constante aes128_ctx*. Anteriormente, era a estrutura ccm_aes128_ctx*, que ignorava tudo, exceto o contexto de criptografia subjacente.
  • As funções SHA3 agora usam a mesma estrutura sha3_ctx para todas as variantes de hash, bem como a mesma função sha3_init. Nomes antigos, como sha3_256_ctx e sha3_256_init, são definidos como aliases do pré-processador para compatibilidade com versões anteriores.
  • O argumento `dst_length` das funções `base16_decode_update` e `base64_decode_update` agora é tanto um argumento de entrada quanto de saída. Quando usado como entrada, ele deve conter o tamanho do buffer de destino; a decodificação falhará se esse tamanho for insuficiente. Anteriormente, `dst_length` era apenas um argumento de saída, exigindo que o buffer de destino fosse grande o suficiente para qualquer valor de entrada com o comprimento especificado em `src_length`.

Fonte: linux.org.ru

Adicionar um comentário