Kryptographische Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Kryptographische Algorithmen"

Transkript

1 Kryptographische Algorithmen Lerneinheit 6: Public Key Kryptosysteme Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2016/

2 Public Key Kryptosysteme Einleitung Einleitung Thema dieser Lerneinheit ist die Funktionsweise von Public Key Kryptosystemen. Die Lerneinheit gliedert sich in folgende Abschnitte: Aufbau von Public Key Kryptosystemen Generierung von Primzahlen Rabin-Kryptosystem RSA-Kryptosystem Diffie Hellman Key Exchange El-Gamal-Kryptosystem Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 2 / 138

3 Public Key Kryptosysteme Aufbau Aufbau eines Public Key Kryptosystems Alice Oskar Bob x x enc y unsicherer Kanal y dec k e k e k d Schlüsselverzeichnis Benutzer Schlüssel Bob k e Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 3 / 138

4 Public Key Kryptosysteme Sicherheitsaspekte Sicherheitsaspekte Die Sicherheit gängiger Public Key Kryptosysteme basiert auf der (hoffentlich) hohen Komplexität von algorithmischen Problemen Häufig verwendete Problemstellungen: Faktorisierung von ganzen Zahlen Berechnung des diskreten Logarithmus Berechnung von quadratischen Resten Die Parameter von Public Key Kryptosystemen werden mittels Pseudo-Zufallszahlen-Generatoren erzeugt Voraussetzungen: Für kryptografische Zwecke geeignete Generatoren für Pseudo-Zufallszahlen Primzahltests Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 4 / 138

5 Public Key Kryptosysteme Sicherheitsaspekte Faktorisierung von ganzen Zahlen Faktorisierungsproblem Gegeben: Zusammengesetzte Zahl n N Gefragt: Finde einen Faktor f von n, d.h., eine Zahl f mit folgenden Eigenschaften: 1 < f < n, und f n Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 5 / 138

6 Public Key Kryptosysteme Sicherheitsaspekte Berechnung des diskreten Logarithmus Diskreter-Logarithmus-Problem Gegeben: Primzahl p Erzeugendes Element α von Z p Element β Z p Gefragt: Berechne die eindeutige ganze Zahl a, 1 a p 1, so dass α a β (mod p). Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 6 / 138

7 Public Key Kryptosysteme Sicherheitsaspekte Beispiel zum Diskreten Logarithmus Betrachte Z 11 und α = 2. i α i mod Demnach ist log 2 (10) = 5 und log 2 (6) = 9. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 7 / 138

8 Public Key Kryptosysteme Sicherheitsaspekte Einwegfunktionen Eine Abbildung f bezeichnet man als Einwegfunktion, falls sie folgende Bedingungen erfüllt: f kann man einfach berechnen Selbst wenn der Algorithmus zur Berechnung von f bekannt ist, ist es für fast alle y schwer, ein x zu finden, so dass f(x) = y gilt Ob Einwegfunktionen existieren, ist eine der offenen Fragen in der Kryptografie Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 8 / 138

9 Public Key Kryptosysteme Sicherheitsaspekte Kandidaten für Einwegfunktionen Produkt zweier Primzahlen: f(p, q) = p q, wobei p und q Primzahlen. Diskrete Exponentialfunktion: f(x) = g x mod p, wobei p eine Primzahl und g ein Generator von (Z p, p ) ist. Modulare Polynomfunktion: f(x) = a n x n a 1 x + a 0 mod p, wobei p eine Primzahl und a i Z p für 0 i n. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 9 / 138

10 Public Key Kryptosysteme Sicherheitsaspekte Falltürfunktionen Eine Abbildung f bezeichnet man als Falltürfunktion, falls sie folgende Bedingungen erfüllt: f ist einfach zu berechnen. Bei Kenntnis einer mit f verbundenen Information (der sogenannten Falltürinformation), ist die Gleichung f(x) = y für gegebenes y leicht lösbar Ohne Kenntnis der Falltürinformation ist die Gleichung f(x) = y für alle y schwer lösbar Bisher konnte nicht nachgewiesen werden, dass Falltürfunktionen existieren. Ein Kandidat für eine Falltürfunktion ist die bei RSA eingesetzte modulare Potenzfunktion Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 10 / 138

11 Generierung von Primzahlen Generierung von Primzahlen Primzahlen sind die Grundlage für viele Public Key Verfahren Die verwendeten Primzahlen müssen geheim gehalten werden Konsequenz: ein Benutzer muss in der Lage sein, Primzahlen auf eine vertrauliche Art und Weise zu generieren Ansatz: 1. Zähle zufällig unter Gleichverteilung eine ungerade Zahl mit einer vorgegebenen Größe 2. Überprüfe, ob die Zahl eine Primzahl ist Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 11 / 138

12 Generierung von Primzahlen Der Primzahlsatz Der Primzahlsatz Satz 1 (Primzahlsatz) Sei π(n) gleich der Anzahl der Primzahlen, die kleiner-gleich n sind, d.h., π(n) = {p N p ist ein Primzahl und p n}. Dann gilt für alle n N: π(n) lim n n ln n 1. Interpretation: Für große n ist π(n) n ln n Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 12 / 138

13 Generierung von Primzahlen Der Primzahlsatz Anwendung des Primzahlsatzes Anwendung: Im Mittel muss man m = ln(2k ) 2 = k ln(2) 2 ungerade Zahlen aus {1, 3,..., 2 k 1} zufällig unter Gleichverteilung ziehen, um eine Primzahl zu erhalten. Zahlenbeispiele: k m k m Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 13 / 138

14 Generierung von Primzahlen Ein einfacher Primzahltest Ein einfacher Primzahltest Satz 2 (Fermat) Ist n eine Primzahl, dann gilt für alle a Z n: a n 1 1 (mod n). Ansatz: Finde ein a {2,..., n 1}, so dass a n 1 1 (mod n). In diesem Fall ist n keine Primzahl. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 14 / 138

15 Generierung von Primzahlen Ein einfacher Primzahltest Probleme und Lösungen Probleme 1. a n 1 mod n muss effizient berechnet werden 2. Man kann nicht alle Elemente a {2,..., n 1} testen 3. Es gibt Zahlen, die durch den Test nicht erkannt werden Lösungen 1. Einsatz der modularen Exponentiation 2. Zufällige Auswahl von a 3. Einsatz einer verbesserten Testmethode Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 15 / 138

16 Generierung von Primzahlen Ein einfacher Primzahltest Modulare Exponentation ModularExponentation(a, b, n) Input: a, b, n ganze Zahlen, wobei n > 0 Output: a b mod n 1 d := 1 2 Sei b k 1,..., b 0 die Binärdarstellung von b 3 for i := k 1 downto 0 do 4 d := (d d) mod n 5 if (b i = 1) then 6 d := (d a) mod n 7 return d Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 16 / 138

17 Generierung von Primzahlen Carmichael-Zahlen Carmichael-Zahlen Eine Carmichael-Zahl ist eine zusammengesetzte Zahl n mit der Eigenschaft, dass a n 1 1 (mod n) für alle a {1, 2,..., n 1}. Bemerkungen: Carmichael-Zahlen sind extrem selten. Es gibt nur 255 solche Zahlen, die kleiner als 10 8 sind Die ersten drei Carmichael-Zahlen sind 561, 1105 und 1729 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 17 / 138

18 Generierung von Primzahlen Verbesserung des Primzahltests Verbesserung des Primzahltests Satz 3 Ist n eine Primzahl, dann hat die Gleichung x 2 1 (mod n) genau die zwei Lösungen x = 1 und x = 1 = n 1. Folgerung: Ist die Gleichung x 2 1 (mod n) lösbar für ein x mit x 1 und x n 1, dann ist n keine Primzahl. Ansatz: Modifikation der modularen Exponentiation Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 18 / 138

19 Generierung von Primzahlen Verbesserung des Primzahltests Algorithmus Witness(a, n) Witness(a, n) Input: a, n ganze Zahlen, wobei n > 0 und 1 a n 1 Output: true, falls n keine Primzahl, false, sonst. 1 Sei b k, b k 1,..., b 0 die Binärdarstellung von n 1 2 d := 1 3 for i := k downto 0 do 4 x := d 5 d := (d d) mod n; 6 if (d = 1) and (x 1) and (x n 1) then 7 return true 8 if (b i = 1) then d := (d a) mod n 9 if (d 1) then 10 return true 11 return false Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 19 / 138

20 Generierung von Primzahlen Verbesserung des Primzahltests Eigenschaften von Witness(a, n) Die Funktion Witness(a, n) ist eine abgewandelte Form von modularer Exponentiation Der Algorithmus berechnet a n 1 mod n und sucht während der Berechnung nach Lösungen für die Gleichung x 2 1 (mod n), die verschieden zu 1 und n 1 sind Falls Witness(a, n) = true, dann wird a als Beleg (engl. witness) für die Tatsache angesehen, dass n keine Primzahl ist. Ist n > 2 eine zusammengesetzte Zahl, dann existieren hierfür mindestens (n 1)/2 Belege in {1, 2,..., n 1} Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 20 / 138

21 Generierung von Primzahlen Miller-Rabin-Test Miller-Rabin-Test MillerRabinTest(n, s) Input: n, s ganze positive Zahlen Output: true, falls n eine Primzahl ist, false, sonst. 1 for i := 1 to s do 2 a := Random(2, n 1) 3 if Witness(a, n) = true then 4 return false 5 return true Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 21 / 138

