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 进行签名,crypto/ecdh 进行迪菲-赫尔曼密钥交换,或使用 github.com/gtank/ristretto255 实现素数阶群逻辑。但对于当前正在使用内部 edwards25519 包或 github.com/agl/edwards25519 分支的用户,此包应是一个更安全、更快且功能更强大的替代品。
由于此包旨在遏制 Go 生态系统中 edwards25519 实现的泛滥,我们欢迎请求新增 API 或可审查的性能改进。