Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Elliptische Kurven in der Kryptographie

Ähnliche Präsentationen


Präsentation zum Thema: "Elliptische Kurven in der Kryptographie"—  Präsentation transkript:

1 Elliptische Kurven in der Kryptographie
1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Elliptische Kurven in der Kryptographie 1

2 Elliptische Kurven über reellen Zahlen Elliptische Kurven über Körper
Gliederung Einleitung Elliptische Kurven über reellen Zahlen Elliptische Kurven über Körper Public-Key Verfahren mittels elliptischer Kurven Elliptische Kurven im Allgemeinen Vergleich ECC und RSA Schlussbetrachtung Literaturverzeichnis 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 2

3 Elliptische Kurven in der Kryptographie (ECC)
Im Jahre 1986 gelang es Neal Koblitz und Victor Miller unabhängig von einander, elliptische Kurven im Bereich der Public Key Kryptographie einzusetzen. 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Mit elliptischen Kurven lassen sich asymmetrische Krypto-Verfahren realisieren. „Im Herzen von ECC steht die Tatsache, dass man auf einer elliptischen Kurve eine abelsche Gruppe definieren kann und dass in dieser Gruppe das diskrete Logarithmus Problem extrem schwer zu lösen ist.“ 3

4 IEEE [P1363] (Institute of Electrical and Electronics Engineers)
ECC in Standards IEEE [P1363] (Institute of Electrical and Electronics Engineers) Public-Key Verfahren geeignete Parameter Schlüsselerzeugung, Schlüsselaustausch FIPS [186-2] (Federal Information Processing Standard) NIST (National Institute of Standards and Technologie) ECDSA Signaturverfahren Standards der IETF (Internet Engineering Task Force) SSL/TLS, IPSEC, PKIX, S/MIME, WAP-Protokoll 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Mit der Verbreitung von ECC und deren Akzeptanz in verschiedenen Gremien, ist ECC inzwischen auch in vielen wichtigen Standards vertreten, um eine Kompatibilität zwischen unterschiedlichen Systemen zu gewährleisten. Im Folgenden seien exemplarisch einige dieser Standards aufgeführt: - IEEE: Public-Key Kryptographie basierend auf Discrete Logarithm (DL) systems Elliptic Curve Discrete Logarithm (EC) systems Integer Factorization (IF) systems Im weiteren werden sich die Ausführungen stark an dieser Spezifikation orientieren, da sich die dort beschriebenen Verfahren wohl als Standard durchsetzen werden. - FIPS Das National Institute of Standards and Technologie (NIST) der US-Regierung hat den Standard FIPS um das ECDSA-Signaturverfahren erweitert. Als Konsequenz ist es nun Regierungsinstitutionen der USA ohne weitere Genehmigung möglich, Sicherheitsprodukte mit ECC-Komponenten zu verwenden. - IETF Neben diesen Standards, die sich unmittelbar mit Kryptographie beschäftigen, ist ECC auch Bestandteil vieler anwendungsorientierter Standards. 4

5 enthält privaten Schlüssel beschränkter Speicherplatz
ECC in der Praxis Smartcards enthält privaten Schlüssel beschränkter Speicherplatz RSA benötigt >1024 Bit, ECC benötigt 160 Bit ECC ist schneller beim signieren Kryptographie-Plugin „cv act s/mail“ entwickelt von Cryptovision eingesetzt vom Bundesamt für Wehrtechnik und Beschaffung Plugin für -Clients Verschlüsselung digitale Signatur kompatibel zu IBM Lotus Notes, Novel GroupWise, Microsoft Outlook 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 5

6 Elliptische Kurven über reellen Zahlen
y2 = x3 + ax + b 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis a = - 4 b = 0.67 y2 = x3 – 4x 6

7 Abelsche Gruppe [y2 = x3 + ax + b]
Bedingung: 4a3 + 27b2  0 Gleichung: y2 = x3 + ax + b Punkt O, der Punkt im „unendlichen“ Unter der Bedingung 4a3 + 27b2  0 ist eine elliptische Kurve die Menge aller Lösungen für die Gleichung y2 = x3 + ax + b zusammen mit dem Punkt O im „unendlichen“. P = (xP,yP), Q = (xQ,yQ), R = (xR,yR) Operation: + mit P + Q = R Assoziativität: P + (Q + R) = (P + Q) + R Kommutativität: P + Q = Q + P neutrales Element: O mit P + O = O + P = P Inverses Element: (x,-y) mit P + -P = -P + P = O 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 7

