Curve25519
Curve25519 是什么?
Curve25519由 Daniel J. Bernstein 设计的蒙哥马利椭圆曲线,用于 RFC 7748 中定义的 X25519 Diffie-Hellman,提供约 128 位安全性。
Curve25519 是 Daniel J. Bernstein 于 2005 年发布的蒙哥马利曲线 y^2 = x^3 + 486662 x^2 + x,定义于素数域 2^255 - 19。X25519(RFC 7748)是基于该曲线、仅使用 x 坐标并通过蒙哥马利阶梯实现的椭圆曲线 Diffie-Hellman 密钥协商。它从 32 字节的公私钥生成 32 字节的共享密钥,安全性约 128 位,且实现可做到完整、恒定时间、抗旁路攻击。X25519 是 TLS 1.3、SSH、WireGuard、Signal、Noise 协议、Tor v3 洋葱服务以及现代后量子混合密钥交换的默认密钥交换。相关的签名算法 Ed25519 则使用与 Curve25519 双有理等价的扭曲爱德华兹曲线 edwards25519。
● 示例
- 01
TLS 1.3 命名组 `x25519` 是默认的 ECDH 曲线。
- 02
WireGuard 通过 X25519 握手派生会话密钥。
● 常见问题
Curve25519 是什么?
由 Daniel J. Bernstein 设计的蒙哥马利椭圆曲线,用于 RFC 7748 中定义的 X25519 Diffie-Hellman,提供约 128 位安全性。 它属于网络安全的 密码学 分类。
Curve25519 是什么意思?
由 Daniel J. Bernstein 设计的蒙哥马利椭圆曲线,用于 RFC 7748 中定义的 X25519 Diffie-Hellman,提供约 128 位安全性。
Curve25519 是如何工作的?
Curve25519 是 Daniel J. Bernstein 于 2005 年发布的蒙哥马利曲线 y^2 = x^3 + 486662 x^2 + x,定义于素数域 2^255 - 19。X25519(RFC 7748)是基于该曲线、仅使用 x 坐标并通过蒙哥马利阶梯实现的椭圆曲线 Diffie-Hellman 密钥协商。它从 32 字节的公私钥生成 32 字节的共享密钥,安全性约 128 位,且实现可做到完整、恒定时间、抗旁路攻击。X25519 是 TLS 1.3、SSH、WireGuard、Signal、Noise 协议、Tor v3 洋葱服务以及现代后量子混合密钥交换的默认密钥交换。相关的签名算法 Ed25519 则使用与 Curve25519 双有理等价的扭曲爱德华兹曲线 edwards25519。
如何防御 Curve25519?
针对 Curve25519 的防御通常结合技术控制与运营实践,详见上方完整定义。
Curve25519 还有哪些其他名称?
常见的别称包括: X25519, curve25519-donna。
● 相关术语
- cryptography№ 370
Ed25519
基于扭曲爱德华兹曲线 edwards25519 的 EdDSA 签名方案,提供约 128 位安全性,具备确定性、高性能与抗旁路特性(RFC 8032)。
- cryptography№ 374
椭圆曲线密码学(ECC)
基于有限域上椭圆曲线代数结构的公钥算法族,以远小于 RSA 的密钥实现等同安全强度。
- network-security№ 1159
TLS(传输层安全)
由 IETF 标准化的加密协议,为两个联网应用之间的通信提供机密性、完整性与认证。
- network-security№ 1244
WireGuard
现代化、极简的 VPN 协议,采用固定的新一代密码学原语,并作为 Linux 内核的一部分运行。
- cryptography№ 846
后量子密码学
面向经典计算机与大规模量子计算机均能保持安全的经典密码算法体系。
● 参见
- № 161ChaCha20-Poly1305