INFORMATIONSTECHNIK UND ARMEE Vorlesungen an der Eidgenössischen Technischen Hochschule in Zürich im Wintersemester 2000/2001 Leitung: Untergruppe Führungsunterstützung - Generalstab Divisionär E. Ebert, Unterstabschef Führungsunterstützung Public-Key Kryptographie und elliptische Kurven Referent: Dr. F. Weissbaum Diese Vorlesung wurde durch die Stiftung HAMFU digitalisiert und als PDF Dokument für www.hamfu.ch aufbereitet. Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 3-1 Public-Key Kryptographie und elliptische Kurven Dr. F. Weissbaum Inhaltsverzeichnis 1. 2. 3. 4. 5. 6. Einleitung Moderne Kryptographie Public-Key Kryptographie RSA Diffie-Hellman Elliptische Kurven 6.1. Historischer Rückblick 6.2. Die neue Gruppe 6.3. Diffie-Hellman mit elliptischen Kurven 6.4. Anzahl Punkte 7. Vergleich zwischen RSA und ECC (Elliptic Curve Cryptosystem) 8. Rechenaufwand 9. Schlussbemerkungen Zusammenfassung Die grundsätzlichen Ideen der Public-Key Kryptographie werden vorgestellt. Die meisten Public-Key Systeme basieren zur Zeit auf zwei mathematischen Problemen (Faktorisierung von ganzen Zahlen und Berechnung des diskreten Logarithmus). Elliptische Kurven stellen, wie wir zeigen werden, eine gute Möglichkeit dar, um Public-Key Verfahren aufzubauen. Wir werden aufzeigen, was elliptische Kurven sind und wie diese in der Kryptographie gebraucht werden. Zum Schluss werden die Vorteile von elliptischen Kurven im Vergleich zu den bekanntesten Verfahren wie RSA präsentiert. Adresse des Autors: Generalstab UG FU, S Krypt 3003 Bern © HAMFU - www.hamfu.ch Informationstechnik und Armee 40. Folge 2000/2001 Seite 1 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 3 - 2 1 Einleitung In diesem Artikel versuchen wir eine Einführung in die moderne Kryptographie zu geben. Das Ziel ist nicht, die Konzepte bis ins Detail zu erklären, sondern eine verständliche Beschreibung zu liefern, die den Einstieg in dieses aktuelle Thema ermöglicht. Die angegebenen, numerischen Beispiele sind "Spielbeispiele", d.h. sie enthalten nur Zahlen, deren Grössenordnung viel zu klein ist, um Sicherheit zu gewährleisten. 2 Moderne Kryptographie Mit der Zunahme der Kommunikation ist auch das Bedürfnis nach Kommunikationssicherheit sehr stark gestiegen. Die heutige Kryptographie beschäftigt sich mit Fragen, die in diesem Zusammenhang auftreten, und kann in vielen Fällen vernünftige Antworten liefern. Um die Fragestellungen genauer fassen zu können, hat man neue Begriffe definiert: die Vertraulichkeit, die Authentizität, die Integrität und die Nicht-Widerrufbarkeit. Mit Hilfe von drei Charakteren - Alice, Bob und Oscar - werden wir diese Begriffe erklären. Alice und Bob wollen über ein offenes Netzwerk zusammen kommunizieren und Oscar ist der Gegner, der interveniert. Vertraulichkeit ist garantiert, wenn Oscar nicht erfährt, was Alice Bob mitteilt. Sie kann durch einen Chiffrier-Algorithmus wie zum Beispiel IDEA oder AES (Advanced Encryption Standard) realisiert werden. 1 Die Authentizität des Senders (bzw. des Empfängers) ist gewährleistet wenn Bob (bzw. Alice) sicher ist, dass es Alice (bzw. Bob) ist, die (bzw. der) mit ihm (bzw. ihr) kommuniziert. Mit einem Zertifikat, das eine CA (certification authority) erzeugt hat, ist es möglich, diese Authentizität zu prüfen. Von Integrität der Meldung spricht man, wenn Oscar keine Möglichkeit hat, die Meldung von Alice an Bob auf dem Weg zu Bob zu verändern, ohne dass dies von Bob bemerkt wird. Mit Hilfe eines Hashwertes (z.B. SHA-1) und einer digitalen Signatur (z.B. mit RSA) kann Integrität gewährleistet werden. Die Nicht-Widerrufbarkeit (non-repudiation) einer Meldung von Alice an Bob ist realisiert, wenn Bob beweisen kann, dass es nur Alice sein kann, die diese Meldung geschickt hat. Auch das Erbringen eines solchen Beweises kann mit Hilfe einer digitalen Signatur geschehen. 3 Public-Key Kryptographie Die Public-Key Kryptographie ist ein asymmetrisches Verfahren: Die Verschlüsselung und die Entschlüsselung brauchen zwei verschiedene Schlüssel: der Public Key (eine offene Information) für die Verschlüsselung und der Private Key (das Geheimnis) für die Entschlüsselung. Im Gegensatz dazu haben symmetrische Algorithmen (z.B. IDEA oder AES) nur einen Schlüssel, der natürlich geheim In der Praxis hat Alice zwei verschiedene Schlüssel: den Public Key ea und den Private Key dASie publiziert ea in einem Adressbuch und behält dA geheim. Wenn Bob eine Meldung zu Alice 1 © HAMFU - www.hamfu.ch Diese drei Figuren werden in der Kryptographie häufig verwendet. Seite 2 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 5-3 schicken will, sucht er den Schlüssel e im Adressbuch. Damit kann er seine Meldung verschlüsseln. Die einzige Person, die nachher diese Meldung lesen kann, ist der Besitzer des Private Key d , also Alice. Dieses System funktioniert nur, wenn die Kenntnis von e nichts über d verrät. In der Praxis basiert diese Eigenschaft auf zwei mathematischen Problemen: der Faktorisierung von grossen ganzen Zahlen und der Berechnung des diskreten Logarithmus. Die Erfahrungen, die man bis heute mit diesen beiden Problemen gemacht hat, geben zur Vermutung Anlass, dass es sich bei ihnen um Inversionen von "One-Way"-Operationen handelt. Anders gesagt: Mit einer sehr grossen Wahrscheinlichkeit ist es für Oscar sehr schwierig aus dem ihm bekannten Public Key den Private Key in vernünftiger Zeit zu berechnen. A A A A Das Problem der Faktorisierung von ganzen Zahlen ist sehr einfach zu beschreiben: Man gibt eine ganze Zahl n und man versucht, verschiedene Primzahlen pi, ...,p und positive ganze Zahlen e\,...,ek zu finden, so dass n = pt p ...p gilt, z.B. 92705884200 = 2 • 3 • 5 • 331 • 155599. Eine ganze Zahl mit weniger als 150 Ziffern (450 Bits) gilt heute (Jahr 2000) als faktorisierbar. k 1 3 e2 2 2 ek k 2 Hier die historischen Rekorde für die Faktorisierung : 2 Anzahl Ziffern (Bits) Datum Algorithmus RSA-100 (330) April 1991 QS RSA-110 (364) April 1992 QS RSA-120 (397) Juni 1993 QS RSA-129 (425) April 1994 QS RSA-130 (430) April 1996 QS RSA-140 (463) Februar 1999 NFS RSA-155 (512) August 1999 NFS Die Berechnung des diskreten Logarithmus (DLP ) ist etwas schwieriger zu erklären. Wir brauchen zuerst einmal eine Gruppe, also eine Menge von Elementen und eine assoziative Operation auf dieser Menge, bezüglich der alle diese Elemente ein Inverses haben, d.h. diese Operation kann rückgängig gemacht werden. Die Menge der ganzen Zahlen modulo einer Primzahl p mit der Multiplikation als Operation bilden zum Beispiel eine Gruppe. Konkret am Beispiel p = 23: 0,1,2,...,22 vertreten die Elemente dieser Gruppe (mögliche Reste bei der Division durch 23). Multipliziert wird wie folgt: 3 4 2-22 2 • (—1) 12-17 12-2 = = = = 44 = 23+ 21 = 21 mod 23 - 2 = - 2 3 + 21 = 21 mod 23 204 = 23 • 8 + 20 = 20 mod 23 24 = 23 + 1 = 1 mod 23 = > 12 = 2 mod 23. _ 1 Q S ist Quadratic Sieve und NFS ist Number Field Sieve. discrete logarithm problem 4 Für l ganze Zahlen x und y verstehen wir unter x modulo y den Rest der bei der ganzahligen Division von i durch y übrig bleibt. Beispiel: 7 modulo 3 = 1. 2 3 © HAMFU - www.hamfu.ch Seite 3 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 5-4 Für die Gruppe, die aus der Menge der ganzen Zahlen modulo einer Primzahl und der Multiplikation besteht, können wir das DLP nun formulieren: Finde zu Elementen y und g der Gruppe einen Exponenten e, so dass die Gleichung y = g modp erfüllt ist. Für y = 17, p = 23 und g = 5 können wir das DLP lösen. Es gilt nämlich: g = 2 modp g — 10 mod p g = 4 modp g = 20 mod p g = 8 modp g = 17 mod p e 2 3 4 5 6 7 Deshalb ist 7 der gesuchte Exponent. Wenn g ein Generator der Gruppe ist, wächst die Schwierigkeit des DLP in Abhängigkeit von der Grösse der Primzahl p. Für Primzahlen der Grössenordnung 1024 Bits ist es heute nicht möglich, das DLP in vernünftiger Zeit zu lösen. Sind die Primzahl p und die zusammengesetzte Zahl n von der gleichen Grössenordnung, dann sind die Probleme "Faktorisierung von n" und "DLP in der Gruppe der ganzen Zahlen modulo p" ungefähr gleich schwierig zu lösen. 5 4 RSA Das RSA Protokoll erlaubt Meldungen (z.B. einen geheimen Schlüssel) zu chiffrieren. RSA beruht auf dem Rechnen modulo n, wobei n das Produkt zweier Primzahlen ist (n = p-q). Der klassische Angriff gegen RSA ist, n zu faktorisieren. Das bedeutet also, dass die Primzahlen p und q geheim bleiben müssen. Die minimale Grösse für n (Jahr 2000) ist 1024 Bits. RSA funktioniert wie folgt: Bob publiziert seinen Public Key = (Public Exponent e, Modulus n). Alice verschlüsselt ihre Meldung m: c = m modn, e wobei c das Chiffrât ist. Bob entschlüsselt c mit seinem Private Exponent d: c = (m ) = m = m modn. d e d ed Natürlich müssen e und d so zusammenpassen, dass m = m mod n tatsächlich gilt, und zwar für beliebige Meldungen m. Wenn man p und q kennt, kann man in den meisten Fällen zu vorgegebenem e das geeignete d finden. Man muss dazu die Gleichung ed = 1 mod (p (n) ed lösen, wobei die Euler Funktion ist. Wenn n = pq ist, dann gilt </> (n) = (p - 1) (g - 1). Die Zahl n zu faktorisieren ist gleich schwierig, wie (f> (n) zu berechnen. 5 © HAMFU - www.hamfu.ch d.h. jedes Element der Gruppe lässt sich als Potenz von g schreiben. Seite 4 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 5-5 Beispiel RSA Bob hat den Public Key (e = 97, n = 209). Alice verschlüsselt m = 23: c = 23 mod 209 = 177. Bob entschlüsselt c mit seinem Private Exponent d = 13: 97 cd _ 177i3 mod 209 = 23 = m. Man kann verifizieren, dass ed = 1 mod <*p (n): V (209) = (11 - 1)(19 - 1) = 180 und 97 • 13 = 1261 = 7-180 + 1. 5 DifRe-Hellman Das Ziel des Diffie-Hellman Protokolls ist es, Alice und Bob das Aushandeln eines gemeinsamen, nur ihnen bekannten Schlüssels, über eine abhörbare Verbindung zu ermöglichen. Das Rechnen in einer Gruppe bildet die mathematische Grundlage des Diffie-Hellman Protokolls. Im klassischen Fall wählt man als Gruppe die ganzen Zahlen modulo einer Primzahl p. Ablauf des klassischen Diffie-Hellman Protokolls: Geheimsphäre von Alice World Wild Web 1. Sie wählt ein geheimes x g und p sind publiziert 2. Sie berechnet: r,4 = g modp 3. Sie schickt ra ZU Bob ta—* <— r 4. Sie berechnet den Schlüssel: k = r = {g ) modp = g Geheimsphäre von Bob 1. Er wählt ein geheimes y 2. Er berechnet: tb = g modp 3. Er schickt r zu Alice 4. Er berechnet den Schlüssel: k = r = ( g ) modp = g Weil g = g gilt, haben Alice und Bob die gleiche Zahl erzeugt, die ein gemeinsames Geheimnis darstellt: den Schlüssel k. Wenn Oscar, der die ganze Kommunikation zwischen Alice und Bob abhört, k herausfinden will, muss er aus ta = g modp auf x schliessen können (oder aus tb = g mod p auf y). Er muss also das DLP in der Gruppe der ganzen Zahlen modulo p lösen. Man empfiehlt heute Primzahlen mit einer Grösse von mindestens 1024 Bits zu wählen, denn für diese Grössenordnungen kann das DLP gegenwärtig nicht in vernünftiger Zeit gelöst werden. Im Gegensatz zu RSA haben wir hier nicht eine Meldung chiffriert, sondern ein neues Geheimnis erzeugt. x x y x B yx yx y B B y A x v xy xy x y 6 Elliptische Kurven 6.1 Historischer Rückblick Die diophantischen Gleichungen [nach Diophantos von Alexandria, 3. Jh. nach Christus] sind der Startpunkt für die Theorie der elliptischen Kurven. Diophantos hat sich für ganzzahlige Lösungen von Gleichungen interessiert. Nehmen wir zum Beispiel die Gleichung von Pythagoras: x + y = z. Es ist möglich, alle ganzzahlige Lösungen dieser Gleichung zu beschreiben: x = a - b , y = 2ab und z = a + b , wobei a und b beliebige, ganze Zahlen sind. Mit a = 2 und b = 1 bekommt 2 2 2 2 2 © HAMFU - www.hamfu.ch 2 2 Seite 5 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 5-6 Abbildung 1: Eine elliptische Kurve mit reellen Variablen (a = - 4 und 6 = 6) man die kleinste positive Lösung: 3 + 4 = 5 . Geometrisch gesehen, beschreibt die Gleichung von Pythagoras den Kreis mit Zentrum (0,0) und Radius z. Die diophantischen Lösungen der Gleichung finden wir also, wenn wir auf diesem Kreis alle Punkte (x, y) mit ganzzahligen Koordinaten suchen. Eine elliptische Kurve ist durch eine ähnliche Gleichung beschrieben. In diesem Artikel werden wir nicht den allgemeinen Fall vorstellen, wir werden uns nur für folgende Gleichung interessieren: y — x + a • x + b, wobei a und b zwei Parameter sind, die die Kurve definieren. Die Studie von solchen Kurven ist durch die folgende überraschende Tatsache motiviert: Man kann mit Hilfe einer solchen Kurve eine Gruppe definieren . 2 2 2 2 3 6 1986 haben N. Koblitz und V. Miller vorgeschlagen, diese Gruppen zu verwenden, um DiffieHellman zu implementieren. Dadurch wurden die elliptischen Kurven für die Kryptographie von Bedeutung. Auch sonst spielen die elliptischen Kurven eine wichtige Rolle in der modernen Mathematik, so wurde zum Beispiel der berühmte Grosse Satz von Fermât mit Hilfe der Theorie der elliptischen Kurven bewiesen (Andrew Wiles, 1995). 7 6.2 Die neue Gruppe Wir wollen nun zeigen, wie man auf einer elliptischen Kurve eine Gruppenoperation definieren kann. Dazu betrachten wir folgende Gleichung: y = x + a • x + b, wobei a und b zwei reelle Parameter und x und y zwei Variablen sind. In der Abbildung 1 ist die reelle Lösungsmenge dieser Gleichung - also die elliptische Kurve - für a = —4 und 6 = 6 graphisch dargestellt. Wir zeigen nun, wie man für zwei Punkte P und Q auf der elliptischen Kurve die Summe P + Q definieren kann. Wir beschreiben hier nur den generischen Fall. Das Vorgehen in Spezialfällen 2 6 7 © HAMFU - www.hamfu.ch 3 Poincaré hat dieses Resultat 1901 bewiesen. Die Gleichung x + y = z hat keine ganzzahlige Lösung für n > 2. n n n Seite 6 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 5-7 6 4 -3 l -2 q / . R l -1 -2 2 3 P+Q -4 -6 Abbildung 2: Definition von P + Q kann z.B. im Buch von N. Kobliz, "Algebraic Aspects of Cryptography", Kapitel 6, nachgeschlagen werden. Die Gerade d, die durch die beiden Punkte P und Q läuft, enthält im allgemeinen Fall genau einen weiteren Punkt - nennen wir ihn R. Wir definieren dann P + Q = —R, wobei —R für R = (x,y) der Punkt mit den Koordinaten (x,—y) ist (siehe Abbildung 2). Man kann beweisen, dass die elliptische Kurve zusammen mit dieser neuen Operation eine kommutative Gruppe bildet. Diese Gruppe möchten wir nun eigentlich brauchen, um das DiffieHellman Protokoll zu implementieren. Da wir aber Informationen darstellen wollen, möchten wir die reellen Zahlen durch etwas "endliches" ersetzen. Zum Glück haben Mathematiker schon vor langer Zeit bewiesen, dass das oben stehende Vorgehen in den meisten Fällen auch dann funktioniert, wenn man statt mit reellen Zahlen mit ganzen Zahlen modulo einer Primzahl p arbeitet. Die Punkte auf der Kurve sind jetzt alle Punkte (x,y) mit ganzzahligen Koordinaten zwischen 0 und p — 1, die folgende Gleichung erfüllen: y = x + a • x + b mod p. In Abbildung 3 sind alle Punkte abgebildet, die für p = 23 die Gleichung y = x -4-x+6 mod 23 erfüllen. So haben wir zum Beispiel für x = 18, y = 18 - 4 - 1 8 + 6 mod 23 = 16. Deshalb erfüllen die Punkte (18,4) und (18,19) die elliptische Gleichung. In Abbildung 4 ist die Operation "+" graphisch dargestellt (analog zu Abbildung 2). 2 3 2 2 © HAMFU - www.hamfu.ch 3 3 Seite 7 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 3 - 8 29- 15- 15 20 Abbildung 3: Alle Elemente der elliptischen Kurve y — x — 4 • x + 6 mod 23 2 3 9- + / Abbildung 4: Die Operation "+" auf der elliptischen Kurve y = x — 4 • x + 6 mod 23 2 © HAMFU - www.hamfu.ch 3 Seite 8 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 5-9 6.3 Diffie-Hellman mit elliptischen Kurven Diffie-Hellman beruht auf dem Rechnen in einer Gruppe. Wir werden dazu jetzt die im letzten Abschnitt eingeführte Gruppe mit elliptischen Kurven brauchen. Nennen wir sie EK. Ablauf von Diffie-Hellman mit EK: Geheimsphäre von Alice World Wild Web 1. Sie wählt ein geheimes x EK ist publiziert (a, b, p und G sind öffentlich) 2. Sie berechnet: R =X-G = G + G+ ... a 3. Sie schickt Ra ZU Bob 4. Sie berechnet den Schlüssel: K — x • Rß = xy • G Geheimsphäre von Bob 1. Er wählt ein geheimes y 2. Er berechnet: R = yG = G + G+ ... +—RB 3. Er schickt Rß zu Alice 4. Er berechnet den Schlüssel: K - y • R = yx • G B A —• B Weil xy • G = yx • G haben Alice und Bob ein gemeinsames Geheimnis K ausgehandelt. Dieser Schlüssel K ist eigentlich ein Punkt auf der elliptischen Kurve. Auch für diese Gruppe können wir das Problem der Berechnung des diskreten Logarithmus formulieren: Finde zu einem Punkt G (Basispunkt) und einem Punkt P auf der elliptischen Kurve eine ganze Zahl x, so dass P = x-G = G + G + ... + G gilt, falls das möglich ist. Wir bezeichnen das Problem in dieser Ausprägung mit ECDLP (elliptic curve discrete logarithm problem). Wie man leicht sieht, kann Oscar den Schlüssel K berechnen, wenn er das ECDLP lösen kann. 6.4 Anzahl Punkte Um die Sicherheit eines Kryptosystems zu bestimmen, das auf elliptischen Kurven basiert, ist es sehr wichtig, die Anzahl Punkte #E (p, a, b) der verwendeten elliptischen Kurve zu kennen. Hasse hat 1934 bewiesen, dass diese Anzahl die folgenden Bedingungen erfüllt: p+l-2^<#E(p,a,b) < + l + 2^. Das bedeutet, dass die Grössenordnung von #E (p, a, b) ungefähr p ist. Wenn zudem a und b zufällig gewählt sind, ist die Anzahl von Punkten auch eine zufällige Zahl, die die oben stehenden Ungleichungen erfüllt. p Schoof hat 1986 einen Algorithmus entdeckt, mit dem (p, a, b) effizient berechnet werden kann (polynomiale Zeit). Wenn die Grösse von p 160 Bits ist (empfohlene Grösse, um heute eine vernünftige Sicherheit zu gewährleisten), braucht man mit einem klassischen Pentium 500Mhz ein paar Minuten, um (p, a, b) zu bestimmen. Die Schwierigkeit des ECDLP für eine elliptische Kurve und einen Basispunkt G ist abhängig von der Anzahl Punkte # £ (p, a, b). Folgende Bedingungen müssen erfüllt sein, damit das ECDLP schwierig zu lösen ist: - #E(p,a,b) ^ p (immun gegen „anomalous "-Attacke) - die Ordnung r von G ist eine Primzahl grösser als # (P' < ? - p ± 1 mod r, für 1 < B < 20 (immun gegen MOV-Attacke) E a b B © HAMFU - www.hamfu.ch Seite 9 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 2- 10 Abbildung 5: Vergleich der Schlüssellänge von RSA und ECC bei gleicher Sicherheit 7 Vergleich zwischen RSA und ECC (Elliptic Curve Cryptosystem) In der folgenden Tabelle vergleichen wir die Länge der Schlüssel von drei verschiedenen Arten von Kryptosystemen bei gleichbleibender Sicherheit. Beispiel: um die Sicherheit eines 80-Bit Skipjacks zu erreichen, muss man in einem ECC eine Schlüssellänge von 163 Bits und für RSA eine von 1024 Bits wählen. Symmetrischer Algorithmus ECC (EK) RSA 1024 163 80-bit Skipjack 224 2048 112-bit Triple DES 3072 283 128-bit AES 7680 409 192-bit AES 15360 571 256-bit AES In Abbildung 5 ist der Vergleich von RSA mit ECC graphisch dargestellt. Der Vollständigkeit halber sollte man noch die Zeit, die für das Bauen des Systems benötigt wird, erwähnen: die Parameter und Schlüssel für RSA lassen sich viel schneller erzeugen als diejenigen von ECC. Zudem darf man nicht vergessen, dass die Geschichte von ECC jünger ist als diejenige von RSA. Die Forschung hat sich viel stärker für RSA interessiert. Es gibt besondere Attacken gegen RSA, die gegen ECC nicht funktionieren. So kennt man zum Beispiel eine Attacke, mit der sich RSA knacken lässt, wenn man einen Viertel des Private Keys kennt. Diese Attacke lässt sich nicht auf ECCs übertragen. Die Zukunft wird zeigen, ob neue Attacken gegen ECC möglich sind. Es könnte auch sein, dass man eine wesentliche Schwäche von RSA entdeckt, die bei ECCs nicht vorhanden ist. Das würde heissen, dass man RSA durch ECC ersetzen müsste... Um n zu faktorisieren (und somit RSA zu knacken), gibt es heute einen subexponentiellen Algorithmus: das Number Field Sieve (NFS). Für ECDLP gibt es bis heute nur einen exponentiellen Algorithmus: die Pollard-p Methode. © HAMFU - www.hamfu.ch Seite 10 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 2- 11 8 Rechenaufwand In der folgenden Tabelle geben wir die CPU-Power an, die nötig ist, um ECDLP zu lösen. Ein MIPSyear ist die Rechenarbeit, die ein Computer, der pro Sekunde eine Million Befehle verarbeiten kann (MIPS = millions of instructions per second), in einem Jahr bewältigt. Ein IBM PC/XT hatte zum Beispiel eine Rechenleistung von 1/4-MIPS, während ein Pentium PC 500Mhz heute bereits ungefähr 100 MIPS erreicht. Grösse von p (Bit) MIPS-year (mit der Pollard-p Methode) 8,5- 1 0 160 7,0 - 10 186 1,2-10' 234 1,3- 10 354 9,2 • 10 426 Diese Angaben lassen vermuten, dass im Jahre 2004 das ECDLP mit einer Grösse von 160 Bits für p in einem Jahr gelöst werden kann, wenn alle auf der Welt vorhandenen Computer zusammenarbeiten. Man muss jedoch diese Tabelle mit einer gewissen Vorsicht betrachten: sie entspricht nur den generellen Tendenzen für die Grössenordnung der nötigen Arbeit und sie hängt stark von den verwendeten Methoden ab. Es ist möglich, dass neue Algorithmen entdeckt werden, mit denen ECDLP viel effizienter gelöst werden kann. u iö 23 4i 51 9 Schlussbemerkungen Wir haben in diesem Artikel beschrieben, wie in der Kryptographie elliptische Kurven für das Aushandeln von Schlüsseln verwendet werden können. Man kann elliptische Kurven aber auch zum Signieren von Meldungen (z.B. mit dem ECDSA-Protokoll) oder zum Verschlüsseln von Nachrichten einsetzen. In der Praxis wird das Verschlüsseln von Nachrichten jedoch immer mit symmetrischen Algorithmen realisiert, weil diese durchschnittlich rund 1000-mal schneller sind als asymmetrische Verfahren. Bei gleichem Sicherheitsniveau ist die notwendige Schlüssellänge für ein ECC zur Zeit (Nov. 2000) viel kürzer als für RSA. Wenn der Speicherplatz von Hardware begrenzt ist (z.B. auf einer Smartcard), ist diese Eigenschaft ein wesentlicher Vorteil. Danke Für die Erstellung dieses Dokuments will ich mich bei allen meinen Kollegen der Sektion Kryptologie bedanken. Besonders Anna-Barbara Berger und Daniel Mall haben diesen Bericht durch wertvolle Kommentare stark verbessert. Informat ionen Für mehr Informationen betreffend ECC und RSA im allgemeinen siehe: für elliptische Kurven: http://www.certicom.com für RSA: http://www.rsa.com © HAMFU - www.hamfu.ch Seite 11 Public-Key Kryptographie und elliptische Kurven - Vorlesung Informationstechnik und Armee 2000/2001 (ETH Zürich) HAMFU History 2- 12 Literatur [1] I. Blake, G. Seroussi, and N. Smart. Elliptic Curves in Cryptography. Cambridge University Press, 1999. [2] D.M. Bressoud. Factorization and Primality Testing. Undergraduate Texts in Mathematics. Springer-Verlag, New York, 1989. [3] D. Husemöller. Elliptic Curves. Springer-Verlag, 1987. [4] N. Koblitz. A Course in Number Theory and Cryptography. Springer-Verlag, New York, 1987. [5] N. Koblitz. Algebraic Aspects of Cryptography. Springer-Verlag, 1998. [6] Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1997. [7] Hans Riesel. Prime Numbers and Computer Methods for Factorization. Progress in Mathematics. Birkhäuser, 1985. [8] Bruce Schneier. Applied Cryptography. John Wiley & Sons, 1994. [9] J.H. Silverman. The Arithmetic of Elliptic Curves. Springer-Verlag, 1986. [10] Douglas R. Stinson. Cryptography: Theory and Practice. CRC Press, 1995. © HAMFU - www.hamfu.ch Seite 12