Curve25519
在密码学中,Curve25519是一种椭圆曲线,被设计用于椭圆曲线迪菲-赫尔曼(ECDH)密钥交换方法,可用作提供256位元的安全金鑰。它是不被任何已知专利覆盖的最快ECC曲线之一。[1][2]
最初的Curve25519草稿将其定义成一个迪菲-赫尔曼(DH)函数。在那之后Daniel J. Bernstein提出Curve25519应被作为底层曲线的名称,而将X25519作为其DH函数的名称。[3]
數學屬性
所用的曲線是y2 = x3 + 486662x2 + x,蒙哥馬利曲線,在由素數2255 − 19定義的素數場的二次擴展上,並且使用基點x = 9。這個基點的階數是[4].
該協議使用壓縮橢圓點(僅X座標),因此它允許在ECDH中高效地使用Montgomery梯子,僅使用XZ座標。[5]
Curve25519的構造使其避免了許多潛在的實現缺陷。[6] 根據設計,它不受定時攻擊的影響,並且它接受任何32字節的字符串作為有效的公鑰,並且不需要驗證。
該曲線在雙有理幾何上等同於Ed25519簽名方案中使用的扭曲Edwards曲線。[7]
普及
库
应用
- Conversations Android application[lower-alpha 2]
- Cryptocat[23][lower-alpha 2]
- DNSCrypt[24]
- DNSCurve
- Dropbear[9][25]
- Facebook Messenger [lower-alpha 3][lower-alpha 4]
- Gajim via plugin[26][lower-alpha 2]
- GNUnet[27]
- GnuPG
- Google Allo[lower-alpha 5][lower-alpha 4]
- I2P[28]
- IPFS[29]
- iOS[30]
- Monero[31]
- OpenBSD[lower-alpha 6]
- OpenSSH[9][lower-alpha 7]
- Peerio[36]
- PuTTY[37]
- Signal[lower-alpha 4]
- Silent Phone
- SmartFTP[9]
- SSHJ[9]
- Threema Instant Messenger[38]
- TinySSH[9]
- TinyTERM[9]
- Tor[39]
- Viber[40]
- WhatsApp[lower-alpha 4]
- Wire
- WireGuard
脚注
参见
- EdDSA
引用
- Bernstein. . cr.yp.to. [2016-02-08]. (原始内容存档于2017-08-25).
- A state-of-the-art Diffie-Hellman function (页面存档备份,存于) by Daniel J. Bernstein"My curve25519 library computes the Curve25519 function at very high speed. The library is in the public domain. "
- . [2016-02-25]. (原始内容存档于2018-04-08).
- Bernstein, Daniel J. Yung, Moti; Dodis, Yevgeniy; Kiayias, Aggelos; et al , 编. (PDF). Public Key Cryptography. Lecture Notes in Computer Science 3958. New York: Springer: 207–228. 2006 [2019-10-22]. ISBN 978-3-540-33851-2. MR 2423191. doi:10.1007/11745853_14. (原始内容存档 (PDF)于2020-01-22).
- Lange, Tanja. . EFD / Explicit-Formulas Database. [8 February 2016]. (原始内容存档于2017-03-09).
- . safecurves.cr.yp.to. [2016-02-08]. (原始内容存档于2017-09-05).
- Bernstein, Daniel J.; Lange, Tanja. Kurosawa, Kaoru , 编. . Advances in cryptology—ASIACRYPT. Lecture Notes in Computer Science 4833. Berlin: Springer: 29–50. 2007 [2018-12-10]. ISBN 978-3-540-76899-9. MR 2565722. doi:10.1007/978-3-540-76900-2_3. (原始内容存档于2018-12-15).
- Werner Koch. . 15 April 2016 [22 April 2016]. (原始内容存档于2017-01-22).
- SSH implementation comparison. . [2016-02-25]. (原始内容存档于2017-09-24).
- . yp.to. [11 December 2014]. (原始内容存档于2017-10-07).
- . fossies.org. [2015-05-19]. (原始内容存档于2015-05-20).
- Limited, ARM. . tls.mbed.org. [2015-05-19]. (原始内容存档于2017-01-22).
- . [2018-05-01]. (原始内容存档于2017-09-08).
- . botan.randombit.net. [2018-05-01]. (原始内容存档于2017-12-10).
- Justinha. . docs.microsoft.com. [2017-09-15]. (原始内容存档于2018-02-28) (美国英语).
- Denis, Frank. . libsodium.org. [2020-09-25]. (原始内容存档于2019-09-24).
- Inc., OpenSSL Foundation,. . www.openssl.org. [2016-06-24]. (原始内容存档于2018-03-17).
- . GitHub. [2018-05-01]. (原始内容存档于2018-04-22).
- . [2018-05-01]. (原始内容存档于2017-12-09).
- . [25 July 2017]. (原始内容存档于2017-12-09).
- . [2017-08-03]. (原始内容存档于2017-10-19).
- Straub, Andreas. . conversations.im. 25 October 2015 [2018-05-01]. (原始内容存档于2017-03-13).
- . crypto.cat. [2016-05-24]. (原始内容存档于2016-04-07).
- Frank Denis. . [2016-03-03]. (原始内容存档于2015-08-13).
- Matt Johnston. . [2016-02-25]. (原始内容存档于2018-03-23).
- Bahtiar Gadimov; et al. . [2016-10-01]. (原始内容存档于2017-12-17).
- . gnunet.org. [11 December 2014]. (原始内容存档于2017-12-09).
- zzz. . 2014-09-20 [20 December 2014]. (原始内容存档于2017-06-28).
- . [2018-12-05]. (原始内容存档于2019-02-15).
- (PDF). [2018-05-01]. (原始内容存档 (PDF)于2018-04-13).
- (PDF). getmonero.com. [2018-12-05]. (原始内容 (PDF)存档于2019-05-01).
- Murenin, Constantine A. Soulskill , 编. . Slashdot. 2014-01-19 [2014-12-27]. (原始内容存档于2016-03-04).
- Murenin, Constantine A. timothy , 编. . Slashdot. 2014-05-01 [2014-12-27]. (原始内容存档于2017-05-05).
- Friedl, Markus. . BSD Cross Reference, OpenBSD src/usr.bin/. 2014-04-29 [2014-12-27]. (原始内容存档于2017-12-09).
- Murenin, Constantine A. Soulskill , 编. . Slashdot. 2014-04-30 [2014-12-26]. (原始内容存档于2016-06-24).
- . Peerio. [2018-05-01]. (原始内容存档于2017-12-09).
- . www.chiark.greenend.org.uk. [2018-05-01]. (原始内容存档于2018-02-02).
- (PDF). [2018-05-01]. (原始内容 (PDF)存档于2017-09-21).
- Roger Dingledine & Nick Mathewson. . [20 December 2014]. (原始内容存档于2018-11-15).
- . Viber. 3 May 2016 [24 September 2016]. (原始内容存档于2016-10-24).
外部链接
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.