1 Übungen zur Vorlesung Kryptographie Prof. Dr. N. Martini 1. Modulo-Rechnung a) 4 mod 6 = b) 17 mod 10 = c) 20 mod 11 = d) 30 mod 4 = e) 418 mod 23 = f) 8360 mod 23 = g) 10000 mod 32 = h) (17 · (3 + 12)) mod 13 = i) 34 mod 9 = j) 43 mod 9 = k) 157 mod 11 = l) 1011 mod 12 = m) 1012 mod 13 = 2. Euklidischer Algorithmus Primzahlen bis 50: 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47 – Führen Sie eine Primfaktorzerlegung für folgende Zahlen durch: 15,22,30,45,78,210,223,323,397,399,4620 – Bestimmen Sie mithilfe des Euklidischen Algorithmus den größten gemeinsamen Teiler (ggT) von: a) ggT (15, 22) = b) ggT (32, 40) = c) ggT (36, 81) = d) ggT (323, 399) = e) ggT (98, 441) = f) ggT (63, 96) = – Berechnen Sie mithilfe des erweiterten Euklidischen Algorithmus a) das Inverse a−1 von 50 · a−1 = 1 mod 11 2 b) das Inverse a−1 von 95 · a−1 = 1 mod 21 (beachte: das Inverse von a · a−1 = 1 mod b existiert nur wenn ggT (a, b) = 1 ) 3. Kleiner Satz von Fermat, Eulersche Verallgemeinerung des Fermatschen Satzes Kleiner Satz von Fermat: am−1 = 1 mod m mit m als Primzahl und ggT (a, m) = 1, Satz von Euler: aϕ(n) mod n = 1 mit ggT (a, n) = 1 und ϕ(n) als Anzahl der teilerfremden Zahlen zu n. Mit ϕ(p) = p − 1 und ϕ(p · q) = (p − 1)(q − 1) mit p und q als Primzahlen. – Bestimmen Sie die Anzahl der teilerfremden Zahlen ϕ(n) für alle Zahlen 2 ≤ n ≤ 20 n ϕ(n) n ϕ(n) 1 2 3 4 1 21 22 23 12 10 22 5 24 8 6 25 20 7 8 26 12 9 27 18 10 28 12 11 29 28 12 30 8 13 31 30 14 32 16 15 33 20 16 34 16 17 35 24 18 36 12 19 37 36 – Berechnen Sie: a) 440 mod 41 = b) 916 mod 17 = c) 46 mod 9 = d) 1516 mod 32 = e) 230 mod 31 = f) 24 mod 8 = g) 76 mod 14 = 4. Primzahl-Test Testen Sie mithilfe des Miller-Rabin-Tests, ob die Zahl 233 mit 75% Wahrscheinlichkeit eine Primzahl ist oder nicht. 5. Primzahl-Faktorisierung – Primzahl-Faktorisierung mit Probedivision a) 528 b) 975 c) 323 – Fermat-Methode p−q Die zu zerlegene Zahl ist n = (a + b)(a − b) mit a = p+q 2 und b = 2 . Vorgehensweise: Man suche eine Differenz, die eine Quadratzahl ergibt a2 − n = b2 und berechne damit ggT (a ± b, n) a) n = 51 b) n = 95 20 38 18 39 24 40 16 3 – (p-1)-Methode Zu berechnen ist ggT (ak − 1, n), mit k als Produkt von Primzahlpotenzen, die alle für sich jeweils kleiner/gleich einer Schranke B (abh. von den Primzahlpotenzen von p − 1) sind a) n = 95 mit B = 4 b) n = 377 mit B = 4 c) n = 319 mit B = 5 6. RSA-Algorithmus Schlüssel-Berechnung: e · d = 1 mod ϕ(n) mit n = p · q, ϕ(n) = (p − 1)(q − 1) und ggT (e, ϕ(n)) = 1 Gegeben sind die Primzahlen p = 17 und q = 23 Aufgabe: a) Bestimmung des öffentlichen und privaten Schlüssels b) Signatur des Klartextes m = 2 c) Verifikation des Ergebnisses aus b) Lösungen: 1a) 4, b) 7, c) 9, d) 2, e) 4, f) 11, g) 16, h) 8, i) 0, j) 1, k) 5, l) 4, m) 1 2.1 15 = 3 · 5, 22 = 2 · 11, 30 = 2 · 3 · 5, 45 = 32 · 5, 78 = 2 · 3 · 13, 210 = 2 · 3 · 5 · 7, 223 = 223, 323 = 17 · 19, 397 = 397, 399 = 3 · 7 · 19, 4620 = 22 · 3 · 5 · 7 · 11 2.2a) 1, b) 8, c) 9, d) 19, e) 49, f) 3 2.3a) 2, b) 2 3.2a) 1, b) 1, c) 1, d) 1, e) 1, f) 0, g) 7 5.1a) 528 = 24 · 3 · 11, b) 975 = 3 · 52 · 13, c) 323 = 17 · 19 5.2a) 51 = 3 · 17, b) 95 = 5 · 19 5.3a) 95 = 5 · 19, b) 377 = 13 · 29, c) 319 = 11 · 29 6a) e = 5, d = 141, b) c = 236