TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF. JOHANNES BUCHMANN DR. JULIANE KRÄMER Einführung in die Kryptographie WS 2015/ 2016 5. Lösungsblatt — 12.11.2015 Ankündigung Der Klausurtermin steht fest: Donnerstag, 11.02.2016, 17:00-19:30, Raum S101/A1. Bitte denken Sie daran, sich im Anmeldezeitraum anzumelden. P1 Sicherheitsmodelle Erläutern Sie den Zusammenhang und die Unterschiede der Begriffe „Semantische Sicherheit“, „Ciphertext-Only-Angriff“ und „Chosen-Plaintext-Angriff“. Lösung. Semantische Sicherheit: Ein Angreifer kann die Wahrscheinlichkeitsverteilung der Chiffretexte zu zwei verschiedenen Klartexten gleicher Länge nicht unterscheiden. Ciphertext-Only: Ein Angreifer sieht nur eine Menge von Chiffretexten, und versucht daraus Informationen über den Schlüssel abzuleiten. Chosen-Plaintext: Der Angreifer kann sich Klartexte frei wählen und zugehörige Chiffretexte anfragen. Das Modell der semantischen Sicherheit berücksichtigt nur Ciphertext-Only Angriffe, nicht aber Chosen-Plaintext Angriffe. P2 Geburtstags-Paradox Wir gehen davon aus, dass jedes Jahr 365 Tage hat. Wir betrachten nur Tage und Monate, aber nicht die Geburtsjahre. 1. Wie viele Menschen müssen in einem Raum sein, damit die Wahrscheinlichkeit, dass ein anderer Mensch in dem Raum am gleichen Tag wie Du Geburtstag hat, mindestens 50% beträgt? 2. Wie viele Menschen müssen in einem Raum sein, damit die Wahrscheinlichkeit, dass zwei Menschen in dem Raum am gleichen Tag Geburtstag haben, mindestens 50% beträgt? (Diese Situation wird als Geburtstagsparadox(on) bezeichnet.) Anmerkung: Das Geburtstags-Paradoxon hat wichtige Anwendungen in der Kryptographie. Ein Beispiel hierfü sind sogenannte Hash-Funktionen, die später in der Vorlesung behandelt werden. Von diesen Funktionen erwartet man, dass es schwer ist Kollisionen - das heißt zwei Urbilder zum selben Funktionswert - zu finden. Das Geburtstags-Paradoxon besagt nun, wie viele Funktionswerte man durch Brute-Force etwa berechnen muss, bis man mit Wahrscheinlichkeit von 50% eine Kollision findet. Bei einer Hash-Funktion mit n möglichen Funktionswerten (im Beispiel der Geburtstage n = 365) p sind das etwa 1.2 n. Lösung. 364 . • Die Wahrscheinlichkeit für jeden der Teilnehmer, nicht an Deinem Geburtstag Geburtstag zu haben, beträgt 365 364 n Die Wahrscheinlichkeit, dass n Teilnehmer nicht an Deinem Geburtstag Geburtstag zu haben, beträgt daher ( 365 ) . Folglich ist die Wahrscheinlichkeit, dass von n Teilnehmern mindestens einer an Deinem Geburtstag Geburtstag 364 n n hat, 1 − ( 364 365 ) . Wenn wir 1 − ( 365 ) > 0.5 nach n auflösen, und das kleinste n suchen, dass die Ungleichung erfüllt, erhalten wir n = 253. Wenn 253 Menschen in einem Raum sind, beträgt also die Wahrscheinlichkeit, dass mindestens ein anderer Mensch von diesen am gleichen Tag wie Du Geburtstag hat, mindestens 50%. • Nun geht es nicht um einen bestimmten Tag, sondern um die Frage, wie groß die Wahrscheinlichkeit ist, dass zwei Menschen in einem Raum am gleichen (beliebigen) Tag Geburtstag haben. Für zwei Menschen beträgt die Wahr364 . Für drei Menschen beträgt die Wahrscheinlichkeit, scheinlichkeit, nicht am gleichen Tag Geburtstag zu haben, 365 364 363 nicht am gleichen Tag Geburtstag zu haben, 365 · 365 . Für n Menschen beträgt die Wahrscheinlichkeit, nicht am Qn−1 gleichen Tag Geburtstag zu haben, i=0 365−i dass mindestens zwei Menschen in einem 365 . Die Wahrscheinlichkeit, Qn−1 Qn−1 Raum am gleichen Tag Geburtstag haben, ist also 1− i=0 365−i . Wenn wir 1− i=0 365−i 365 365 > 50% nach n auflösen, und das kleinste n suchen, dass die Ungleichung erfüllt, erhalten wir n = 23. 1 P3 Wiederholung: invertierbare Matrizen modulo n Hinweis: Die Determinante einer Matrix gibt Auskunft über die Invertierbarkeit. • Welche der Matrizen ist invertierbar? Betrachten Sie die Ringe R2×2 und Z2×2 . (D.h. gibt es eine Matrix A−1 ∈ R2×2 beziehungsweise A−1 ∈ Z2×2 , sodass AA−1 = I ?) A= 5 20 8 14 B= 35 13 21 27 . • Welche der obigen Matrizen ist modulo 9 invertierbar, welche modulo 7? (D.h. gibt es eine Matrix A−1 ∈ Z92×2 beziehungsweise A−1 ∈ Z 2×2 , sodass AA−1 ≡ I mod 9 beziehungsweise AA−1 ≡ I mod 7?) • Invertieren Sie die invertierbaren Matrizen modulo 9 und modulo 7. Lösung. • Nehmen wir an, daß A, B ∈ R2×2 . Dann berechnen wir die Determinanten det(A) = −90 und det(B) = 672, womit beide Matrizen in R2×2 invertierbar sind. Anders ist die Situation, falls A, B ∈ Z2×2 , da dann die Determinanten in Z nicht invertierbar sind. bzw. A, B ∈ Z2×2 • Wir nehmen also an, daß A, B ∈ Z2×2 9 . Da 9 ein Teiler von det(A) ist, und falls A modulo 9 7 invertierbar wäre, auch det(A) invertierbar wäre, ist A nicht modulo 9 invertierbar. Die Matrix B ist aus den gleichen Gründen weder modulo 7 noch modulo 9 invertierbar. • Wir erhalten A−1 ≡ −1 5 0 1 mod 7 . (1) P4 Wiederholung: die Eulersche ϕ -Funktion Beweisen Sie, dass ϕ(n) = ϕ(2n) für ungerade n gilt. Hinweis: Betrachten Sie die Mengen A = { a | 1 ≤ a < n, g g T (a, n) = 1 } und B = { a | 1 ≤ a < 2n, g g T (a, 2n) = 1 }. Lösung. ϕ(n) ist definiert als die Anzahl der Elemente der Menge A = { a | 1 ≤ a < n, g g T (a, n) = 1 }. Entsprechend ist ϕ(2n) die Anzahl der Elemente von B = { a | 1 ≤ a < 2n, g g T (a, 2n) = 1 }. Wir bilden die Mengen A und B aufeinander ab mit der Abbildung ¨ f : A −→ B : a 7−→ falls a ungerade, a a + n sonst. Wir zeigen, daß f korrekt definiert (also Im( f ) ⊆ B ) und bijektiv ist (wir geben die Umkehrabbildung an). Daraus folgt, daß beide Mengen gleich groß sind, also die gewünschte Behauptung. Korrektheit: Für ungerade a ist g g T (a, n) = g g T (a, 2n). Ist a gerade, so ist a + n ungerade und wie eben gilt g g T (a + n, n) = g g T (a + n, 2n). Außerdem ist offensichtlich 1 ≤ f (a) < 2n für alle a ∈ A . Umkehrabbildung: Die inverse Abbildung von f ist ¨ g : B −→ A : b 7−→ b wenn b < n, b − n sonst. Aus g g T (b, 2n) = 1 folgt g g T (b, n) = g g T (b − n, n) = 1, also ist Im( f ) ⊆ A . Man sieht leicht, daß g( f (a)) = a für alle a ∈ A . Schließlich ist f (g(b)) = b für alle b ∈ B , da alle b ∈ B ungerade sind und alle b − n gerade. 2 H1 Perfekte Sicherheit Wir betrachten die affin lineare Blockchiffre über Zm mit der Blocklänge 2. Um eine perfekt sicheres Kryptosystem zu erhalten, wird vorgeschlagen, den Schlüsselraum wie folgt einzuschränken: K= § (A, B) ∈ Z2×2 m × Z2m A= 1 0 a 1 und B = 0 b mit a, b ∈ Zm ª . Damit gilt: |K| = |C|. Für jeden Klartext, der verschlüsselt werden soll, wird ein neuer Schlüssel zufällig und gleichverteilt aus K gezogen. Kann die Verschlüsselungsfunktion E(A,B) : Z2m → Z2m , x 7→ Ax + B mod m perfekt sicher sein? Kann man m so wählen und den Klartextraum so einschränken, daß die betrachtete Chiffre perfekt sicher wird? Hinweis: Unterscheiden sie zwischen primen und nicht-primen Moduli m. Nutzen Sie dabei die folgende Version des Satzes von Shannon: Satz: Sei |C| = |K| und sei die Wahrscheinlichkeit P (p), daß ein bestimmter Klartext p ∈ P auftritt größer als 0. Das Kryptosystem ist genau dann perfekt sicher, wenn die Wahrscheinlichkeitsverteilung auf dem Schlüsselraum die Gleichverteilung ist und wenn es für jeden Klartext p und jeden Schlüsseltext c genau einen Schlüssel k gibt mit Ek (p) = c . Lösung. Die Chiffre wird perfekt sicher, wenn wir alle Klartexte (x, 0)> für x ∈ Zm ausschließen und m prim ist. Dann sind alle Voraussetzungen für den Satz von Shannon aus dem Hinweis erfüllt, da es für alle Paare von Klartexten p = (p1 , p2 )> und Schlüsseltexten c = (c1 , c2 )> genau einen Schlüssel (A, B) ∈ K gibt, so daß E(A,B) (p) = c : E(A,B) (p) = c ⇔ ⇔ ⇔ ⇔ Ap + B = c 0 p1 + ap2 = c− b p2 ap2 p1 = mod m c− b p2 −1 a (c1 − p1 ) p2 mod m. = b c2 − p2 H2 Geburtstags-Paradox 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 1. nur Großbuchstaben verwendet werden? 2. 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 q= k−1 Y i 1− , n i=1 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 Abschätzung 1 + x ≤ e x und erhalten, dass dafür e−k(k−1)/(2n) < 99/100 3 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 Æ 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 dieQ Wahrscheinlichkeit 1 − q, dass 488 i zwei Nutzer das gleiche Passwort erhalten haben, über 1/100 steigt. Es gilt nämlich 1 − ≈ 0.990009 und 5 i=1 26 Q12145 i 1 − ≈ 0.9900004 i=1 945 4