8 Geometrische Betrachtung [y2 = x3 + ax + b]
P + Q = R, P  Q 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 8

9 Geometrische Betrachtung [y2 = x3 + ax + b]
P + -P = O 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis The line through P and -P is a vertical line which does not intersect the elliptic curve at a third point; thus the points P and -P cannot be added as previously. It is for this reason that the elliptic curve group includes the point at infinity O. By definition, P + (-P) = O. As a result of this equation, P + O = P in the elliptic curve group . O is called the additive identity of the elliptic curve group; all elliptic curves have an additive identity O wird auch der „Punkt im Unendlichen“ genannt 9

10 Geometrische Betrachtung [y2 = x3 + ax + b]
O wir auch der „Punkt im Unendlichen“ genannt 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 10

11 Geometrische Betrachtung [y2 = x3 + ax + b]
P + P = 2P = R 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis To add a point P to itself, a tangent line to the curve is drawn at the point P. If yP is not 0, then the tangent line intersects the elliptic curve at exactly one other point, -R. -R is reflected in the x-axis to R. This operation is called doubling the point P; the law for doubling a point on an elliptic curve group is defined by: 11

12 Geometrische Betrachtung [y2 = x3 + ax + b]
P + P = 2P = R, yp=0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis If a point P is such that yP = 0, then the tangent line to the elliptic curve at P is vertical and does not intersect the elliptic curve at any other point. By definition, 2P = O for such a point P. If one wanted to find 3P in this situation, one can add 2P + P. This becomes P + O = P Thus 3P = P. 3P = P, 4P = O, 5P = P, 6P = O, 7P = P, etc. P+O=P, 2P=P, 3P=2P+P=O+P=P, 4P=O, … 12

13 Algebraische Betrachtung [y2 = x3 + ax + b]
P + Q = R, P=(xP,yP), Q=(xQ,yQ), R=(xR,yR), P  Q s = (yP – yQ) / (xP – xQ) xR = s2 – xP – xQ yR = -yP + s(xP – xR) P + P = 2P = R, P=(xP,yP), R=(xR,yR), yP  0 s = (3xP2 + a) / (2yP) xR = s2 – 2xP s: Steigung der Geraden durch P und Q 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Although the previous geometric descriptions of elliptic curves provides an excellent method of illustrating elliptic curve arithmetic, it is not a practical way to implement arithmetic computations. Algebraic formulae are constructed to efficiently compute the geometric arithmetic. s: Tangente am Punkt P a: Parameter der Kurve 13

14 Beispiele Definiert die Gleichung y2 = x3 – 7x – 6 eine Elliptische Kurve? Ja! 4a3 + 27b2 = 4(-7)3 + 27(-6)2 = -400  0 Ist P=(4,7) ein Punkt auf der Elliptischen Kurve y2 = x3 – 5x + 5? Ja! = 43 – 54 + 5 49 = 64 – 49 = 49 Berechne P+Q=R für P=(0,-4) und Q=(1,0) auf y2 = x3 – 17x + 16! s = (yP – yQ) / (xP – xQ) = (-4 – 0) / (0 – 1) = 4 xR = s2 – xP – xQ = 42 – 0 – 1 = 15 yR = -yP + s(xP – xR) = -(-4) + 4(0 – 15) = -56  P + Q = R = (15,-56) Berechne 2P=R für P=(4,20) auf y2 = x3 – 17x + 16! s = (3xP2 + a) / (2yP) = (342 + (-17)) / (220) = 4.475 xR = s2 – 2xP = – 24 = yR = -yP + s(xP – xR) = -(20) (4 – ) = -39,362  2P = R = (12.022, ) 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 14

15 Elliptische Kurven über dem Körper FP
Wichtig für Kryptographie endliche Gruppe (Diskreter Logarithmus) schnelle und präzise Berechnungen Elliptische Kurven über reellen Zahlen haben keine endliche Anzahl an Punkten, sind langsam in ihrer Berechnung und es treten Rundungsfehler auf. Primzahlkörper FP p-1 Elemente, p ist Primzahl keine Rundungsfehler y2 mod p = x3 + ax + b mod p, a,bFP 4a3 + 27b2 mod p  0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 15

