A biblioteca de hidrogênio é uma biblioteca criptográfica pequena, fácil de usar e difíceis de comparar.
Características:
- API de alto nível consistente, inspirada em Libsodium. Em vez de primitivas de baixo nível, expõe funções simples para resolver problemas comuns que a criptografia pode resolver.
- 100% construído usando apenas dois blocos de construção criptográficos: a curva elípica Curve25519 e a permutação Gimli.
- Pequeno e fácil de auditar. Implementado como um pequeno arquivo para todos os conjuntos de operação e adicionar um único arquivo
.c ao seu projeto é o suficiente para usar a libhidrogen em seu projeto. - Todo o código é divulgado sob uma única licença muito liberal (ISC).
- Alocações de memória dinâmica zero e requisitos baixos de pilha (mediana: 32 bytes, max: 128 bytes). Isso o torna utilizável em ambientes restritos, como microcontroladores.
- Portátil: escrito no padrão C99. Suporta Linux, *BSD, MacOS, Windows e o Arduino Ide fora da caixa.
- Pode gerar números aleatórios criptograficamente seguros, mesmo nas placas Arduino.
- Tentativas de mitigar as implicações de uso indevido acidental, mesmo em sistemas com um PRG não confiável e/ou nenhum relógio.
Não-Goals:
- Ter vários primitivos que servem ao mesmo objetivo, mesmo para fornecer compatibilidade com outras bibliotecas.
- Networking-Mas uma API de troca de chaves simples com base no protocolo de ruído está disponível e uma API de transporte baseada em Strobed será implementada.
- Interoperabilidade com outras bibliotecas.
- Substituindo o libsodium. O lib -hidrogênio tenta manter o número de APIs e o tamanho do código até o mínimo.
Documentação de Lib -hidrogênio
A documentação é mantida no Wiki Lib -hidrogênio.
O código Legacy Lib -hidrogênio (alavancando XCha20, Siphashx, Blake2SX, Curve25519) permanece disponível na filial V0.
Colaboradores
Contribuintes de código
Este projeto existe graças a todas as pessoas que contribuem. [Contribuir].