22 Generierung von Primzahlen Miller-Rabin-Test Bemerkungen zum Miller-Rabin-Test Der Miller-Rabin-Test besitzt einen einseitigen Fehler: Falls MillerRabinTest(n, s) = false, dann ist n keine Primzahl Falls MillerRabinTest(n, s) = true, dann ist n Primzahl mit einer Wahrscheinlichkeit von 1 2 s Die Wahl von s beeinflusst die Fehlerwahrscheinlichkeit Die Laufzeit von MillerRabinTest(n, s) ist O(log 2 (n) 3 s) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 22 / 138

23 Rabin-Kryptosystem Rabin-Kryptosystem Erfunden von Michael O. Rabin im Jahr 1979 Verschlüsselung mittels quadratischer Funktion Beweisbar sicheres Kryptosystem Geringe Bedeutung für die Praxis Verschlüsselungsfunktion nicht injektiv erhöhter Aufwand bei der Entschlüsselung Anfällig gegen eine Chosen-Ciphertext-Attacke Grundlage für weitere Kryptosysteme Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 23 / 138

24 Rabin-Kryptosystem Definition Definition Rabin-Kryptosystem Parameter: Primzahlen p und q, wobei p q, p 3 (mod 4) und q 3 (mod 4) n = p q Kryptosystem: P = C = Z n K = {(n, p, q)} Schlüssel k = (n, p, q) Öffentlicher Teil: n Privater Teil: (p, q) Verschlüsselung: enc((n, p, q), x) = x 2 mod n Entschlüsselung: dec((n, p, q), y) = y mod n Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 24 / 138

25 Rabin-Kryptosystem Quadratische Reste Quadratischer Reste Definition. Sei n eine ungerade ganze Zahl. Sei a eine Zahl, die teilerfremd zu n ist, d.h., gcd(a, n) = 1. a ist ein quadratischer Rest modulo n, falls eine Zahl x Z n existiert, so dass x 2 a (mod n) Ist a kein quadratischer Rest, dann nennt man a einen quadratischen Nicht-Rest. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 25 / 138

26 Rabin-Kryptosystem Quadratische Reste Beispiel zu Quadratischen Resten Betrachte n = 11. a a Also ist die Menge der quadratischen Reste modulo 11 gleich {1, 3, 4, 5, 9} Die Menge der quadratischen Nicht-Reste ist {2, 6, 7, 8, 10} Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 26 / 138

27 Rabin-Kryptosystem Quadratische Reste Zwei nützliche Sätze Satz 1. Seien p und q Primzahlen mit der Eigenschaft, dass p q p 3 (mod 4) und q 3 (mod 4) Sei n = p q. Sei a ein quadratischer Rest modulo n. Dann besitzt die Gleichung vier Lösungen. x 2 a (mod n) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 27 / 138

28 Rabin-Kryptosystem Quadratische Reste Zwei nützliche Sätze (Forts.) Satz 2. Sei p eine Primzahl mit der Eigenschaft, dass p 3 (mod 4). Sei a ein quadratischer Rest modulo p. Dann sind x 1,2 = ±a (p+1)/4 mod p die beiden Lösungen für die Gleichung x 2 a (mod p). Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 28 / 138

29 Rabin-Kryptosystem Entschlüsselung Entschlüsselung Gegeben: Quadratischer Rest a modulo p q Ansatz: Einsatz des Chinesischen Restsatzes 1. Berechne die Lösungen x 1,2 der Gleichung x 2 a (mod p) 2. Berechne die Lösungen y 1,2 der Gleichung y 2 a (mod q) 3. Berechne mittels des Chinesischen Restsatzes die vier Lösungen v 1, v 2, v 3, v 4 der Gleichung v 2 a (mod p q) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 29 / 138

30 Rabin-Kryptosystem Entschlüsselung Wiederholung: Chinesischer Restsatz Satz. Seien p und q Primzahlen, wobei p q. Dann besitzt das Gleichungssystem die eindeutige Lösung x b p (mod p) x b q (mod q) (b p m p q + b q m q p) mod (p q) wobei m p q 1 (mod p) m q p 1 (mod q) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 30 / 138

31 Rabin-Kryptosystem Entschlüsselung Beispiel zur Entschlüsselung Bob wählt die Primzahlen p = 131 und q = 139 als geheimen Schlüssel und veröffentlicht den Schlüssel n = p q = Alice will die Nachricht x = 4273 verschlüsselt an Bob senden. Hierzu berechnet sie y = x 2 (mod n) = (mod 18209) = und sendet anschließend den Geheimtext an Bob. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 31 / 138

32 Rabin-Kryptosystem Entschlüsselung Beispiel zur Entschlüsselung (Forts.) Um Alices Nachricht zu entschlüsseln, berechnet Bob mit dem erweiterten Algorithmus von Euklid die Werte m p und m q, so dass Man überprüft ohne Mühe, dass 1 = m q p + m p q m p q 1 (mod p) und m q p 1 (mod q) Der Euklid sche Algorithmus liefert m p = 49 und m q = 52 als Ergebnis. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 32 / 138

33 Rabin-Kryptosystem Entschlüsselung Beispiel zur Entschlüsselung (Forts.) Bob berechnet x (131+1)/4 (mod 131) 81 (mod 131) x (mod 131) 50 (mod 131) und y (139+1)/4 (mod 139) 36 (mod 139) y (mod 139) 103 (mod 139) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 33 / 138

34 Rabin-Kryptosystem Entschlüsselung Beispiel zur Entschlüsselung (Forts.) Anschließend benutzt Bob den Chinesischen Restsatz zur Berechnung der Wurzeln: v 1 (x 1 q m p + y 1 p m q ) (mod n) ( ) (mod 18209) 3094 (mod 18209) v 2 (x 2 q m p + y 2 p m q ) (mod n) ( ) (mod 18209) (mod 18209) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 34 / 138

35 Rabin-Kryptosystem Entschlüsselung Beispiel zur Entschlüsselung (Forts.) v 3 (x 1 q m p + y 2 p m q ) (mod n) ( ) (mod 18209) 4273 (mod 18209) v 4 (x 2 q m p + y 1 p m q ) (mod n) ( ) (mod 18209) (mod 18209) Bob erkennt (auf eine dem Autor dieses Dokuments nicht bekannte Art und Weise), dass v 3 = 4273 der von Alice versendete Klartext ist. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 35 / 138

36 Rabin-Kryptosystem Entschlüsselung Algorithmus zur Entschlüsselung RabinDecrypt(a, p, q) Input: Geheimtext a, geheimer Schlüssel (p, q) Output: Wurzeln v 1, v 2, v 3, v 4 von a modulo p q 1 n := p q 2 d, m q, m p := ExtendedEuclid(p, q) 3 x 1 := a (p+1)/4 mod p 4 x 2 := p x 1 5 y 1 := a (q+1)/4 mod q 6 y 2 := q y 1 7 v 1 := (x 1 q m p + y 1 p m q ) mod n 8 v 2 := (x 2 q m p + y 1 p m q ) mod n 9 v 3 := (x 1 q m p + y 2 p m q ) mod n 10 v 4 := (x 2 q m p + y 2 p m q ) mod n 11 return v 1, v 2, v 3, v 4 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 36 / 138

37 Rabin-Kryptosystem Sicherheitsaspekte Sicherheitsaspekte Die Sicherheit des Rabin-Kryptosystems ist an das Faktorisierungsproblem gekoppelt Findet man eine effiziente Methode, um das Rabin-Kryptosystem zu brechen, dann kann man effizient zusammengesetzte Zahlen faktorisieren, und umgekehrt Das Rabin-System ist anfällig gegen eine Attacke mit frei wählbarem Geheimtext Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 37 / 138

38 Rabin-Kryptosystem Angriff mit frei wählbarem Geheimtext Angriff mit frei wählbarem Geheimtext Annahme: x ist eine der vier Wurzeln von y = r 2 mod n Dann kann man unter Einsatz des CRT vier Fälle unterschieden: (1) x r (mod p) und x r (mod q) (2) x r (mod p) und x r (mod q) (3) x r (mod p) und x r (mod q) (4) x r (mod p) und x r (mod q) Erkenntnis: Die Fälle (1) und (2) sind nicht verwertbar Anhand Fall (3) oder (4) kann man n faktorisieren Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 38 / 138

39 Rabin-Kryptosystem Angriff mit frei wählbarem Geheimtext Angriff mit frei wählbarem Geheimtext (Forts.) Aus Fall (3) folgt, dass: Anwendung des CRT: Also ist: x r 0 (mod p) und x r 2r (mod q) x r 0 q m p 2 r p m q (mod n) 2 r p m q (mod n) x r = l n 2 r p m q = p (l q 2 r m q ) für ein l N. Hieraus folgt: gcd(x r, n) = p Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 39 / 138

40 Rabin-Kryptosystem Angriff mit frei wählbarem Geheimtext Angriff mit frei wählbarem Geheimtext (Forts.) Fall (4) kann auf analoge Weise analysiert werden Bemerkungen: Die Wahrscheinlichkeit, dass für ein zufälliges r Fall (3) oder (4) eintritt, ist 1 2 Durch wiederholtes Ausführen von RabinAttack(n) kann die Erfolgswahrscheinlichkeit erhöht werden Liefert RabinAttack(n) alle vier Wurzeln als Ergebnis, dann führt der Angriff direkt zum Erfolg Der Angriff kann verhindert werden, indem man den Klartext mit einer eindeutigen, wiedererkennbaren Markierung versieht Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 40 / 138

