Kryptographie

Werbung
TECHNISCHE UNIVERSITÄT DARMSTADT
Einführung in die
Kryptographie
FACHGEBIET THEORETISCHE INFORMATIK
PROF. JOHANNES BUCHMANN
FATEME SHIRAZI
WS 2012/2013
11. Lösungsblatt — 18.01.2013
P1 Geburtstagsparadoxon
Angenommen, die vierstelligen Geheimnummern von EC-Karten werden zufällig (unabhängig und gleichverteilt) erzeugt.
(a) Wieviele Personen müssen Sie mindestens versammeln, damit von diesen mit Wahrscheinlichkeit ≥ 1/2 zwei (oder
mehr) dieselbe Geheimzahl haben?
Lösung. Es gibt 104 mögliche Geheimnummern. Nach der Ungleichung (5.3) im Lehrbuch wird k minimal gewählt,
so dass es die Abschätzung
‹

p
k ≥ 1 + 1 + 8 · 104 · ln 2 /2 ≈ 118, 24
erfüllt. Wenn Sie k ≥ 119 Personen versammeln, dann haben mit Wahrscheinlichkeit ≥ 1/2 mindestens zwei davon
dieselbe Geheimnummer.
(b) Wieviele Personen benötigen Sie, um mit Wahrscheinlichkeit ≥ 1/2 jemanden zu finden, der dieselbe Geheimnummer wie Sie verwendet?
Lösung. Die Wahrscheinlichkeit, dass jemand dieselbe Nummer wie Sie verwendet, ist 10−4 . Damit ist die
Wahrscheinlichkeit, dass k Personen alle eine andere Nummer als Sie verwenden, genau p := (1 − 10−4 )k . Gesucht
ist das minimale k ∈ N, sodass 1 − p ≥ 1/2, oder äquivalent, p ≤ 1/2. Logarithmieren ergibt
k · ln(1 − 10−4 ) ≤ ln(1/2)
⇔
k≥
ln(1/2)
ln(1 − 10−4 )
≈ 6931, 1.
Sie benötigen also mindestens 6932 Personen.
P2 Babystep-Giantstep-Algorithmus
Lösen Sie die Kongruenz 16 x ≡ 46 mod 53.
(a) Verwenden Sie dazu den Babystep-Giantstep-Algorithmus von Shanks.
Hinweis: 16 + 53Z erzeugt eine zyklische Gruppe der Ordnung n = 13.
p
Lösung. Zunächst schreibt man m = d ne = 4. Der diskrete Logarithmus von α = 46 + 53Z zur Basis γ = 16 + 53Z
lässt sich schreiben als x = qm + r , für 0 ≤ q, r < m. Die Größen q und r werden durch den Babystep-GiantstepAlgorithmus über den Zusammenhang
(γm )q = αγ−r
berechnet. Daraus berechnet man zuerst die Menge der Babysteps B = {(αγ−r , r) : 0 ≤ r < m}. Existiert ein Paar
(1, r) ∈ B , so ist x = r eine Lösung des DL-Problems. Andernfalls bestimmt man δ = γm und prüft, ob (δq , r) ∈ B für
ein q = 1, 2, . . .. In diesem Fall gilt dann αγ−r = δq = γqm und die Lösung ist x = qm + r .
Man berechent die 4 Babysteps B = {(αγ−r , r) : 0 ≤ r < 4} unter Zuhilfenahme von γ−1 . Dieses erhält man mit dem
Erweiterten Euklidischen Algorithmus:
0
53
0
1
16
3
1
2
5
3
3
3
1
5
10
4
0
53
1
Damit ist γ−1 = 10 + 53Z. Die Babystepmenge B ist
{(46, 0), (36, 1), (42, 2), (49, 3)}.
Die Giantsteps lauten
(γ4 )1 = 28 + 53Z,
(γ4 )2 = 42 + 53Z,
(γ4 )3 .
Man stellt fest, dass ein Paar (42, r) in B vorhanden ist und erhält das Ergebnis r = q = 2, also x = 10.
(b) Prüfen Sie Ihr Ergebnis mit schneller Exponentiation.
0
1
2
3
Lösung. Es ist 10 = 23 + 21 . Wir berechnen 162 ≡ 16, 162 ≡ 44, 162 ≡ 28, 162 ≡ 42 mod 53 und daraus
1610 ≡ 42 · 44 ≡ 46 mod 53.
P3 Hashfunktion
Sei p = 17 prim und h die folgende Hashfunktion
h : {1, . . . , p − 1}2 −→ {1, . . . , p − 1}
(x, y) 7−→ 3 x · 5 y mod p.
Finden Sie mit dem Babystep-Giantstep-Algorithmus ein zweites Urbild zu h(2, 2) = 4.
Lösung. Wir lösen das diskrete Logarithmusproblem γ x ≡ α (mod p) mit γ = 3 und α = 5. Alternativ kann man auch
die Rollen von 3 und 5 vertauschen.
Wir invertieren γ modulo p und erhalten γ−1 = 6.
p
Die Gruppe G = (Z/pZ)∗ hat die Größe n = |G| = p − 1 = 16. Wir setzen also m = d ne = 4.
Die Babystepmenge B ist
B = {(αγ−r , r) | r = 0, . . . , m − 1}
= {(5, 0), (13, 1), (10, 2), (9, 3)}.
Für die Giantsteps berechnen wir δ = γ4 mod p = 13.
Die Giantsteps sind δq für q = 1, . . . , m − 1. Im Schritt q = 1 findet eine Kollision statt. Wir folgern, dass der gesuchte
Exponent x = qm + r = 1 · 4 + 1 = 5 ist.
Aus 35 = 5 mod p kann man alle x und y bestimmen so daß 3 x · 5 y = 32 · 52 mod p
3 x · 5 y = 32 · 52 mod p =⇒ 3 x · 35 y = 32 · 310 mod p
=⇒ x + 5 y = 12 mod (p − 1)
Alle zweiten Urbilder sind also alle ganze Zahlen (x, y) mit x + 5 y = 12 mod (p − 1) . Es genügt, wenn ein Urbild
angegeben wird.
H1 Geburtstagsparadoxon
Ein Computersystem benutzt Passwörter, die genau 5 Zeichen lang sind und für jeden Nutzer zufällig generiert werden.
Ab welcher Nutzerzahl ist die Wahrscheinlichkeit, dass zwei Nutzer das gleiche Passwort zugeteilt bekommen, größer als
1/100, falls
(a) nur Großbuchstaben verwendet werden?
(b) unter Einbeziehung von Sonderzeichen insgesamt 94 Zeichen zugelassen sind?
Lösung.
Die Wahrscheinlichkeit q, dass keine zwei Nutzer die gleichen Passwörter zugeteilt bekommen, ist (siehe Formel
(5.1) im Lehrbuch)
k−1 Y
i
q=
1−
,
n
i=1
2
wobei hier k die Anzahl der Nutzer, und n die Zahl der möglichen Passwörter, also in Teilaufgabe (a) gleich 265
und in (b) gleich 945 ist.
Wir wollen ein k finden, für das q < 99/100. Wir bedienen uns dabei der gleichen Abschätzung wie im Buch und
erhalten, dass dafür
e−k(k−1)/(2n) < 99/100
genügt. Logarithmieren wir die letzte Ungleichung und lösen die sich ergebende quadratische Gleichung, so
erhalten wir, dass q < 99/100 auf jeden Fall für
p
k > 1 + 1 + 8n · ln(100/99) /2
erfüllt ist. Setzen wir für n die entsprechenden Werte ein, so erhalten wir die Schranken ka > 489 und k b > 12146.
In der Tat ist die Abschätzung, die wir benutzt haben (1 + x ≤ e x ), so gut, dass für alle k < ka bzw. k < k b die
Wahrscheinlichkeit q größer als 99/100 ist, sodass erst ab diesen Nutzerzahlen die Wahrscheinlichkeit 1 − q, dass
zwei Nutzer das gleiche Passwort erhalten haben, über 1/100 steigt.
3
Herunterladen