
Implementazione Go di basso livello della curva ellittica edwards25519, che fornisce API per costruire primitive crittografiche di alto livello come firme e Diffie-Hellman.
import "filippo.io/edwards25519"
Questa libreria implementa la curva ellittica edwards25519, esponendo le API necessarie per costruire un'ampia gamma di primitive di alto livello. Leggi la documentazione su pkg.go.dev/filippo.io/edwards25519.
Il pacchetto segue il pacchetto upstream della libreria standard crypto/internal/fips140/edwards25519 e lo estende con funzionalità aggiuntive.
Il codice deriva originariamente dall'implementazione interna di Adam Langley nella libreria standard di Go e include i miglioramenti delle performance di George Tankersley. Successivamente è stato ulteriormente sviluppato da Henry de Valence per l'uso in ristretto255 ed è stato infine reintegrato nella libreria standard di Go a partire da Go 1.17.
La maggior parte degli utenti non ha bisogno di questo pacchetto e dovrebbe invece usare crypto/ed25519 per le firme, crypto/ecdh per Diffie-Hellman, o github.com/gtank/ristretto255 per la logica dei gruppi di ordine primo. Tuttavia, per chiunque stia attualmente utilizzando un fork del pacchetto interno edwards25519 o di github.com/agl/edwards25519, questo pacchetto dovrebbe essere un'alternativa più sicura, più veloce e più potente.
Poiché questo pacchetto è inteso a frenare la proliferazione di implementazioni di edwards25519 nell'ecosistema Go, accoglie con favore richieste di nuove API o miglioramenti delle performance verificabili.