16 Beispiel [y2 = x3 + x] über F23
Körper F23, y2 = x3 + x, P = (9,5) y2 mod p = x3 + x mod p 25 mod 23 = mod 23 2 = 2 Punkt P=(9,5) erfüllt y2 = x3 + x Es gibt insgesamt 23 Punkte auf der Kurve y2 = x3 + x: (0,0) (1,5) (1,18) (9,5) (9,18) (11,10) (11,13) (13,5) (13,18) (15,3) (15,20) (16,8) (16,15) (17,10) (17,13) (18,10) (18,13) (19,1) (19,22) (20,4) (20,19) (21,6) (21,17) 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 16

17 Beispiel [y2 = x3 + x] über F23
zwei Punkte für jeden x-Wert symmetrisch bei y = 11.5 keine negativen Werte, -P = (xP,(-yP mod 23)) 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 17

18 Algebraische Betrachtung [y2 = x3 + ax + b] über FP
P + Q = R, P=(xP,yP), Q=(xQ,yQ), R=(xR,yR), P  Q s = (yP – yQ) / (xP – xQ) mod p xR = s2 – xP – xQ mod p yR = -yP + s(xP – xR) mod p P + P = 2P = R, P=(xP,yP), R=(xR,yR), yP  0 s = (3xP2 + a) / (2yP) mod p xR = s2 – 2xP mod p s: Steigung der Geraden durch P und Q 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis s: Tangente am Punkt P a: Parameter der Kurve 18

19 Beispiele Definiert die Gleichung y2=x3+10x+5 eine Elliptische Kurve über F17? Nein! 4a3 + 27b2 mod p = 4(10)3 + 27(5)2 mod 17 = 4675 mod 17 = 0 Liegt P=(2,0) auf der Elliptischen Kurve y2 = x3 + x + 7 über F17? Ja! 02 mod 17 = mod 17 0 mod 17 = 17 mod 17 0 = 0 Berechne P+Q=R für P=(2,0) und Q=(1,3) auf y2= x3+ x + 7 über F17! s = (yP – yQ) / (xP – xQ) mod p = (0 – 3) / (2 – 1) mod 17 = 14 xR = s2 – xP – xQ mod p = 142 – 2 – 1 mod 17 = 193 mod 17 = 6 yR = -yP + s(xP – xR) mod p = (2 – 6) mod 17 = 12  P + Q = R = (6,12) Berechne 2P=R für P=(1,3) auf y2= x3+ x + 7 über F17! s = (3xP2 + a) / (2yP) mod p = (3+1)  6-1 mod 17 = 4  3 mod 17 = 12 xR = s2 – 2xP mod p = 122 – 2 mod 17 = 6 yR = -yP + s(xP – xR) mod p = (1 – 6) mod 17 = 5  2P = R = (6,5) 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 19

20 Elliptische Kurven über dem Körper F2m
y2 + xy = x3 + ax2 + b, b0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Bit Strings Addition mittels XOR-Funktion Weiter ist Fp nicht der einzige Körper über dem die elliptischen Kurven zur Kryptographie genutzt werden können. So sind elliptische Kurven über einem Galoais-Feld GF(pm) mit einer Primzahl p und mZ, besonders für p = 2 für hardwarenahe Implementierungen geeignet, da einige Operationen direkt auf Binärebene durchführt werden können. 20

21 jeder endliche Körper kann verwendet werden
Verwendete Körper Theoretisch jeder endliche Körper kann verwendet werden Praktisch Primzahlkörper FP mit Primzahl p F2m mit 2m Elementen Unterschiede zwischen FP und F2m bisher noch keine Sicherheitsunterschiede FP hat beim Softwareeinsatz Vorteile F2m hat beim Hardwareeinsatz Vorteile 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 21

