Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007
Einführung und moderne Sysmetrische Verfahren 1 Definitionen Verschlüsselung und Entschlüsselung, Anforderungen 2 Einfache Klassische Verfahren Caesar, Affines System, Keyword Caesar, Vigenere, GIB Hill, Playfair, Autoclave, Jefferson Wheel One-Time-Pad 3 Kryptoanalyse
Verschlüsselung und Entschlüsselung, Anforderungen 2:22 Verschlüsselung und Entschlüsselung Schreibweise Z r entspricht {0, 1, 2,...,r 1}. Definition (Ver- und Entschlüsselung) Eine Verschlüsselungsfunktion (Encryption) ist eine Abbildung E : Z r Z r. Die zugehörige Entschlüsselungsfunktion (Decryption) ist die Abbildung D : Z r Z r. Dabei gilt: w Z r : D(E(w)) = w Es muss gelten: E und D sollten effizient berechnet werden können.
Verschlüsselung und Entschlüsselung, Anforderungen 2:23 Schreibweisen Schlüssel k und verwendete Verfahren werden als Index angegeben, d.h. Für E, D, w Z r sollte gelten: E k, D k, Ek RSA, Dk RSA Verfahren Schlüssel Aus c mit c = E(w) sollte w ohne Kenntnis von k nicht bestimmt werden können. Sprechweisen: Quelltext, Plaintext, w verschlüsselter Text, Crypttext, c
Verschlüsselung und Entschlüsselung, Anforderungen 2:24 Ergänzungen Die Funktion E : Z r Z r kann Zufallswerte ω benutzen. Es muss aber immer gelten: D DES k E DES k (w, ω 1 ) = c 1 E DES k (w, ω 2 ) = c 2 (c 1 ) = Dk DES (c 2 ) = w Die verwendeten Schlüssel von D und E müssen nicht gleich sein. Verschlüsselung E RSA n (w) = c Entschlüsselung E RSA p,q (c) = w
Verschlüsselung und Entschlüsselung, Anforderungen 2:25 Überblick Damit ergibt sich folgendes Bild für die Verschlüsselung: Sender kennt w c := E k (w) c Empfänger w := D k (c) A: E, D, k, w B: E, D, k Bestimmt c = E k (w) c Bestimmt w = D k (c)
Verschlüsselung und Entschlüsselung, Anforderungen 2:26 Überblick Definition Ein Verschlüsselungsverfahren heißt klassisch bzw. symmetrisch, falls man aus E [D] (und Schlüssel k) direkt auf D [E] schließen kann. Probleme: Bei einem klassischen Verfahren muss der Schlüssel vor der Benutzung sicher ausgetauscht werden. Schlüsselverwaltung Wahl der Schlüssel
Caesar, Affines System, Keyword Caesar, Vigenere, GIB 2:27 Caesar E Caesar k : Z 26 Z 26 mit k Z 26. E Caesar k (a 1,...,a n ) = b 1...b n mit b i := (a i + k) mod 26. D Caesar k (b 1,...,b n ) = a 1...a n mit a i = (b i k) mod 26. Beispiel (mit Buchstaben): E6 Caesar (w) = jokyky hkoyvokr oyz rgtmckorom E6 Caesar (dieses beispiel ist langweilig) = jokyky hkoyvokr oyz rgtmckorom
Caesar, Affines System, Keyword Caesar, Vigenere, GIB 2:28 Affines System E Affin a,b : Z r Z r E Affin a,b (a 1,...,a n ) = b 1,...,b n mit: b i = a i a + b mod r, wobei a teilerfremd zu r ist. Bemerkung: r könnte man als Teil des Verfahren oder auch als Teil des Schlüssels auffassen. Hier: Teil des Verfahrens. Beispiel (mit Buchstaben): E3,1 Affin (w) = orhw nzo enzduzni E3,1 Affin (noch ein beispiel) = orhw nzo enzduzni abcdefghijklmnopqrstuvwxyz behknqtwzcfiloruxadgjmpsvy
Caesar, Affines System, Keyword Caesar, Vigenere, GIB 2:29 Keyword Caesar E k Caesar π : Z r Z r Eπ k Caesar (a 1,...,a n ) = b 1,...,b n mit b i = π(a i ), für Permutation π Darstellung der Permutation mittels Keywort p und Position x: Passwort: walter mit Offset 4 abcdefghijklmnopqrstuvwxyz vxyzwalterbcdfghijkmnopqsu D.h. unter die Position x wird das Keywort p geschrieben und liefert so die Permutation zum Codieren. Die restlichen Stellen werden mit den verbleibenden Buchstaben aufgefüllt.
Caesar, Affines System, Keyword Caesar, Vigenere, GIB 2:30 Vigenere E Vigenere k 1,...,k x : Z r Z r E Vigenere k 1,...,k x (a 1,...,a n ) = (a 1 + k 1 ) mod r, (a 2 + k 2 ) mod r,... (a x + k x ) mod r, E Vigenere k 1,...,k x (a x+1,...,a n ) Einfaches Beispiel: E Vigenere 1,2 (beispiel) = cgjuqkfn
Caesar, Affines System, Keyword Caesar, Vigenere, GIB 2:31 Garbage-in-between Sei f : Z Z eine streng monotone Funktion, d.h. f (i) < f (i + 1) Ef Gib (a 1,...,a n ) = b 1,...,b m mit b f (i) = a i, ansonsten sind die b j beliebig Beispiel(wenig sinn): Der Bundesbeauftragte für den Datenschutz Peter Schaar sieht das Grundrecht der Bürger auf informationelle Selbstbestimmung gefährdet. In einem Interview mit dem Wirtschaftsmagazin Euro für die kommende Ausgabe erklärte Schaar, die Behörden seien offensichtlich bemüht, unter Einsatz moderner Technik alle möglichen Lebenssachverhalte zu erfassen, um damit jegliches Fehlverhalten frühzeitig zu erkennen. Der Einzelne werde Gegenstand einer Durchleuchtung, deren Umfang er längst nicht mehr durchschauen könne.
Hill, Playfair, Autoclave, Jefferson Wheel 2:32 Hill EM,d Hill : Z 26 Z r Dabei ist M eine Matrix der Dimension d d, die ein Inverses modulo 26 hat. E Hill M,d (a 1,...,a n ) = M D Hill M,d (b 1,...,b n ) = M 1 a 1 a 2. a d EHill b 1 b 2. b d M,d (a d+1,...,a n ) DHill M,d (b d+1,...,b n )
Hill, Playfair, Autoclave, Jefferson Wheel 2:33 Playfair E Playfair f 1,f 2 E Playfair f 1,f 2 : Z r Z r (kodiert Paare von Buchstaben) (a 1,...,a n ) = f 1 (a 1, a 2 ), f 2 (a 1, a 2 )E Playfair f 1,f 2 (a 3,...,a n ) Aufbau des Systems mit 25 Buchstaben (i = j): b l m n c p q r o w s t u a v d e f g h i k x y z lg wird beispielsweise durch ne codiert. Sonderfallregelungen falls beide Buchstaben in einer Zeile [Spalte] liegen.
Hill, Playfair, Autoclave, Jefferson Wheel 2:34 Autoclave E Autoclave k 1,...,k l : Z r Z r Ek Autoclave 1,...,k l (a 1,...,a n ) = b 1,...,b n mit b i = { ai + k i mod r falls i l a i + a i l mod r sonst Beispiel: A N T O N G E H T (Plaintext) A B B A A N T O N (Key) A M O U N.... (Crypttext) (Schlüssel wird um den zu verschlüsselnden Text erweitert)
Hill, Playfair, Autoclave, Jefferson Wheel 2:35 Autoclave E Autoclave k 1,...,k l : Z r Z r Ek Autoclave 1,...,k l (a 1,...,a n ) = b 1,...,b n mit b i = { ai + k i mod r falls i l a i + b i l mod r sonst Beispiel: A N T O N G E H T (Plaintext) A B B A A M O U N (Key) A M O U N.... (Crypttext) (Schlüssel wird mit dem verschlüsselten Text erweitert)
Hill, Playfair, Autoclave, Jefferson Wheel 2:36 Jefferson Wheel Eπ Jefferson 1,...,π 36 (w 1,...,w 36 ) = c 1,...,c 36 mit c i = π i ((π 1 i (w i ) + x) mod 36), für ein x beliebig gewählt. D YE H FA D HF Y C G T A C D A S D AS D HU W RJ U Y W A DB A G A B A E D SV B F D HF C E D S G J S H UY W RJ F U YJ G V I W SD A B M A B V G F H B G V FJ W EN D S I L I H BS K H S B VN G D V B F E I K FV D IG W M A H BS H BS B V C E D G F K F J K L I H UY W RJ U YJ W SD MH B G V G A V B G F W EN D VF L DB HB S F I A B SI H BS A KD HF C E D S N G D V G E I J S H UY W RJ W M A H BS Das Jefferson-Wheel besteht aus 36 drehbaren Holzscheiben. Auf jeder Holzscheibe befindet sich eine Permutation. Zunächst kann man durch Drehen der Scheiben den Klartext darstellen. Durch Rotieren der Scheiben um den Betrag x erhält man den verschlüsselten Text. H BS K F J
Hill, Playfair, Autoclave, Jefferson Wheel 2:37 Beispiel: Crypttext nwwtkjgwfkvezgqsq abcdefghijklmnopqrstuvwxyz hqrsluzaewxcfvygbdmnoptijk vwxyzaefghijklmnopqbcdrstu xyzdefavwbcghijkpqrslmnotu cdefmnopqrghijklstuvwxyzab dhirstmjklqnovyzgbwapuefxc nopuvyzaefgbwxcdhijklqrstm cdersxyzabftuvwghijklmnopq tuxyzdefavwbcghijkpqrslmno stuvwxyzabcdefmnopqrghijkl efxcdhirstmjklqnovyzgbwapu vyzaefgbwxcdhijklqrstmnopu ijklmnopqcdersxyzabftuvwgh opqrwhxabcgidyzefjklmnstuv tuvwxyzabcdefghijklmnopqrs vygbdmnoptijkhqrsluzaewxcf jklmnopqbcdrstuvwxyzaefghi
Hill, Playfair, Autoclave, Jefferson Wheel 2:38 Beispiel: Crypttext nwwtkjgwfkvezgqsq vwxyzabcdefghijklmnopqrstu dmnoptijkhqrsluzaewxcfvygb hijklmnopqbcdrstuvwxyzaefg avwbcghijkpqrslmnotuxyzdef yzabcdefmnopqrghijklstuvwx zgbwapuefxcdhirstmjklqnovy jklqrstmnopuvyzaefgbwxcdhi nopqcdersxyzabftuvwghijklm ijkpqrslmnotuxyzdefavwbcgh yzabcdefmnopqrghijklstuvwx uefxcdhirstmjklqnovyzgbwap hijklqrstmnopuvyzaefgbwxcd ghijklmnopqcdersxyzabftuvw klmnstuvopqrwhxabcgidyzefj yzabcdefghijklmnopqrstuvwx cfvygbdmnoptijkhqrsluzaewx vwxyzaefghijklmnopqbcdrstu
One-Time-Pad 2:39 One-Time-Pad E One Time Pad Z r 2 D One Time Pad Z r 2 : Z r 2 Z r 2. : Z r 2 Z r 2. E One Time Pad k 1,k 2,...k r (a 1, a 2,...a r ) = a 1 k 1, a 2 k 2,...a r k r. D One Time Pad k 1,k 2,...k r (c 1, c 2,...c r ) = c 1 k 1, c 2 k 2,...c r k r. Zu jedem übertragenen Bit ist ein Schlüsselbit notwendig. Verfahren ist beweisbar sicher. Zu jedem Paar von Crypttext und Plaintext gibt es einen passenden Schlüssel. Verfahren ist kommutativ.
Kryptoanalyse (Häufigkeitsanalyse) 2:40 Häufigkeitsanalyse, d.h. wie oft tritt ein Buchstabe auf. Im Deutschen z.b.: E 18.46 % N 11.42 % I 8.02 % R 7.14 % S 7.04 % A 5.38 % T 5.22 % Analog für Buchstabenpaare, Wörter,...
Kryptoanalyse (Kasiski) 2:41 Bestimmen der Periode nach Kasiski w =... WALTER... WALTER... c =... XYDKLV... XYDKLV... <---- L ----> Schlüssellänge / Länge der Periode ist vermutlich ein Teiler von L.