Curve25519

在密码学中,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
  • WhatsApp
  • Wire
  • WireGuard

脚注
参见

  • EdDSA

引用
外部链接
*

评论 (0)

  • 还没有评论,来抢沙发吧。