Kryptographie

Werbung
TECHNISCHE UNIVERSITÄT DARMSTADT
Einführung in die
Kryptographie
FACHGEBIET THEORETISCHE INFORMATIK
PROF. JOHANNES BUCHMANN
FATEME SHIRAZI
WS 2013/2014
10. Lösungsblatt — 10.01.2014
P1 ElGamal
(a) Der öffentliche Schlüssel von Alice ist (p, g, A) = (601, 7, 598). Verschlüsseln Sie die Nachricht m = 2. Die
Zufallszahl, die Sie dabei brauchen, ist 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 öffentliche ElGamal-Schlüssel von Alice sei (p = 53, g = 2, A = 30). Bob erzeugt für Alice den ElGamalChiffretext (B = 24, c = 37). Wie lautet der Klartext?
Lösung.Wir finden mit erschöpfender Suche den geheimen Schlüssel von Alice a = 13 und entschlüsseln die
Nachricht m = 37.
P2 Pseudoprimzahlen
(a) Zeigen Sie, dass 341 eine Pseudoprimzahl zur Basis 2 ist.
Lösung. Eine ungerade zusammensetzte Zahl n ist eine Pseudoprimzahl zur Basis a wenn gilt:
a n−1 ≡ 1 mod n
Es gilt 2340 ≡ 1 mod 341.
Das lässt sich mit der schnellen Exponentation berechnen. Somit ist 341 eine Pseudoprimzahl zur Basis 2.
(b) Beweisen Sie mit dem Fermat-Test, dass 341 zusammengesetzt ist.
Lösung.Wähle a = 3. Es ist ggT(341, 3) = 1 und es gilt 3340 ≡ 56 mod 341.
Nach dem Fermat-Test ist also 341 zusammengesetzt, denn es gibt a = 3 mit
3340 6≡ 1 mod 341.
P3 Anzahl der Primzahlen
Bezeichnet π(x) die Anzahl der Primzahlen ≤ x (für x ≥ 17), so ist
x/log x < π(x) < 1.25506 · (x/l o g x)
(1)
(a) Bestimmen Sie π(100) und vergleichen Sie diesen Wert mit der Abschätzung in (1).
Lösung. Die Anzahl der Primzahlen, die kleiner als 100 sind:
{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, , 79, 83, 89, 97} somit ist π(100) = 25.
Die Abschätzung in (1) ergibt: 21.71<π(100) < 27.25
(b) Schätzen Sie mit (1) die Anzahl der Primzahlen ab, deren Binärdarstellung 1024 Stellen hat.
Lösung. Sei p eine Primzahl mit Bitlänge 1024. Dann gilt:
21023 ≤ p < 21024
Es gilt:
21024
21024
< π(21024 ) < (1.25506) · l o g(2
1024 )
l o g(21024 )
21023
l o g(21023 )
1024
π(2
21023
Die Anzahl
l o g(21023 )
21023
≈ 21013.53
l o g(21023 )
< π(21023 ) < (1.25506) ·
) − π(2
1023
)≈
21024
l o g(21024 )
−
der Primzahlen mit Bitlänge 1024 ist also
(c) Verwenden Sie die Aussage aus (b) um die Wahrscheinlichkeit dafür abzuschätzen, dass eine zufällig gewählte
1024-Bit Zahl eine Primzahl ist.
Lösung. Die Anzahl der Zahlen mit Bitlänge 1024 ist 21024 − 21023 = 21023
Daher ist die gesuchte Wahrscheinlichkeit:
π(21024 )−π(21023 )
21023
≈ 0.0014
1
H1 Primzahl-Berechnung
Geben Sie einen Algorithmus an, der zufällig und gleichverteilt eine Primzahl von gegebener Bitlänge berechnet.
H2 Miller-Rabin-Zeuge
Bestimmen Sie den kleinsten Miller-Rabin-Zeugen dafür, dass 341 eine zusammengesetzte Zahl ist.
H3 Laufzeit-Vergleich ElGamal vs. RSA
Vergleichen Sie die Laufzeit des ElGamal-Verfahren mit der Laufzeit des RSA-Verfahren.
2
Herunterladen