Curve25519

在密码学中，Curve25519是一种椭圆曲线，被设计用于椭圆曲线迪菲-赫尔曼（ECDH）密钥交换方法，可用作提供256位元的安全金鑰。它是不被任何已知专利覆盖的最快ECC曲线之一。

最初的Curve25519草稿将其定义成一个迪菲-赫尔曼（DH）函数。在那之后Daniel J. Bernstein提出Curve25519应被作为底层曲线的名称，而将X25519作为其DH函数的名称。

數學屬性 
所用的曲線是，蒙哥馬利曲線，在由素數定義的素數場的二次擴展上，並且使用基點。這個基點的階數是.

該協議使用壓縮橢圓點（僅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
 SSHJ
 Threema Instant Messenger
 TinySSH
 TinyTERM
 Tor
 Viber
 WhatsApp
 Wire
 WireGuard

脚注

参见

引用

外部链接 

 

橢圓曲線密碼學
包含源码的公有领域软件