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]

普及

协议

应用

脚注

  1. 從Windows 10 (1607)及Windows Server 2016開始使用。
  2. Via the OMEMO protocol
  3. Only in "secret conversations"
  4. Via the Signal Protocol
  5. Only in "incognito mode"
  6. Used to sign releases and packages[32][33]
  7. Exclusive key exchange in OpenSSH 6.7 when compiled without OpenSSL.[34][35]

参见

  • EdDSA

引用

  1. Bernstein. . cr.yp.to. [2016-02-08]. (原始内容存档于2017-08-25).
  2. 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. "
  3. . [2016-02-25]. (原始内容存档于2018-04-08).
  4. 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).
  5. Lange, Tanja. . EFD / Explicit-Formulas Database. [8 February 2016]. (原始内容存档于2017-03-09).
  6. . safecurves.cr.yp.to. [2016-02-08]. (原始内容存档于2017-09-05).
  7. 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).
  8. Werner Koch. . 15 April 2016 [22 April 2016]. (原始内容存档于2017-01-22).
  9. SSH implementation comparison. . [2016-02-25]. (原始内容存档于2017-09-24).
  10. . yp.to. [11 December 2014]. (原始内容存档于2017-10-07).
  11. . fossies.org. [2015-05-19]. (原始内容存档于2015-05-20).
  12. Limited, ARM. . tls.mbed.org. [2015-05-19]. (原始内容存档于2017-01-22).
  13. . [2018-05-01]. (原始内容存档于2017-09-08).
  14. . botan.randombit.net. [2018-05-01]. (原始内容存档于2017-12-10).
  15. Justinha. . docs.microsoft.com. [2017-09-15]. (原始内容存档于2018-02-28) (美国英语).
  16. Denis, Frank. . libsodium.org. [2020-09-25]. (原始内容存档于2019-09-24).
  17. Inc., OpenSSL Foundation,. . www.openssl.org. [2016-06-24]. (原始内容存档于2018-03-17).
  18. . GitHub. [2018-05-01]. (原始内容存档于2018-04-22).
  19. . [2018-05-01]. (原始内容存档于2017-12-09).
  20. . [25 July 2017]. (原始内容存档于2017-12-09).
  21. . [2017-08-03]. (原始内容存档于2017-10-19).
  22. Straub, Andreas. . conversations.im. 25 October 2015 [2018-05-01]. (原始内容存档于2017-03-13).
  23. . crypto.cat. [2016-05-24]. (原始内容存档于2016-04-07).
  24. Frank Denis. . [2016-03-03]. (原始内容存档于2015-08-13).
  25. Matt Johnston. . [2016-02-25]. (原始内容存档于2018-03-23).
  26. Bahtiar Gadimov; et al. . [2016-10-01]. (原始内容存档于2017-12-17).
  27. . gnunet.org. [11 December 2014]. (原始内容存档于2017-12-09).
  28. zzz. . 2014-09-20 [20 December 2014]. (原始内容存档于2017-06-28).
  29. . [2018-12-05]. (原始内容存档于2019-02-15).
  30. (PDF). [2018-05-01]. (原始内容存档 (PDF)于2018-04-13).
  31. (PDF). getmonero.com. [2018-12-05]. (原始内容 (PDF)存档于2019-05-01).
  32. Murenin, Constantine A. Soulskill , 编. . Slashdot. 2014-01-19 [2014-12-27]. (原始内容存档于2016-03-04).
  33. Murenin, Constantine A. timothy , 编. . Slashdot. 2014-05-01 [2014-12-27]. (原始内容存档于2017-05-05).
  34. Friedl, Markus. . BSD Cross Reference, OpenBSD src/usr.bin/. 2014-04-29 [2014-12-27]. (原始内容存档于2017-12-09).
  35. Murenin, Constantine A. Soulskill , 编. . Slashdot. 2014-04-30 [2014-12-26]. (原始内容存档于2016-06-24).
  36. . Peerio. [2018-05-01]. (原始内容存档于2017-12-09).
  37. . www.chiark.greenend.org.uk. [2018-05-01]. (原始内容存档于2018-02-02).
  38. (PDF). [2018-05-01]. (原始内容 (PDF)存档于2017-09-21).
  39. Roger Dingledine & Nick Mathewson. . [20 December 2014]. (原始内容存档于2018-11-15).
  40. . 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.