Westfälische Wilhelms-Universität Münster Fachbereich Mathematik und Informatik Kryptographie mit elliptischen Kurven Ausarbeitung im Rahmen des Seminars Verschlüsselungs- und Codierungstheorie an der WWU Verfasser: Philipp Schwarte Dozent: PR. Dr. Thomas Timmermann Datum des Vortrags: 1. Juni 2017
Einleitung Die Arbeit mit elliptischen Kurven wurde in den letzten Jahren ein großer Bereich der modernen Kryptographie. In der Ausarbeitung für meinen Vortrag werde ich zuerst auf die Definition und die daraus folgenden Anforderungen an eine elliptische Kurve eingehen. Später werde ich dann auf ihre Gruppenstruktur und auf ihre geometrische Bedeutung zu sprechen kommen. Zum Abschluss werde ich noch die Rolle elliptischer Kurven in der Kryptographie erläutern. 1 Abschnitt 1 Für die Arbeit mit ellipitischen Kurven muss zunächst auf die Definition der Quadratfreiheit eingegangen werden. Definition 1.1. Sei F ein Körper und f 2 F[X] ein Polynom.Das Polynom f heißt quadratfrei, wenn jeder Faktor in der Primzerlegung von f mit der Multiplizität 1 vorkommt. Nun haben wir die wichtigste Anforderung an eine elliptische Kurve erläutert und können diese nun endgültig definieren. Definition 1.2. Sei F ein beliebiger Körper mit char(f) 6= 2; 3 und sei f 2 F[X] ein quadratfreies Polynom der Form f := x 3 + ax + b mit a; b 2 F. Dann definieren wir die elliptische Kurve E über dem Körper F wie folgt: E := f(u; v ) 2 F 2 : v 2 = u 3 + au + bg [ f1g Anmerkung: Die Wahl des Körpers F ist für eine elliptische Kurve beliebig, jedoch werden wir zur Veranschaulichung erst eine Kurve in R und für den Nutzen in der Kryptographie im Restklassenring Z=pZ, p Primzahl, betrachten. Anschaulich bedeutet die Quadratfreiheit, dass das Polynom bzw. die dem Polynom zugeordnete Kurve keine Singularitäten, d.h. keine Schnittpunkte der Äste, aufweisen darf. 1
Zum Verständnis: Dieses Beispiel weist optisch keine Singularität auf, jedoch müssen wir dies mathematisch belegen können. Lemma 1.3. Sei F ein Körper und f 2 F[X] ein Polynom der Form f := x 3 + ax + b Dann sind äquivalent: mita; b 2 F 1. f ist quadratfrei 2. 4a 3 + 27b 2 6= 0 Beweis. Wir werden hier nur eine Richtung beweisen, da die Rückrichtung dann trivial erscheint: 1) ) 2) : Annahme: f besitzt einen quadratischen Faktor. Dann könnte man f in folgender Form schreiben: Wir kennen aufgrund der Form von f drei Beziehungen: Die Gleichung 3), eingesetzt in 4) liefert also: x 3 + ax + b = (x + c) 2 (x + d) mit c; d 2 F (1) = x 3 + x 2 (2c + d) + x(2cd + c 2 ) + c 2 d (2) 2c + d = 0 (3) 2cd + c 2 = a (4) c 2 d = b (5) a = 2c( 2c) + c 2 (6) = 4c 2 + c 2 (7) = 3c 2 (8) c 2 = 3 a (9) 2
Die Gleichung 9), eingesetzt in 5) liefert also: Die Gleichung 11), eingesetzt in 3) liefert also: b = a 3 d (10), a d = 3b (11) 2ac = 3b (12), 2ac = 3b (13), 4a 2 c 2 = 9b 2 (14) Die Gleichung 9), eingesetzt in 14) liefert also: 9b 2 = 4a 2 ( a 3 ) (15) 4, 0 = 3 a3 9b 2 (16), 0 = 4a 2 + 27b 2 (17) Anwendung auf unser Beispiel. Wir prüfen, ob f := x 3 9x + 13 über R quadratfrei ist. Hier ist also a=-9 und b=13. Daraus folgt: a = 9 b = 12 ) 4 ( 9) 3 + 27 (12) 2 = 2916 + 3888 = 972 6= 0 Daraus folgt, dass f quadratfrei ist. Wir prüfen außerdem, ob die Punkte P 1 (1; 2) undp 2 ( 2; 4) auf der elliptischen Kurve E : y 2 = x 3 9x + 12 über R liegen. P 1 (1; 2) ja, P 2 ( 2; 4) nein. Wir haben bisher jedoch nicht geklärt, wofür das 1 in der Definition steht: Der Punkt im Unendlichen wird durch das Symbol G oder auch 1 dargestellt und bezeichnet den einen Punkt, den alle senkrechten Geraden, also auch alle senkrechten Gitternetzlinien, in einem Koordinatensystem schneiden. Der Punkt im Unendlichen ist notwendig, um bei einigen Spezialfällen bei der Addition auf ellitpischen Kurven zu helfen. Hierbei nutzen wir die Umkehrung der stereographischen Projektion und identifizieren den somit gewonnenen Nordpol mit 1. Diesen Punkt fügen wir also als Punkt zu jeder elliptischen Kurve hinzu. Abschluss des ersten Abschnitts: Wir wissen nun, wie eine elliptische Kurve definiert ist, aussieht und welche Bedingungen sie erfüllt. Wir müssen uns nun fragen, ob die Punkte auf der elliptischen Kurve mittels einer Verknüpfung eine gruppenähnliche Struktur ergeben und wie dies geometrisch zu interpretieren ist. 3
2 Abschnitt 2 Wir erwägen nun einen Versuch einer vereinfachten Darstellung der Verknüpfung über R durch die Nutzung eines Lineals. Wir zeigen dann später, dass die Kurve mit dieser Verknüpfung eine Gruppe bildet. Die geometrische Addition zweier Punkte mittels Lineal: Für die Addition zweier beliebiger Punkte P; Q auf der vorliegenden elliptischen Kurve ziehen wir als erstes die Gerade durch P und Q. Hieraus erhalten wir einen dritten Punkt S, den dritten Schnittpunkt der Kurve mit der Schnittgerade P Q. Diesen Punkt spiegeln wir an der x-achse und erhalten so mittels Lineal einen neuen Punkt R:=P +Q als geometrisches Ergebnis der Addition: Anmerkung 1: Dieses Vorgehen erscheint zunächst höchst ungewohnt und verwirrend. Jedoch sollte hiermit erstmal ein geometrischer Einstieg gewährt werden. Anmerkung 2: Für das vorangegangene Vorgehen muss gelten: P 6= Q; P 6= 1 und Q 6= 1 und P 6= Q 4
3 Spezialfälle: 1. Q = P : Wir erhalten somit keine Schnittgerade sonder nutzen die Tangente im Punkt P. Die elliptische Kurve E war quadratfrei. Man kann zeigen, das die Tangente wohldefiniert ist, weil die elliptische Kurve quadratfrei und somit nicht singulär ist. 2. Q = 1: Hier nutzen wir die vertikale Linie durch P P + 1 = ( P ) = P 3. Q = P Hier nutzen wir wieder die vertikale Linie durch P und Q und erhalten somit P + ( P ) = 1 Wir haben nur über R eine erste geometrische Interpretation einer additiven Verknüpfung. Nun kommen wir zur mathematisch korrekten Definition der Verknüpfung auf einem beliebigen Körper F. Die elliptische Kurve E besteht aus allen Punkten (x,y) mit (x; y ) 2 F 2, die die folgende Gleichung erfüllen: y 2 = x 3 + ax + b (18) Die Gleichung der Geraden g zwischen den Punkten P und Q wird folgendermaßen definiert: g := y = + (19) Für die Schnittstellenberechnung von E und g setzen wir die beiden Gleichungen gleich. Es muss also folgendes gelten: E g = 0 0 = x 3 + ax + b (x + ) 2 (20), 0 = x 3 2 x 2 + (a 2)x + b 2 (21) Zwei Nullstellen dieser Gleichung sind mit P; Q bekannt, da diese beide sowohl auf der elliptischen Kurve, als auch auf der durch sie verlaufenen Gerade g liegen. Wir sehen außerdem, dass diese neue Funktion den Grad 3 hat. Die X- Koordinaten von P; Q sind in diesem Fall unterschiedlich und es lassen sich deshalb zwei Nullstellen als Linearfaktoren vom Polynom lösen. Satz 2.1 (Satz von Vieta). Für ein Polynom der Form x n + a n 1x n 1 + x 1 ; : : : x n gilt: a 1 x 1 + a 0 = 0 mit den Lösungen a n 1 = p 1 ; a n 2 = p 2 ; a n 3 = p 3 ; a n 4 = p 4 ; ; a 0 = ( 1) n p n wobei p k die Summe über allen Produkten von k Lösungen ist. Für den höchsten Koeffizienten gilt also a n 1 = (x 1 + + x n ). Anwendung auf unser Problem: Seien nun x P ; x Q die X-Koordinaten von P und Q und y P ; y Q als Y -Koordinaten von P und Q. Wir kennen schon für (21) die Lösungen x P ; x Q als X-Koordinaten von P und Q. Gesucht ist also nun x R, die X-Koordinate des Punktes R. Aus (21) entnehmen wir, dass 2 der zweithöchste Koeffizient ist und wir nun den Satz von Vieta anwenden können. Vieta ) 2 = (x P + x Q + x R ) x R = 2 x P x Q (22) 5
Wir erinnern uns an den Ursprung von bzw. dessen geometrische Bedeutung.Der Wert entsprach der Steigung der Schnittgeraden g. Somit folgt: := y Q y P X Q X P (als Steigungsdreieck mit P; Q) Das Einsetzen des Punktes P oder Q in g liefert uns. Die Werte ; sind dann bekannt. Wir haben außerdem gefolgert, dass: x R = 2 x P x Q. Unter Berücksichtigung der Spiegelung des Schnittpunktes an der X-Achse folgt: y R := y P + (x P x R ) (23) Abschließend lässt sich also festhalten, dass gilt: P + Q = (x P ; y P ) + (x Q ; y Q ) = (x R ; y R ) Bildet E nun mit + als Gruppenoperation eine Gruppe? Die Addition anhand der elliptischen Kurve als Polynom und der Schnittgeraden hat gezeigt, dass der neuentstandene Punkt auch auf E liegt.dies zeigt also die für eine Gruppe geforderte Abgeschlossenheit. Nach der Definition der Spezialfälle 2; 3 ist nun 1 das neutrale Element der Gruppe. Der Spezialfall 3 zeigt auch, dass gilt: P (x; y ) = P (x; y ) mit P auf E Somit existiert für jedes Elemente auf E ein Inverses. Dieses entspricht der Spiegelung des Elements an der X-Achse. Die Assoziativität ist geometrisch absolut nicht offensichtlich, lässt sich aber mathematisch einfach zeigen. Dies ist jedoch eine aufwändige Rechnung, bei der jedoch keine neuen Ideen für den Beweis erforderlich sind. Die Kommutativität ist aufgrund der mathematischen Begründung mit der Schnittgeraden trivial. ) Daraus folgt, dass(e; +) eine abelsche Gruppe bildet. 3 Abschnitt 3 Wir haben nun die Gruppenstruktur beliebiger elliptischer Kurven über beliebigen Körpern bewiesen. Für die Kryptographie werden aber elliptische Kurven nur über über dem Restklassenring Z=pZ, p Primzahl, betrachtet. Im Gegensatz zu der elliptischen Kurve E über R besitzt E(Z=p) nur endlich viele Elemente. Frage: Wie ist nun die Addition zu verstehen und ist diese geometrisch ähnlich zu verstehen wie über R? 6
Satz 3.1. Sei E eine elliptische Kurve über Z=pZ mit p ist eine Primzahl. Seien P = (x p ; y p ) und Q = (x Q ; y Q ) zwei Punkte auf E(Z=p) mit P ist verschieden zu Q. Dann gilt für die Addition: := (y Q y P ) (x Q x P ) 1 mod p (24) x R := 2 x P x Q mod p (25) y R := y p + (x P x R ) mod p (26) Die Gruppenstruktur bleibt nach der Definition von E erhalten. Die Spezialfälle bleiben ebenfalls identisch. Lemma 3.2. Sei x 2 Z=p mit p Primzahl. Dann gilt: x 1 := y mit x y = 1 mod p Hierbei hilft uns der euklidische Algorithmus, der uns den unbekannten Wert errechnen kann. Beispiel einer Addition: Sei E := y 2 = x 3 9x + 12 über Z= 13 mit P (5; 1), Q(9; 6) ) = (6 1) (9 5) 1 mod 13 x R = 11 2 5 9 mod 13 = 3 mod 13 = 5 4 1 mod 13 = 5 10 mod 13 = 11 mod 13 y R = 1 + 11 (5 3) mod 13 = 1 + 22 mod 13 = 8 mod 13 ) P + Q = R = (3; 8) 2 E(Z=13) vgl. Abb.5 Die geometrische Interpretation ist also auf Z= p nicht mehr gegeben. Die Bedeutung elliptischer Kurven in der Kryptographie: Der schnellste bekannte Algorithmus zur DL-Berechnung auf beliebigen elliptischen Kurven ist der Pohlig- Hellmann-Algorithmus. Laut der sogenannten "Hasse-Schranke"gilt: #E(Z=p) = p + 1 t mit jtj 2 p p So verdeutlicht das folgende Beispiel bereits die enorme Anzahl der Elemente in einer euklidischen Kurve: #E(F 2 (101)) = 2535301200456455833701195805484 Man sieht also, dass die Bestimmung möglicher über elliptischen Kurven verschlüsselter Nachrichten äußerst schwierig sein kann, falls der Exponent der Primzahl größer wird. Selbst mit dem El-Gamal Verfahren und dem diskreten Logarithmus stellt sich die Entschlüsselung, der von elliptischen Kurven verschlüsselten Nachrichten, als sehr schwierig heraus. Im Moment existieren keine speziellen Algorithmen für die Lösung des diskreten Logarithmus auf elliptischen Kurven. Die Anwendung der elliptischen Kurve finden sich heute zum Beispiel im Chip des Reisepasses und die NSA verschlüsselt damit ihr gesamtes System.Allein diese Tatsache reicht wohl aus, um die große Bedeutung der elliptischen Kurven in der Kryptographie beurteilen zu können. 7