Curve25519
跳转到导航
跳转到搜索
Template:Roughtranslation Template:NoteTA 在密码学中,Curve25519是一种椭圆曲线,被设计用于椭圆曲线迪菲-赫尔曼(ECDH)密钥交换方法,可用作提供256位元的安全金鑰。它是不被任何已知专利覆盖的最快ECC曲线之一。[1][2]
最初的Curve25519草稿将其定义成一个迪菲-赫尔曼(DH)函数。在那之后Daniel J. Bernstein提出Curve25519应被作为底层曲线的名称,而将X25519作为其DH函数的名称。[3]
數學屬性
所用的曲線是Template:Math,蒙哥馬利曲線,在由素數Template:Math定義的素數場的二次擴展上,並且使用基點Template:Math。這個基點的階數是[4].
該協議使用壓縮橢圓點(僅X座標),因此它允許在ECDH中高效地使用Montgomery梯子,僅使用XZ座標。[5]
Curve25519的構造使其避免了許多潛在的實現缺陷。[6] 根據設計,它不受定時攻擊的影響,並且它接受任何32字節的字符串作為有效的公鑰,並且不需要驗證。
該曲線在雙有理幾何上等同於Template:Tsl簽名方案中使用的扭曲Edwards曲線。[7]
普及
库
- Libgcrypt[8]
- libssh[9]
- NaCl[10]
- GnuTLS[11]
- mbed TLS (前称 PolarSSL)[12]
- wolfSSL[13]
- Botan[14]
- SChannelTemplate:Efn[15]
- Libsodium[16]
- OpenSSL 自版本 1.1.0[17]
- LibreSSL[18]
- NaCl for Tcl — 一个对 Tcl 语言的端口[19]
- NSS 自版本 3.28[20]
- Monocypher[21]
- Crypto++
协议
- OMEMO, 一个对XMPP (Jabber)的建议性扩展[22]
- Secure Shell
- Signal Protocol
- Tox
- Zcash
- TLS
应用
- Conversations Android applicationTemplate:Efn
- Cryptocat[23]Template:Efn
- DNSCrypt[24]
- DNSCurve
- Dropbear[9][25]
- Facebook Messenger Template:EfnTemplate:Efn
- Gajim via plugin[26]Template:Efn
- GNUnet[27]
- GnuPG
- Google AlloTemplate:EfnTemplate:Efn
- I2P[28]
- IPFS[29]
- iOS[30]
- Monero[31]
- OpenBSDTemplate:Efn
- OpenSSH[9]Template:Efn
- Peerio[32]
- PuTTY[33]
- SignalTemplate:Efn
- Silent Phone
- SmartFTP[9]
- SSHJ[9]
- Threema Instant Messenger[34]
- TinySSH[9]
- TinyTERM[9]
- Tor[35]
- Viber[36]
- WhatsAppTemplate:Efn
- Wire
- WireGuard
脚注
参见
引用
外部链接
- ↑ Template:Cite web
- ↑ A state-of-the-art Diffie-Hellman function Template:Wayback by Daniel J. Bernstein"My curve25519 library computes the Curve25519 function at very high speed. The library is in the public domain. "
- ↑ Template:Cite web
- ↑ Template:Cite conference
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite conference
- ↑ Template:Cite web
- ↑ 9.0 9.1 9.2 9.3 9.4 9.5 9.6 Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web