¨Ubungen zur Vorlesung Kryptographie

Werbung
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
Herunterladen