22 Diskrete Logarithmus Problem (ECDLP)
Gegeben: zwei Punkte P und Q auf einer elliptischen Kurve über einer Gruppen mit einer ausreichend großen Gruppenordnung Problem: Bestimme x, so dass Q = xP 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis xP = P+P+…+P x-mal Trägt man die Punkte einer elliptischen Kurve in ein Gitter ein, so erhält man eine „Punktwolke“. Die Addition von zwei Punkten entspricht dann einem scheinbar zufälligen Springen von Punkt zu Punkt. Dieses „Chaos“ drückt die Schwierigkeit des diskreten Logarithmusproblems auf einer elliptischen Kurve aus. Trägt man die Punkte einer elliptischen in ein Gitter ein, so erhält man eine „Punktwolke“. Die Addition von zwei Punkten entspricht dann einem scheinbar zufälligen Springen von Punkt zu Punkt. Dieses „Chaos“ drückt die Schwierigkeit des diskreten Logarithmusproblems auf einer elliptischen Kurve aus 22

23 einfaches Protokoll für einen Schlüsselaustausch
ECDH einfaches Protokoll für einen Schlüsselaustausch basiert auf Diffie-Hellman Szenario Alice und Bob tauschen geheimen Schlüssel aus Lauscherin Eve Vorraussetzungen Alice und Bob einigen sich auf gleiche ECC-Parameter E: elliptische Kurve p: Größe des Körpers FP a,b: Koeffizienten der elliptischen Kurve, a,bFP G: Punkt auf der elliptischen Kurve E n: Ordnung des Punktes G, n muss Primzahl sein 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Diese Angaben könnten in allgemeinen Systemparametern stecken oder extra Bestandteile jedes öffentlichen Schlüssels sein. 23

24  RA = xAQB = xAxBG = xBxAG = xBQA = RB
G: Punkt auf der elliptischen Kurve E n: Ordnung des Punktes G, n ist Primzahl ECDH - Prinzip Alice private Key xA: Zufallszahl, 1 < xA < n public Key QA: Punkt QA = xAG Bob private Key xB: Zufallszahl, 1 < xB < n public Key QB: Punkt QB = xBG geheimer Schlüssel R = RA = RB Alice holt sich QB Alice berechnet RA = xAQB Bob holt sich QA Bob berechnet RB = xBQA.  RA = xAQB = xAxBG = xBxAG = xBQA = RB Eine Lauscherin Eve steht vor dem Problem aus G, QA und QB den Schlüssel R zu berechnen (ECDLP). „Man in the Middle“-Attacke ist immer noch möglich. 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 24

25 Elliptische Kurven allgemein
F(x,y) := x3 – a1xy + a2x2 – a3y + a4x + a6 – y2 Polynom 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Eine elliptische Kurve E über einem Körper K ist eine nicht-singuläre Kurve, definiert als Menge aller Punkte (x,y), mit x,yK, für die gilt F(x,y)=0 zusammen mit dem „Punkt in der Unendlichkeit“ O. E(K): y2 + a1xy + a3y = x3 + a2x2 + a4x + a6 elliptische Kurve (Weierstraßgleichung in Normalform) 25

26  F(x,y) := x3 – a1xy + a2x2 – a3y + a4x + a6 – y2
nicht-singulär F(x,y) := x3 – a1xy + a2x2 – a3y + a4x + a6 – y2 Polynom E(K): y2 + a1xy + a3y = x3 + a2x2 + a4x + a6 elliptische Kurve (Weierstraßgleichung in Normalform) 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis E(K) ist nicht-singulär keine Knoten, Spitzen oder Einsiedler F x (a,b)  0 y mit P(a,b)E 26

27 E(K) ist nicht-singulär keine Knoten, Spitzen oder Einsiedler
E(K): y2 = x3 – 3x + 2 E(K): y2 = x3 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 27

28 beide Ableitungen  0  Diskriminante von E  0
nicht-singulär char(K) = m falls es eine kleinste natürliche Zahl m gibt, so dass m1 = 1+1+…+1 = 0 m-mal char(K)  2, 3 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis E(K): y2 = x3 + ax + b E(K) ist nicht-singulär beide Ableitungen   Diskriminante von E  0 F x (a,b) = -3x2 – a4  0 y (a,b) = 2y  0 4a3 + 27b2  0, mit a,bK 28

