Elliptische Kurven: die Mathematik in deiner Tasche

Das hier ist die Gleichung y2 = x3 − x + 1. Zeichnest du sie, bekommst du eine krumme Linie — eine elliptische Kurve. Das klingt nach etwas aus einem Mathebuch, an das du nie wieder denkst. Aber genau diese Art Linie steckt im Chip deiner Identitätskarte, hinter dem Schloss-Symbol in deinem Browser und unter Bitcoin. In diesem Kapitel klickst du darauf und siehst, warum.

Wörter, die du gleich brauchst

Kurve
Einfach eine krumme Linie in einem Graphen: alle Punkte (x, y), für die eine Gleichung stimmt. Eine Parabel ist eine Kurve. Diese hier ist eine etwas spannendere.
Punkte addieren
Das ist die verrückte Idee. Auf dieser Kurve kannst du zwei Punkte „addieren“ und bekommst einen dritten Punkt auf derselben Kurve. Nicht indem du die Koordinaten zusammenzählst, sondern mit einer Zeichenregel: zieh eine Gerade durch die zwei Punkte, schau, wo sie die Kurve ein drittes Mal schneidet, und spiegle diesen Punkt an der x-Achse. Fertig: das ist P + Q.
Verdoppeln
P + P. Du hast nur einen Punkt, also nimmst du die Tangente — die Gerade, die die Kurve in P genau berührt — und machst denselben Trick.
Uhrenrechnen (Modulo)
Rechnen mit lauter ganzen Zahlen von 0 bis zu einer Grenze, wobei du nach der Grenze wieder bei 0 anfängst. Kennst du aus Kapitel 5, wo es der Motor unter Diffie–Hellman war. Hier siehst du, was es mit einem Graphen macht.

Klick auf die Kurve

Alles passiert in deinem Browser. Es wird nichts an den Server geschickt.

  1. Klick irgendwo auf die Linie. Das ist P. Klick ein zweites Mal für Q. Die Demo zieht die Gerade, findet den dritten Schnittpunkt, spiegelt ihn und zeigt P + Q.
  2. Klick auf Löschen, wähl einen Punkt und drück auf Verdoppeln. Klick dann immer weiter auf Noch einmal P dazu: 3·P, 4·P, 5·P… Die Punkte springen über die ganze Kurve.
  3. Schieb an a und b. Die Form ändert sich — manchmal zerfällt die Linie in zwei Stücke. Such die Stellung, in der sie einen Knick bekommt: die ist unbrauchbar, und die Demo sagt dir, warum.
  4. Drück auf Uhrenrechnen (Modulo 97). Dieselbe Gleichung, nur ganze Zahlen. Schau, was von der Linie übrig bleibt. Wähl einen Punkt und addiere wieder.

Was du gerade gesehen hast

Auf der glatten Linie konntest du noch ein bisschen „spüren“, wo du warst. Nach dreimal Addieren bist du ungefähr dort, nach viermal ungefähr da. Aber sobald du auf Uhrenrechnen umgeschaltet hast, fiel die Linie auseinander in eine Wolke von Punkten ohne jedes Muster. Und das Addieren funktionierte immer noch — dieselben Formeln, dieselben Regeln — nur springt das Ergebnis jetzt kreuz und quer über die Fläche.

Jetzt das ganze Geheimnis. Sagen wir, ich wähle einen Punkt P und addiere ihn 1 000 000 Mal zu sich selbst. Das schafft ein Computer blitzschnell — es gibt einen Trick, mit dem das nur rund dreißig Schritte kostet. Ich gebe dir P und den Endpunkt. Kannst du herausfinden, dass es 1 000 000 Mal war? Bei der Punktwolke mit 97 schon: du probierst sie einfach alle durch. Aber die Kurve in deiner Identitätskarte hat ungefähr 2384 Punkte. Diese Zahl hat 116 Ziffern. Die probiert niemand durch, auch kein Supercomputer, auch nicht in einer Milliarde Jahre.

Das ist der private Schlüssel: die Anzahl der Male. Der öffentliche Schlüssel ist der Endpunkt. Jeder darf den Endpunkt sehen; niemand kann zurückzählen. Genau das offene Vorhängeschloss aus dem vorigen Kapitel — nur mit einem Graphen statt mit Primzahlen.

Warum Kurven und nicht einfach RSA

RSA (Primzahlen)Elliptische Kurven
Gleich sicher beieinem Schlüssel von 3072 Biteinem Schlüssel von 256 Bit
Das isteine Zahl mit 925 Zifferneine Zahl mit 78 Ziffern
Passt auf eine Chipkarte?mit Mühelocker
Erfunden19771985, von Neal Koblitz und Victor Miller, unabhängig voneinander

Zwölfmal kürzere Schlüssel für dieselbe Sicherheit. Darum steigt die Welt um: die neuesten belgischen Identitätskarten benutzen eine Kurve (mit dem Namen P-384), ältere Karten noch RSA. Das Schloss-Symbol in deinem Browser handelt den Schlüssel mit einer Kurve aus. Bitcoin-Adressen sind Punkte auf einer Kurve.

Die Regel für a und b. Beim Schieben hast du gesehen, dass manche Stellungen einen Knick oder eine Schleife geben. Mathematisch: wenn 4a3 + 27b2 = 0, ist die Kurve „ausgeartet“ und das Addieren funktioniert nicht mehr überall. Kryptografen wählen a und b also mit Sorgfalt — und sie veröffentlichen sie, damit jeder nachprüfen kann, dass keine geheime Schwäche darin versteckt ist. Dieses Misstrauen ist ein Fach für sich.

Das ist Mathematik: eine Gruppe

Was du gerade gemacht hast — Punkte mit einer Zeichenregel „addieren“ — hat alle Eigenschaften des gewöhnlichen Addierens. Es ist assoziativ: (P + Q) + R = P + (Q + R), auch wenn du das nicht sofort siehst. Es gibt eine „Null“ (den Punkt im Unendlichen, dem du begegnet bist, als die Gerade senkrecht wurde). Jeder Punkt hat ein Gegenstück (sein Spiegelbild). Mathematiker nennen so eine Menge mit so einer Rechenregel eine Gruppe. Das ist das erste Kapitel der abstrakten Algebra, des Fachs, in dem du lernst, dass Zahlen, Drehungen eines Würfels und Punkte auf einer Kurve tief drinnen dasselbe Spiel spielen. Es steht im ersten Jahr jedes Mathematikstudiums an der Uni — und genau dieses Spiel schützt deine Identitätskarte.