在密码学中,Curve25519是一种椭圆曲线,被设计用于椭圆曲线迪菲-赫尔曼(ECDH)密钥交换方法,可用作提供256位元的安全金鑰。它是不被任何已知专利覆盖的最快ECC曲线之一。
最初的Curve25519草稿将其定义成一个迪菲-赫尔曼(DH)函数。在那之后Daniel J. Bernstein提出Curve25519应被作为底层曲线的名称,而将X25519作为其DH函数的名称。
數學屬性
所用的曲線是,蒙哥馬利曲線,在由素數定義的素數場的二次擴展上,並且使用基點。這個基點的階數是(2^{252} + 27742317777372353535851937790883648493).
該協議使用壓縮橢圓點(僅X座標),因此它允許在ECDH中高效地使用Montgomery梯子,僅使用XZ座標。
Curve25519的構造使其避免了許多潛在的實現缺陷。 根據設計,它不受定時攻擊的影響,並且它接受任何32字節的字符串作為有效的公鑰,並且不需要驗證。
該曲線在雙有理幾何上等同於簽名方案中使用的扭曲Edwards曲線。
普及
库
- Libgcrypt
- libssh
- NaCl
- GnuTLS
- mbed TLS (前称 PolarSSL)
- wolfSSL
- Botan
- SChannel
- Libsodium
- OpenSSL 自版本 1.1.0
- LibreSSL
- NaCl for Tcl — 一个对 Tcl 语言的端口
- NSS 自版本 3.28
- Monocypher
- Crypto++
协议
- OMEMO, 一个对XMPP (Jabber)的建议性扩展
- Secure Shell
- Signal Protocol
- Tox
- Zcash
- TLS
应用
- Conversations Android application
- Cryptocat
- DNSCrypt
- DNSCurve
- Dropbear
- Facebook Messenger
- Gajim via plugin
- GNUnet
- GnuPG
- Google Allo
- I2P
- IPFS
- iOS
- Monero
- OpenBSD
- OpenSSH}}
- Peerio
- PuTTY
- Signal
- Silent Phone
- SmartFTP
- TinySSH
- Viber
- Wire
- WireGuard
脚注
参见
- EdDSA
引用
外部链接
*
评论 (0)