29 beide Ableitungen  0  Diskriminante von E  0
nicht-singulär E(K) ist nicht-singulär beide Ableitungen   Diskriminante von E  0 F x (a,b) = -3x2 – a  0 y (a,b) = 2y  0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 29

30 beide Ableitungen  0  Diskriminante von E  0
nicht-singulär E(K) ist nicht-singulär beide Ableitungen   Diskriminante von E  0 F x (a,b) = -3x2 – a  0 y (a,b) = 2y  0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 30

31 beide Ableitungen  0  Diskriminante von E  0
nicht-singulär E(K) ist nicht-singulär beide Ableitungen   Diskriminante von E  0 F x (a,b) = -3x2 – a  0 y (a,b) = 2y  0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 31

32 beide Ableitungen  0  Diskriminante von E  0
nicht-singulär E(K) ist nicht-singulär beide Ableitungen   Diskriminante von E  0 F x (a,b) = -3x2 – a  0 y (a,b) = 2y  0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 32

33 P + Q = R, P=(xP,yP), Q=(xQ,yQ), R=(xR,yR), P  Q
Beispiel P + Q = R, P=(xP,yP), Q=(xQ,yQ), R=(xR,yR), P  Q s = (yP – yQ) / (xP – xQ) xR = s2 – xP – xQ yR = -yP + s(xP – xR) P=(0,0), Q=(1,1), R=(xR,yR) s = (0 - 1) / (0 - 1) = 1 xR = 12 – 0 – 1 = 0 yR = – 0 = 0 P + Q = R = (0,0) = P 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis E(K): y2 = x3 4a3+27b20, a,bK 4· ·02 = 0 33

34 es gibt keine allgemeingültige Formel für #E(FP)
Ordnung #E(FP) Die Anzahl der Punkte einer elliptischen Kurve E(FP) heißt auch Ordnung #E(FP). Hasse-Schranke es gibt keine allgemeingültige Formel für #E(FP) Abschätzung mittels Theorem von Hasse -2p + p + 1  #E(FP)  2p + p + 1 Beispiel -2  #E(F23)  2 -24,  #E(F23)  24,  14  #E(F23)  33 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 34

35 Untergruppen von E(FP)
Untergruppe UP UP := {kP | kZ} ist die von P erzeugte zyklische Untergruppe von E(FP). P ist Generator der Gruppe. Ordnung von UP k0P = P+P+…+P = O, mit k0>0 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis k0-mal Da P Generator der Gruppe ist, spricht man auch von der Ordnung des Punktes P. 35

36 Wahl der elliptischen Kurve
Kurven aus Standards eigene Kurven generieren wichtigster Aspekt große Ordnung n der Punktegruppe in der Praxis ist n zumeist eine 160-Bit große Primzahl 160-Bit = 2160  1,46  1048 Testen Bestimmung der Kurvenordnung (Schoofs Algorithmus) 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Bis zum Anfang der 90-er Jahre war die Bestimmung der Kurvenordnung ein ernstes Problem, was die Generierung das Testen von Kurven sehr erschwert hat. Inzwischen sind die Verbesserungen von Schoofs Algorithmus durch Elkes und Atkin das gängigste Verfahren (abgekürzt: SEA), welches ein effizientes Berechnen ermöglicht. 36

37 Klassen schwacher Kurven
Geringe Ordnung der Kurve Pohlig und Hellman haben gezeigt, wie das ECDLP in diesem Fall in kleinere Probleme unterteilt werden kann. Gegenmittel: Kurve und einen Basispunkt benutzt, so dass die von diesem Punkt erzeugte Untergruppe von großer Primzahlordnung ist. Anomale Kurven #E(FP) = p Smart, Semaev, Satoh und Araki haben gezeigt, dass für diese Kurven ein Algorithmus mit linearer Laufzeit für das ECDLP existiert. Super-singuläre Kurven ord(K) – #E(K) | char(K) Menezes, Okamoto und Vanstone gezeigt, wie man das ECDLP auf das einfache DLP in Erweiterungskörpern von ZP reduzieren kann. Es lässt sich aber sehr leicht feststellen, ob eine bestimmte Kurve super-singulär ist und sich dieser Angriff somit vermeiden. 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis In den folgenden Fällen sind effiziente Algorithmen für das ECDLP bekannt. Solche Klassen von Kurven sind daher für die Kryptographie ungeeignet. 37

