Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Kryptographie und Datensicherheit ElGamal Systeme Michal Olejniczak Pawel Kiedrowski.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Kryptographie und Datensicherheit ElGamal Systeme Michal Olejniczak Pawel Kiedrowski."—  Präsentation transkript:

1 Seminar Kryptographie und Datensicherheit ElGamal Systeme Michal Olejniczak Pawel Kiedrowski

2 Seminar Kryptographie und Datensicherheit ElGamal Systeme 2 Übersicht Über Taher Elgamal Einführung in die Gruppentheorie Problem der diskreten Logarithmen ElGamal Kryptosystem Massey-Omura Verfahren Der Shanksche Algorithmus Pohlig-Hellman Algorithmus Index Calculus Methode DLP in (Z n, +)

3 Seminar Kryptographie und Datensicherheit ElGamal Systeme 3 Über Taher Elgamal Amerikanischer Wissenschaftler –Doktor an der Stanford-Universität –Spezialgebiete: Kryptologie und Datensicherheit Erfinder des ElGamal Kryptosystems („A Public Key Cryptosystem and a Signature Scheme based on Diskrete Logarithms “ aus 1985) Zahlreiche Beiträge zur Kryptologie: –Digital Signature Standard –SSL-Protokoll

4 Seminar Kryptographie und Datensicherheit ElGamal Systeme 4 Einführung in die Gruppentheorie (I) Verknüpfung: Abbildung f, die ein Paar (a, b) auf einen Wert f(a, b) abbildet. Falls a, b  M und f(a, b)  M gilt (also f : M x M -> M), dann spricht man von einer Verknüpfung in M. Die Menge M zusammen mit der Verknüpfung heißt Verknüpfungsgebilde.

5 Seminar Kryptographie und Datensicherheit ElGamal Systeme 5 Einführung in die Gruppentheorie (II) Das Verknüpfungsgebilde (G, *), wobei G eine Menge und * eine zweistellige Verknüpfung auf G ist, heißt Gruppe, wenn folgende Axiome erfüllt sind: –Abgeschlossenheit: Sind a und b Elemente aus M, so ist auch a × b aus G. –Assoziativität: a × (b × c) = (a × b) × c –Neutrales Element: Es existiert ein Element e (auch 1 genannt) in G, so dass für alle Elemente gilt a × e = e × a = a. –Inverses Element: Zu jedem Element a in G existiert ein Element, nenne es a -1, so dass a × a -1 = a -1 × a = e.

6 Seminar Kryptographie und Datensicherheit ElGamal Systeme 6 Einführung in die Gruppentheorie (III) Anzahl der Elemente wird als Ordnung der Gruppe bezeichnet, geschrieben |G| Ein Gruppenelement g  G hat die Ordnung k, wenn k die kleinste natürliche Zahl ist, so dass g k = e gilt. Endliche Gruppen haben folgende Eigenschaft: g |G| = e (dies kann auch für Untergruppen gelten).

7 Seminar Kryptographie und Datensicherheit ElGamal Systeme 7 Einführung in die Gruppentheorie (IV) Betrachtet werden natürliche Zahlen bis Obergrenze n => Erzwingung der Endlichkeit. Ergebnisse werden modular reduziert. Wenn a und b ganze Zahlen sind mit a > b > 0 und es gilt: a = q * b + r, dann ist r der Rest bei der Division a/b, 0 ≤ r < b. Eine Funktion mod: Z x N -> N heiße Modulo- Funktion, wenn gilt: Der größte gemeinsame Teiler von a und b, ggT(a,b), ist diejenige größte natürliche Zahl g, für die gilt: a = q * g ^ b = p * g, wobei p, q  N +

8 Seminar Kryptographie und Datensicherheit ElGamal Systeme 8 Einführung in die Gruppentheorie (V) Es soll die Gruppe (Z n, ) definiert werden. Es sei Z n ={0,1,2, …, n-1} Für a, b  Z n ist die Verknüpfung dann folgendermaßen definiert: a b := (a + b) mod n Alle Axiome für diese Gruppe sind erfüllt Die Ordnung der Gruppe beträgt |Z n |=n

9 Seminar Kryptographie und Datensicherheit ElGamal Systeme 9 Einführung in die Gruppentheorie (VI) Betrachtet wird die Verknüpfung (Z n, ). Null ist kein Element der Gruppe Z n. Problem: das inverse Element existiert im allgemeinen nicht. Lösung: man definiert eine Gruppe Z n *, man nimmt nur die Elemente a < n, die teilerfremd zu n sind: Z n * = {a  Z n | ggT(a, n) = 1} Die Ordnung der Gruppe wird über die Eulersche Ф-Funktion berechnet: |Z n * | = Ф(n) –Ф(p) = p – 1 falls p prim ist –Ф(p*q) = (p – 1)*(q – 1) falls p und q prim sind Zyklische Gruppe: {  i : 0 ≤ i ≤ p - 2} |Z n * | ist zyklisch, wenn n prim ist.

