TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dr. M. Aumüller http://www.tu-ilmenau.de/iti/lehre/lehre-ws-20152016/gmk/ Grundlagen und Methoden der Kryptographie – Übung 1 Besprechung am 21. Oktober 2015 Mathematischer Hintergrund zur Lösung der Aufgaben: Für eine natürliche Zahl n ≥ 2 sei Zn die Menge der Zahlen {0, 1, . . . , n − 1}, für die die Addition +n und Multiplikation ·n wie folgt definiert ist: a +n b = a + b mod n a ·n b = a · b mod n, wobei x mod n der Rest von x bei Division durch n ist. Fakt: Falls ggT(a, n) = 1, d.h. a und n teilerfremd sind, dann gilt: Es existert ein b ∈ Zn \ {0}, so dass a ·n b = 1. Aufgabe 1 Bestimmen Sie alle possibilistisch sicheren Kryptosysteme S = (X, K, Y, e, d) mit X = {a, b} und K = {1, 2} (bis auf das Umbenennen von Chiffretexten). Aufgabe 2 Es seien S = (X, K, Y, e, d) ein Kryptosystem und ` ∈ N+ . Betrachten Sie das Kryptosystem S 0 = X ` , K ` , Y ` , e0 , d0 mit e0 (x1 , . . . , x` ), (k1 , . . . , k` ) = e(x1 , k1 ), . . . , e(x` , k` ) . (a) Definieren Sie d0 so, dass S 0 tatsächlich ein Kryptosystem ist. (b) Zeigen Sie, dass S 0 genau dann possibilistisch sicher ist, wenn S possibilistisch sicher ist. Aufgabe 3 Es seien S = (X, K, Y, e, d) ein Kryptosystem mit |X| ≥ 2 und ` ∈ N+ . Betrachten Sie das Krypto system S 0 = X ` , K, Y ` , e0 , d0 mit e0 (x1 , . . . , x` ), k = e(x1 , k), . . . , e(x` , k) . (a) Definieren Sie d0 so, dass S 0 tatsächlich ein Kryptosystem ist. (b) Zeigen Sie, dass S 0 für ` > 1 nicht possibilistisch sicher ist. Grundlagen und Methoden der Kryptographie – Übung 1 2 Aufgabe 4 Das Verschiebekryptosystem (oder Cäsar-Chiffre) mit Parameter n ∈ N+ ist gegeben durch Cn =(Zn , Zn , Zn , en , dn ) mit en (x, k) = x +n k. (a) Wie muss dn definiert werden, damit Cn tatsächlich ein Kryptosystem ist? (b) Zeigen Sie, dass Cn possibilistisch sicher ist. Will man nun einen Klartext in deutscher (oder englischer) Sprache verschlüsseln, vereinfacht man diesen zunächst, indem man alle Leer- und Interpunktionszeichen entfernt sowie Groß- durch Kleinbuchstaben ersetzt. Anschließend identifiziert man die Buchstaben a, . . . , z mit den Zahlen 0, . . . , 25 0 aus Aufgabe 2 zur Verschlüsselung, wobei man für ` die Länge und verwendet das Kryptosystem C26 des vereinfachten Klartextes verwendet. (c) Wir nutzen nun das Verfahren aus Aufgabe 3 um längere Buchstabenfolgen zu verschlüsseln. Der 0 verschlüsselt. Überlegen nachstehende Chiffretext y wurde mithilfe des obigen Verfahrens mit C26 Sie sich einen Ansatz, mit dessen Hilfe Sie den Klartext x sowie den zugehörigen Schlüssel k mit e026 (x, k) = y rekonstruieren können. Verwenden Sie Ihren Ansatz anschließend, um x und k zu ermitteln. (Sie sind eingeladen, das Problem mittels eines selbstgeschriebenen Programms zu lösen.) dzijtyvz ekvjxzsk eliqnvzg ifwvjjzf eveuzvmf eerklirl jmvikirl kvuvjwiz vuvejjze uleuxrie ztykuzvm feuveved revjuveb vejfcckv eztykuzv jvyiqnvz wvcyrwkv esridyvi qzxvejty nvjkvieu zvjtyczv jjcztyrl wuvebizv xelireuv ijrcjuzv xvevircv nrikveef tyrltyuz vgrqzwzj kveuzvmf ebizvxjx vwryieli reuvijrc juzvilvj klexjczv wvirekve cvsvejfe uvieuzvd rkyvdrkz bvileuuz vtcfneju zvdvzjkv iuvjrsjk irbkveuv ebvejleu uvirsjki rbkvegyp jzjuviwi zvuveuvi mfezyive lekvijty izwkvexr irekzvik nrvivnrv ivuvivze qzxvuvdz tymvikir lvenlviu v Hinweis: Die Leerzeichen im obigen Chiffretext dienen lediglich der Übersichtlichkeit, besitzen jedoch keine Bedeutung. Sie finden den Chiffretext ohne Leerzeichen auch in der Datei caesar.txt auf der Webseite der Vorlesung. Der englische Wikipediaeintrag zu “Letter Frequency” könnte Ihnen hilfreich sein. Aufgabe 5 Das affine Kryptosystem mit Parameter n ≥ 2 ist gegeben durch An = (Zn , An × Zn , Zn , en , dn ) mit An = { a ∈ Zn | ggT(a, n) = 1 } und en x, (a, b) = a ·n x +n b. (a) Definieren Sie dn so, dass An ein Kryptosystem ist. Grundlagen und Methoden der Kryptographie – Übung 1 3 (b) Zeigen Sie, dass An possibilistisch sicher ist. (c) Der nachstehende Chiffretext y wurde wie in Aufgabe 4 beschrieben mithilfe des Kryptosystems A026 verschlüsselt. Überlegen Sie sich erneut, wie sie den zugehörigen Klartext x ermitteln können und tun Sie dies, ggf. mittels eines selbstgeschriebenen Programms. smrtkrpw rmtckktf tspodjvq zsrelvpb wrruqopt crkwblpb tcfsmpss mrlrvpdm tcrlpert csrckrks jdpeebjz spcbjqre pstjclnm tdmdjzok wrkjcrwb pmzvpcdj vqzsre Hinweis: Die Leerzeichen im obigen Chiffretext dienen lediglich der Übersichtlichkeit, besitzen jedoch keine Bedeutung. Sie finden den Chiffretext ohne Leerzeichen auch in der Datei affin.txt auf der Webseite der Vorlesung. Aufgabe 6 Beweisen Sie Lemma 1.15 aus der Vorlesung: Sei (Ω, S, P ) ein Wahrscheinlichkeitsraum. (a) Seien A, B ∈ S mit P (B), P (B) > 0. Dann gilt P (A) = P (A | B) · P (B) + P (A | B) · P (B) . (b) Seien A, B, C ∈ S mit P (B ∩ C), P (C \ B) > 0. Dann gilt P (A | C) = P (A ∩ B | C) + P (A \ B | C) = P (A | B ∩ C) · P (B | C) + P (A | C \ B) · P (B | C) .