38 Andere Klassen spezieller Kurven
Jede Art von Kurve, die auf irgendeine Weise speziell ist, sollte gemieden werden, auch wenn bisher noch kein besonders effizienter Angriff entdeckt worden ist. Zu dieser Klasse von Kurven gehören z.B. die Koblitz-Kurven über F2m, deren Kurvengleichungen nur die Koeffizienten „0“ und „1“ enthalten. Diese Kurven sind besonders interessant, da es für sie hoch effiziente Algorithmen für die Punktarithmetik auf ihnen gibt. Jedoch weiß man inzwischen, dass es möglich ist, das Lösen des ECDLP auf ihnen um einen Faktor m zu beschleunigen, was aber immer noch zu vernachlässigen ist. Es gibt Verfahren, die es ermöglichen, Kurven mit einer bestimmten Punktordnung zu erzeugen. Für Kurven, die so erzeugt worden sind, besteht zwar bisher außer den allgemein anwendbaren und extrem langsamen Verfahren noch keine besondere Angriffsmöglichkeit, dennoch bilden sie eine „besondere“ Klasse von Kurven, so dass man solch eine Angriffsmöglichkeit in der Zukunft nicht ausschließen kann. 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 38

39 Ein kurzer Vergleich zwischen RSA und ECC
Vergleichbare Schlüssellängen 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis Berechnungsaufwand eines privaten Schlüssels in Rechenzeiten für RSA und ECC ECC ist erheblich schneller als RSA, da die benötigten Schlüssellängen bei gleichem Sicherheitsniveau für ECC deutlich kürzer sind als bei klassischen asymmetrischen Verfahren, wie RSA. 39

40 Ein kurzer Vergleich zwischen RSA und ECC
Einsatz des privaten Schlüssels Dennoch liegt es in der Natur der beiden Systeme, dass ECC vor allem für die Aufgaben, die den Einsatz des privaten Schlüssels bedürfen, also digitales Signieren und Entschlüsseln, i.A. um wenigstens einen Faktor 4 schneller ist. Bei der Überprüfung einer Signatur oder dem Verschlüsseln ist hingegen RSA um einen ähnlichen Faktor schneller. Dieser Unterschied rührt vor allem daher, dass der öffentliche RSA Exponent meist bewusst so gewählt wird, dass möglichst effektiv gerechnet werden kann, wohingegen der sich daraus ergebende private Exponent keine Geschwindigkeitsvorteile mit sich bringt. 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 40

41 Schlussbetrachtung Ziel dieser Folien ist es, einen Überblick über die Kryptographie basierend auf elliptischen Kurven zu geben. Zu den hier gegebenen mathematische Ausführungen ist zu sagen, das elliptische Kurven und die zugrunde liegende Mathematik nicht annähernd vollständig erklärt worden sind. So lässt sich beispielsweise der Punkt O in den projektiven Raum einbetten und hat somit auch konkrete Koordinaten und nicht nur die Hilfskonstruktion, die den Punkt im unendlich Fernen der perspektivischen Darstellung erscheinen lässt. Elliptische Kurven lassen sich nicht nur zur Kryptographie verwenden, sondern es existieren auch Verfahren basieren auf elliptischen Kurven, die zur Faktorisierung oder zum Primzahlnachweis dienen. 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 41

42 Literaturverzeichnis
„Elliptische Kurven in der Kryptographie“ A. Werner, Springer, 2002 „Cryptography: Theory and Practice“ D. Stinson, Chapman&Hall/CRC, 2002 „ECC Cryptography Tutorial“ Certicom, „ECC – Elliptic Curve Cryptography“ Cryptovision GmbH, „Krypto-Verfahren basierend auf elliptischen Kurven “ T. Laubrock, 1. Einleitung 2. Elliptische Kurven über reellen Zahlen 3. Elliptische Kurven über Körpern 4. Public-Key Verfahren 5. Elliptische Kurven im Allgemeinen 6. Vergleich ECC RSA 7. Schlussbetrachtung 8. Literaturverzeichnis 42


Herunterladen ppt "Elliptische Kurven in der Kryptographie"

Ähnliche Präsentationen


Google-Anzeigen