10 Seminar Kryptographie und Datensicherheit ElGamal Systeme 10 Problem der diskreten Logarithmen (I) Damit die Gruppe G für ein Kryptosystem geeignet ist, muss die Exponentation in G die Eigenschaften einer Einwegfunktion erfüllen. –Die Berechnung von ist effizient möglich –Die Berechnung von ist schwer

11 Seminar Kryptographie und Datensicherheit ElGamal Systeme 11 Problem der diskreten Logarithmen (II) Beispiel für Z 11 = {0,1,2,…,10} a = 0 => 3 a mod p = 3 0 mod 11 = 1 mod 11 = 1 a = 1 => 3 a mod p = 3 1 mod 11 = 3 mod 11 = 3 a = 2 => 3 a mod p = 3 2 mod 11 = 9 mod 11 = 9 a = 3 => 3 a mod p = 3 3 mod 11 = 27 mod 11 = 5 a = 4 => 3 a mod p = 3 4 mod 11 = 81 mod 11 = 4 a = 5 => 3 a mod p = 3 5 mod 11 = 243 mod 11 = 1 a = 6 => 3 a mod p = 3 6 mod 11 = 729 mod 11 = 3 a = 7 => 3 a mod p = 3 7 mod 11 = 2187 mod 11 = 9 a = 8 => 3 a mod p = 3 8 mod 11 = 6561 mod 11 = 5 …

12 Seminar Kryptographie und Datensicherheit ElGamal Systeme 12 ElGamal Kryptosystem (I) Schlüsselerzeugung: man wählt eine Primzahl p (für die das DL Problem in Z p * unlösbar ist) und zwei andere Zahlen  (Primitivelement Z p * ) und a die kleiner als p sind. Man berechnet β: β =  a mod p –Öffentlicher Schlüssel (p, , β) wird publiziert –Privater Schlüssel (p, , β, a) Verschlüsselung: Um eine Nachricht x zu verschlüsseln, wählt man eine Zahl k und berechnet: e K (x,k)=(y 1,y 2 ), wo y 1 =  k mod p, y 2 = x β k mod p

13 Seminar Kryptographie und Datensicherheit ElGamal Systeme 13 ElGamal Kryptosystem (II) Entschlüsselung: d K (y 1, y 2 ) = y 2 (y 1 a ) -1 mod p Man berechnet das erhaltene  k zur Potenz a: (  k ) a =  ka = (  a ) k = β k Man findet eine Inverse ξ zur β k (modulo p) mit Hilfe des erweiterten Euklidschen Algorithmus. Schließlich dividiert man mit β x : (x* β k )* ξ ≡ x * (β k * ξ ) ≡ x * 1 ≡ x mod p

14 Seminar Kryptographie und Datensicherheit ElGamal Systeme 14 ElGamal Kryptosystem (III) Wir nehmen p = 2579,  = 2 und a = 765 an. Berechnung von β: β = mod 2579 = 949 Nachricht x = 1299 wird gesendet. Die zufällige Zahl ist k = 853. Man berechnet:  k = mod 2579 = 435 x * β k = 1299 * mod 2579 = 2396 Entschlüsselung der Nachricht (435, 2396) x = 2396*( ) -1 mod 2579 = 1299

15 Seminar Kryptographie und Datensicherheit ElGamal Systeme 15 ElGamal Kryptosystem (IV) β =  a mod p y 1 =  k mod p y 2 = x β k mod p x’ = y 2 * y 1 p -1 - a mod p x’ = y 2 * y 1 p -1 - a = (x * β k ) * (  k ) p -1 - a = = x * (  a ) k *  -ak *  k(p-1) x’ = x *  k(p-1) = x

16 Seminar Kryptographie und Datensicherheit ElGamal Systeme 16 ElGamal Kryptosystem (V) Momentan kann ElGamal als ein effektives Kryptosystem angesehen werden. Derzeit keine effizienten Algorithmen zur Berechnung diskreter Logarithmen. Zur Verschlüsselung sind zwei modulare Exponentationen nötig. Zur Entschlüsselung ist eine modulare Exponentation erforderlich.

17 Seminar Kryptographie und Datensicherheit ElGamal Systeme 17 ElGamal Kryptosystem (VI) Für Gruppe Z p * und p > 500 Bit –512 Bits (geringe Sicherheit) bis 1024 Bits (hohe Sicherheit) DL-Problem hängt von der Wahl der Gruppe ab. –Momentan so schwer wie Faktorisierung angesehen JahrSchlüssel- länge

