Nettle (biblioteca criptográfica) - Nettle (cryptographic library)

Urtiga
Desenvolvedor (s) Niels Möller
Versão estável
3.7.2  Edite isso no Wikidata / 21 de março de 2021 ; 1 dia atrás  ( 21 de março de 2021 )
Repositório Edite isso no Wikidata
Escrito em C
Plataforma x86 , x86-64
Modelo Biblioteca criptográfica
Licença LGPLv3 , GPLv2 , GPLv3
Local na rede Internet lysator .liu .se / ~ nisse / urtiga /

Nettle é uma biblioteca criptográfica projetada para caber facilmente em uma ampla variedade de kits de ferramentas e aplicativos. Ele começou como uma coleção de funções de criptografia de baixo nível do lsh em 2001. Desde junho de 2009 (versão 2.0) o Nettle é um pacote GNU.

Características

Desde a versão 3, o Nettle fornece a cifra de bloco AES (um subconjunto de Rijndael) (com otimizações de montagem para x86 e sparc), a cifra de fluxo ARCFOUR (também conhecido como RC4) (com x86 e montagem sparc), o ARCTWO (também conhecido como RC2) cifra de fluxo, BLOWFISH , CAMELLIA (com otimizações de montagem x86 e x86_64), cifras de bloco CAST-128 , DES e 3DES , cifra de fluxo ChaCha (com montagem para x86_64), GOSTHASH94 , MD2 , MD4 e MD5 (com x86 montagem) digestões , o PBKDF2 função de derivação de chave , o POLY1305 (com montagem para x86_64) e UMAC códigos de autenticação de mensagem , RIPEMD160 , o Salsa20 cifra de fluxo (com montagem para x86_64 e ARM), a serpente cifra do bloco (com montagem para x86_64), SHA-1 (com x86, x86_64 e montagem ARM), os resumos SHA-2 (SHA-224, SHA-256, SHA-384 e SHA-512), SHA-3 (um subconjunto da família Keccak digest), a cifra de bloco TWOFISH , algoritmos de chave pública RSA , DSA e ECDSA , o Yarrow pRNG . Versão 3.1 introduziu suporte para Curve25519 e EdDSA operações. Os algoritmos de chave pública usam GMP .

O Nettle é usado pelo GnuTLS .

Licença e motivação

Uma API que se ajusta bem a um aplicativo pode não funcionar bem em um contexto diferente, resultando em uma proliferação de bibliotecas criptográficas projetadas para aplicativos específicos. O Nettle é uma tentativa de evitar esse problema fazendo uma coisa (a criptografia de baixo nível) e fornecendo uma interface simples e geral para ela. Em particular, o Nettle não faz seleção de algoritmo, alocação de memória ou qualquer I / O. Portanto, o Nettle tem como objetivo fornecer uma biblioteca de criptografia central sobre a qual várias interfaces específicas de aplicativo e contexto podem ser construídas. O código, casos de teste, benchmarks, documentação, etc. dessas interfaces podem então ser compartilhados sem ter que replicar o código criptográfico do Nettle.

O Nettle é licenciado principalmente sob um esquema de licença dupla que compreende a GNU General Public License versão 2 ou posterior e a GNU Lesser General Public License versão 3 ou posterior. Alguns arquivos individuais são licenciados sob licenças mais permissivas ou de domínio público . Os avisos de direitos autorais na parte superior dos arquivos de origem da biblioteca definem com precisão o status da licença de arquivos específicos.

O manual do Nettle "é de domínio público" e pode ser usado e reproduzido livremente.

Veja também

Referências