
저수준 Go 구현의 edwards25519 타원 곡선으로, 서명 및 Diffie-Hellman과 같은 상위 수준 암호화 기본 요소를 구축하기 위한 API를 제공합니다.
import "filippo.io/edwards25519"
이 라이브러리는 edwards25519 타원 곡선을 구현하며, 다양한 고수준 프리미티브를 구축하는 데 필요한 API를 제공합니다. 문서는 pkg.go.dev/filippo.io/edwards25519에서 확인하세요.
이 패키지는 업스트림 표준 라이브러리 패키지 crypto/internal/fips140/edwards25519를 추적하며, 추가 기능으로 확장합니다.
코드는 원래 Adam Langley가 Go 표준 라이브러리에서 구현한 내부 구현체에서 파생되었으며, George Tankersley의 성능 개선을 포함합니다. 그 후 Henry de Valence가 ristretto255에서 사용하기 위해 추가로 개발했으며, 최종적으로 Go 1.17부터 Go 표준 라이브러리에 병합되었습니다.
대부분의 사용자는 이 패키지가 필요하지 않으며, 대신 서명에는 crypto/ed25519, Diffie-Hellman에는 crypto/ecdh, 소수 위수 그룹 로직에는 github.com/gtank/ristretto255를 사용해야 합니다. 그러나 내부 edwards25519 패키지 또는 github.com/agl/edwards25519의 포크를 사용 중인 사용자에게는 이 패키지가 더 안전하고 빠르며 강력한 대안이 될 수 있습니다.
이 패키지는 Go 생태계에서 edwards25519 구현이 확산되는 것을 억제하기 위해 만들어졌으므로, 새로운 API 요청이나 검토 가능한 성능 개선을 환영합니다.