edwards25519 是形如 ax² + y² = 1 + dx²y² 的扭曲 Edwards 曲线,定义在 255 位素域上,其素数阶子群为 253 位,余因子为 8;估计安全级别为 128 位。状态:推荐用于新系统。
Edwards25519 是 2^255 − 19 上的曲线 −x² + y² = 1 + dx²y²,其中 d = −121665/121666。它与 Curve25519 双有理等价,因此两者共享同一个阶为 8·n 的群。它的加法公式是完备的,不存在例外情况,这让常量时间代码更容易编写。
Ed25519(RFC 8032 §5.1)的签名为 64 字节,公钥为 32 字节,而且签名是确定性的:nonce 由私钥和消息派生,因此弱随机数生成器不会导致密钥泄露。使用 Ed25519 的有 SSH(ssh-ed25519)、TLS 1.3、DNSSEC(算法 15)、JOSE 和 COSE(Ed25519,RFC 9864)、Solana 以及 Tor 洋葱服务,FIPS 186-5 也批准了它。
由于群的余因子为 8,各个库在边界情况上存在分歧(验证时是否乘以余因子,以及接受哪些点的非规范编码),因此同一个签名可能在一个库中验证通过,在另一个库中却验证失败(Chalkias、Garillot 和 Nikolaenko,“Taming the many EdDSAs”)。
各标准中的名称
| 标准 | 名称 |
|---|
| RFC 8032 | edwards25519 |
| RFC 8032 / RFC 8410 | Ed25519 |
域参数
255 位素域 · 约 128 位安全强度
- 域素数 p
- 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed
- 系数 a
- 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec
- 系数 d
- 0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3
- 基点 x 坐标
- 0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a
- 基点 y 坐标
- 0x6666666666666666666666666666666666666666666666666666666666666658
- 基点的阶 n
- 0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed
- 余因子 h
- 0x8
用于
- SSH (ssh-ed25519)
- TLS 1.3 (ed25519)
- DNSSEC (algorithm 15)
- JOSE (Ed25519, EdDSA)
- Solana
- Signify / minisign
- Tor onion services
← 全部曲线