41 Rabin-Kryptosystem Angriff mit frei wählbarem Geheimtext Angriff mit frei wählbarem Geheimtext (Forts.) RabinAttack(n) Input: Öffentlicher Schlüssel n 1 r := Random(1, n 1) 2 y := r 2 mod n 3 // Die Entschlüsselung liefert eine der vier Wurzeln 4 x := RabinDecrypt(y) 5 if x ±r (mod n) then 6 return Failure 7 else 8 p := gcd(x r, n) 9 q := n/p 10 return (p, q) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 41 / 138

42 RSA-Kryptosystem RSA-Kryptosystem Erstes asymmetrisches Kryptosystem Erfindung im Jahr 1977 Benannt nach seinen Erfindern Ronald Rivest, Adi Shamir & Leonard Adleman Sicherheit abhängig von der Komplexität des Faktorisierungsproblems Weltweit meist genutztes Public Key Kryptosystem Für Details zur Implementierung siehe Standard PKCS #1 Version 2.2 ( Webpage) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 42 / 138

43 RSA-Kryptosystem Definition Definition RSA-Kryptosystem Parameter: Primzahlen p und q, wobei p q n = p q Kryptosystem: P = C = Z { n K = (n, p, q, e, d) Schlüssel k = (n, p, q, e, d) K Öffentlicher Teil: (n, e) Privater Teil: (p, q, d) n = pq, wobei p, q prim, e d 1 (mod ϕ(n)) Verschlüsselung: enc(k, x) = x e mod n Entschlüsselung: dec(k, y) = y d mod n } Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 43 / 138

44 RSA-Kryptosystem Beispiel Beispiel zu RSA Angenommen, Bob wählt p = 101 und q = 113. Dann ist n = und ϕ(n) = = Die Primfaktorzerlegung von ist Also muss Bob für e eine Zahl wählen, die nicht durch 2, 5 und 7 teilbar ist. Er entscheidet sich für e = Er überprüft mittels des Extended Euklid Algorithmus, dass gcd(e, ϕ(n)) = 1 und ermittelt e 1 = 6597 mod Der geheimzuhaltende Exponent zur Entschlüsselung ist also d = Bob veröffentlicht den öffentlichen Schlüssel (n = 11413, e = 3533) in einem für jedermann lesbaren Public Key Verzeichnis. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 44 / 138

45 RSA-Kryptosystem Beispiel Beispiel zu RSA (Forts.) Alice will den Klartext x = 9726 an Bob senden. Hierzu besorgt sie sich Bob s öffentlichen Schlüssel (n = 11413, e = 3533) aus obigem Public Key Verzeichnis. Anschließend berechnet sie mod = 5761 und sendet den Geheimtext 5761 an Bob. Bob benutzt seinen geheimen Schlüssel d = 6597, um die Nachricht zu entschlüsseln: mod = Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 45 / 138

46 RSA-Kryptosystem Offene Fragen Offene Fragen Ist RSA tatsächlich ein Kryptosystem? Mit anderen Worten, gilt die Gleichung dec(k, enc(k, x)) = (x e mod n) d mod n = x für alle x P und k = (n, p, q, e, d) K? Warum ist RSA sicher? Kann man RSA effizient implementieren? Wie wird der Schlüssel k = (n, p, q, e, d) erzeugt? Was ist hierbei zu beachten? Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 46 / 138

47 RSA-Kryptosystem Korrektheit Warum funktioniert RSA? Aufgrund der Definition von RSA gilt für k = (n, p, q, e, d): dec(k, enc(k, x)) = x ed mod n. Die Zahlen e und d sind multiplikative Inverse modulo ϕ(n) = (p 1)(q 1). Somit ist für eine ganze Zahl i. ed = 1 + i(p 1)(q 1) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 47 / 138

48 RSA-Kryptosystem Korrektheit Warum funktioniert RSA? (Forts.) Für x 0 (mod p) folgt wegen dem Satz von Fermat: x ed x(x p 1 ) i(q 1) (mod p) x(1) i(q 1) (mod p) x (mod p) Ferner ist x ed x mod p, falls x 0 (mod p). Also gilt für alle x Z n : x ed x mod p. Analog zeigt man, dass x ed x mod q für alle x Z n. Da n = pq, folgt wegen des Chinesischen Restsatzes, dass für alle x Z n. x ed x (mod n) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 48 / 138

49 RSA-Kryptosystem Sicherheit Sicherheit von RSA Die Sicherheit von RSA beruht auf der (vermutlich) hohen Komplexität zweier arithmetischer Probleme. Faktorisierungsproblem: Finde für eine gegebene ganze Zahl n zwei ganzzahlige Faktoren von n, d.h., zwei Zahlen p, q Z so dass p q = n. Invertieren der modularen Potenzfunktion: Finde für die gegebenen ganzen Zahlen e, n, y wobei n > 0 ein x Z n so dass x e mod n = y. Für keines der beiden Probleme ist ein Polynomialzeit Algorithmus bekannt. Allerdings konnte bisher auch nicht bewiesen werden, dass kein Polynomialzeit Algorithmus für obige Probleme existiert. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 49 / 138

50 RSA-Kryptosystem Erzeugen eines RSA Schlüssels Erzeugen eines RSA Schlüssels Schritte zur Generierung eines RSA-Schlüssels: 1. Generierung zweier großer Primzahlen p und q (mindestens 2048 Bit pro Primzahl) 2. Berechnung von n = pq und ϕ(n) = (p 1)(q 1) 3. Generierung einer Zufallszahl e {1, 2,..., ϕ(n) 1}, wobei gcd(e, ϕ(n)) = 1 4. Berechnung d = e 1 mod ϕ(n) mit dem Erweiterten Algorithmus von Euklid 5. Veröffentlichung des öffentlichen Schlüssels (n, e) auf geeignete Art und Weise Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 50 / 138

51 RSA-Kryptosystem Berechnung von multiplikativen Inversen Erweiterter Algorithmus von Euklid ExtendedEuclid(a, b) Input: a, b ganze Zahlen, wobei a > b > 0 Output: (d, x, y) wobei d = ax + by = gcd(a, b) 1 if (b = 0) then 2 return (a, 1, 0); 3 else 4 (d, x, y ) := ExtendedEuclid(b, a mod b) 5 d := d ; 6 x = y ; 7 y = x a b y 8 return (d, x, y) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 51 / 138

52 RSA-Kryptosystem Berechnung von multiplikativen Inversen Berechnung von multiplikativen Inversen Bekannt: a ist invertierbar modulo n, falls gcd(a, n) = 1. Wegen ZTK (Satz 3.4) gibt es x, y Z so dass gcd(a, n) = 1 = ax + ny. Somit gilt: 1 ax + ny (mod n) ax (mod n) Also: x ist das multiplikative Inverse von a modulo n. Fazit: Multiplikative Inverse kann man mittels dem Extended Euklid Algorithmus berechnen. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 52 / 138

53 RSA-Kryptosystem Berechnung von multiplikativen Inversen Algorithmus zur Inversenberechnung MultInverse(a, n) Input: a, n ganze Zahlen, wobei n > 0 Output: a 1 mit aa 1 1 (mod n) falls existent 1 (d, x, y) := ExtendedEuklid(a, n) 2 if (d 1) then 3 return Inverse doesn t exist. 4 else 5 return x Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 53 / 138

54 RSA-Kryptosystem Garner Verfahren Effiziente Entschlüsselung mit Garners Verfahren Ansatz: Einsatz von p und q zur effizienteren Entschlüsselung von y Garner s Formel: Berechne a = y d mod p b = y d mod q x = (((a b)(q 1 mod p)) mod p) q + b Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 54 / 138

55 Angriffe auf RSA Angriffe auf RSA Die Sicherheit von RSA hängt von verschiedenen Faktoren ab, insbesondere von der Qualität des Schlüssels, und der Geheimhaltung des privaten Schlüssels Gelingt es, ein Bit eines beliebig wählbaren Geheimtextes zu entschlüsseln, dann kann man den kompletten Geheimtext entschlüsseln Trotz der bekannten Schwächen ist RSA bei korrekter Benutzung als sicher einzustufen Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 55 / 138

56 Angriffe auf RSA Angriffsziele Komplette Kompromittierung Oskar ist in der Lage, den geheimen Teil des RSA-Schlüssels von Bob zu ermitteln und kann somit alle Geheimtexte entschlüsseln Komplette oder teilweise Entschlüsselung eines Geheimtexts Oskar kann Teile von vertraulichen Informationen ermitteln, jedoch nicht den geheimen Teilschlüssel von Bob berechnen Unterscheidbarkeit von Geheimtext mit einer Wahrscheinlichkeit von > 1 kann Oskar einen 2 verschlüsselten Klartext von einem Zufallsstring unterscheiden Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 56 / 138

57 Angriffe auf RSA Faktorisierung von n bei bekannten ϕ(n) Faktorisierung von n bei bekanntem ϕ(n) Annahme: Oskar kennt: 1. n = p q 2. ϕ(n) = (p 1) (q 1) Ziel: Berechnung eines Faktors von n Ansatz: Gleichungssystem mit den Unbekannten p und q lösen Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 57 / 138

