
Implementação em Go de baixo nível da curva elíptica edwards25519, fornecendo APIs para construir primitivas criptográficas de alto nível como assinaturas e Diffie-Hellman.
import "filippo.io/edwards25519"
Esta biblioteca implementa a curva elíptica edwards25519, expondo as APIs necessárias para construir uma ampla variedade de primitivas de alto nível. Leia a documentação em pkg.go.dev/filippo.io/edwards25519.
O pacote segue o pacote upstream da biblioteca padrão crypto/internal/fips140/edwards25519 e o estende com funcionalidades adicionais.
O código é originalmente derivado da implementação interna de Adam Langley na biblioteca padrão Go, e inclui as melhorias de desempenho de George Tankersley. Foi então desenvolvido ainda mais por Henry de Valence para uso no ristretto255, e finalmente foi incorporado de volta à biblioteca padrão Go a partir do Go 1.17.
A maioria dos usuários não precisa deste pacote e deve usar crypto/ed25519 para assinaturas, crypto/ecdh para Diffie-Hellman, ou github.com/gtank/ristretto255 para lógica de grupo de ordem prima. No entanto, para qualquer pessoa que esteja atualmente usando um fork do pacote interno edwards25519 ou de github.com/agl/edwards25519, este pacote deve ser uma alternativa mais segura, rápida e poderosa.
Como este pacote tem como objetivo conter a proliferação de implementações edwards25519 no ecossistema Go, ele aceita solicitações de novas APIs ou melhorias de desempenho revisáveis.