TECHNISCHE UNIVERSITÄT DARMSTADT Einführung in die Kryptographie FACHGEBIET THEORETISCHE INFORMATIK PROF. JOHANNES BUCHMANN DR. JULIANE KRÄMER WS 2015/ 2016 11. Übungsblatt — 14.01.2016 Ankündigung - P1 Hashfunktionen und Kompressionsfunktionen 1. Was ist eine Hashfunktion? 2. Was ist eine Kompressionsfunktion? 3. Was ist eine Einwegfunktion? 4. Was ist eine Kollision? 5. Besitzen Hash- und Kompressionsfunktionen Kollisionen? Warum (nicht)? 6. Was bedeutet es wenn wir sagen, dass eine Hashfunktion schwach bzw. stark kollisionsresistent ist? 7. Welche kryptographischen Schutzziele können mit Hashfunktionen erreicht werden? P2 Hashfunktionen Sei f : R → R, x 7→ x − bxc. Dabei ist b·c die sogenannte floor function („abrunden“), die einer reellen Zahl x die größte p ganze Zahl zuordnet, die kleiner oder gleich x ist. (Beispielsweise gilt b 7c = 2.) Betrachte die Hashfunktion p h : N≥0 → N≥0 , k 7→ b10 · f ( 3k)c. 1. Was ist die Bildmenge von h, d.h. welche Funktionswerte kann h(k) annehmen? 2. Wieviele Funktionswerte von h mußt Du höchstens untersuchen um eine Kollision zu finden? 3. Gib eine Kollision von h an. P3 Hashfunktionen aus Kompressionsfunktionen Es seien die folgenden zwei Verschlüsselungsverfahren gegeben: 1. Klartext- und Schlüsseltextraum sowie Schlüsselraum seien {0, 1}4 . Die Verschlüsselungsfunktion ist XOR: (a) Ek (x) = k ⊕ x. 2. Klartext- und Schlüsseltextraum sowie Schlüsselraum seien wie in 1. Die Verschlüsselungsfunktion ist als Exponentiation bzw. Multiplikation zum Modulus 17 definiert. Zu diesem Zweck identifizieren wir einen Bitstring (a3 . . . a0 ) P3 mit der Zahl 1 + i=0 ai · 2i , um aus Klartexten und Schlüsseln ganze Zahlen zu machen. (b) Ek (x) = x k mod 17. (c) Ek (x) = x · k mod 17. 1 Auf der Grundlage dieser beiden Verschlüsselungsverfahren definieren wir jetzt die Kompressionsfunktionen g1 (k||x) = g2 (k||x) = g3 (k||x) = (b) Ek (x) ⊕ k, (c) (a) Ek (Ek (x)), (b) (c) Ek (x) ⊕ Ek (x). (a) Finden Sie Kollisionen für alle drei Kompressionsfunktionen. (b) Wir bilden die Hashfunktion h nach dem in der Vorlesung vorgestellten Verfahren aus der Kompressionsfunktion (a) (a) g4 (k||x) = Ek (x) mit Ek (x) wie oben definiert. Bestimmen Sie den Hashwert der Nachricht m = 10101101011. H1 Kompressionsfunktion Sei p = 17 prim und h die folgende Kompressionsfunktion: h : {1, . . . , p − 1}2 −→ {1, . . . , p − 1} (x, y) 7−→ 3 x · 5 y mod p. Finden Sie mit dem Babystep-Giantstep-Algorithmus, der in der Ferienübung eingeführt wurde, ein zweites Urbild zu h(2, 2) = 4. 2