58 Angriffe auf RSA Faktorisierung von n bei bekannten ϕ(n) Faktorisierung von n bei bekanntem ϕ(n) (Forts.) Gleichung 1: q = n p Einsetzen in Gleichung 2 ϕ(n) = (p 1) ( ) n p 1 Umformen: ϕ(n) = n p n p + 1 p ϕ(n) = pn p 2 n + p 0 = p 2 + (ϕ(n) n 1)p + n Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 58 / 138

59 Angriffe auf RSA Faktorisierung von n bei bekannten ϕ(n) Faktorisierung von n bei bekanntem ϕ(n) (Forts.) Mitternachtsformel: p 1,2 = b ± b 2 4ac 2a mit: a = 1 b = ϕ(n) n 1 c = n Ist diese Gleichung lösbar, dann sind p 1 und p 2 die beiden Faktoren von n, d.h., n = p 1 p 2 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 59 / 138

60 Angriffe auf RSA Die Wiener Attacke Die Wiener Attacke Angriff von Michael J. Wiener Sind die Parameter des RSA-Schlüssels ungünstig gewählt, dann kann man n faktorisieren Es kommt ein Satz aus der Zahlentheorie zum Einsatz Herleitung mittels endlichen Kettenbrüchen Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 60 / 138

61 Angriffe auf RSA Die Wiener Attacke Endliche Kettenbrüche Ein (endlicher) Kettenbruch ist ein Term q q 2 + q qm wobei q 1,..., q m nicht-negative, ganze Zahlen sind. Eine alternative Schreibweise ist: [q 1,..., q m ] Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 61 / 138

62 Angriffe auf RSA Die Wiener Attacke Endliche Kettenbrüche (Forts.) Satz 4 Seien a, b N, wobei b > 0. Dann existiert ein endlicher Kettenbruch [q 1,..., q m ] mit a b = q q 2 + q qm Bemerkung. Der Kettenbruch kann mit dem Algorithmus von Euklid berechnet werden. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 62 / 138

63 Angriffe auf RSA Die Wiener Attacke Algorithmus von Euklid Euklid(a, b) Input: Ganze Zahlen a, b N 0, wobei a > 0, b 0. Output: (d, q 1,..., q m ), wobei d = gcd(a, b) 1 r 0 := a 2 r 1 := b 3 m := 1 4 while r m 0 do 5 q m := rm 1 r m 6 r m+1 := r m 1 q m r m // d.h. r m+1 = gcd(r m 1, r m ) 7 m := m m := m 1 9 return (r m, q 1,..., q m ) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 63 / 138

64 Angriffe auf RSA Die Wiener Attacke Beispiel: Berechnung eines Kettenbruchs Gegeben: a = 42, b = 73 Der Ablauf der Berechnung des Algorithmus von Euklid ist: 42 = = = = = = = Jede Gleichung repräsentiert dabei den Term r m 1 = q m r m + r m+1. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 64 / 138

65 Angriffe auf RSA Die Wiener Attacke Beispiel: Berechnung eines Kettenbruchs (Forts.) Der Algorithmus von Euklid liefert (1, [0, 1, 1, 2, 1, 4, 2]) als Ergebnis. Also ist: = Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 65 / 138

66 Angriffe auf RSA Die Wiener Attacke Konvergenten eines Kettenbruchs Sei [q 1,..., q m ] ein Kettenbruch. Für 1 j m ist C j = [q 1,..., q j ] die j-te Konvergente von [q 1,..., q m ]. C j nennt man auch den j-ten Näherungsbruch. C j ist darstellbar als c j d j, wobei 1, j = 0 c j = q 1, j = 1 q j c j 1 + c j 2, j 2 0, j = 0 und d j = 1, j = 1 q j d j 1 + d j 2, j 2 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 66 / 138

67 Angriffe auf RSA Die Wiener Attacke Beispiel: Konvergenten Gegeben ist der Kettenbruch [0, 1, 1, 2, 1, 4, 2]. Die entsprechenden Konvergenten sind: [0] = 0/1 [0, 1] = 1/1 [0, 1, 1] = 1/2 [0, 1, 1, 2] = 3/5 [0, 1, 1, 2, 1] = 4/7 [0, 1, 1, 2, 1, 4] = 19/33 [0, 1, 1, 2, 1, 4, 2] = 42/73 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 67 / 138

68 Angriffe auf RSA Die Wiener Attacke Ein wichtiger Satz Satz 5 Seien a, b, c, d beliebige natürliche Zahlen. Angenommen, gcd(a, b) = 1, gcd(c, d) = 1 und a b c < 1 d 2d. 2 Dann ist c d eine der Konvergenten des Kettenbruchs von a b. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 68 / 138

69 Angriffe auf RSA Die Wiener Attacke und seine Folgen Anwendung: Berechnung des geheimen Exponenten d Voraussetzungen: q < p < 2q 3d < n 1/4 Bemerkung: Der Angriff ist erfolgreich, wenn p und q nicht zu weit auseinander liegen und die Binärdarstellung von d weniger als l/4 1 Bits groß ist. Hierbei steht l für die Länge der Binärdarstellung von n Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 69 / 138

70 Angriffe auf RSA Die Wiener Attacke Anwendung des Satzes Da e d 1 (mod ϕ(n)), existiert ein t, so dass e d t ϕ(n) = 1. Da n = p q > q 2, ist q < n. Hieraus folgt: 0 < n ϕ(n) = p + q 1 < 2q + q 1 < 3q < 3 n Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 70 / 138

71 Angriffe auf RSA Die Wiener Attacke Anwendung des Satzes (Forts.) Einsetzen, wobei a = e, b = n, c = t, d = d: e n t = ed tn d dn = 1 + t(ϕ(n) n) dn ( ) = 1 + t(ϕ(n) n) dn = t(n ϕ(n)) 1 dn < t(n ϕ(n)) dn Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 71 / 138

72 Angriffe auf RSA Die Wiener Attacke Anwendung des Satzes (Forts.) t(n ϕ(n)) dn < t 3 n dn = 3t d n Da t < d, ist 3t < 3d < n 1/4. Hieraus folgt: 3t d n < n1/4 dn 1/2 1 = dn 1/4 < 1 3d 2 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 72 / 138

73 Angriffe auf RSA Die Wiener Attacke Anwendung des Satzes (Forts.) Zusammenfassung: e n t < 1 d 3d 2 Wegen des obigen Satzes ist t d eine der Konvergenten von e n Folgerung: Anhand der Konverten von e n berechnen kann man ϕ(n) = e d 1 t Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 73 / 138

74 Angriffe auf RSA Die Wiener Attacke Wiener Attacke Eingabe: Öffentlicher RSA-Schlüssel (n, e) Vorgehen: 1. Berechne die Konvergenten c 0 d 0, c 1 d 1,..., c k d k des Kettenbruchs e n 2. Überprüfe für die Konvergente c i d i, i = 2,..., k, ob ϕ n = e d i 1 c i eine ganze Zahl ist, und ob n anhand von ϕ n faktorisierbar ist 3. Schlägt die obige Überprüfung für alle Konvergenten fehl, dann gib Angriff fehlgeschlagen aus. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 74 / 138

75 Angriffe auf RSA Die Wiener Attacke Beispiel Wiener Attacke Gegeben: n = , e = Der Kettenbruch von e ist: n [0, 1, 5, 8, 13, 3, 2505, 1, 7, 3, 1, 5, 3] Für c 4 = 41 und d 4 = 49 ist ϕ n = e d 4 1 c 4 = = Die Faktorisierung von n anhand von ϕ n liefert p = und q = als Faktoren von n. Der geheime RSA-Schlüssel ist d = 49. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 75 / 138