18 Seminar Kryptographie und Datensicherheit ElGamal Systeme 18 Massey-Omura Verfahren (I) Kryptosystem das ebenfalls auf dem Problem des diskreten Logarithmus basiert. Hat keine öffentliche Schlüssel Keine gemeinsame geheime Schlüssel Dient hauptsächlich zum Austausch von Schlüsseln

19 Seminar Kryptographie und Datensicherheit ElGamal Systeme 19 Massey-Omura Verfahren (II) Wir betrachten Gruppe Z p *, p ist Primzahl. Beobachtung: sei e  Z p * und d=e -1 mod (p-1) das heißt ed  1(mod p-1). Dann gilt für x  Z p * x ed  x s(p-1)+1 für ein s  N  x (p-1)s x  x (mod p) weil x (p-1)  1 Kommunikation - alle Teilnehmer kennen eine Primzahl p. A möchte an B Nachricht m  Z p * senden.

20 Seminar Kryptographie und Datensicherheit ElGamal Systeme 20 Massey-Omura Verfahren (III)

21 Seminar Kryptographie und Datensicherheit ElGamal Systeme 21 Massey-Omura, Zusammenfassung Nachteil: wir brauchen drei Nachrichten zum Schlüsseltausch und das macht „man-in-the- middle“-Angriffe möglich. Vorteil: Jeder Teilnehmer hat einen Schlüssel zum Verschlüsseln und einen zum Entschlüsseln. Keiner der Teilnehmer kennt die Schlüsseln des anderen. Es seiden jemand wird eine DL-Instanz brechen.

22 Seminar Kryptographie und Datensicherheit ElGamal Systeme 22 Algorithmen für das DL-Problem Berechne  i solange, bis  =  a gefunden ist. Algorithmus braucht eine Laufzeit von O(n);

23 Seminar Kryptographie und Datensicherheit ElGamal Systeme 23 Algorithmen für das DL-Problem Der Shanksscher Algorithmus Wir suchen a, 0  a  n-1 :  a =  bzw. a = log   Beobachtung: Sei m :=  n. Wir können schreiben: log   = mj + i mit i,j  0 und i  m-1 Wir möchten jetzt zeigen, dass auch j  m-1 darum nehmen wir an, dass j  m => dann log   = mj + i  m 2  n aber: a = log    n-1 Widerspruch !

24 Seminar Kryptographie und Datensicherheit ElGamal Systeme 24 Der Shanksscher Algorithmus (I)

25 Seminar Kryptographie und Datensicherheit ElGamal Systeme 25 Der Shanksscher Algorithmus (II) Warum funktioniert das? Wenn unsere Suche in Schritt 6 erfolgreich ist, dann gilt für i und j :  mj =  -i   mj+i =   mj + i = log  

26 Seminar Kryptographie und Datensicherheit ElGamal Systeme 26 Der Shanksscher Algorithmus (III) Beispiel Wir wollen log in (Z 809 *,*) finden. 809 ist Primzahl. Wir haben  =3, n=808,  =525 und m=  808  29 Jetzt haben wir  29 mod 809 = 99 Zuerst rechnen wir Paaren (j, 99 j mod809) ´ für 0  j  28 Dann rechnen wir Paaren (i, 525*(3 i ) -1 mod809) für 0  i  28

27 Seminar Kryptographie und Datensicherheit ElGamal Systeme 27 Der Shanksscher Algorithmus (IV) für 0  j  28 (0,1) (1,99) (2,93) (3,308) (4,559) (5,329) (6,211) (7,664) (8,207) (9,268) (10,644) (11,654) (12,26) (13,147) (14,800) (15,727) (16,781) (17,464) (18,632) (19,275) (20,528) (21,496) (22,564) (23,15) (24,676) (25,586) (26,575) (27,295) (28,81 ) 0  i  28 (0,525) (1,175) (2,328) (3,379) (4,396) (5,132) (6,44) (7,554) (8,724) (9,511) (10,440) (11,686) (12,768) (13,256) (14,355) (15,388) (16,399) (17,133) (18,314) (19,644) (20,754) (21,521) (22,713) (23,777) (24,259) (25,356) (26,658) (27,489) (28,163 )

28 Seminar Kryptographie und Datensicherheit ElGamal Systeme 28 Der Shanksscher Algorithmus (V) Jetzt müssen wir diese zwei Listen miteinander vergleichen und wir finden heraus dass (10,644) in L 1 und (19,644) in L 2 den selben wert haben. In unseren Beispiel a ist gleich log = (29 * ) mod 808 = 309 Wir prüfen jetzt ob unser Ergebnis stimmt  525 (mod 809)

29 Seminar Kryptographie und Datensicherheit ElGamal Systeme 29 Der Shanksscher Algorithmus (VI) Komplexität Algorithmus braucht eine Laufzeit von O(m log m); bei Vernachlässigung logarithmischer Faktoren auf O(m) reduzierbar Dise Methode braucht auch vielen Speicherplatz für die beiden Listen

