Ruhr-Universit¨ at Bochum
Lehrstuhl f¨ur Kryptologie und IT-Sicherheit Prof. Dr. Alexander May
Stefan Hoffmann, Ilya Ozerov
Haus¨ubungen zur Vorlesung
Kryptographie
WS 2013/14
Blatt 4 / 04. November 2013
Abgabe: 12. November 2013, 14.00 Uhr (vor der Vorlesung), Kasten NA/02
AUFGABE 1 (7 Punkte):
Wir betrachten die Konstruktion
”Stromchiffre” und den zugeh¨origen Sicherheitsbeweis aus der Vorlesung (siehe Folie 44 ff.), wobei G : {0,1}n → {0,1}`(n) ein Pseudozufallsgenerator ist. Wir definieren ein symmetrisches Verschl¨usselungsverfahren Π = (Gen,Enc,Dec) mit Sicherheitsparameter n f¨ur Nachrichten der L¨ange `(n) wie folgt.
Gen(1n): W¨ahle k ∈R{0,1}n.
Enck(m): Zur Nachricht m∈ {0,1}`(n) berechne c:=m⊕G(k), mit ¯¯ G(k) :=G(k)⊕1`(n). (a) Geben Sie eine Entschl¨usselungsfunktion an und zeigen Sie die Korrektheit.
(b) Zeigen Sie die KPA-Sicherheit von Π, indem Sie zeigen dass ¯G : {0,1}n → {0,1}`(n) ebenfalls ein Pseudozufallsgenerator ist. Benutzen Sie dann den Satz
”Stromchiffre”
(Folie 45) aus der Vorlesung.
(c) Zeigen Sie die KPA-Sicherheit direkt, indem Sie den Beweis zur
”Stromchiffre” (Folie 45 ff.) immitieren, d.h. aus einem KPA-Angreifer Aauf Π einen UnterscheiderD f¨urG konstruieren.
Bitte wenden!
AUFGABE 2 (6 Punkte):
Sei Π = (Gen,Enc,Dec) ein KPA-sicheres, symmetrisches Verschl¨usselungsverfahren mit de- terministischer Verschl¨usselungsfunktion Enc und M = C = {0,1}`(n). Aus der Vorlesung wissen wir, dass Π dann nicht mult-KPA sicher sein kann. Betrachten Sie die folgende ran- domisierte Variante Π0 = (Gen0,Enc0,Dec0) von Π mit
Gen0(1n): Gibt k←Gen(1n) zur¨uck.
Enc0k(m): W¨ahlt bei Eingabe m∈ {0,1}`(n)−2 ein r ∈R{00,01,10,11} und gibt c:=Enck(m, r) (die Nachricht wird mit der Zufallszahl aufgef¨ullt) zur¨uck.
(a) Geben Sie eine Entschl¨usselungsfunktion an und zeigen Sie die Korrektheit.
(b) Zeigen Sie, dass auch Π0 nicht mult-KPA-sicher ist.
AUFGABE 3 (7 Punkte):
Sei G : {0,1}n → {0,1}`(n) ein Pseudozufallsgenerator. Wir konstruieren aus G folgendes symmetrische Verschl¨usselungsverfahren Π = (Gen,Enc,Dec) f¨ur Nachrichtenm∈ {0,1}2`(n): Gen(1n): Gib k∈R {0,1}n zur¨uck.
Enck(m): F¨ur m= (m1, m2) gib c:= (c1, c2) := (G(k)⊕m1, G(k⊕0n−11)⊕m2) zur¨uck.
Wir verschl¨usseln also den ersten Teil der Nachricht analog zur Stromchiffre, indem wir die Nachricht m1 ∈ {0,1}`(n) auf die Ausgabe des Generators bei Eingabek xorieren. Zus¨atzlich dazu verschl¨usseln wir nun aber auch den zweiten Teil der Nachricht, f¨ur den wir lediglich das hinterste Bit des Seeds ¨andern.
(a) Geben Sie eine Entschl¨usselungsfunktion an und zeigen Sie die Korrektheit.
(b) Sei G0 :{0,1}n−1 → {0,1}`(n) ein Pseudozufallsgenerator. Konstruieren Sie aus G0 ein G: {0,1}n → {0,1}`(n) mit G(k) =G(k⊕0n−11) f¨ur alle k ∈ {0,1}n. Zeigen Sie, dass G ein Pseudozufallsgenerator ist.
(c) Zeigen Sie, dass Π im Allgemeinen nicht KPA-sicher ist.
Hinweis: Sie d¨urfen f¨ur (c) den konstruierten Pseudozufallsgenerator aus (b) verwenden.