76 Angriffe auf RSA Highest-Order-Bit-Attacke Highest-Order-Bit-Attacke Annahme: Für y = enc(k, x) ist die Funktion { 0, 0 x < n 2 half(y) = n 1, < x n 1 2 effizient berechenbar. Frage: Lässt sich dies für einen Angriff auf RSA ausnutzen? Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 76 / 138

77 Angriffe auf RSA Highest-Order-Bit-Attacke Eine nützliche Eigenschaft von RSA Für alle x 1, x 2 Z n gilt: enc(k, x 1 x 2 ) (x 1 x 2 ) d (mod n) x d 1 xd 2 (mod n) enc(k, x 1 ) enc(k, x 2 ) (mod n) Insbesondere gilt für alle i = 1, 2, 3,...: enc(k, 2 i x 2 ) enc(k, 2 i ) enc(k, x 2 ) (mod n) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 77 / 138

78 Angriffe auf RSA Highest-Order-Bit-Attacke Anwendung der obigen Eigenschaft [ half(enc(k, x)) = 0 x 0, n ) 2 [ half(enc(k, 2 x)) = 0 x 0, n ) [ n 4 2, 3n ) 4 [ half(enc(k, 4 x)) = 0 x 0, n ) [ n 8 4, 3n ) 8 [ n 2, 5n ) [ 3n 8 4, 7n ) 8 Mittels Binärer Suche kann man den Schlüssel systematisch berechnen.. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 78 / 138

79 Angriffe auf RSA Highest-Order-Bit-Attacke Algorithmus HalfAttack(n, e, y) HalfAttack(n, e, y) Input: Öffentlicher RSA-Schlüssel (n, e), Geheimtext y Output: Zu y gehörender Klartext x 1 l := log 2 n 2 for i := 0 to l do 3 h i := Half(n, e, y) 4 y := y 2 e mod n 5 lo := 0; hi := n 6 for i := 0 to l 7 mid := (hi + lo)/2 8 if h i = 1 then 9 lo := mid 10 else 11 hi := mid 12 return hi Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 79 / 138

80 Angriffe auf RSA Highest-Order-Bit-Attacke Bemerkungen zu HalfAttack(n, e, y) Der Algorithmus nutzt die multiplikative Eigenschaft sowie die Half-Funktion, um das höchstwertigste Bit von x, 2 x, 2 2 x,..., 2 l 1 x zu berechnen. Anschließend wird auf Basis der höchstwertigsten Bits eine Binäre Suche durchgeführt, um den Klartext x zu bestimmen. Die Nachkommastellen bei der Division sind zu beachten. Die Laufzeit des Algorithmus ist O(l 3 + l t h (l)), wobei t h (l) für die Laufzeit von Half(n, e, y) für l-bit Zahlen steht Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 80 / 138

81 Angriffe auf RSA Highest-Order-Bit-Attacke Beispiel Gegeben: n = 4757, e = 857, y = Die Wortlänge von n ist l = log 2 = 12. Die Berechnung der höchstwertigsten Bits liefert: i h i Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 81 / 138

82 Angriffe auf RSA Highest-Order-Bit-Attacke Beispiel (Forts.) i h i lo mid hi Ergebnis: Klartext x = 742 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 82 / 138

83 Angriffe auf RSA Highest-Order-Bit-Attacke Angriff durch Berechnung des niederwertigsten Bits Falls für y = enc(k, x) die Funktion { 0, x gerade parity(y) = 1, x ungerade effizient berechenbar ist, dann kann man auch den kompletten Klartext berechnen. Begründung: Es gelten folgende Beziehungen: half(y) = parity((y enc(k, 2)) mod n) parity(y) = half((y enc(k, 2 1 )) mod n) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 83 / 138

84 Angriffe auf RSA Zusammenfassung Zusammenfassung RSA nutzt modulare Exponentiation zur Ver- und Entschlüsselung. Die Sicherheit von RSA beruht auf der (hoffentlich) hohen Berechnungskomplexität des Faktorisierungsproblems und des diskreten Logarithmus. Da der öffentliche Teil des Schlüssels öffentlich zugänglich ist, kann jedermann eine verschlüsselte Nachricht an Bob senden. RSA kann auch zur Signatur von Nachrichten eingesetzt werden. Bei hinreichend langer Schlüssellänge und guter Wahl der Parameter gilt RSA als sicheres Kryptosystem. Für eine praxistaugliche Implementierung sind diverse Aspekte zu beachten. Weitere Details findet man im RSA-Standard. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 84 / 138

85 Diffie-Hellman-Schlüsselaustausch Diffie-Hellman-Schlüsselaustausch Erfunden von Whitfield Diffie und Martin E. Hellman aus dem Jahr 1976 Protokoll zur vertraulichen Konstruktion eines Schlüssels über einen unsicheren Kanal Sicherheit basiert auf dem Diskreter-Logarithmus-Problem Die Arbeit von Diffie und Hellman gilt als die Geburtsstunde der Public Key Kryptografie Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 85 / 138

86 Diffie-Hellman-Schlüsselaustausch Protokoll Protokoll zum Schlüsselaustausch Sei p eine Primzahl und α ein Generator von Z p Alice Bob Wählt zufällig ein a Z p α a mod p α b mod p Wählt zufällig ein b Z p α ab mod p Geheimer Schlüssel Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 86 / 138

87 Diffie-Hellman-Schlüsselaustausch Protokoll Beispiel Angenommen, p = und α = 5 sind die öffentlichen Parameter für einen Diffie-Hellman-Schlüsselaustausch. Alice würfelt a = und berechnet mod = Anschließend sendet sie Bob diesen Wert. Bob würfelt b = und berechnet mod = Diesen Wert sendet er an Alice. Alice und Bob berechnen schließlich den geheimen Schlüssel mod = mod = Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 87 / 138

88 Diffie-Hellman-Schlüsselaustausch Protokoll Man-In-The-Middle Attacke Alice α a mod p α a mod p Oskar α b mod p α b mod p Bob Oskar sitzt zwischen Alice und Bob und fungiert als Vermittlungsstelle. Oskar ersetzt die Teilschlüssel von Alice und Bob durch seine eigenen. Alice und Bob können zwar ihre Daten mit dem ausgehandelten Schlüssel verschlüsseln, aber keiner kann die Daten des anderen entschlüsseln. Oskar kann alle Daten ver- bzw. entschlüsseln und entsprechend weiterleiten. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 88 / 138

89 Diffie-Hellman-Schlüsselaustausch Station-To-Station-Protokoll Verbessertes Verfahren Sei p eine Primzahl und α ein Generator von Z p Alice α a Bob α b, sign B (m B, α a, α b ) sign A (m A, α a, α b ) Alle Berechnungen verstehen sich modulo p m A und m B stehen für den Signaturschlüssel von Alice bzw. Bob Dieses Verfahren ist eine Vereinfachung des Station-To-Station Protokolls. Eine zusätzliche Absicherung wird durch den Einsatz von Zertifikaten erreicht. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 89 / 138

90 El Gamal Kryptosystem ElGamal Kryptosystem Erfindung von Taher ElGamal aus dem Jahr 1984 Probabilistisches Kryptosystem Sicherheit hängt ab vom Diskreter-Logarithmus-Problem für endliche Körper Grundlage für zahlreiche weitere Kryptosysteme Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 90 / 138

91 El Gamal Kryptosystem Definition Definition ElGamal-Kryptosystem Parameter: Primzahl p Erzeugendes Element α von Z p Kryptosystem: P = Z p, C = Z p Z p K = {(p, α, a, β) 2 a p 2, β α a (mod p)}. Schlüssel k = (p, α, a, β) K: Öffentlicher Teil: (p, α, β) Geheimer Teil: a Verschlüsselung: enc(k, x) = (y 1, y 2 ), wobei y 1 = α z mod p y 2 = xβ z mod p für eine zufällig gewählte, geheime Zahl z Z p 1 Entschlüsselung: dec(k, (y 1, y 2 )) = y 2 (y a 1 ) 1 mod p Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 91 / 138

92 El Gamal Kryptosystem Definition Die Idee hinter ElGamal Alice verschlüsselt den Klartext x Z p, indem sie ihn maskiert, d.h., mit β z multipliziert. Die modulare Exponentialfunktion wird also zur Generierung eines Zufallsstroms eingesetzt. Da Bob die Zufallszahl z nicht kennt, muss Alice diese an ihn senden. Dies kann nicht direkt geschehen, da Oskar sonst aus dem öffentlich bekannten β den Wert β z berechnen und somit den Geheimtext dechiffrieren könnte. Da Bob a und somit auch (α z ) a = β z kennt, sendet Alice den Wert α z. Somit ist Bob in der Lage, die Maske zu entfernen indem er y 2 mit dem Inversen von β k multipliziert. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 92 / 138

93 El Gamal Kryptosystem Beispiel Beispiel Bob wählt p = 2579, α = 2, a = 765 und β = mod 2579 = 949. Angenommen, Alice will an Bob die Nachricht x = 1299 senden. Sie wählt (zufällig) die Zahl z = 853 aus. Dann berechnet sie y 1 = mod 2579 = 435, und y 2 = mod 2579 = Bei Empfang des Geheimtextes y = (435, 2396) berechnet Bob x = 2396 ( ) 1 mod 2579 = Das Ergebnis ist offensichtlich identisch mit dem von Alice versandten Klartext. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 93 / 138

94 El Gamal Kryptosystem Korrektheit Korrektheit von ElGamal Zum Nachweis der Korrektheit des ElGamal Kryptosystems ist zu zeigen, dass dec(k, enc(k, x, z)) = x für alle k = (p, α, a, β) K, alle z Z p 1 und alle x Z p gilt. Betrachte y 1 = α z mod p und y 2 = xβ z mod p. Da ist (y a 1 ) 1 = (β z ) 1. Hieraus folgt: y a 1 (α z ) a (α a ) z β z (mod p) y 2 (y a 1) 1 xβ z (β z ) 1 x (mod p). Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 94 / 138

95 El Gamal Kryptosystem Sicherheit Warum ist ElGamal sicher? Die Sicherheit des ElGamal Kryptosystems basiert auf folgenden Annahmen: Hohe Berechnungskomplexität des DLP: Verfügt Oskar über einen effizienten Algorithmus zur Berechnung von log p α β, dann kann er ohne Mühe aus β = α a den geheimen Schlüssel a berechnen. Zufällige Wahl von z: Benutzt Alice immer dasselbe z zur Verschlüsselung, dann besteht die Möglichkeit eines Angriffs mit bekanntem Klartext-Geheimtext-Paar. Das ElGamal Kryptosystem wird auch als probabilistisches Kryptosystem bezeichnet, da der Klartext x in viele zufällige Geheimtexte (y 1, y 2 ) abgebildet wird. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 95 / 138

96 El Gamal Kryptosystem Schlüsselerzeugung Wie erzeugt man einen Generator? Ähnlich wie bei RSA werden auch beim ElGamal Kryptosystem die Parameter zufällig erzeugt. Bei der Erstellung des Generators sind folgende Fakten hilfreich: Ist Z n eine zyklische Gruppe, dann ist die Anzahl ihrer Generatoren gleich ϕ(ϕ(n)). Für eine Primzahl p ist die Anzahl der Generatoren von Z p gleich ϕ(p 1). Man kann beweisen, dass ϕ(n) n/6 ln(ln(n)) für alle n. Wenn man also zufällig ein Element α aus Z n zieht, dann ist die Chance gut, dass α ein Generator ist. Die Zahl α Z n ist ein Generator von Z n genau dann, wenn α ϕ(n)/p 1 (mod n) für alle Primteiler p von ϕ(n). Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 96 / 138

97 El Gamal Kryptosystem Schlüsselerzeugung Algorithmus zur Generatorerzeugung RandomGenerator(p, p 1, e 1, p 2, e 2,..., p k, e k ) Input: Primzahl p, Primfaktorzerlegung p e 1 1 pe pe k k Output: Generator α von Z p 1 found := false; 2 while (found = false) do 3 α := Random(2, p 1); 4 found := true; 5 for i := 1 to k do 6 b := α p 1/p i mod p; 7 if (b = 1) then found := false; 8 return α; von ϕ(p) Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 97 / 138

98 El Gamal Kryptosystem Schlüsselerzeugung Erzeugen eines ElGamal Schlüssels Zur Erstellung eines ElGamal Schlüssels geht man folgendermaßen vor: 1. Generiere unter Verwendung des Miller-Rabin Primzahltests zufällig eine Primzahl q so dass auch p = 2q + 1 eine Primzahl ist. 2. Generiere mittels randomgenerator(p, 2, 1, q, 1) einen Generator α von Z p. 3. Wähle zufällig ein a {2,..., p 2} und berechne β = α a mod p. 4. Mache die Werte p, α und β öffentlich zugänglich. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 98 / 138

99 El Gamal Kryptosystem Verallgemeinerung Verallgemeinerung Unter dem Diskreter Logarithmus Problem über (G, ) versteht man folgendes Berechnungsproblem: Gegeben: (G, α, β), wobei G eine endliche Gruppe mit Gruppenoperation, α G und β H ist. Hierbei ist H die von α erzeugte Untergruppe. Gesucht: Finde die eindeutig bestimmte ganze Zahl a, 0 a H 1, so dass α (a) = β. Hierbei ist a (k) = k a = } a a {{... a }. k-mal i=1 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 99 / 138

100 El Gamal Kryptosystem Verallgemeinerung ElGamal Kryptosystem über (G, ) Sei (G, ) eine endliche Gruppe. Sei α G ein Element, so dass das DLP über der von α erzeugten Untergruppe H = {α i i 0} schwierig zu lösen ist. Das ElGamal Kryptosystem über (G, ) ist: P = G, C = G G, K = {(G, α, a, β) 2 a H 1, β = α (a) } Für k = (G, α, a, β) K und eine (geheime) ganze Zahl z Z H definiere: Verschlüsselung: enc(k, x, z) = (y 1, y 2 ), wobei y 1 = α (z), und y 2 = x β (z). Entschlüsselung: dec(k, (y 1, y 2 )) = y 2 (y (a) 1 ) 1 mod p (G, α, β) ist der öffentliche, a der geheime Schlüssel. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 100 / 138

101 Elliptische Kurven Definition Elliptische Kurven über Z p Betrachte eine Gleichung der Bauart y 2 x 3 + ax + b (mod p), wobei p > 3 eine Primzahl und a, b Z p mit 4a b 2 0 (mod p). Die durch diese Gleichung beschriebene Elliptische Kurve E(p, a, b) ist die Menge all ihrer Lösungen (x, y) Z p Z p, zusammen mit einem zusätzlichen Punkt O. Der Punkt O wird Unendlichkeitspunkt (engl.: point at infinity) genannt. Man kann zeigen: E(p, a, b) = p + 1 t mit t 2 p. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 101 / 138

102 Elliptische Kurven Gruppenoperation Gruppenoperation über E(p, a, b) Seien P = (x 1, y 1 ) und Q = (x 2, y 2 ) von O verschiedene Punkte in E(p, a, b). P O = O P = P Falls x 2 = x 1 und y 2 = y 1, dann ist P Q = O. Ansonsten ist P Q = (x 3, y 3 ), wobei x 3 = λ 2 x 1 x 2, und y 3 = λ(x 1 x 3 ) y 1, wobei { (y2 y 1 )/(x 2 x 1 ), falls P Q, λ = (3x a)/2y 1, falls P = Q, Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 102 / 138

103 Elliptische Kurven Gruppenoperation (E(p, a, b), ) ist eine Gruppe Die Struktur (E(p, a, b), ) ist eine endliche kommutative Gruppe. Da (Z p, +, ) ein Körper ist, sind alle Berechnungen von innerhalb von Z p durchführbar. Daher ist die Menge E(p, a, b) abgeschlossen unter. Das neutrale Element ist O. Das Inverse zu (x, y) ist (x, y). Die Operation ist assoziativ und kommutativ. Der Beweis dieser Tatsache ist jedoch schwierig. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 103 / 138

104 Elliptische Kurven Beispiel Beispiel: E(11, 1, 6) Zur Illustration untersuchen wir die Elliptische Kurve y 2 x 3 + x + 6 (mod 11). Zunächst werden die Elemente in E(11, 1, 6) berechnet. Da 11 = , sind die Wurzeln eines quadratischen Rests z gleich ±z (11+1)/4 mod 11 = ±z 3 mod 11. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 104 / 138

105 Elliptische Kurven Beispiel Beispiel: E(11, 1, 6) (Forts.) x x 3 + x + 6 mod 11 QR(11)? y , , , , , , 9 Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 105 / 138

106 Elliptische Kurven Beispiel Beispiel: E(11, 1, 6) (Forts.) Neben dem Punkt O enthält E(11, 1, 6) die folgenden Elemente: (2, 4) (2, 7) (3, 5) (3, 6) (5, 2) (5, 9) (7, 2) (7, 9) (8, 3) (8, 8) (10, 2) (10, 9) Somit gilt: E(11, 1, 6) = 13. Die Gruppe ist (E(11, 1, 6), ) also zyklisch. Wegen des Satzes von Lagrange ist jedes von O verschiedene Element ein Generator. Im folgenden wird α = (2, 7) als Generator ausgewählt. Da die Gruppe additiv ist, schreiben wir der Einfachheit halber i α anstatt α (i). Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 106 / 138

107 Elliptische Kurven Beispiel Beispiel: E(11, 1, 6) (Forts.) Um 2α = α α zu ermitteln, berechnet man zuerst: Somit: Also: 2α = (5, 2). λ ( ) (2 7) 1 (mod 11) (mod 11) 2 4 (mod 11) 8 (mod 11) x 3 = mod 11 = 5, und y 3 = 8(2 5) 7 mod 11 = 2. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 107 / 138

108 Elliptische Kurven Beispiel Beispiel: E(11, 1, 6) (Forts.) Insgesamt: α = (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) Also ist α = (2, 7) tatsächlich ein Generator von (E(11, 1, 6), ). Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 108 / 138

109 Elliptische Kurven Anwendung: ElGamal-Kryptosystem ElGamal mit (E(11, 1, 6), ) Bob wählt α = (2, 7) und a = 7 aus. Also ist β = 7α = (7, 2). Der Schlüssel ist k = ((2, 7), 7, (7, 2)). Die Verschlüsselungsfunktion ist enc(k, x, z) = (z(2, 7), x z(7, 2)), wobei x E(11, 1, 6) und 0 z 12. Die Entschlüsselungsfunktion ist dec(k, y 1, y 2 ) = y 2 7y 1. Prof. Dr. C. Karg (HS Aalen) Kryptographische Algorithmen Public Key Kryptosysteme 109 / 138

Kryptographische Algorithmen

Kryptographische Algorithmen Kryptographische Algorithmen Lerneinheit 6: Public Key Kryptosysteme Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2016/2017 19.9.2016 Public Key Kryptosysteme Einleitung

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 4: Schlüsselvereinbarung Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2017 8.5.2017 Einleitung Einleitung In dieser Lerneinheit

Mehr

Kryptographische Protokolle

Kryptographische Protokolle Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel

Mehr

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1

Mehr

6: Public-Key Kryptographie (Grundidee)

6: Public-Key Kryptographie (Grundidee) 6: Public-Key Kryptographie (Grundidee) Ein Teil des Schlüssels ist nur dem Empfänger bekannt. Der auch dem Sender bekannte Teil kann sogar veröffentlicht werden. Man spricht dann von einem Schlüsselpaar.

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen 3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt

Mehr

Attacken auf RSA und Das Rabin Kryptosystem

Attacken auf RSA und Das Rabin Kryptosystem Attacken auf RSA und Das Rabin Kryptosystem Institut für Informatik Universität Potsdam 4. Januar 2005 Überblick Wiederholung: RSA Das RSA Kryptosystem Attacken auf RSA RSA-FACTOR Wieners Algorithmus Das

Mehr

Aufgabe der Kryptografie

Aufgabe der Kryptografie Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 11 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4.4 Semantische Sicherheit 1. Sicherheit partieller Informationen 2. Das Verfahren von Rabin 3. Sicherheit durch Randomisierung Semantische Sicherheit Mehr als nur

Mehr

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal

Mehr

Public-Key-Verschlüsselung und Diskrete Logarithmen

Public-Key-Verschlüsselung und Diskrete Logarithmen Public-Key-Verschlüsselung und Diskrete Logarithmen Carsten Baum Institut für Informatik Universität Potsdam 10. Juni 2009 1 / 30 Inhaltsverzeichnis 1 Mathematische Grundlagen Gruppen, Ordnung, Primitivwurzeln

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5 Kryptosysteme auf der Basis diskreter Logarithmen 1. Diffie Hellman Schlüsselaustausch 2. El Gamal Systeme 3. Angriffe auf Diskrete Logarithmen 4. Elliptische Kurven

Mehr

Public Key Kryptographie

Public Key Kryptographie 3. Juni 2006 1 Algorithmen für Langzahlen 1 RSA 1 Das Rabin-Kryptosystem 1 Diskrete Logarithmen Grundlagen der PK Kryptographie Bisher: Ein Schlüssel für Sender und Empfänger ( Secret-Key oder symmetrische

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von

Mehr

Diskreter Logarithmus und Primkörper

Diskreter Logarithmus und Primkörper Diskreter Logarithmus und Primkörper Neben dem RSA-Verfahren ist die ElGamal-Verschlüsselung 8 ein weiteres klassische Public-Key-Verfahren, welches von Taher ElGamal auf der Konferenz CRYPTO 84 vorgestellt

Mehr

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner Public-Key Kryptographie mit dem RSA Schema Torsten Büchner 7.12.2004 1.Einleitung 1. symmetrische-, asymmetrische Verschlüsselung 2. RSA als asymmetrisches Verfahren 2.Definition von Begriffen 1. Einwegfunktionen

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 12.05.2014 1 / 26 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:

Mehr

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994). Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod

Mehr

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz 2007-11-23 Überblick 1 2 Schnelle modulare Exponentiation Chinesischer Restsatz 3 Allgemeines Public-Key Methode Rivest, Shamir und Adleman 1977 Sicherheit des Verfahrens beruht auf Schwierigkeit der Primfaktorenzerlegung

Mehr

3 Public-Key-Kryptosysteme

3 Public-Key-Kryptosysteme Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.

Mehr

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung Kapitel 2. Elementare Zahlentheorie 2.1. Primfaktorzerlegung Menge der ganzen Zahlen Z = {..., 3, 2, 1, 0, 1, 2, 3,...} Addition Inverse Multiplikation Z Z Z, Z Z, Z Z Z, (a, b) a + b a a (a, b) a b Ausgezeichnete

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 15.05.2017 1 / 25 Überblick 1 Hashfunktionen Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel: RSA

Mehr

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Technische Universität Graz 29. Dezember 2008 Überblick Unterschied zwischen symmetrischen und asymmetrischen Verschlüsselungsverfahren

Mehr

IT-Sicherheit Kapitel 4 Public Key Algorithmen

IT-Sicherheit Kapitel 4 Public Key Algorithmen IT-Sicherheit Kapitel 4 Public Key Algorithmen Dr. Christian Rathgeb Sommersemester 2014 1 Einführung Der private Schlüssel kann nicht effizient aus dem öffentlichen Schlüssel bestimmt werden bzw. die

Mehr

4 Kryptologie. Übersicht

4 Kryptologie. Übersicht 4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von

Mehr

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976) p : eine (grosse) Primzahl e : Zahl 0 < e < p mit ggt(e, p 1) = 1 d Inverses von e in Z p 1, dh d e 1 mod p 1 (= φ(p)) M : numerisch codierter

Mehr

Kapitel 3 Elementare Zahletheorie

Kapitel 3 Elementare Zahletheorie Kapitel 3 Elementare Zahletheorie 89 Kapitel 3.1 Ganze Zahlen, Gruppen und Ringe 90 Die ganzen Zahlen Menge der ganzen Zahlen Z={..., 3, 2, 1,0,1,2,3,...} Es gibt zwei Operationen Addition: Z Z Z, (a,b)

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4 Public Key Kryptographie mit RSA 1. Ver- und Entschlüsselung 2. Schlüsselerzeugung und Primzahltests 3. Angriffe auf das RSA Verfahren 4. Sicherheit von RSA Probleme

Mehr

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren Markus Kröll 14. Jänner 2009 Inhaltsverzeichnis 1 Einführung 2 2 Das ElGamal-Verfahren 2 2.1 Schlüsselerzeugung.................................

Mehr

Kryptographie - eine mathematische Einführung

Kryptographie - eine mathematische Einführung Kryptographie - eine mathematische Einführung Rosa Freund 28. Dezember 2004 Überblick Grundlegende Fragestellungen Symmetrische Verschlüsselung: Blockchiffren, Hashfunktionen

Mehr

Klausurtermin. Klausur Diskrete Mathematik I Do stündig

Klausurtermin. Klausur Diskrete Mathematik I Do stündig Klausurtermin Klausur Diskrete Mathematik I Do. 28.02.2008 3-stündig 07.12.2007 1 Wiederholung Komplexität modularer Arithmetik Addition: O(n) Multiplikation: O(n 2 ) bzw. O(n log 2 3 ) Exponentiation:

Mehr

Betriebssysteme und Sicherheit

Betriebssysteme und Sicherheit Betriebssysteme und Sicherheit Asymmetrische Kryptographie WS 2012/2012 Dr.-Ing. Elke Franz Elke.Franz@tu-dresden.de 1 Überblick 1 Prinzip asymmetrischer (Konzelations-)Systeme 2 Mathematische Grundlagen

Mehr

Angewandte Kryptographie Praktikum 4

Angewandte Kryptographie Praktikum 4 Angewandte Kryptographie Praktikum 4 Thema: Public Key Kryptosysteme Wintersemester 2018/2019 Prof. Dr. Christoph Karg Hochschule Aalen Ziel dieses Praktikums ist die Implementierung des Rabin- und RSA-Kryptosystems

Mehr

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34 Satz 4.2.11 (Chinesischer Restsatz, Ring-Version) Sind N teilerfremd (d.h. ggt( ) =1), so ist die Abbildung ein Ring-Isomorphismus. :

Mehr

Proseminar Schlüsselaustausch (Diffie - Hellman)

Proseminar Schlüsselaustausch (Diffie - Hellman) Proseminar Schlüsselaustausch (Diffie - Hellman) Schlüsselaustausch Mathematische Grundlagen Das DH Protokoll Sicherheit Anwendung 23.06.2009 Proseminar Kryptographische Protokolle SS 2009 : Diffie Hellman

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 4 Public Key Kryptographie mit RSA 1. Ver- und Entschlüsselung 2. Schlüsselerzeugung und Primzahltests 3. Angriffe auf das RSA Verfahren 4. Sicherheit von RSA Probleme

Mehr

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2 Abschnitt 5: Kryptographie. Zunächst wollen wir die Struktur von (Z/mZ) untersuchen. 5.1 Definition: Die Eulersche ϕ-funktion: ϕ : N N; ϕ(m) := (Z/mZ) 5.2 Bemerkung: (Z/mZ) {a {1,..., m 1} ggt(a, m) =

Mehr

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................

Mehr

Asymmetrische Kryptographie u

Asymmetrische Kryptographie u Asymmetrische Kryptographie u23 2015 Simon, Florob e.v. https://koeln.ccc.de Cologne 2015-10-05 1 Zahlentheorie Modulare Arithmetik Algebraische Strukturen Referenzprobleme 2 Diffie-Hellman Diffie-Hellman-Schlüsselaustausch

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) WS 2016/17 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Satz von Euler Satz von Euler Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Beweis: Sei G = {g 1,..., g n } und a G. Betrachte die Abbildung f : G G, g ag. Da a G, besitzt a ein

Mehr

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Satz von Euler Satz von Euler Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G. Beweis: Sei G = {g 1,..., g n } und a G. Betrachte die Abbildung f : G G, g ag. Da a G, besitzt a ein

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Algorithmentheorie Randomisierung

Algorithmentheorie Randomisierung Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

7 Asymmetrische Kryptosysteme

7 Asymmetrische Kryptosysteme 10 7 Asymmetrische Kryptosysteme 7 Asymmetrische Kryptosysteme Diffie und Hellman kamen 1976 auf die Idee, dass die Geheimhaltung des Chiffrierschlüssels keine notwendige Voraussetzung für die Sicherheit

Mehr

4 Der diskrete Logarithmus mit Anwendungen

4 Der diskrete Logarithmus mit Anwendungen 4 Der diskrete Logarithmus mit Anwendungen 62 4.1 Der diskrete Logarithmus Für eine ganze Zahl a Z mit ggt(a, n) = 1 hat die Exponentialfunktion mod n zur Basis a exp a : Z M n, x a x mod n, die Periode

Mehr

Asymmetrische Algorithmen

Asymmetrische Algorithmen Asymmetrische Algorithmen Abbildung 9. Leonhard Euler Leonhard Euler, geboren am 15. April 1707 in Basel, gestorben am 18. September 1783 in Sankt Petersburg, war einer der produktivsten Mathematiker aller

Mehr

Vortrag zum Proseminar: Kryptographie

Vortrag zum Proseminar: Kryptographie Vortrag zum Proseminar: Kryptographie Thema: Oliver Czernik 6.12.2005 Historie Michael Rabin Professor für Computerwissenschaft Miller-Rabin-Primzahltest Januar 1979 April 1977: RSA Asymmetrisches Verschlüsselungssystem

Mehr

Elliptic Curve Cryptography

Elliptic Curve Cryptography Elliptic Curve Cryptography Institut für Informatik Humboldt-Universität zu Berlin 10. November 2013 ECC 1 Aufbau 1 Asymmetrische Verschlüsselung im Allgemeinen 2 Elliptische Kurven über den reellen Zahlen

Mehr

6.2 Asymmetrische Verschlüsselung

6.2 Asymmetrische Verschlüsselung 6.2 Asymmetrische Verschlüsselung (asymmetric encryption, public-key encryption) Prinzip (Diffie, Hellman, Merkle 1976-78): Statt eines Schlüssels K gibt es ein Schlüsselpaar K E, K D zum Verschlüsseln

Mehr

Das RSA Kryptosystem

Das RSA Kryptosystem Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

RSA Äquivalenz der Parameter

RSA Äquivalenz der Parameter RSA Kryptosystem Wurde 1977 von Rivest, Shamir und Adleman erfunden. Genaue Beschreibung im PKCS #1. De-facto Standard für asymmetrische Kryptosysteme. Schlüsselerzeugung: Seien p, q zwei verschiedene,

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

11. Das RSA Verfahren

11. Das RSA Verfahren Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und

Mehr

Public Key Kryptographie

Public Key Kryptographie 4. Dezember 2007 Outline 1 Einführung 2 3 4 Einführung 1976 Whitefield Diffie und Martin Hellman 2 Schlüsselprinzip Asymmetrische Verschlüsselungsverfahren public Key private Key Anwendung E-Mail PGP openpgp

Mehr

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Asymmetrische Kryptographie Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 24. November 2010 c (Lehrstuhl Informatik 1 + 4) Übungen zur

Mehr

7: Grundlagen der Public-Key-Kryptographie

7: Grundlagen der Public-Key-Kryptographie 7: Grundlagen der Public-Key-Kryptographie 214 7: Public-Key-Kryptographie 7: Grundlagen der Public-Key-Kryptographie Wiederholung: Symmetrische Kryptographie 1 Schlüssel für Sender und Empfänger Benötigt

Mehr

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,

Mehr

Regine Schreier

Regine Schreier Regine Schreier 20.04.2016 Kryptographie Verschlüsselungsverfahren Private-Key-Verfahren und Public-Key-Verfahren RSA-Verfahren Schlüsselerzeugung Verschlüsselung Entschlüsselung Digitale Signatur mit

Mehr

Zahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2

Zahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2 Zahlentheorie, Arithmetik und Algebra I Felix Teufel 26.07.2017 Hallo Welt! -Seminar - LS 2 Überblick Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Eulersche Φ-Funktion RSA Quellen 26.07.2017

Mehr

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp Fakultät für Mathematik und Informatik Universität of Bremen Übersicht des Vortrags 1 Einfache Kryptosysteme 2 Einmalschlüssel

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Diskrete Strukturen Gruppe und Ring Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 06.05.2013 1 / 25 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:

Mehr

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel in der Praxis Proseminar Kryptographische Protokolle SS 2009 5.5.2009 in der Praxis Gliederung 1 Grundlegendes über RSA 2 in der Praxis Allgemeine Vorgehensweise zur Verschlüsselung Signieren mit RSA 3

Mehr

Mathematische Methoden für Informatiker

Mathematische Methoden für Informatiker Prof. Dr. 29.11.2018 32. Vorlesung Homomorphiesatz für Ringe Chinesischer Restsatz, speziell für Ringe Z n Lösen von t simultanen linearen Kongruenzen Sonderfall t = 2 Anwendungen, z.b. schnelle Addition

Mehr

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n) RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert

Mehr

4: Algebraische Strukturen / Gruppen

4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) 120 4: Algebraische Strukturen / Gruppen Definition 46 Sei G eine nichtleere Menge. Eine Funktion : G G G bezeichnen wir als Verknüpfung auf G. Das Paar (G,

Mehr

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Klausur am 19.08.2006: Lösungsvorschläge zu den Aufgaben zu Aufgabe I.1 (a) Das numerische Äquivalent zu KLAUSUR ist die Folge [10, 11, 0, 20, 18,

Mehr

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [8-2] Schmeh, Klaus: Kryptografie. dpunkt, 4. Auflage, 2009 [8-3] Schneier,

Mehr

Einführung in die asymmetrische Kryptographie

Einführung in die asymmetrische Kryptographie !"#$$% Einführung in die asymmetrische Kryptographie Dipl.-Inform. Mel Wahl Prof. Dr. Christoph Ruland Universität Siegen Institut für digitale Kommunikationssysteme Grundlagen Verschlüsselung Digitale

Mehr

Kryptographische Grundlagen

Kryptographische Grundlagen Kryptographische Grundlagen Bernhard Lamel Universität Wien, Fakultät für Mathematik 10. Mai 2007 Outline 1 Symmetrische Verschlüsselung 2 Asymmetrische Verschlüsselung 3 Praxis Verschlüsseln und Entschlüsseln

Mehr

Elliptische Kurven und ihre Anwendung in der Kryptographie

Elliptische Kurven und ihre Anwendung in der Kryptographie Elliptische Kurven und ihre Anwendung in der Kryptographie Carsten Baum Institut für Informatik Universität Potsdam 17. Juni 2009 1 / 29 Inhaltsverzeichnis 1 Mathematische Grundlagen Charakteristik eines

Mehr

Literatur. [8-9] ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung

Literatur. [8-9]   ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [8-2] Schmeh, Klaus: Kryptografie. dpunkt, 6. Auflage, 2017 [8-3] Schneier,

Mehr

El Gamal Verschlüsselung und seine Anwendungen

El Gamal Verschlüsselung und seine Anwendungen El Gamal Verschlüsselung und seine Anwendungen Andrés Guevara July 11, 2005 1 Kurze Einführung in die Kryptographie Situation: Absender will Empfänger eine Nachricht schicken. Einige Ziele der Kryptographie

Mehr

AES und Public-Key-Kryptographie

AES und Public-Key-Kryptographie Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert

Mehr

Das RSA-Verfahren - Einsatz von Standardalgorithmen in der Kryptologie

Das RSA-Verfahren - Einsatz von Standardalgorithmen in der Kryptologie Das RSA-Verfahren - Einsatz von Standardalgorithmen in der Kryptologie 2 Verschlüsseln durch modulares Rechnen modulares Addieren modulares Multiplizieren modulares Potenzieren Verschlüsselung mit öffentl.

Mehr

Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli :54 P.M. Page 9

Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli :54 P.M. Page 9 Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli 2018 7:54 P.M. Page 9 Auf einen Blick Über den Autor... 7 Einleitung... 19 Teil I: Verschlüsseln... 25 Kapitel 1: Sicherheit in Zeiten des Internet... 27

Mehr

Kommunikationsalgorithmus RSA

Kommunikationsalgorithmus RSA Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26 Programm heute 1. Verschlüsselungsverfahren

Mehr

Mathematisches Kaleidoskop 2014 Materialien Teil 2. Dr. Hermann Dürkop

Mathematisches Kaleidoskop 2014 Materialien Teil 2. Dr. Hermann Dürkop Mathematisches Kaleidoskop 2014 Materialien Teil 2 Dr. Hermann Dürkop 1 1.6 Quadratische Reste und das Legendre-Symbol Im folgenden seien die Moduln p immer Primzahlen. Wir haben bisher gesehen, ob und

Mehr

4 Der diskrete Logarithmus mit Anwendungen

4 Der diskrete Logarithmus mit Anwendungen 4 Der diskrete Logarithmus mit Anwendungen 53 4.1 Der diskrete Logarithmus Sei G eine Gruppe (multiplikativ geschrieben) und a G ein Element der Ordnung s (die auch sein kann). Dann ist die Exponentialfunktion

Mehr

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung IT-Sicherheitsmanagement Teil 8: Asymmetrische Verschlüsselung 02.01.18 1 Literatur [8-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001

Mehr

4 Diskrete Logarithmen und Anwendungen

4 Diskrete Logarithmen und Anwendungen Stand: 19.1.2015 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 4 Diskrete Logarithmen und Anwendungen 4.1 Diskrete Logarithmen Wir betrachten eine endliche zyklische Gruppe (G,, e)

Mehr

Diskrete Mathematik 1

Diskrete Mathematik 1 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 008/09 Blatt

Mehr

Vorlesung 7. Tilman Bauer. 25. September 2007

Vorlesung 7. Tilman Bauer. 25. September 2007 Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x

Mehr

El. Zahlentheorie I: Der kleine Satz von Fermat

El. Zahlentheorie I: Der kleine Satz von Fermat Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x

Mehr

Public-Key-Kryptographie

Public-Key-Kryptographie Kapitel 2 Public-Key-Kryptographie In diesem Kapitel soll eine kurze Einführung in die Kryptographie des 20. Jahrhunderts und die damit verbundene Entstehung von Public-Key Verfahren gegeben werden. Es

Mehr

Anwendungen der Linearen Algebra: Kryptologie

Anwendungen der Linearen Algebra: Kryptologie Anwendungen der Linearen Algebra: Kryptologie Philip Herrmann Universität Hamburg 5.12.2012 Philip Herrmann (Universität Hamburg) AnwLA: Kryptologie 1 / 28 No one has yet discovered any warlike purpose

Mehr

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015 Vorkurs für Studierende in Mathematik und Physik Einführung in Kryptographie Kurzskript 2015 Felix Fontein Institut für Mathematik Universität Zürich Winterthurerstrasse 190 8057 Zürich 11. September 2015

Mehr

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) WS 2015/16 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr