跳到主要内容
ecdsa.com
推荐扭曲 Edwards 形式

edwards25519

Edwards25519 是 Curve25519 的扭曲 Edwards 形式,用于 Ed25519 签名。

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 8032edwards25519
RFC 8032 / RFC 8410Ed25519

对象标识符

域参数

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

注册表中的标识符

TLS 签名方案
ed25519 0x0807
JOSE 算法
Ed25519
JWK 曲线
Ed25519
COSE 算法
Ed25519 -19
COSE 椭圆曲线
Ed25519 6
SSH 公钥算法
ssh-ed25519ssh-mldsa44-ed25519
DNSSEC 算法编号
ED25519 15

标准与参考资料

全部曲线