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.