Zum Inhalt springen

Curve25519

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Ed25519)
Datei:Curve25519.png
Curve25519 über den rationalen Zahlen

Curve25519 ist eine elliptische Kurve, die im Rahmen der Elliptische-Kurven-Kryptographie für asymmetrische Kryptosysteme genutzt wird. Sie wird üblicherweise für digitale Signaturen und Schlüsselaustauschprotokolle genutzt und gilt als besonders schnell. Sie ist von der IETF als RFC 7748<ref>Vorlage:RFC-Internet</ref> standardisiert.<ref>Fabian A. Scherschel: Verschlüsselung: IETF standardisiert zwei weitere elliptische Kurven. In: heise Security. 27. Januar 2016, abgerufen am 30. Dezember 2016.</ref> Sie findet breite Verwendung, beispielsweise im GNU Privacy Guard (GPG),<ref name="GPG" /> der Signal-App, Threema, SSH, ProtonMail, WhatsApp, Matrix, TLS,<ref>Vorlage:RFC-Internet</ref> dem Tor- und I2P-Netzwerk oder auch in iOS zur Speicherung von Dateien, während das Gerät gesperrt ist.<ref name="deployment" /><ref name="iOS" />

Mathematische Formel[Bearbeiten]

Die Kurve wird durch die Gleichung

<math>y^2 = x^3 + 486662 x^2 + x</math>

in dem endlichen Körper der Primzahl-Ordnung <math>2^{255} - 19</math> definiert (daher der Name). Es handelt sich um eine sogenannte Montgomery-Kurve. Diese erlauben die Verwendung von Algorithmen, die immun gegen Timing-Seitenkanalangriffe sind.<ref name="safecurves" />

Entwicklung[Bearbeiten]

Curve25519 wurde 2005 vom Kryptographen Daniel J. Bernstein entwickelt. Er veröffentlichte auch eine gemeinfreie Programmbibliothek als Referenzimplementierung. Sie wurde als die erste (schnellste) Kurve festgelegt, die einen vorgegebenen Kriterienkatalog erfüllt. Diese deterministische Ableitung aus öffentlich bekannten Faktoren erübrigt Vertrauen in komplexe Basiskonstanten und soll so den Ausschluss von Hintertüren gewährleisten.<ref name="Standardisierung" />

Ursprünglich wurde Curve25519 als Diffie-Hellman-Funktion definiert. Daniel J. Bernstein schlägt seitdem den Namen „Curve25519“ für die zugrundeliegende Kurve vor, während die Bezeichnung X25519 für die Diffie-Hellman-Funktion verwendet werden sollte.<ref>[Cfrg] 25519 naming. In: ietf.org. Abgerufen am 24. Juni 2016.</ref>

Standardisierung[Bearbeiten]

Seit 2014 hatte sich die Kryptographie-Arbeitsgruppe der Internet Engineering Task Force (IETF) um die Standardisierung neuer elliptischer Kurven für asymmetrische Kryptographie im Internet bemüht. Curve25519 galt als vielversprechendster Kandidat für die Standardisierung neuer elliptischer Kurven, welche die vom National Institute of Standards and Technology (NIST) standardisierten Kurven ablösen sollten.<ref name="Standardisierung" /> Diese sind in Verruf geraten, da sie von der National Security Agency (NSA) aus unerklärten Ausgangsdaten abgeleitet worden sind und eine Hintertür nicht ausgeschlossen werden kann. Außer mehr Transparenz zu bieten, soll Curve25519 auch bei der Implementierung weniger fehleranfällig sein.<ref name="NIST" /> Die Verwendung von Curve25519 ist schließlich 2020 sowohl für den Schlüsselaustausch als auch für Signaturen standardisiert worden.<ref name="RFC8731" /><ref name="RFC8709" />

Ed25519 und weitere Kurven[Bearbeiten]

Curve25519 lässt sich natürlich auch in älteren Signaturalgorithmen wie beispielsweise ECDSA nutzen. Allerdings gibt es andere Darstellungsformen der Kurve Curve25519, mit der das dafür u. a. von Daniel J. Bernstein und Tanja Lange entwickelte Verfahren Ed25519 arbeitet, um weitere Geschwindigkeitsvorteile zu nutzen.<ref name="Ed25519" />

Neben Curve25519 gibt es noch weitere Kurven, die nach ähnlichen Prinzipien entwickelt worden sind und ebenfalls mit Ed25519 zusammenarbeiten, darunter etwa Ed448-Goldilocks von Mike Hamburg und die von mehreren Personen unabhängig entdeckte Kurve E-521.<ref name="safecurves" />

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references> <ref name="GPG"> Hanno Böck: Verschlüsselung: GnuPG 2.1 bringt Unterstützung für elliptische Kurven. In: golem.de. 6. November 2014, abgerufen am 23. Dezember 2021. </ref> <ref name="deployment"> Things that use Curve25519. 21. Dezember 2021, abgerufen am 23. Dezember 2021. </ref> <ref name="iOS"> Jean Sigwald: Die Seite Vorlage:Webarchiv/styles.css hat keinen Inhalt.iOS 5 data protection updates. (Memento vom 30. Mai 2014 im Internet Archive). Sogeti, 14. Oktober 2011. </ref> <ref name="Standardisierung"> Hanno Böck: Die Suche nach neuen Kurven. In: golem.de. 4. Dezember 2014, abgerufen am 23. Dezember 2021. </ref> <ref name="NIST"> Hanno Böck: Die Herkunft der Nist-Kurven. In: golem.de. 12. September 2013, abgerufen am 23. Dezember 2021. </ref> <ref name="RFC8731"> Vorlage:RFC-Internet </ref> <ref name="RFC8709"> Vorlage:RFC-Internet </ref> <ref name="Ed25519"> Ed25519: high-speed high-security signatures. Abgerufen am 23. Dezember 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)). </ref> <ref name="safecurves"> SafeCurves: choosing safe curves for elliptic-curve cryptography. Abgerufen am 23. Dezember 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)). </ref> </references>