
Niedrigstufige Go-Implementierung der edwards25519 elliptischen Kurve, die APIs zum Erstellen höherstufiger kryptografischer Primitive wie Signaturen und Diffie-Hellman bereitstellt.
import "filippo.io/edwards25519"
Diese Bibliothek implementiert die Edwards25519-Elliptische-Kurve und stellt die notwendigen APIs bereit, um eine Vielzahl von höheren Primitiven zu erstellen. Die Dokumentation ist unter pkg.go.dev/filippo.io/edwards25519 zu finden.
Das Paket folgt dem Upstream-Standardbibliothekspaket crypto/internal/fips140/edwards25519 und erweitert es um zusätzliche Funktionalität.
Der Code stammt ursprünglich aus Adam Langleys interner Implementierung in der Go-Standardbibliothek und enthält George Tankersleys Leistungsverbesserungen. Er wurde dann von Henry de Valence für die Verwendung in ristretto255 weiterentwickelt und schließlich ab Go 1.17 wieder in die Go-Standardbibliothek eingefügt.
Die meisten Benutzer benötigen dieses Paket nicht und sollten stattdessen crypto/ed25519 für Signaturen, crypto/ecdh für Diffie-Hellman oder github.com/gtank/ristretto255 für Primzahlordnung-Gruppenlogik verwenden. Für alle, die derzeit einen Fork des internen edwards25519-Pakets oder von github.com/agl/edwards25519 verwenden, stellt dieses Paket jedoch eine sicherere, schnellere und leistungsfähigere Alternative dar.
Da dieses Paket die Verbreitung von edwards25519-Implementierungen im Go-Ökosystem eindämmen soll, begrüßt es Anfragen für neue APIs oder überprüfbare Leistungsverbesserungen.