Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der.

Ähnliche Präsentationen


Präsentation zum Thema: "Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der."—  Präsentation transkript:

1 Kryptografie und Datensicherheit RSA

2 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der Chinesische Restklassensatz 3. Faktorisierung des RSA - Moduls 4. Andere Angriffsmöglichkeiten 4.1. Berechnung von φ(n) 4.2. Low – Exponent - Attack 4.3. Multiplikation

3 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren

4 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Schutz des geheimen Schlüssels: Die Ermittlung des geheimen Schlüssels kommt einem völligen Aufbruch der Verschlüsselung gleich ● Schutz des RSA-verschlüsselten Textes Die Ermittlung des Textes, ohne den private Key zu finden, ist eine weitere Möglichkeit ● Schutz des symmetrisch verschlüsselten Textes Der Schutz des symmetrisch verschlüsselten Teils ist im Allgemeinen gewährleistet

5 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Cyphertext – Only – Angriffe ● Bob gibt Eve den öffentlichen Schlüssel ● Eve verschlüsselt zwei selbstgewählte Texte ● Eve gibt Bob beide Texte ● Bob verschlüsselt einen der beiden Texte ● Bob gibt Eve den verschlüsselten Text ● Eve rät welcher der beiden Texte verschlüsselt wurde

6 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Adaptive - Chosen - Cyphertext – Angriffe ● Bob gibt Eve den öffentlichen Schlüssel ● Eve lässt sich von Bob beliebige verschlüsselte Texte entschlüsseln ● Eve verschlüsselt zwei selbstgewählte Texte ● Eve gibt Bob beide Texte ● Bob verschlüsselt einen der beiden Texte ● Bob gibt Eve den verschlüsselten Text ● Eve lässt sich von Bob beliebige verschlüsselte Texte entschlüsseln, außer dem, den Bob Eve gegeben hat ● Eve rät welcher der beiden Texte verschlüsselt wurde

7 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Reduktion von RSA auf bekannte mathematische Probleme ● Es gibt keine Reduktion auf bewiesenermaßen schwere oder unlösbare mathematische Probleme ● Es gibt jedoch eine Reduktion auf ein ungelöstes mathematisches Problem großer akademischer Aufmerksamkeit

8 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 2. Der Chinesische Restklassensatz

9 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Erstmals gelöst von Sun Zi (3. Jhd.) ● Erst 1247 von Ch'in Chiu-Shao wiederentdeckt

10 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Löst simultane Kongruenzen der Form: Mit als zueinander prime ganze Zahlen.

11 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Wir führen ein: Mit:

12 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

13 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

14 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

15 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

16 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

17 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

18 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

19 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

20 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Beispiel:

21 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Es gilt:

22 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Daraus folgt: Es gilt nun:

23 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung a_0 = a; b_0 = b; t_0 = 0; t = 1; q = cut(a_0 / b_0) r = a0 – q*b_0 while r > 0 if b_0 != 1 then b has no inverse else return(t) Ermittlung des multiplikativ Inversen - Pseudocode temp = (t_0 – q*t) % a; t_0 = t; t = temp; a_0 = b_0; b_0 = r; q = cut(a_0 / b_0) r = a_0 - q*b_0

24 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Daraus folgt: Nun definieren wir die Umkehrfunktion:

25 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 3. Faktorisierung des RSA - Moduls

26 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Wiederholung: Ein RSA-Schlüsselpaar besteht aus: ● Der Primzahl p ● Der Primzahl q ● Dem RSA-Modul n ● Dem φ - Funktionswert φ(n) ● Dem Verschlüsselungsexponent a ● Dem Entschlüsselungsexponent b ● Dem öffentlichen Schlüssel (n,a) ● Und dem privaten Schlüssel (b)

27 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Wiederholung: Ermittelt werden diese: ● Primzahl p wird frei gewählt ● Primzahl q wird frei gewählt ● n = pq ● φ(n) = (p-1)*(q-1) ● a wird frei gewählt ● b ergibt sich aus: ab = 1 mod φ(n) RSA – Modul: n φ – Wert: φ(n) Verschlüsselungs- exponent: a Entschlüsselungs - exponent b öff.Schlüssel: (n,a) priv.Schlüssel: (b)

28 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Eve hat gegeben: ● Den verschlüsselten Text c (Cyphertext) ● Den öffentlichen Schlüssel aus a und n ● mit Hilfe dieser Daten muss Eve die Verschlüsselung knacken RSA – Modul: n φ – Wert: φ(n) Verschlüsselungs- exponent: a Entschlüsselungs - exponent b öff.Schlüssel: (n,a) priv.Schlüssel: (b)

29 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Eve möchte ermitteln: ● Den entschlüsselten Text m (Plaintext) ● Den privaten Schlüssel b RSA – Modul: n φ – Wert: φ(n) Verschlüsselungs- exponent: a Entschlüsselungs - exponent b öff.Schlüssel: (n,a) priv.Schlüssel: (b)

