Kryptographie

Werbung
TECHNISCHE UNIVERSITÄT DARMSTADT
Einführung in die
Kryptographie
FACHGEBIET THEORETISCHE INFORMATIK
PROF. JOHANNES BUCHMANN
FATEME SHIRAZI
WS 2012/2013
8. Lösungsblatt — 07.12.2012
P1 Diffie-Hellman Verfahren
Gegeben sei die Gruppe G = (Z/13Z)∗ und das Element g = 2 + 13Z.
(a) Zeigen Sie, ob die Elementordnung von g gleich der Gruppenordnung ist.
Lösung. Die Ordnung von G ist 12 = 22 · 3.
Es gilt 212 mod 13 = 1 und 212/p mod 13 6= 1 f�r p=2, 3 (all Primteiler von 12). Dann ist 12 die Ordnung von g .
(b) Alice und Bob benutzen das Diffie-Hellman Schlüsselaustausch-Verfahren mit der Gruppe G und dem Element g . Sie
belauschen, dass Alice den Wert A = 6 an Bob schickt und Bob mit B = 10 antwortet.
Wie lautet Alices geheimer Exponent?
Was ist Bobs geheimer Exponent?
Wie lautet der gemeinsame Schlüssel, auf den sich die beiden geeinigt haben?
Lösung. Durch Aufstellen einer Tabelle sieht man:
20
21
22
23
24
25
26
27
28
29
210
211
1
2
4
8
3
6
12
11
9
5
10
7
Alices Exponent ist also 5 und Bobs ist 10. Der gemeinsame Schlüssel ist somit 25·10 ≡ 24·12 · 22 ≡ 22 ≡ 4 mod 13.
(c) Sei m eine ganze Zahl größer 2. Sollte man das Diffie-Hellman Verfahren auch für additive Gruppen der Form
G = (Z/mZ, +) verwenden? Begründen Sie Ihre Antwort.
Lösung. Nein, denn das Diskrete Logarithmus Problem, auf dem die Sicherheit des Diffie-Hellman-Verfahrens basiert,
ist in diesen Gruppen mit dem Euklidischen Algorithmus leicht lösbar.
P2 ElGamal Verfahren
(a) Der öffentliche Schlüssel von Alice ist (p, g, A) = (601, 7, 598). Verschlüsseln Sie die Nachricht m = 2. Nehmen Sie
für die Zufallszahl, die Sie dabei brauchen, b = 32.
Lösung. Das Ergebnis der Verschlüsselung der Nachricht m = 2 mit dem Schlüssel (p, g, A) = (601, 7, 598) unter
Verwendung des zufälligen Exponenten b = 32 ist (g b , Ab m) = (551, 402).
(b) Der private Schlüssel von Alice ist 4. Entschlüsseln Sie die Nachricht (B, Ab m) = (12, 3).
Lösung. Die Entschlüsselung des Schlüsseltextes (c1 , c2 ) = (12, 3) ist m = c2 /c1a ≡ 2 mod 601.
(c) Angenommen, Bob wählt zweimal denselben Exponenten b und berechnet damit aus den Klartexten m = 23 und
m0 jeweils die Schlüsseltexte (574, 466) und (574, 338), wobei (601, 7, 21) der öffentliche Schlüssel von Alice ist.
Berechnen Sie den Klartext m0 .
Lösung. Es gilt:
c = 466 = Ab m mod p;
c 0 = 338 = Ab m0 mod p,
c 0 c −1 = m0 m−1 mod p,
m0 = c 0 c −1 m mod p = 338 · 138 · 23 = 27.
1
P3 RSA-Signatur
Sei m eine Nachricht und h(m) = 423 deren Hashwert, der mit dem RSA-Verfahren signiert werden soll. Dabei ist der
Modul n = 437 und der öffentliche Exponent e minimal gewählt.
(a) Bestimmen Sie e und den privaten Schlüssel d .
Lösung. Aus n = 437 = 19 · 23 berechnet man (p − 1)(q − 1) = 18 · 22 = 396. Für den Zusammenhang zwischen
Ver- und Entschlüsselungsexponent muss die Beziehung ed ≡ 1 mod (p − 1)(q − 1) gelten. Das heißt, dass e und d
zueinander multiplikativ invers sind modulo (p − 1)(q − 1). Als kleinster Wert kommt e = 5 in Frage, da der Modul
396 mit den Zahlen 2, 3 und 4 einen von 1 verschiedenen ggT hat. Mit dem erweiterten euklidischen Algorithmus
findet man d = 317 als privaten Schlüssel.
(b) Berechnen Sie die zur Nachricht m gehörende Signatur.
Lösung. Zum Signieren hat man s ≡ h(m)d mod n zu berechnen; dies geschieht mit schneller Exponentiation:
317 = 28 + 25 + 24 + 23 + 22 + 20 = 1001111012 .
Die Folge der sukzessiven Quadrate lautet: 423, 196, 397, 289, 54, 294, 347, 234, 131. Für s erhält man damit s ≡
131 · 294 · 54 · 289 · 397 · 423 ≡ 25 mod 437.
Bemerkung: Für die Berechnung dieses Produkts mit dem Taschenrechner ist es ratsam, nicht erst alle Faktoren
zu multiplizieren (Größenordnung 1014 ) und dann modulo 437 zu reduzieren. Die Zahlen bleiben deutlich kleiner,
wenn zwischendurch modulo 437 reduziert wird. Zum Beispiel: 131 · 294 · 54 = 2079756 ≡ 73 mod 437, 289 · 397 ·
423 = 48532059 ≡ 150 mod 437 und damit s ≡ 73 · 150 = 10950 ≡ 25 mod 437.
(c) Überprüfen Sie, ob die Signatur aus (b) von der Nachricht m gültig ist.
Lösung. Man kann das Ergebnis einfach nachprüfen, da ja s e ≡ 255 ≡ 423 mod 437 gelten muss.
H1 Diffie-Hellmann Verfahren
Alice und Bob vereinbaren mit Hilfe des Diffie-Hellmann-Verfahrens einen symmetrischen Schlüssel K . Oscar fängt die
Parameter p = 43, g = 3, A = 30, B = 24 ab. Wie lautet demnach K ?
Hinweis: Legen Sie sich eine Tabelle an mit 3k mod 43 für k = 0, . . . , 41. Zur Vereinfachung können Sie verwenden,
dass 321+k ≡ −3k mod 43 ist für jedes k ∈ Z.
Lösung. Wir berechnen zunächst alle Potenzen g k mod p, um die diskreten Logarithmen später aus einer Tabelle ablesen
zu können:
k
0
1
2
3
4
5
6
7
8
9
3k mod 43
1
3
9
27 38 28 41 37 25 32
3
mod 43 10 30
4
12 36 22 23 26 35 19
3k+20 mod 43 14 42 40 34 16
5
15
2
6
18
3k+30 mod 43 11 33 13 39 31
7
21 20 17
8
3k+40 mod 43 24 29
1
...
Man sieht sofort, dass der geheime Exponente von Alice a = log g (A) = log3 (30) = 11 und jener von Bob b = log g (B) =
log3 (24) = 40 gewesen sein muss. Der gemeinsam in diesem Verfahren erzeugte Schlüssel ist
k+10
K ≡ g a b ≡ Ab ≡ B a ≡ 311·40 ≡ 3440 ≡ 342·10+20 ≡ (|{z}
342 )10 · 320 ≡ 14 mod 43,
≡1
440
wobei man hierbei 3
mod 43 entweder mit schneller Exponentiation ausrechnet, oder sich den kleinen Satz von
Fermat zunutze macht: Der Exponent 440 lässt sich schreiben als 10 · 42 + 20. Da ggT(3,43) = 1 ist, gilt 342 ≡ 1 mod 43
und entsprechend (342 )10 ≡ 110 ≡ 1 mod 43.
H2 ElGamal Verfahren
Alice erhält den ElGamal-Chiffretext (B, c) = (24, 7). Wie lautet ihr privater Schlüssel und der Klartext, wenn ihr öffentlicher Schlüssel (p, g, A) = (43, 3, 30) ist?
Lösung. Aus der Aufgabe H1 kennen wir schon den privaten Schlüssel a = log g (A) = 11 von Alice. Wir entschlüsseln das
Chiffrat wie folgt ( x = p − 1 − a = 31):
B x c ≡ B 31 c ≡ 2431 · 7 ≡ 40 · 7 ≡ 22 mod 43.
Alternativ hätte man, da schon K ≡ 14 mod 43 bekannt ist, auch K −1 mod n (mit dem erweiterten euklidischen Algorithmus) und dann K −1 c mod n berechnen können.
2
Herunterladen