30 Seminar Kryptographie und Datensicherheit ElGamal Systeme 30 Algorithmen für das DL-Problem Der Pohlig-Hellman-Algorithmus Zuerst betrachten wir ein System von linearen Kongruenzen mit a 1,..., a r  N, m 1,...,m r  N +, ggT(m i, m j )= 1 für i  j und 1  i,j  r. Wir suchen solche x, die alle Kongruenzen gleichzeitig erfüllen.

31 Seminar Kryptographie und Datensicherheit ElGamal Systeme 31 Der Pohlig-Hellman-Algorithmus (I) Zur Lösung von solchen Systeme brauchen wir den Chinesischen Restsatz: Gegeben sei ein System von linearen Kongruenzen. Alle Lösungen eines solchen Systems sind kongruent modulo M:= m 1 m 2... m r, und die Lösung modulo M ist

32 Seminar Kryptographie und Datensicherheit ElGamal Systeme 32 Der Pohlig-Hellman-Algorithmus (II) Wir gehen davon aus, dass wir die Primfaktoren von n kennen. n = p 1 C 1 * p 2 C 2 *...* p k C k Wo p 1,..., p k verschiedene Primzahlen sind. Wir suchen a = log   (mod n). Nehmen wir an, dass wir a mod p i C i für alle Primfaktoren p i, 1  i  k, kennen, also Zahlen x 1,..., x k mit:

33 Seminar Kryptographie und Datensicherheit ElGamal Systeme 33 Der Pohlig-Hellman-Algorithmus (III) Wie finden wir a mod p i C i ? Wir suchen x = a mod q c für gegebene Primzahl q und ein c, für die gilt: n =0 (mod q c ) n  0 (mod q c+1 ) Wir können auch schreiben da ß: a = x + sq C

34 Seminar Kryptographie und Datensicherheit ElGamal Systeme 34 Der Pohlig-Hellman-Algorithmus (IV) Für s  N. dann folgende Formel für x stimmt. x = a 0 q 0 + a 1 q a C-1 q C-1 für 0  a  q-1 Wir berechnen a 0. Dann berechnen wir a j aus a j-1 für j = 1,...,c-1 Um a 0 zu berechnen benutzen wir folgende Behauptung :  n/q =  a o n/q

35 Seminar Kryptographie und Datensicherheit ElGamal Systeme 35 Der Pohlig-Hellman-Algorithmus (V) Beweis:  n/q =  a o n/q

36 Seminar Kryptographie und Datensicherheit ElGamal Systeme 36 Der Pohlig-Hellman-Algorithmus (VI) Jetzt müssen wir a j aus a j-1 für j = 1,...,c-1 berechnen Wir definieren:  0 :=   j :=  -(a o + a 1 q+...+ a j - 1 q ) für 1  j  c-1 Man kann beweisen, dass unsere Behauptung auch für folgende Gleichung erfüllt ist:

37 Seminar Kryptographie und Datensicherheit ElGamal Systeme 37 Der Pohlig-Hellman-Algorithmus (VII)

38 Seminar Kryptographie und Datensicherheit ElGamal Systeme 38 Der Pohlig-Hellman-Algorithmus (VIII) Komplexität Algorithmus braucht eine Laufzeit von O(cq); Wenn wir in Zeile 4 Shanksschen Algorithmus benutzen um das a zu finden dann erhalten wir Gesamtlaufzeit von O(c  q)

39 Seminar Kryptographie und Datensicherheit ElGamal Systeme 39 Die Index Calculus Methode Die Index Calculus Methode lässt sich nur in Z p * mit p Primzahl und  primitives Element modulo p anwenden. Sie benutz eine Menge B={p 1, p 2,..., p B } „kleiner“ Primzahlen. Funktionsweise: 1. Die Logarithmen der B Primzahlen in B werden bestimmt. 2. Mit Hilfe der nur bekannten diskreten Logarithmen der B Primzahlen wird dann log   berechnet.

40 Seminar Kryptographie und Datensicherheit ElGamal Systeme 40 Diskreter Logarithmus Problem in ( Z n,+) Reduktion des Problems auf die additive Gruppe ( Z n,+) mit Hilfe eines Isomorphismus Ф: ( Z n,. )  ( Z n,+). Das Diskreter Logarithmus Problem lässt sich wie folgt übertrage: Finde a  Z n mit  a =  (mod n). Schnell zu berechnen, da a=   -1 mod n. Es existiert keine effiziente Methode zur Bestimmung des Isomorphismus.

41 Seminar Kryptographie und Datensicherheit Danke für die Aufmerksamkeit Fragen? Fragen


Herunterladen ppt "Seminar Kryptographie und Datensicherheit ElGamal Systeme Michal Olejniczak Pawel Kiedrowski."

Ähnliche Präsentationen


Google-Anzeigen