30 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Gesucht sind also Funktionen und Algorithmen, die leisten können: (c,(n,a)) → (b,m) Da mithilfe des Cyphertextes und dem Entschlüsselungsexponent der Plaintext ermittelt werden kann ergibt sich mit b auch m. RSA – Modul: n φ – Wert: φ(n) Verschlüsselungs- exponent: a Entschlüsselungs - exponent b öff.Schlüssel: (n,a) priv.Schlüssel: (b)

31 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung (c,(n,a)) → b: ● ab = 1 mod φ(n) ● ab = 1 mod (p-1)(q-1) ● Gesucht sind also p und q ● Da n =pq, mit p und q Primzahlen bietet sich eine Primfaktorzerlegung von n an RSA – Modul: n φ – Wert: φ(n) Verschlüsselungs- exponent: a Entschlüsselungs - exponent b öff.Schlüssel: (n,a) priv.Schlüssel: (b)

32 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Der Pollard – n-1 – Algorithmus ● Erwartet n zur Eingabe ● Ist n ungerade wende Pollard – n-1 – Algorithmus an ● Ist n gerade wende den Probedivision – Algorithmus an ● Erwartet weiterhin zur Eingabe B (Bound), so dass ● mit p als Primteiler von n und q | (p-1)

33 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung a = 2; for j = 2 to B do a = a^j % n; d = ggT(a-1, n); if 1 < d < n then return(d); else return(failure); Pollard – n-1 – Algorithmus - Pseudocode

34 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung a = 2; for j = 2 to B do a = a^j % n; d = ggT(a-1, n); if 1 < d < n then return(d); else return(failure); Es gilt: ● q | (p – 1) ● p < B Daraus folgt: ● p | B! → (q-1) | B! ● Am Ende der loop-Schleife gilt: ● Da p | n gilt: ● Nach Fermat gilt:

35 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Der kleine Satz von Fermat: Unter der Vorraussetzung a mit p teilerfremd:

36 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Es gilt: ● q | (p – 1) ● p < B Daraus folgt: ● p | B! → (q-1) | B! ● Am Ende der loop-Schleife gilt: ● Da p | n gilt: ● Nach Fermat gilt: ● Daraus folgt: p | a-1 a = 2; for j = 2 to B do a = a^j % n; d = ggT(a-1, n); if 1 < d < n then return(d); else return(failure);

37 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● (p-1) | B! ● Setze d = ggT(a-1, n) ● Es gilt nun: p | d, da p | (a-1) ● d ist nun ein Primfaktor von n ● Setze Algorithmus nun fort einmal mit d und einmal mit n/d, wenn d != n/d a = 2; for j = 2 to B do a = a^j % n; d = ggT(a-1, n); if 1 < d < n then return(d); else return(failure);

38 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung ● Das Ergebnis liefert die Primfaktor- zerlegung von p und q. ● Laufzeit: ● erhebliche Laufzeitverbesserung wenn p-1 nur in kleine Primfaktoren zerlegt wird ● Ergo muss der RSA-Algorithmus diesen Fall ausschließen a = 2; for j = 2 to B do a = a^j % n; d = ggT(a-1, n); if 1 < d < n then return(d); else return(failure);

39 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 4. Andere Angriffsmöglichkeiten 4.1. Berechnung von φ(n) 4.2. Low – Exponent - Attack 4.3. Multiplikativität

40 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 4.1. Berechnung von φ(n) ● n = pq ● φ<(n) = (p-1)(q-1) ● ● Die Beiden Wurzeln ergeben p und q ● Anschließend muss dennoch n faktorisiert werden

41 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 4.2. Low – Exponent - Attack Wieners Low Decryption Exponent Attack (q1,..., qm; rm) = EA(b,n); c0 = 1; c1 = q1; d0 = 0; d1 = 1; for j = 2 to m do return(failure); c[j] = q[j] * c[j-1] + c[j-1] d[j] = q[j] * d[j-1] + d[j-2] N' = (d[j]*b -1) / c[j] If n' is an integer Thenp = sqrt((n – n' + 1)*x + n) If p and q integer and 0 < p < n and 0 < q < n Then return(p,q);

42 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 4.3. Multiplikativität ● m1 und m² seien verschlüsselt zu c1 und c2 ● Es gilt:

43 Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung Quellen und Referenzen: „Cryptography, Theory and Practice“ Douglas R. Stinson, Chapman and Hall 2006, Third Edition „Einführung in die Kryptographie“ Prof. Dr. Johannes Buchmann, Springer 2004, Dritte Auflage


Herunterladen ppt "Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der."

Ähnliche Präsentationen


Google-Anzeigen