Elliptische Kurven: ECDH und ECDSA verständlich erklärt

Elliptische Kurven bilden das Herzstück moderner Public‑Key‑Kryptografie. Sie ermöglichen sichere Schlüssel‑Austausch‑Protokolle, digitale Signaturen und sogar Zero‑Knowledge‑Proofs – alles mit deutlich kleineren Schlüssellängen als bei RSA oder DSA. In diesem Beitrag tauchen wir tief in die Funktionsweise von ECDH, ECDSA und verwandten Verfahren ein, erklären die mathematischen Grundlagen und beleuchten praktische Einsatzszenarien sowie Sicherheitsaspekte. Für Entwickler, Sicherheitsexperten und Technikbegeisterte bietet dieser Leitfaden einen klaren Überblick über die wichtigsten Konzepte und die aktuelle Praxis in der Kryptografie.

1. Grundlagen elliptischer Kurven

Elliptische Kurven sind nicht‑lineare algebraische Kurven, die in der Form
\(y^2 = x^3 + ax + b\) über einem endlichen Körper definiert sind. Für die Kryptografie wird üblicherweise ein Primkörper \(\mathbb{F}_p\) oder ein binärer Körper \(\mathbb{F}_{2^m}\) verwendet (über Letzterem in einer leicht abgewandelten Gleichungsform). Die Punkte \((x, y)\) auf der Kurve bilden zusammen mit einem speziellen Punkt im Unendlichen \(\mathcal{O}\) eine abelsche Gruppe, deren Gruppengesetz geometrisch definiert ist: Zwei Punkte werden addiert, indem man die Gerade durch sie zieht, den dritten Schnittpunkt mit der Kurve bestimmt und diesen an der x‑Achse spiegelt. Diese Punktaddition ist die Grundlage aller Verfahren der Elliptische‑Kurven‑Kryptografie.

Vibrant blaue elliptische Kurve über einem komplexen Koordinatensystem mit Rasterhintergrund, ein hervorgehobener Punkt P und die Tangente an P, die die Gruppengesetze der elliptischen Kurve veranschaulicht.

Die Wahl der Kurve und des Körpers ist entscheidend für die Sicherheit. Standards wie NIST‑P‑256, Curve25519 oder secp256k1 wurden sorgfältig geprüft, um sicherzustellen, dass keine bekannten Schwachstellen wie Twist‑ oder Small‑Subgroup‑Angriffe ausgenutzt werden können. Ein weiterer wichtiger Aspekt ist die Wahl des Generator‑Punktes \(G\), der als Basis für alle Schlüsselberechnungen dient. Seine Ordnung \(n\) – die Anzahl der Punkte, die \(G\) durch wiederholte Addition erzeugt – muss eine große Primzahl sein; nur dann ist das Problem des diskreten Logarithmus in dieser Gruppe praktisch unlösbar.

Illustration der Gruppengesetze einer elliptischen Kurve: zwei orange markierte Punkte A und B auf einer indigo‑farbenen Kurve, deren Tangentenlinien, und der resultierende Punkt C nach ihrer Addition, mit einem technischen, schattierten Hintergrund.

2. ECDH – Elliptic‑Curve Diffie‑Hellman

ECDH ist ein Schlüsselaustausch‑Protokoll, das es zwei Parteien ermöglicht, ein gemeinsames Geheimnis zu erzeugen, ohne dass dieses über das Netzwerk übertragen wird. Jede Partei wählt einen privaten Schlüssel \(d\) (eine zufällige Zahl im Bereich \([1, n-1]\), wobei \(n\) die Ordnung des Generator‑Punktes ist) und berechnet den zugehörigen öffentlichen Schlüssel \(Q = d \cdot G\). Durch Multiplikation des privaten Schlüssels mit dem öffentlichen Schlüssel der Gegenpartei entsteht ein gemeinsames Geheimnis:
\(S = d_A \cdot Q_B = d_B \cdot Q_A\).
Da sich die Skalarmultiplikation praktisch nicht umkehren lässt (Problem des diskreten Logarithmus auf elliptischen Kurven), bleibt das Geheimnis für einen Angreifer verborgen, selbst wenn er die öffentlichen Schlüssel abfängt.

Ein praktisches Beispiel: Alice wählt \(d_A = 12345\), Bob wählt \(d_B = 67890\) (in der Praxis sind es zufällige 256‑Bit‑Zahlen). Alice sendet \(Q_A = d_A \cdot G\) an Bob, Bob sendet \(Q_B = d_B \cdot G\) an Alice. Beide berechnen anschließend \(S = d_A \cdot Q_B = d_B \cdot Q_A\). Das Ergebnis ist ein Punkt auf der Kurve; aus seiner x‑Koordinate wird über eine Schlüsselableitungsfunktion (KDF) ein symmetrischer Schlüssel (z. B. für AES‑256) gewonnen. Curve25519 und Curve448 gelten hier als besonders empfehlenswert, weil sie so entworfen wurden, dass sich sichere Implementierungen in konstanter Zeit und ohne Sonderfälle leicht umsetzen lassen.

