TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF JOHANNES BUCHMANN NABIL ALKEILANI ALKADRI Einführung in die Kryptographie WS 7/ 8 3 Lösungsblatt 67 P Matrizen und Determinanten Finden Sie heraus, welche der folgenden Matrizen invertierbar modulo m sind, wobei m der jeweils angegebe Modul ist Geben Sie, wenn möglich, die inverse Matrix an 4 4 3 3 3 4 (a) mod (b) mod 3 (c) 5 mod 4 4 5 4 6 Hinweis: Eine Matrix ist genau dann modulo m invertierbar, wenn ihre Determinante teilerfremd zu m ist Die Determinanten von und 3 3 Matrizen sind: a b c a b det = ad bc, det d e f +aei + b f g + cdh = c d ceg bdi a f h g h i Lösung: a) Die Determinante ist 7, also teilerfremd zu Die inverse Matrix modulo ist 8 9 6 b) Die Determinante ist 4, also teilerfremd zu 3 Die inverse Matrix modulo 3 ist 3 3 c) Die Determinante ist, also nicht teilerfremd zu 4 Bestimmen Sie die Anzahl der n n Matrizen mit ganzzahligen Einträgen, deren Determinante zu einer gegebenen natürlichen Zahl m teilerfremd ist Benutzen Sie das Ergebnis, um die Anzahl der Schlüssel der affin linearen Blockchiffre abzuschätzen Lösung: Sei A n n m mit gcd(det(a), m), dh, det(a) mod m Somit sind die Spaltenvektoren linear abhäging Wie wollen die Anzahl der Matrizen bestimmen, deren Spaltenvektoren über m linear unabhäging sind Sei a,, a n die Spaltenvektoren Sie sind dann linear unabhängig wenn folgende Bedingungen gelten: a n m \ {, a n m \ {a m, a 3 n m \ {a m + a m, a n n m \ {a m + + a n m Somit ist die Anzahl der möglichen Matrizen gegeben durch n (m n )(m n m) (m n m n ) = (m n m i ) i=
Der Schlüsselraum der affin linearen Blockchiffre ist: K = {(A, b) : b n m, A n n m mit gcd(det(a), m) = Die Anzahl der möglichen Vektoren b ist m n Somit ist K = m n n (m n m i ) i= P Affin Lineare Blockchiffren Wir betrachten eine affin lineare Blockchiffre mit Bocklänge n = 3 und Modul m = 9 Dabei benutzen wir das Alphabet Σ = 9 ˆ={A, B, C,, Z, Ä, Ö, Ü So entspricht das Wort TÜR dem Vektor (9, 8, 7) T Sie beobachten folgende Klartext/Chiffretext Paare: E (A,b) (VOR) = RAT, E (A,b) (HAI) = KUH, E (A,b) (ROT) = GUT, E (A,b) (EIS) = BÄR Finden Sie den Schlüssel (A, b) Lösung: Wir erhalten 5 5 (p p,, p 3 p ) 5 3 {{ =P (mod 9), 8 3 (c c,, c 3 c ) 6 7 {{ 7 =C (mod 9) Sei P das Inverse zu P Modulo 9 Es ergibt sich: 4 P = 8, 5 5 8 6 7 C P 7 3 4 {{ 8 =A 9 (mod 9), b = 8 P3 Wahrscheinlichkeiten Es wird mit zwei Würfeln gewürfelt Bestimmen Sie die Wahrscheinlichkeit für das Auftreten der folgenden Ereignisse: ein Pasch (beide Würfel zeigen den gleichen Wert) ein Würfel zeigt die, der andere die keines der vorhergehenden Ereignisse Lösung: Die Ereignismenge ist die Menge geordneter Paare S = {(x, y) : x, y {,, 6 Da die Ereignisse der Würfel unabhängig sind, ist die Wahrscheinlichkeit jedes Paares genau Pr S (a, b) = Pr Würfel (a) Pr Würfel (b) = /6 /6 = /36 Die Teilmenge der Pasche ist A = {(, ), (, ),, (6, 6) S Es ist Pr S (A ) = 6 /36 = /6 Zum zweiten Ereignis gehört die Teilmenge A = {(, ), (, ) S Es ist Pr S (A ) = /36 = /8 Bestimmen wir nun zunächst die Wahrscheinlichkeit, dass ein Ereignis aus A oder A auftritt Da sich A und A gegenseitig ausschließen (A A = ), gilt Pr S (A A ) = Pr S (A ) + Pr S (A ) = /9 Das dazu komplementäre Ereignis A 3 := S\(A A ) hat somit die Wahrscheinlichkeit Pr S (A 3 ) = Pr S (A A ) = 7/9
Es werden drei Würfel geworfen und ihr Ergebnis multipliziert Wie hoch ist die Wahrscheinlichkeit, dass mindestens ein Würfel eine ungerade Augenzahl zeigt unter der Bedingung, dass der Wurf das Ergebnis 4 erzielt hat? Lösung: Sei A das Ereignis, dass mindestens ein Würfel eine ungerade Augenzahl zeigt, und B das Ereignis, dass das Produkt der Augenzahlen 4 ist Insgesamt gibt es 6 mögliche Ergebnisse Hiervon liefern die Tripel (, 3, 4) (zusammen mit 5 weiteren Permutationen), (6, 4, ) (zusammen mit 5 weiteren Permutationen) und (6,, ) (zusammen mit weiteren Permutationen) Ergebnisse in B Somit ist Pr(B) = 5/6 = 5/7 Von den genannten Tripeln liegen nur und zwar (, 3, 4) und (6, 4, ) mit ihren Permutationen in A B Wir erhalten Pr(A B) = /6 = /8 und Pr(A B) = Pr(A B)/ Pr(B) = /5 = 4/5 als die gesuchte bedingte Wahrscheinlichkeit P4 Perfekte Geheimhaltung Beweisen Sie folgenden Satz: Ein Kryptosystem ist genau dann perfekt geheim (auch: perfekt sicher, engl perfectly secure), wenn für alle Paare (P, P ) von Klartexten und für alle Schlüsseltexte C gilt: Pr(C P ) = Pr(C P ), wenn also die Wahrscheinlichkeit dafür, dass beim Verschlüsseln ein Chiffretext C ensteht unabhängig vom verschlüsselten Klartext ist Hinweis: Verwenden Sie den Satz von Bayes Lösung: Sei das Kryptosystem perfekt geheim Sei (P, P ) ein beliebiges Klartextpaar Wir wenden den Satz von Bayes an und erhalten Pr(C P ) = Pr(P C) Pr(C) Pr(P ) und analog Pr(C P ) = Pr(C), also Pr(C P ) = Pr(C P ) = Pr(P ) Pr(C) Pr(P ) = Pr(C) Gelte nun umgekehrt Pr(C P ) = Pr(C P ) für alle Klartextpaare (P, P ) Dann gilt für alle Klartexte P, dass Pr(C) = Pr(C P) und deshalb Pr(C P) Pr(P) Pr(C) Pr(P) Pr(P C) = = = Pr(P) Pr(C) Pr(C) P5 Perfekte Geheimhaltung Die Hill-Chiffre ist ein Kryptosystem (P, C, K, Enc, Dec) mit folgenden Eigenschaften: P = C = Σ n, wobei Σ = m mit m, n und m, n, K besteht aus einer Teilmenge aller modulo m invertierbaren (n n)-matrizen über Σ, Enc = {E A : A K, wobei E A : P C, x Ax mod m, Dec = {D A : A K, wobei D A : C P, x A x mod m Untersuchen Sie, ob dieses Kryptosystem (für geeigneten Schlüsselraum K) perfekte Geheimhaltung bieten kann Lösung: Ob ein Kryptosystem perfekte Geheimhaltung bieten kann, lässt sich mit Hilfe des Satzes von Shannon prüfen Betrachten wir zunächst diesen Satz Dort werden folgende Bedingungen genannt: Die Anzahl Klar-, Chiffretexte und Schlüssel muss übereinstimmen Dies lässt sich dadurch gewährleisten, dass man eine Teilmenge K verwendet, für die K = P gilt, Die Bedingung, dass die Schlüssel gleichverteilt gewählt werden, lässt sich realisieren indem jedesmal ein neuer Schlüssel gleichverteilt gewählt wird 3
Allerdings lässt sich die Forderung p P c C A K : E A (p) = c nicht erfüllen, wie man durch Gegenbeispiele zeigen kann: Für p = c = = nämlich genügen alle Matrizen A der Gleichung: E A (p) = Ap = = c, während für p =, c keine Matrix die Gleichung erfüllt Deshalb kann die Hill-Chiffre nicht perfekte Geheimhaltung bieten Alternative kurze Lösung: Die Definition der perfekten Geheimhaltung ist für die Klar-/ Schlüsseltexte p = c = = nicht gegeben, da p = für jeden Schlüssel auf c = abgebildet wird (und c = eindeutig festlegt, dass der zugehörige Klartext p = war) H Blockchiffren Wir verwenden folgende Korrespondenz zwischen Zahlen und Zeichen: 3 4 5 6 7 8 9 3 4 5 _ A B C D E F G H I J K L M N O 6 7 8 9 3 4 5 6 7 8 9 3 3 P Q R S T U V W X Y Z, ;!? und stellen diese als 5 stellige Binärzahlen dar Wir betrachten nun ein Kryptosystem mit Klartextraum = Chiffretextraum = 5 und Schlüsselraum K 5 5 5 Die Verschlüsselungsfunktion ist E (A,b) : 5 5, x Ax + b mod Sie haben die folgende verschlüsselte Nachricht erhalten: XJ,FB!YDEC!BKN Sie wissen, daß die Nachricht im CBC-Modus verschlüsselt wurde, kennen allerdings den Initialisierungsvektor nicht Geben Sie eine notwendige und hinreichende Bedingung dafür an, dass man aus der Kenntnis der ersten 7 Blöcke des Klaretextes einen eindeutigen Schlüssel (A, b) K bestimmen kann Lösung: Es gilt die Beziehung E (A,b) (m i c i ) A(m i c i ) + b c i mod Für die Kryptanalyse müssten wir c i c j und (m i c i ) m j c j für ein j berechnen Dies geht nur, wenn j 7 Nehmen wir an, j = Für b i := (m i c i ) muss die Matrix b3 b b 4 b b 5 b b 6 b b 7 b invertierbar sein Es folgt, dass ein Known Plaintext Angriff nur dann erfolgreich sein kann, wenn b i b für i = 3, n linear unabhängig sind Diese Bedingung ist äquivalent zu der Bedingung, dass für alle j n alle b i b j, i {, 7 \ { j linear unabhängig sind Man sagt b,, b 7 sind affin unabhängig Ihnen ist der erste Teil der übermittelten Nachricht bekannt: KSR_BNW Geben Sie den verwendeten Schlüssel an Lösung: Wir kennen die ersten 35 Bit des Klartextes: m =, m =, m 3 =, m 4 =, m 5 =, m 6 =, m 7 =, sowie des Schlüsseltextes: c =, c =, c 3 =, c 4 =, c 5 =, c 6 =, c 7 = 4
Wir erstellen damit die folgende Tabelle: i m i c i E (A,b) (m i c i ) = c i 3 4 5 6 7 Wir eleminieren den affinen Anteil, indem wir die folgenden Differenzen betrachten: i m i+ c i m c c i+ c 3 4 5 6 Wir nennen den linken Teil der oberen Tabelle M und den rechten Teil C Offensichtlich gilt dann: AM = C M = = und damit: Wir invertiern A: C M = A = M = A = und erhalten damit den affinen Anteil b = = c A(m c ) Wir können nun sogar den Initalisierungsvektor ausrechnen: c = = A (c b) m 3 Entschlüsseln Sie den Rest der Nachricht Hinweis: Die gesendete Nachricht muss nicht unbedingt einen sinnvollen Text ergeben Lösung: Der Schlüsseltext lautet in Binärdarstellung: 5
Wenn wir die Blöcke des Chiffretextes so numerieren wie in der vorigen Teilaufgabe, erhalten wir: c 7 = c 8 = D (A,b) (c 8 ) = c 9 = D (A,b) c9 = c = D (A,b) (c ) = c = D (A,b) (c ) = c = D (A,b) (c ) = c 3 = D (A,b) (c 3 ) = c 4 = D (A,b) c4 = Zuletzt ermitteln wir den Klartext: bzw KSR_BNWQEHOZ_X 6