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

Slides:



Advertisements
Ähnliche Präsentationen
Eine Einführung in das RSA-Verfahren an Beispielen
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Beispiel: RSA Man nehme 2 große Primzahlen p und q. p = 3 , q = 5
Beispiel zum RSA-Algorithmus
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Asymmetrische Kryptographie
GIN1b – Exkurs: Primzahlen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Public Key Kryptographie mit dem RSA Schema
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Bit Commitment mit quadratischen Resten Vortrag von Josef Pozny
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Grundsätzliche Resultate Theorem: Für jeden Relationstyp R(A 1,...,A n ) und jede Menge von FDs über {A 1,...,A n } gibt es: –eine verlustlose (aber nicht.
Algorithmus zur Zerlegung in 3NF (1)
Effiziente Faktorisierung
Einwegfunktionen mit und ohne „Falltür“
KRYPTOGRAFIE.
Asymmetrische Verfahren
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
TU GRAZ RSA-Public-Key-Kryptograhie Shor `94
Sicherheit in Computernetzen
Passive Angriffe ... nicht-invasiv.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Institut für Theoretische Informatik
Der kleine Satz des Fermat
(C) 2003, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz 1 RSA-Algorithmus 1978 von Ronald Rivest, Adi Shamir und Leonard Adleman erfunden.
teKRY409 Referat Bernet: Schlüsselmanagement
ENDLICHE KÖRPER RSA – VERFAHREN.
Michal Olejniczak Pawel Kiedrowski
Projekt Crypt Einfache kryptografische Verfahren
RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt.
Folie Nr. Stand Jänner 2008 RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt RSA ist ein asymmetrisches Kryptosystem 
„Inside CAS“ Teil I: Polynome faktorisieren Teil II: Automatisches Beweisen Heinz Klemenz, KZO Wetzikon,
Fallunterscheidung und Iteration Programmierung I Prof. Dr. Michael Löwe.
© 2013 TravelTainment Kryptographie in der IT Kryptographische Verfahren und ihre Anwendung in der IT.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2.
LINUX II Unit Remote Zugriff via SSH.
Systems Architecture RSA & DSA Signaturen Elliptische-Kurven-Kryptographie Mechmet Chiousemoglou Christian Krause 29.Mai.
Kryptographie ● Motivation ● Theoretisches ● Symmetrische Verschlüsselung: RC4 ● Asymmetrische Verschlüsselung: RSA.
Verschlüsselung nach dem RSA-Verfahren
RSA public key encryption
Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim
Aufgabenteil (mit Hilfsmittel)
Wiederholung Größte gemeinsame Teiler Satz von Bezout:
Mathematik für alle Bernhard Riemann
Wiederholung Gerichtete Graphen Digraph D=(V,E)
Symmetrische Verschlüsselung
Christian Scheideler WS 2008
Klausurtermin Klausur Diskrete Mathematik I Do stündig
Wiederholung Körper K Eigenschaften von multiplikativen Gruppen
Wiederholung Gruppen Untergruppen Gruppenisomorphismen
 Präsentation transkript:

Kryptografie und Datensicherheit RSA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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)

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)

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)

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)

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)

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)

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

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:

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

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);

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);

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);

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

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

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);

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

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