Curve25519

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Juni 2016 um 00:41 Uhr durch Rugk (Diskussion | Beiträge) (Übernahme von X25519-Erklärung aus englischen Wikipedia-Artikel). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

Curve25519 ist eine elliptische Kurve, die 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 standardisiert.[1] Sie findet breite Verwendung, beispielsweise in dem GNU Privacy Guard (GPG),[2] WhatsApp, dem Tor- und I2P-Netzwerk oder auch in iOS zur Speicherung von Dateien während das Gerät gesperrt ist.[3][4]

Mathematische Formel

Die Kurve wird durch die Funktion

in einem endlichen Körper modulo der Primzahl definiert. Es handelt sich um eine sogenannte Montgomery-Kurve. Im Gegensatz zu den sonst üblichen Weierstrass-Kurven erlaubt diese Form die Verwendung von Algorithmen, die immun gegen Timing-Seitenkanalangriffe sind.[5]

Entwicklung

Curve25519 wurde 2005 von dem Kryptographen Daniel J. Bernstein entwickelt. Er veröffentlichte auch eine gemeinfreie Programmbibliothek als Referenzimplementierung. Sie wurde festgelegt als die erste (schnellste) Kurve, 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.[6]

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.[7]

Standardisierung

Seit 2014 bemüht sich die Kryptographie-Arbeitsgruppe der Internet Engineering Task Force (IETF) um die Standardisierung neuer elliptischer Kurven für asymmetrische Kryptographie im Internet. Curve25519 gilt als vielversprechendster Kandidat für die Standardisierung einer elliptischen Kurve, welche die vom National Institute of Standards and Technology (NIST) standardisierten Kurven ablösen sollen.[6] Diese sind in Verruf geraten, da sie von der National Security Agency (NSA) aus unerklärten Ausgangsdaten abgeleitet wurden und eine Hintertür nicht ausgeschlossen werden kann. Außer mehr Transparenz soll sie auch bei der Implementierung weniger fehleranfällig sein.[8]

Ed25519 und weitere Kurven

Curve25519 lässt sich nicht mit älteren Signaturalgorithmen wie beispielsweise ECDSA nutzen. Speziell für Kurven wie Curve25519 gibt es daher das dafür entwickelte Verfahren Ed25519.[9]

Neben Curve25519 gibt es noch weitere Kurven, die nach ähnlichen Prinzipien entwickelt wurden und ebenfalls mit Ed25519 zusammenarbeiten, darunter etwa Ed448-Goldilocks von Michael Hamburger und die von mehreren Personen unabhängig entdeckte Kurve E-521.[10]

Siehe auch

Weblinks

Quellen

  1. heise.de
  2. Hanno Böck (golem.de), 6. November 2014: Verschlüsselung: GnuPG 2.1 bringt Unterstützung für elliptische Kurven
  3. Things that use Curve25519
  4. Jean Sigwald (Sogeti), 14. Oktober 2011: iOS 5 data protection updates
  5. SafeCurves: choosing safe curves for elliptic-curve cryptography. Abgerufen am 7. Juni 2016 (englisch).
  6. a b Hanno Böck (golem.de), 4. Dezember 2014: Die Suche nach neuen Kurven
  7. [Cfrg] 25519 naming. In: www.ietf.org. Abgerufen am 24. Juni 2016.
  8. Hanno Böck (golem.de), 12. September 2013: Die Herkunft der Nist-Kurven
  9. Ed25519: ed25519.cr.yp.to
  10. SafeCurves: safecurves.cr.yp.to