SlideShare ist ein Scribd-Unternehmen logo
Elliptische Kurven in der Kryptographie
Sandro Schugk und Günther Nieß
25. Januar 2007
Inhalt
Motivation
Elliptische Kurven über R
Elliptische Kurven über Zp
Elliptische Kurven über K
Kryptoanalyse
Fazit
Motivation
I asymmetrisches Verfahren
I 1985 von Neal Koblitz und Victor S. Miller zeitgleich
entwickelt
I sicherer und schneller
I darauf aufbauende Krypto-Systeme:
I hyperelliptisch
I Torus basierend
Elliptische Kurven über R
Elliptische Kurven über R
−
y = x 1
3
2
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
y2
= x3
+ 3
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
y =
2 x3 3
− x + 3
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
y2 = x3 − 4 x
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
Elliptische Kurven über R
Definition
Seien a, b ∈ R Konstanten, so dass 4a3 + 27b2 6= 0 gilt. Eine
nicht-singuläre elliptische Kurve ist die Lösungsmenge (x, y) ∈ R2
der Gleichung
y2
= x3
+ ax + b
zusammen mit dem Punkt im Unendlichen O.
Elliptische Kurven über R
Beispiele für singuläre elliptische Kurven
y2
= x3
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
y3
= x2
− 3 x + 2
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
Addition
P
Q
−R
R
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
P (2.35, −1.86)
Q (−0.1, 0.836)
−R (3.89, 5.62)
R (3.89, −5.62)
Addition
P + Q = R mit P = (x1, y1), Q = (x2, y2) und R = (x3, y3)
I Gerade g aus Punkten P und Q bestimmen
g(x) = mx + n, m =
y2 − y1
x2 − x1
, n = y1 − mx1
I in Kurvengleichung einsetzen und lösen
x3
− m2
x2
+ (a − 2mn)x + b − n2
= 0
x3 = m2
− x1 − x2
I Punkt R bestimmen
y3 = m(x1 − x3) − y1
Verdoppeln
−R
R P
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
P (2, 2.65)
−R (−1.11, −2.64)
R (−1.11, 2.64)
Verdoppeln
P + P = 2P = R mit P = (x1, y1), R = (x3, y3) und y1 6= 0
I Tangentengleichung finden
2y
dy
dx
= 3x2
+ a
m =
3x2
1 + a
2y1
I Punkt R bestimmen
x3 = m2
− x1 − x2
y3 = m(x1 − x3) − y1
Verdoppeln
P + P = 2P = O mit P = (x1, 0)
P
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
P (2.81, 0)
Inverses
P
−P
−10
−5
0
5
10
−3 −2 −1 0 1 2 3 4 5
P + (−P) = O
Gruppengesetze
I Abgeschlossenheit
P + Q = R
I Assoziativität
(P + Q) + R = P + (Q + R)
I neutrales Element
P + O = P
I inverses Element
P + (−P) = O
I Kommutativität∗
P + Q = Q + P
Elliptische Kurven über Zp
Definition
Sei p > 3 ein Primzahl. Die elliptische Kurve y2 = x3 + ax + b
über Zp ist die Menge alle Lösungen (x, y) ∈ Z2
p zur Kongruenz
y2
≡ x3
+ ax + b (mod p)
zusammen mit dem Punkt im Unendlichen O. Dabei sind a, b ∈ Zp
Konstanten, so dass 4a3 + 27b2 6≡ 0 (mod p) gilt.
Gruppenoperation
P + Q = R mit P = (x1, y1), Q = (x2, y2) und R = (x3, y3)
x3 = m2
− x1 − x2
y3 = m(x1 − x3) − y1
m =
(
(y2 − y1)(x2 − x1)−1, P 6= Q
(3x2
1 + a)(2y1)−1, P = Q
Sonderfall y2 = −y1
P + Q = O
Beispiel
y2 = x3 + x + 6 über Z11
x x3 + x + 6 (mod 11) quad. Rest y
0 6 no
1 8 no
2 5 yes 4,7
3 3 yes 5,6
4 8 no
5 4 yes 2,9
6 8 no
7 4 yes 2,9
8 9 yes 3,8
9 7 no
10 4 yes 2,9
Beispiel: ElGamal-Verschlüsselung
α = (2, 7)
2α = (5, 2)
3α = (8, 3)
4α = (10, 2)
5α = (3, 6)
6α = (7, 9)
7α = (7, 2)
8α = (3, 5)
9α = (10, 9)
10α = (8, 8)
11α = (5, 9)
12α = (2, 4)
I a = 1, b = 6, p = 11
I Bob’s Schlüssel
I α = (2, 7), β = (7, 2)
I s = 7 (privat)
I Alice: x = (10, 9), k = 3
y1 = 3(2, 7)
= (8, 3)
y2 = (10, 9) + 3(7, 2)
= (10, 9) + (3, 5)
= (10, 2)
Beispiel: ElGamal-Entschlüsselung
α = (2, 7)
2α = (5, 2)
3α = (8, 3)
4α = (10, 2)
5α = (3, 6)
6α = (7, 9)
7α = (7, 2)
8α = (3, 5)
9α = (10, 9)
10α = (8, 8)
11α = (5, 9)
12α = (2, 4)
I Bob empfängt:
y = ((8, 3), (10, 2))
x = (10, 2) − 7(8, 3)
= (10, 2) − (3, 5)
= (10, 2) + (3, 6)
= (10, 9)
Beispiel: Diffie-Hellman-Schlüsselvereinbarung
Alice Bob
einigen sich p = 149
a = 5, b = 6
G = (66, 34)
r = 71
|E| = 142
zufällig sa = 18 sb = 69
öffentlich Wa = sa · G = (27, 56) Wb = sb · G = (66, 115)
tauschen Wb Wa
gemeinsames k k = sa · Wb = (27, 93) k = sb · Wa = (27, 93)
Parameter zusammengefasst
allgemein:
E elliptische Kurve
a, b Koeffizienten a und b
p Größe zugrundeliegender Primzahlkörper Zp
G Generatorpunkt auf der elliptischen Kurve
r Ordnung des Punktes G, r muss prim sein
Schlüssel:
s privat
W öffentlich
erzeugt durch:
W = s · G
Skalare Multiplikation von Punkten
Beispiel: n = 25
+ P P
+ P
+ P
+ P
+ P
+ P
+ P
+ P P P P P P P P P P P P P P P P
P + + + + + + + + + + + + + + + +
2P 2P
+ 2P
+ 2P
+ 2P
+ 2P
+ + 2P + 2P + 2P + 2P + 2P + 2P P
+
8P 8P 8P P
16P
4P 4P 4P 4P 4P 4P P
+
+
8P + P
+ +
+
+
+
+
+
+
1 · 16P + 1 · 8P + 0 · 4P + 0 · 2P + 1 · 1P = 25P
Skalare Multiplikation von Punkten
Für beliebiges n
I Binärdarstellung
n = [bzbz−1 . . . b1b0]
n · P = bz · [bz0 . . . 00] P
+ bz−1 · [0bz−1 . . . 00] P
+ . . .
+ b1 · [00 . . . b10] P
+ b0 · [00 . . . 0b0] P
I benötigte Operationen
I z Additionen für bz · [bz 0 . . . 00] P
I z Additionen für den Rest
I 2z Addition maximal für n ≈ 2z
Punktkompression
Problemstellung:
I Ein Punkt P = (x, y) wird durch 2n Bits dargestellt
I Die öffentliche Parameter (Eab, q, G, sG) = (a, b, q, G, W )
benötigen mehr als 6n Bits zur Repräsentation
Lösung:
I Punktkompression als Funktion
K : E  {0} → Zq × Z2, (x, y) 7→ (x, y mod 2)
I Für E(Zp) mit p > 3 sind zwei elliptische Kurven isomorph,
wenn gilt:
∃u ∈ Zq : u · a = a und u2
· b = b.
I Das Kryptosystem (a, b, q, G, W ) benötigt ungefähr 3n Bits.
Homogene Weierstraß–Gleichung
Definition:
Sei K ein Körper und F(X, Y , Z) ein homogenes Polynom der
Form
F(X, Y , Z) = Y 2
Z + a1XYZ + a3YZ2
−X3
− a2X2
Z − a4XZ2
− a6Z3
mit a1, a2, a3, a4, a6 ∈ K, dann bezeichnen wir die Gleichung
F(X, Y , Z) = 0
⇐⇒ Y 2
Z + a1XYZ + a3YZ2
= X3
+ a2X2
Z + a4XZ2
+ a6Z3
als homogene Weierstraß-Gleichung.
Singularität bei elliptischen Kurven
Definition:
Sei F(X, Y , Z) = 0 eine homogene Weierstraß–Gleichung über
dem Körper K, dann heißt sie singulär, wenn an einem Punkt alle
Ableitungen verschwinden.
Das heißt, wenn ein Punkt P = (x, y, z) ∈ K3 existiert, bei dem
gilt
∂F
∂X
(x, y, z) = 0,
∂F
∂Y
(x, y, z) = 0,
∂F
∂Z
(x, y, z) = 0.
Punkt im Unendlichen:
Ist die Weierstraß-Gleichung nicht singulär, so folgt für Z = 0, daß
die Lösungsmenge die Form 0 = (0, k, 0) für k ∈ K hat. Diese
Menge nennt man Punkt im Unendlichen.
Elliptische Kurve über K
Affine Weierstraß–Gleichung:
Eine Gleichung der Form
Y 2
+ a1XY + a3Y = X3
+ a2X2
+ a4X + a6
mit a1, a2, a3, a4, a6 ∈ K, heißt affine Weierstraß–Gleichung.
Elliptische Kurve über dem Körper K:
Die Lösungsmenge L(K) ⊂ K2 einer nicht singulären affinen
Weierstraß–Gleichung bildet mit dem Punkt im Unendlichen eine
elliptische Kurve:
E(K) = L(K) ∪ {0}
Äquivalenz der Definitionen
Elliptische Kurven über Zpm mit p 6= 2:
Die Funktion ϕ : E(K) → E(K) mit
(x, y) 7→

x, y −
a1
2
x −
a3
2

transformiert die affine Weierstraß–Gleichung in die Form
y2
= x3
+ b2x2
+ b4x + b6.
Elliptische Kurven über Zpm mit p 6= 2, 3:
Die Funktion ψ : E(K) → E(K) mit
(x, y) 7→

x − 3b2
22 · 32
,
y
23 · 33

transformiert die Gleichung von oben in die Form
y2
= x3
+ ax + b.
Ordnung einer elliptischen Kurven
Satz von Hasse:
Sei E eine elliptische Kurve über Zp (p Primzahl, p  3) dann
bezeichnet man als #E die Anzahl der Punkte auf E und es gilt:
p + 1 − 2
√
p ≤ #E ≤ p + 1 +
√
p.
Berechnung:
I Schoof-Algorithmus
I Laufzeit von O (log p)8

.
Kryptoanalyse bei elliptischen Kurven
Klassische Verfahren:
I Brute-Force-Methode (Enumerationsverfahren)
I Babystep-Giantstep-Algorithmus
I Pollard-ρ-Methode
I Pollard-λ-Methode
I Pohling-Hellman-Verfahren
Spezielle Algorithmen:
I Supersinguläre Kurven (MOV-Algorithmus)
I Anomale Kurven (SSSA-Algorithmus)
=⇒ Index-Calculus-Algorithmus schlägt fehl
Parameter des Kryptosystems
Grundkörper:
I Zp mit der Primzahl p ∈ N
I Z2m mit der natürlichen Zahl m ∈ N
I Härte des kryptographischen Systems
I Speicherbedarf
Elliptische Kurve:
I Parameter a, b ∈ Zq bestimmen die elliptische Kurve.
I Generatorpunkt G ∈ E(Zq)
Schlüssel
I privater Schlüssel s ∈ Zq.
I öffentlicher Schlüssel W = s · G.
Klassische Verfahren
I Brute Force:
I privater Schlüssel s muß groß sein.
I Babystep-Giantstep-Methode:
I Platzbedarf von O(
√
n)
I n = ord(G) = min{n ∈ N : nG = 0} muß groß sein.
I Pollard-ρ und Pollard-λ-Methode:
I Laufzeit von O(
√
n)
I Algorithmus parallelisierbar
I Pohling-Hellman-Verfahren
I Reduziert das Problem auf die Untergruppen von  G 
I n = ord(G) muß großen Primteiler haben.
MOV/Frey-Rück Methode
Algorithmus
Input: P, Q ∈ E(Zq), der Ordnung r, so daß Q = λP.
Output: Diskreter Logarithmus λ von Q zur Basis P.
1. Konstruiere einen Körper Zqk , so daß r|(qk − 1).
2. Finde einen Punkt S ∈ E(Zq), so daß e(P, S) 6= 1.
3. ζ1 ← e(P, S).
4. ζ2 ← e(Q, S).
5. Finde λ, so daß ζλ
1 = ζ2 in Zqk .
6. Gebe λ aus.
Spezielle Methoden
I Menezes, Okamoto und Vanstone (MOV) Verfahren, bzw.
Frey-Rück-Methode
I Das ECDLP lässt sich auf DLP in Zqk zurückführen
I n 6 |(qk
− 1) für alle 1 ≤ k ≤ log(p)2
I Algebraisch-Geometrische Methode (Semaev/Rück)
I Zahlentheoretische Methode (Satoh/Araki/Smart)
I n = ord(G) darf nicht p = char(Zq) teilen
Index Calculus Methode
I Verfügbar für Zp
I Benötigt eine Faktorbasis B = {P1, P2, . . . , PB}
I B ∈ N ist obere Schranke.
I P ∈ B ist ein freier Erzeuger:
∀x ∈ N : xG = a1x
P1 + a2x
P2 + · · · + aBx
PB
I Zwei Herangehensweisen:
1. (E, +) gehört zur Klasse der Gruppen über Funktionskörper
2. Untersuchen der Gruppe E(Q) und die Punkte in die
Restklassen überführen (x modq, y modq).
I Xedni Calculus Algorithmus von J. Silverman ist nicht
praktisch anwendbar
Kryptographisch geeignete Kurven / Parameter
Zusammenfassung:
I Der private Schlüssel s ∈ N darf nicht klein sein.
I Die Anzahl der Punkte muß einen großen Primteiler haben.
#E(Zq) = n · d, n  2160
ist Primzahl
I #E(Zq) = n · d, n 6= p
I qk 6≡ 1 mod n für 1 ≤ k ≤ log(p)2
I Für E(Zpm ) mit m  1 ist a, b 6∈ Zp
I Quantenrechner dürfen nicht verfügbar sein
Schlüssellänge ECC
Empfohlene Schlüssellänge der NIST:
Symm. Algorithmus RSA und Diffie-Hellman ECC Faktor
80 Bits 1024 Bits 160 Bits 6
112 Bits 2048 Bits 224 Bits 9
128 Bits 3072 Bits 256 Bits 12
192 Bits 7680 Bits 348 Bits 22
256 Bits 15360 Bits 512 Bits 30
Benötigte Rechenzeit mit der Pollard-ρ Methode:
q #E(Zq) MIPS Jahre
≈ 2155
≈ 2150
3, 8 · 1010
≈ 2210
≈ 2205
7, 1 · 1018
≈ 2239
≈ 2234
1, 6 · 1028
Fazit
I Mit Hilfe elliptischer Kurven kann ein
Public-Key-Kryptosystem gebildet werden.
I Asymmetrisches Verfahren
I Es ist schwer für zwei bekannte Punkte G, W ∈ E(K) den
Wert s ∈ K zu berechnen, bei dem gilt
W = s · G
I Überprüfen der gewählten Parameter
I Beste Attacke besitzt eine Laufzeit der Ordnung O(
√
n)
I Geringe Schlüssellänge
I Einsatz für Smartcards
I Effizient für große Schlüssellänge
Quellen
I Elaine Barker, William Barker, William Burr, William Polk, and
Miles Smid:
Recommendation for Key Management Part 1: General
National Institute of Standarts and Technologie (NIST), 2006
I Ian Blake, Gadiel Seroussi, Nigel Smart:
Elliptic Curves in Cryptography.
Cambridge University Press, 1999
I Ian Blake, Gadiel Seroussi, Nigel Smart:
Advances in Elliptic Curve Cryptography.
Cambridge University Press, 2005
I Certicom Corp.:
Elliptic Curve Cryptography Tutorial.
http://www.certicom.com, Stand: 25.01.2007
I Neal Koblitz:
Algebraic Aspects of Cryptography.
Springer-Verlag, 1998
I Thomas Laubrock:
Krypto-Verfahren basierend auf elliptischen Kurven -
HTML-Tutorial mit JavaTM-Applet
Diplomarbeit an der Fachhochschule Dortmund,
http://www.laubrock.de, 1999
I Alfred J. Menezes:
Elliptic Curve Public Key Cryptosystems.
3rd Edition, Kluwer Academic Publishers, 1996
I Joseph H. Silverman:
The Arithmetic of Elliptic Curves.
Springer-Verlag, 1986
I Douglas R. Stinson:
Cryptography: Theory and Practice.
2nd Edition, Chapman  Hall/CRC, 2002
I Dr. Anette Werner:
Elliptische Kurven in der Kryptographie.
Springer-Verlag, 2002
I Rainer Wilmink:
Elliptic Curve Cryptosystems
Diplomarbeit an der Universität Bielefeld,
http://www.math.uni-bielefeld.de/˜rwilmink/, 1999

Weitere ähnliche Inhalte

Ähnlich wie Elliptische Kurven in der Kryptographie-slides-10.pdf

Aufgaben vorkurs Mathematik
Aufgaben vorkurs MathematikAufgaben vorkurs Mathematik
Aufgaben vorkurs Mathematik
PT Carbon Indonesia
 
10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...
10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...
10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...
PaulFestl
 
Maschinelles Lernen
Maschinelles LernenMaschinelles Lernen
Maschinelles Lernen
Martin Szugat
 
Dimensionstheorie Noetherscher Ringe
Dimensionstheorie Noetherscher RingeDimensionstheorie Noetherscher Ringe
Dimensionstheorie Noetherscher Ringe
Heinrich Hartmann
 
Beispiele_2022_LSG.pdf
Beispiele_2022_LSG.pdfBeispiele_2022_LSG.pdf
Beispiele_2022_LSG.pdf
HannaL13
 
Digitales mathematikheftderklasse9brsaimschuljahr201617
Digitales mathematikheftderklasse9brsaimschuljahr201617Digitales mathematikheftderklasse9brsaimschuljahr201617
Digitales mathematikheftderklasse9brsaimschuljahr201617
David Schmidl
 
Dimension und Multiplizität von D-Moduln
Dimension und Multiplizität von D-ModulnDimension und Multiplizität von D-Moduln
Dimension und Multiplizität von D-Moduln
Heinrich Hartmann
 
02 abiturvorbereitung geometrie objekte im raum
02 abiturvorbereitung geometrie objekte im raum02 abiturvorbereitung geometrie objekte im raum
02 abiturvorbereitung geometrie objekte im raum
PaulFestl
 
01.4 abiturvorbereitung analysis winkelfkt2
01.4 abiturvorbereitung analysis winkelfkt201.4 abiturvorbereitung analysis winkelfkt2
01.4 abiturvorbereitung analysis winkelfkt2
PaulFestl
 
05 abiturvorbereitung geometrie lagebeziehung gerade zu
05 abiturvorbereitung geometrie lagebeziehung gerade zu05 abiturvorbereitung geometrie lagebeziehung gerade zu
05 abiturvorbereitung geometrie lagebeziehung gerade zu
PaulFestl
 
Lec 1 numstoch motivation und_grundlagen
Lec 1 numstoch motivation und_grundlagenLec 1 numstoch motivation und_grundlagen
Lec 1 numstoch motivation und_grundlagen
Ahmed Labib
 
Examen de algebra lineal 18
Examen de algebra lineal 18Examen de algebra lineal 18
Examen de algebra lineal 18
Carlita Vaca
 
Basiswissen rsp
Basiswissen rspBasiswissen rsp
Basiswissen rsp
kkreienbrink
 
Spiegelungen an einer Geraden in der Ebene.pdf
Spiegelungen an einer Geraden in der Ebene.pdfSpiegelungen an einer Geraden in der Ebene.pdf
Spiegelungen an einer Geraden in der Ebene.pdf
Klaus Rohe
 
05 abiturvorbereitung analysis ableitungsregeln
05 abiturvorbereitung analysis ableitungsregeln05 abiturvorbereitung analysis ableitungsregeln
05 abiturvorbereitung analysis ableitungsregeln
PaulFestl
 

Ähnlich wie Elliptische Kurven in der Kryptographie-slides-10.pdf (19)

Aufgaben vorkurs Mathematik
Aufgaben vorkurs MathematikAufgaben vorkurs Mathematik
Aufgaben vorkurs Mathematik
 
10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...
10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...
10 abiturvorbereitung analysis anwendungen extremwertprobleme, aufstellen fkt...
 
Maschinelles Lernen
Maschinelles LernenMaschinelles Lernen
Maschinelles Lernen
 
Dimensionstheorie Noetherscher Ringe
Dimensionstheorie Noetherscher RingeDimensionstheorie Noetherscher Ringe
Dimensionstheorie Noetherscher Ringe
 
HM1 Übung
HM1 ÜbungHM1 Übung
HM1 Übung
 
Beispiele_2022_LSG.pdf
Beispiele_2022_LSG.pdfBeispiele_2022_LSG.pdf
Beispiele_2022_LSG.pdf
 
Digitales mathematikheftderklasse9brsaimschuljahr201617
Digitales mathematikheftderklasse9brsaimschuljahr201617Digitales mathematikheftderklasse9brsaimschuljahr201617
Digitales mathematikheftderklasse9brsaimschuljahr201617
 
Dimension und Multiplizität von D-Moduln
Dimension und Multiplizität von D-ModulnDimension und Multiplizität von D-Moduln
Dimension und Multiplizität von D-Moduln
 
02 abiturvorbereitung geometrie objekte im raum
02 abiturvorbereitung geometrie objekte im raum02 abiturvorbereitung geometrie objekte im raum
02 abiturvorbereitung geometrie objekte im raum
 
01.4 abiturvorbereitung analysis winkelfkt2
01.4 abiturvorbereitung analysis winkelfkt201.4 abiturvorbereitung analysis winkelfkt2
01.4 abiturvorbereitung analysis winkelfkt2
 
05 abiturvorbereitung geometrie lagebeziehung gerade zu
05 abiturvorbereitung geometrie lagebeziehung gerade zu05 abiturvorbereitung geometrie lagebeziehung gerade zu
05 abiturvorbereitung geometrie lagebeziehung gerade zu
 
Lec 1 numstoch motivation und_grundlagen
Lec 1 numstoch motivation und_grundlagenLec 1 numstoch motivation und_grundlagen
Lec 1 numstoch motivation und_grundlagen
 
19394280310 ftp
19394280310 ftp19394280310 ftp
19394280310 ftp
 
Kap2 1
Kap2 1Kap2 1
Kap2 1
 
Examen de algebra lineal 18
Examen de algebra lineal 18Examen de algebra lineal 18
Examen de algebra lineal 18
 
Basiswissen rsp
Basiswissen rspBasiswissen rsp
Basiswissen rsp
 
Spiegelungen an einer Geraden in der Ebene.pdf
Spiegelungen an einer Geraden in der Ebene.pdfSpiegelungen an einer Geraden in der Ebene.pdf
Spiegelungen an einer Geraden in der Ebene.pdf
 
7
77
7
 
05 abiturvorbereitung analysis ableitungsregeln
05 abiturvorbereitung analysis ableitungsregeln05 abiturvorbereitung analysis ableitungsregeln
05 abiturvorbereitung analysis ableitungsregeln
 

Elliptische Kurven in der Kryptographie-slides-10.pdf

  • 1. Elliptische Kurven in der Kryptographie Sandro Schugk und Günther Nieß 25. Januar 2007
  • 2. Inhalt Motivation Elliptische Kurven über R Elliptische Kurven über Zp Elliptische Kurven über K Kryptoanalyse Fazit
  • 3. Motivation I asymmetrisches Verfahren I 1985 von Neal Koblitz und Victor S. Miller zeitgleich entwickelt I sicherer und schneller I darauf aufbauende Krypto-Systeme: I hyperelliptisch I Torus basierend
  • 5. Elliptische Kurven über R − y = x 1 3 2 −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 y2 = x3 + 3 −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 y = 2 x3 3 − x + 3 −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 y2 = x3 − 4 x −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5
  • 6. Elliptische Kurven über R Definition Seien a, b ∈ R Konstanten, so dass 4a3 + 27b2 6= 0 gilt. Eine nicht-singuläre elliptische Kurve ist die Lösungsmenge (x, y) ∈ R2 der Gleichung y2 = x3 + ax + b zusammen mit dem Punkt im Unendlichen O.
  • 7. Elliptische Kurven über R Beispiele für singuläre elliptische Kurven y2 = x3 −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 y3 = x2 − 3 x + 2 −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5
  • 8. Addition P Q −R R −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 P (2.35, −1.86) Q (−0.1, 0.836) −R (3.89, 5.62) R (3.89, −5.62)
  • 9. Addition P + Q = R mit P = (x1, y1), Q = (x2, y2) und R = (x3, y3) I Gerade g aus Punkten P und Q bestimmen g(x) = mx + n, m = y2 − y1 x2 − x1 , n = y1 − mx1 I in Kurvengleichung einsetzen und lösen x3 − m2 x2 + (a − 2mn)x + b − n2 = 0 x3 = m2 − x1 − x2 I Punkt R bestimmen y3 = m(x1 − x3) − y1
  • 10. Verdoppeln −R R P −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 P (2, 2.65) −R (−1.11, −2.64) R (−1.11, 2.64)
  • 11. Verdoppeln P + P = 2P = R mit P = (x1, y1), R = (x3, y3) und y1 6= 0 I Tangentengleichung finden 2y dy dx = 3x2 + a m = 3x2 1 + a 2y1 I Punkt R bestimmen x3 = m2 − x1 − x2 y3 = m(x1 − x3) − y1
  • 12. Verdoppeln P + P = 2P = O mit P = (x1, 0) P −10 −5 0 5 10 −3 −2 −1 0 1 2 3 4 5 P (2.81, 0)
  • 14. Gruppengesetze I Abgeschlossenheit P + Q = R I Assoziativität (P + Q) + R = P + (Q + R) I neutrales Element P + O = P I inverses Element P + (−P) = O I Kommutativität∗ P + Q = Q + P
  • 15. Elliptische Kurven über Zp Definition Sei p > 3 ein Primzahl. Die elliptische Kurve y2 = x3 + ax + b über Zp ist die Menge alle Lösungen (x, y) ∈ Z2 p zur Kongruenz y2 ≡ x3 + ax + b (mod p) zusammen mit dem Punkt im Unendlichen O. Dabei sind a, b ∈ Zp Konstanten, so dass 4a3 + 27b2 6≡ 0 (mod p) gilt.
  • 16. Gruppenoperation P + Q = R mit P = (x1, y1), Q = (x2, y2) und R = (x3, y3) x3 = m2 − x1 − x2 y3 = m(x1 − x3) − y1 m = ( (y2 − y1)(x2 − x1)−1, P 6= Q (3x2 1 + a)(2y1)−1, P = Q Sonderfall y2 = −y1 P + Q = O
  • 17. Beispiel y2 = x3 + x + 6 über Z11 x x3 + x + 6 (mod 11) quad. Rest y 0 6 no 1 8 no 2 5 yes 4,7 3 3 yes 5,6 4 8 no 5 4 yes 2,9 6 8 no 7 4 yes 2,9 8 9 yes 3,8 9 7 no 10 4 yes 2,9
  • 18. Beispiel: ElGamal-Verschlüsselung α = (2, 7) 2α = (5, 2) 3α = (8, 3) 4α = (10, 2) 5α = (3, 6) 6α = (7, 9) 7α = (7, 2) 8α = (3, 5) 9α = (10, 9) 10α = (8, 8) 11α = (5, 9) 12α = (2, 4) I a = 1, b = 6, p = 11 I Bob’s Schlüssel I α = (2, 7), β = (7, 2) I s = 7 (privat) I Alice: x = (10, 9), k = 3 y1 = 3(2, 7) = (8, 3) y2 = (10, 9) + 3(7, 2) = (10, 9) + (3, 5) = (10, 2)
  • 19. Beispiel: ElGamal-Entschlüsselung α = (2, 7) 2α = (5, 2) 3α = (8, 3) 4α = (10, 2) 5α = (3, 6) 6α = (7, 9) 7α = (7, 2) 8α = (3, 5) 9α = (10, 9) 10α = (8, 8) 11α = (5, 9) 12α = (2, 4) I Bob empfängt: y = ((8, 3), (10, 2)) x = (10, 2) − 7(8, 3) = (10, 2) − (3, 5) = (10, 2) + (3, 6) = (10, 9)
  • 20. Beispiel: Diffie-Hellman-Schlüsselvereinbarung Alice Bob einigen sich p = 149 a = 5, b = 6 G = (66, 34) r = 71 |E| = 142 zufällig sa = 18 sb = 69 öffentlich Wa = sa · G = (27, 56) Wb = sb · G = (66, 115) tauschen Wb Wa gemeinsames k k = sa · Wb = (27, 93) k = sb · Wa = (27, 93)
  • 21. Parameter zusammengefasst allgemein: E elliptische Kurve a, b Koeffizienten a und b p Größe zugrundeliegender Primzahlkörper Zp G Generatorpunkt auf der elliptischen Kurve r Ordnung des Punktes G, r muss prim sein Schlüssel: s privat W öffentlich erzeugt durch: W = s · G
  • 22. Skalare Multiplikation von Punkten Beispiel: n = 25 + P P + P + P + P + P + P + P + P P P P P P P P P P P P P P P P P + + + + + + + + + + + + + + + + 2P 2P + 2P + 2P + 2P + 2P + + 2P + 2P + 2P + 2P + 2P + 2P P + 8P 8P 8P P 16P 4P 4P 4P 4P 4P 4P P + + 8P + P + + + + + + + + 1 · 16P + 1 · 8P + 0 · 4P + 0 · 2P + 1 · 1P = 25P
  • 23. Skalare Multiplikation von Punkten Für beliebiges n I Binärdarstellung n = [bzbz−1 . . . b1b0] n · P = bz · [bz0 . . . 00] P + bz−1 · [0bz−1 . . . 00] P + . . . + b1 · [00 . . . b10] P + b0 · [00 . . . 0b0] P I benötigte Operationen I z Additionen für bz · [bz 0 . . . 00] P I z Additionen für den Rest I 2z Addition maximal für n ≈ 2z
  • 24. Punktkompression Problemstellung: I Ein Punkt P = (x, y) wird durch 2n Bits dargestellt I Die öffentliche Parameter (Eab, q, G, sG) = (a, b, q, G, W ) benötigen mehr als 6n Bits zur Repräsentation Lösung: I Punktkompression als Funktion K : E {0} → Zq × Z2, (x, y) 7→ (x, y mod 2) I Für E(Zp) mit p > 3 sind zwei elliptische Kurven isomorph, wenn gilt: ∃u ∈ Zq : u · a = a und u2 · b = b. I Das Kryptosystem (a, b, q, G, W ) benötigt ungefähr 3n Bits.
  • 25. Homogene Weierstraß–Gleichung Definition: Sei K ein Körper und F(X, Y , Z) ein homogenes Polynom der Form F(X, Y , Z) = Y 2 Z + a1XYZ + a3YZ2 −X3 − a2X2 Z − a4XZ2 − a6Z3 mit a1, a2, a3, a4, a6 ∈ K, dann bezeichnen wir die Gleichung F(X, Y , Z) = 0 ⇐⇒ Y 2 Z + a1XYZ + a3YZ2 = X3 + a2X2 Z + a4XZ2 + a6Z3 als homogene Weierstraß-Gleichung.
  • 26. Singularität bei elliptischen Kurven Definition: Sei F(X, Y , Z) = 0 eine homogene Weierstraß–Gleichung über dem Körper K, dann heißt sie singulär, wenn an einem Punkt alle Ableitungen verschwinden. Das heißt, wenn ein Punkt P = (x, y, z) ∈ K3 existiert, bei dem gilt ∂F ∂X (x, y, z) = 0, ∂F ∂Y (x, y, z) = 0, ∂F ∂Z (x, y, z) = 0. Punkt im Unendlichen: Ist die Weierstraß-Gleichung nicht singulär, so folgt für Z = 0, daß die Lösungsmenge die Form 0 = (0, k, 0) für k ∈ K hat. Diese Menge nennt man Punkt im Unendlichen.
  • 27. Elliptische Kurve über K Affine Weierstraß–Gleichung: Eine Gleichung der Form Y 2 + a1XY + a3Y = X3 + a2X2 + a4X + a6 mit a1, a2, a3, a4, a6 ∈ K, heißt affine Weierstraß–Gleichung. Elliptische Kurve über dem Körper K: Die Lösungsmenge L(K) ⊂ K2 einer nicht singulären affinen Weierstraß–Gleichung bildet mit dem Punkt im Unendlichen eine elliptische Kurve: E(K) = L(K) ∪ {0}
  • 28. Äquivalenz der Definitionen Elliptische Kurven über Zpm mit p 6= 2: Die Funktion ϕ : E(K) → E(K) mit (x, y) 7→ x, y − a1 2 x − a3 2 transformiert die affine Weierstraß–Gleichung in die Form y2 = x3 + b2x2 + b4x + b6. Elliptische Kurven über Zpm mit p 6= 2, 3: Die Funktion ψ : E(K) → E(K) mit (x, y) 7→ x − 3b2 22 · 32 , y 23 · 33 transformiert die Gleichung von oben in die Form y2 = x3 + ax + b.
  • 29. Ordnung einer elliptischen Kurven Satz von Hasse: Sei E eine elliptische Kurve über Zp (p Primzahl, p 3) dann bezeichnet man als #E die Anzahl der Punkte auf E und es gilt: p + 1 − 2 √ p ≤ #E ≤ p + 1 + √ p. Berechnung: I Schoof-Algorithmus I Laufzeit von O (log p)8 .
  • 30. Kryptoanalyse bei elliptischen Kurven Klassische Verfahren: I Brute-Force-Methode (Enumerationsverfahren) I Babystep-Giantstep-Algorithmus I Pollard-ρ-Methode I Pollard-λ-Methode I Pohling-Hellman-Verfahren Spezielle Algorithmen: I Supersinguläre Kurven (MOV-Algorithmus) I Anomale Kurven (SSSA-Algorithmus) =⇒ Index-Calculus-Algorithmus schlägt fehl
  • 31. Parameter des Kryptosystems Grundkörper: I Zp mit der Primzahl p ∈ N I Z2m mit der natürlichen Zahl m ∈ N I Härte des kryptographischen Systems I Speicherbedarf Elliptische Kurve: I Parameter a, b ∈ Zq bestimmen die elliptische Kurve. I Generatorpunkt G ∈ E(Zq) Schlüssel I privater Schlüssel s ∈ Zq. I öffentlicher Schlüssel W = s · G.
  • 32. Klassische Verfahren I Brute Force: I privater Schlüssel s muß groß sein. I Babystep-Giantstep-Methode: I Platzbedarf von O( √ n) I n = ord(G) = min{n ∈ N : nG = 0} muß groß sein. I Pollard-ρ und Pollard-λ-Methode: I Laufzeit von O( √ n) I Algorithmus parallelisierbar I Pohling-Hellman-Verfahren I Reduziert das Problem auf die Untergruppen von G I n = ord(G) muß großen Primteiler haben.
  • 33. MOV/Frey-Rück Methode Algorithmus Input: P, Q ∈ E(Zq), der Ordnung r, so daß Q = λP. Output: Diskreter Logarithmus λ von Q zur Basis P. 1. Konstruiere einen Körper Zqk , so daß r|(qk − 1). 2. Finde einen Punkt S ∈ E(Zq), so daß e(P, S) 6= 1. 3. ζ1 ← e(P, S). 4. ζ2 ← e(Q, S). 5. Finde λ, so daß ζλ 1 = ζ2 in Zqk . 6. Gebe λ aus.
  • 34. Spezielle Methoden I Menezes, Okamoto und Vanstone (MOV) Verfahren, bzw. Frey-Rück-Methode I Das ECDLP lässt sich auf DLP in Zqk zurückführen I n 6 |(qk − 1) für alle 1 ≤ k ≤ log(p)2 I Algebraisch-Geometrische Methode (Semaev/Rück) I Zahlentheoretische Methode (Satoh/Araki/Smart) I n = ord(G) darf nicht p = char(Zq) teilen
  • 35. Index Calculus Methode I Verfügbar für Zp I Benötigt eine Faktorbasis B = {P1, P2, . . . , PB} I B ∈ N ist obere Schranke. I P ∈ B ist ein freier Erzeuger: ∀x ∈ N : xG = a1x P1 + a2x P2 + · · · + aBx PB I Zwei Herangehensweisen: 1. (E, +) gehört zur Klasse der Gruppen über Funktionskörper 2. Untersuchen der Gruppe E(Q) und die Punkte in die Restklassen überführen (x modq, y modq). I Xedni Calculus Algorithmus von J. Silverman ist nicht praktisch anwendbar
  • 36. Kryptographisch geeignete Kurven / Parameter Zusammenfassung: I Der private Schlüssel s ∈ N darf nicht klein sein. I Die Anzahl der Punkte muß einen großen Primteiler haben. #E(Zq) = n · d, n 2160 ist Primzahl I #E(Zq) = n · d, n 6= p I qk 6≡ 1 mod n für 1 ≤ k ≤ log(p)2 I Für E(Zpm ) mit m 1 ist a, b 6∈ Zp I Quantenrechner dürfen nicht verfügbar sein
  • 37. Schlüssellänge ECC Empfohlene Schlüssellänge der NIST: Symm. Algorithmus RSA und Diffie-Hellman ECC Faktor 80 Bits 1024 Bits 160 Bits 6 112 Bits 2048 Bits 224 Bits 9 128 Bits 3072 Bits 256 Bits 12 192 Bits 7680 Bits 348 Bits 22 256 Bits 15360 Bits 512 Bits 30 Benötigte Rechenzeit mit der Pollard-ρ Methode: q #E(Zq) MIPS Jahre ≈ 2155 ≈ 2150 3, 8 · 1010 ≈ 2210 ≈ 2205 7, 1 · 1018 ≈ 2239 ≈ 2234 1, 6 · 1028
  • 38. Fazit I Mit Hilfe elliptischer Kurven kann ein Public-Key-Kryptosystem gebildet werden. I Asymmetrisches Verfahren I Es ist schwer für zwei bekannte Punkte G, W ∈ E(K) den Wert s ∈ K zu berechnen, bei dem gilt W = s · G I Überprüfen der gewählten Parameter I Beste Attacke besitzt eine Laufzeit der Ordnung O( √ n) I Geringe Schlüssellänge I Einsatz für Smartcards I Effizient für große Schlüssellänge
  • 39. Quellen I Elaine Barker, William Barker, William Burr, William Polk, and Miles Smid: Recommendation for Key Management Part 1: General National Institute of Standarts and Technologie (NIST), 2006 I Ian Blake, Gadiel Seroussi, Nigel Smart: Elliptic Curves in Cryptography. Cambridge University Press, 1999 I Ian Blake, Gadiel Seroussi, Nigel Smart: Advances in Elliptic Curve Cryptography. Cambridge University Press, 2005 I Certicom Corp.: Elliptic Curve Cryptography Tutorial. http://www.certicom.com, Stand: 25.01.2007 I Neal Koblitz: Algebraic Aspects of Cryptography. Springer-Verlag, 1998
  • 40. I Thomas Laubrock: Krypto-Verfahren basierend auf elliptischen Kurven - HTML-Tutorial mit JavaTM-Applet Diplomarbeit an der Fachhochschule Dortmund, http://www.laubrock.de, 1999 I Alfred J. Menezes: Elliptic Curve Public Key Cryptosystems. 3rd Edition, Kluwer Academic Publishers, 1996 I Joseph H. Silverman: The Arithmetic of Elliptic Curves. Springer-Verlag, 1986 I Douglas R. Stinson: Cryptography: Theory and Practice. 2nd Edition, Chapman Hall/CRC, 2002 I Dr. Anette Werner: Elliptische Kurven in der Kryptographie. Springer-Verlag, 2002 I Rainer Wilmink: Elliptic Curve Cryptosystems Diplomarbeit an der Universität Bielefeld, http://www.math.uni-bielefeld.de/˜rwilmink/, 1999