FiloSottile/edwards25519
GitHub: FiloSottile/edwards25519
一个更安全、更快速的 edwards25519 椭圆曲线底层 Go 密码学实现,追踪并扩展了 Go 标准库内部实现。
Stars: 187 | Forks: 39
# filippo.io/edwards25519
```
import "filippo.io/edwards25519"
```
该库实现了 edwards25519 椭圆曲线,并暴露了必要的 API 以构建各种更高级的密码学原语。
请在 [pkg.go.dev/filippo.io/edwards25519](https://pkg.go.dev/filippo.io/edwards25519) 阅读文档。
该包追踪上游标准库包 `crypto/internal/fips140/edwards25519`,并在此基础上扩展了额外的功能。
代码最初源自 Adam Langley 在 Go 标准库中的内部实现,并包含了 George Tankersley 的[性能优化](https://golang.org/cl/71950)。随后由 Henry de Valence 进行了进一步开发,以供 ristretto255 使用,最终从 Go 1.17 开始[合并回了 Go 标准库](https://golang.org/cl/276272)。
大多数用户不需要此包,而应使用 `crypto/ed25519` 进行签名,使用 `crypto/ecdh` 进行 Diffie-Hellman,或使用 `github.com/gtank/ristretto255` 进行素数阶群逻辑运算。然而,对于目前正在使用内部 `edwards25519` 包或 `github.com/agl/edwards25519` 分支的用户来说,此包应该是一个更安全、更快速且更强大的替代方案。
由于该包旨在遏制 Go 生态系统中 edwards25519 实现激增的情况,因此欢迎提出有关新 API 或可审查性能改进的请求。
标签:Ed25519, EVTX分析, Go, Ruby工具, 密码学, 密码学库, 底层组件, 手动系统调用, 日志审计, 椭圆曲线加密