Illustration eines ECDH-Schlüsselaustauschs zwischen Alice und Bob, zeigt Punkte A und B auf einer elliptischen Kurve sowie den gemeinsamen Geheimnis‑Punkt S, hervorgehoben in Neon‑Grün.

3. ECDSA – Elliptic‑Curve Digital Signature Algorithm

ECDSA ist die Standard‑Signatur‑Methode für elliptische Kurven. Sie ermöglicht es, die Integrität und Authentizität von Nachrichten zu gewährleisten, ohne dass ein geheimer Schlüssel öffentlich gemacht wird. Der Signaturprozess besteht aus folgenden Schritten:

  1. Hashing: Die Nachricht \(m\) wird mit einem kryptografischen Hash‑Algorithmus (z. B. SHA‑256) gehasht, um einen kurzen, eindeutigen Fingerabdruck \(e\) zu erzeugen.
  2. Nonce‑Erzeugung: Eine zufällige Zahl \(k\) wird generiert. Diese muss eindeutig und geheim bleiben; ein Wiederverwenden von \(k\) führt zu einer vollständigen Schlüssel‑Kompromittierung.
  3. Punktberechnung: \(R = k \cdot G\). Die x‑Koordinate von \(R\) wird modulo \(n\) genommen, um \(r\) zu erhalten. Falls \(r = 0\), wird ein neues \(k\) gewählt.
  4. Signaturwert: \(s = k^{-1}(e + d \cdot r) \mod n\). Falls \(s = 0\), wird ebenfalls ein neues \(k\) gewählt.
  5. Signatur: Das Paar \((r, s)\) wird als Signatur zurückgegeben.

Zur Verifikation wird die Signatur zusammen mit dem öffentlichen Schlüssel \(Q\) verwendet. Der Verifikator berechnet \(w = s^{-1} \mod n\), \(u_1 = e \cdot w \mod n\), \(u_2 = r \cdot w \mod n\) und prüft, ob die x‑Koordinate des Punktes \(u_1 \cdot G + u_2 \cdot Q\) modulo \(n\) gleich \(r\) ist. Wenn ja, ist die Signatur gültig.

Ein häufiges Missverständnis ist, dass \(k\) unbedingt aus einem Zufallszahlengenerator stammen muss. Entscheidend ist, dass \(k\) für jede Signatur einzigartig und geheim bleibt: Wird dasselbe \(k\) zweimal verwendet, lässt sich der private Schlüssel aus den beiden Signaturen berechnen – so wurde 2010 der Signaturschlüssel der PlayStation 3 kompromittiert. Ist \(k\) bekannt, genügt sogar eine einzige Signatur, und schon wenige vorhersagbare Bits von \(k\) lassen sich über viele Signaturen hinweg ausnutzen. Moderne Implementierungen leiten \(k\) deshalb häufig deterministisch aus dem privaten Schlüssel und dem Nachrichten‑Hash ab (RFC 6979) und sind so nicht auf einen fehlerfreien Zufallszahlengenerator angewiesen.

Alt-Text: Darstellung des ECDSA‑Signaturprozesses mit Hash, privatem Schlüssel d, zufälliger Nonce k und Signaturpaar (r, s) auf einer elliptischen Kurve, wobei r und s gelb markiert sind.

4. Implementierung und Sicherheit

Die Implementierung von EC‑Kryptografie erfordert besondere Sorgfalt, da Fehler in der mathematischen Logik oder in der Zufallszahlengenerierung zu schwerwiegenden Sicherheitslücken führen können. Einige bewährte Praktiken sind:

  • Constant‑Time‑Operationen: Alle kritischen Berechnungen (z. B. Punktaddition, Skalarmultiplikation) sollten in konstanter Zeit ausgeführt werden, um Timing‑Angriffe zu verhindern.
  • Sicherer Zufallszahlengenerator: Für private Schlüssel und – sofern sie nicht deterministisch nach RFC 6979 abgeleitet wird – für die Nonce in ECDSA muss ein kryptografisch sicherer Zufallszahlengenerator (CSPRNG) verwendet werden. Hardware‑basierte RNGs oder Betriebssystem‑APIs wie /dev/urandom sind empfehlenswert.
  • Validierung öffentlicher Schlüssel: Jeder empfangene öffentliche Schlüssel muss auf der Kurve liegen, darf nicht der Punkt im Unendlichen sein und muss in der Untergruppe der Ordnung \(n\) liegen. Andernfalls sind Invalid‑Curve‑ oder Small‑Subgroup‑Angriffe möglich.
  • Schutz vor Side‑Channel‑Angriffen: Moderne Bibliotheken nutzen spezielle Verfahren (z. B. die Montgomery‑Leiter für die Skalarmultiplikation oder Blinding), um Power‑ und EM‑Analyse zu erschweren.
  • Verwendung geprüfter Bibliotheken: Statt eigene Implementierungen zu schreiben, sollten etablierte Bibliotheken wie OpenSSL, libsodium oder Bouncy Castle verwendet werden, die regelmäßig auf Sicherheitslücken geprüft werden.

