Lösung_05

Werbung
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
Herunterladen