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