Ein Beispiel für einen Angriff über manipulierte Eingaben ist der sogenannte Twist‑Angriff: Bei Implementierungen, die nur mit der x‑Koordinate rechnen, kann ein Angreifer einen Punkt einschleusen, der nicht auf der Kurve, sondern auf ihrem „Twist“ liegt – einer verwandten Kurve, deren Gruppe kleine Untergruppen besitzen kann. Aus den Reaktionen des Opfers lassen sich dann Bruchstücke des privaten Schlüssels berechnen. Schutz bieten die Validierung empfangener Punkte und „twist‑sichere“ Kurven wie Curve25519.

Side‑Channel‑Angriff auf ein elliptisches Kurven‑Kryptografie‑Gerät: Wärmekarte in Rot‑Orange, Oszilloskop, Hacker‑Silhouette analysiert Stromspuren.

5. Praktische Anwendungen und Zukunft

Elliptische Kurven finden in nahezu allen Bereichen der modernen Kryptografie Anwendung:

  • TLS/SSL: Die meisten TLS verschlüsselte Verbindung. Erkennbar am Schloss-Symbol im Browser.">HTTPS‑Verbindungen nutzen ECDHE (ECDH mit temporären Schlüsseln) für Forward Secrecy. Curve25519 ist hier besonders beliebt.
  • Blockchain‑Technologien: Bitcoin und Ethereum verwenden die Kurve secp256k1 für ECDSA‑Signaturen; Bitcoin nutzt seit dem Taproot‑Upgrade 2021 zusätzlich Schnorr‑Signaturen über dieselbe Kurve. Andere Blockchains wie Solana setzen auf Ed25519.
  • IoT‑Geräte: Durch die geringe Schlüssellänge (z. B. 256 Bit statt 3072 Bit bei RSA für vergleichbare Sicherheit) und die effiziente Implementierung sind EC‑Verfahren ideal für ressourcenbeschränkte Geräte.
  • Post‑Quantum‑Kryptografie: EC‑Kryptografie ist nicht quantensicher – ein ausreichend großer Quantencomputer könnte sie mit dem Shor‑Algorithmus brechen. In der Übergangsphase wird sie deshalb in hybriden Verfahren mit Post‑Quantum‑Algorithmen kombiniert, etwa X25519 mit ML‑KEM im TLS‑Schlüsselaustausch. Die 2024 verabschiedeten NIST‑Standards (u. a. ML‑KEM und ML‑DSA) sollen EC‑Verfahren langfristig ablösen.

Zukünftige Entwicklungen konzentrieren sich weniger auf neue Kurven – X25519 und Ed25519 sind längst standardisiert (RFC 7748, RFC 8032) und in TLS 1.3 und QUIC fest etabliert – als auf den schrittweisen Übergang zu hybriden und post‑quantenkryptografischen Verfahren. Gleichzeitig wird die Forschung an Side‑Channel‑Resistenz und der Einsatz von Hardware‑Sicherheitsmodulen (HSM) intensiviert, um die Sicherheit in kritischen Infrastrukturen zu erhöhen.

Fazit

Elliptische Kurven bieten eine elegante und effiziente Lösung für Public‑Key‑Kryptografie. Durch die Kombination von mathematischer Eleganz und praktischer Effizienz ermöglichen Verfahren wie ECDH und ECDSA sichere Schlüssel‑Austausch‑ und Signatur‑Mechanismen, die in nahezu allen modernen Kommunikationsprotokollen zum Einsatz kommen. Die Sicherheit hängt jedoch stark von korrekter Implementierung, sicheren Zufallszahlengeneratoren und sorgfältiger Validierung ab. Mit der fortschreitenden Entwicklung von Standards und der Integration in neue Protokolle bleibt die Rolle der elliptischen Kurven in der Kryptografie unverzichtbar – und wird auch in Zukunft eine zentrale Säule der digitalen Sicherheit darstellen.

Rating: 4.98/5. From 21 votes.
Please wait...


IT-Berater und Softwareentwickler aus Deutschland mit mehr als 25 Jahren Erfahrung in Unternehmenssoftware. Schwerpunkt: Public-Key-Infrastruktur (PKI) und Zertifikats-Lebenszyklus-Management, dazu lokale KI und große Sprachmodelle. Betreibt techuni.de, Tech Crates und Student Life Online. Mehr auf carsten-kraft.com.