Public-Key Kryptographie und elliptische Kurven

Werbung
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
Herunterladen