跳到主要内容
ecdsa.com

Curve25519

Daniel J. Bernstein 于2005年提出的 Montgomery 曲线 y² = x³ + 486662x² + x,定义在素数 2²⁵⁵ − 19 上,是 X25519 密钥交换的基础,其 Edwards 形式则是 Ed25519 签名的基础。
其他写法Curve25519 curveedwards2551925519

参数(RFC 7748 §4.1、NIST SP 800-186 §3.2.2.1):A = 486662,p = 2²⁵⁵ − 19,余因子为 8,基点 u = 9。该曲线具有扭曲安全性(twist-secure),因此只使用 u 坐标的 Montgomery 阶梯无需验证点;与它双有理等价的扭曲 Edwards 形式 Edwards25519(SP 800-186 §3.2.3.1)具有适合签名的完备加法公式。

命名遵循 RFC 7748:Curve25519 指曲线,X25519 指 Diffie–Hellman 函数,Ed25519 指签名方案。余因子为 8 意味着存在小阶点;X25519 的钳位和 EdDSA 的带余因子检查可以处理这些点,需要素数阶群的协议则使用 ristretto255(RFC 9496)。

这些参数是按照公开、严格的标准选出的,而不是来自一个来历不明的种子,而且其运算在常量时间下也很快。因此它成为 TLS 1.3 密钥共享、SSH、WireGuard、Signal、Tor、age 和基于 Noise 的协议的默认选择,NIST 也于2023年把它加入了 SP 800-186。

标准与参考资料

全部术语