28.04.2014 Aufrufe

Kryptographie

Kryptographie

Kryptographie

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

<strong>Kryptographie</strong><br />

Sebastian Petersen<br />

30. April 2013<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.1. Grundbegriffe<br />

Der technische Sprachgebrauch unterscheidet folgende<br />

Disziplinen<br />

<strong>Kryptographie</strong>: Wissenschaft der Geheimschriften, d.h. der<br />

Verschlüsselung von Nachrichten, die über einen nicht<br />

abhörsicheren Kanal geschickt werden. Ziel: Geheimhaltung.<br />

Kryptoanalyse: Entwickelt Angriffe auf<br />

<strong>Kryptographie</strong>-Verfahren.<br />

Kryptologie: Oberbegriff für <strong>Kryptographie</strong> und<br />

Kryptoanalyse.<br />

Codierungstheorie: Fehlererkennung und Fehlerbehebung,<br />

wenn Daten über einen “gestörten” Kanal geschickt werden,<br />

der diese verfälscht. (Beseitigung von Funkrauschen.)<br />

Diese Vorlesung beschäftigt sich mit Aspekten der Kryptologie und<br />

entsprechenden math. Grundlagen. (Keine Codierungstheorie.)<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.1. Grundbegriffe (Forts.)<br />

Die <strong>Kryptographie</strong> unterscheidet folgende Verfahren.<br />

Private-Key-Verfahren<br />

Hier brauchen die Parteien zum Ver- und Entschlüsseln einen<br />

gemeinsamen geheimen Schlüssel, der a priori vereinbart werden<br />

muss.<br />

Dies ist besonders bei Internetanwendungen unpraktisch.<br />

Beispiele:<br />

1 ENIGMA-Verschlüsselung im 2. Weltkrieg<br />

2 Date Encryption Standard DES<br />

3 Advanced Encryption Standard AES<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.1. Grundbegriffe (Forts.)<br />

Public-Key-Verfahren<br />

Hier ist kein persönliches Treffen zum Schlüsselaustausch<br />

nötig.<br />

Der Empfänger hat einen Verschlüsselungs-Schlüssel und einen<br />

Entschlüsselungs-Schlüssel. Den V-Schlüssel kann er (z.B. auf<br />

seiner Homepage) öffentlich bekannt machen. Den E-Schlüssel hält<br />

er geheim.<br />

Beispiele:<br />

1 RSA<br />

2 Rabin-Verfahren<br />

3 ElGamal und Diffie-Hellman<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.1. Grundbegriffe (Forts.)<br />

Nachteil von Public-Key-Verfahren: Sie sind langsamer.<br />

Hybrid-Verfahren<br />

1 Public-Key wird zum Schlüsselaustausch benutzt.<br />

2 Die Daten werden dann in einer (schnellen)<br />

Private-Key-Sitzung übertragen.<br />

Kerkhoffsches Prinzip<br />

Man muss immer damit rechnen, dass Angreifer wissen bzw.<br />

herausfinden, welches Verfahren verwendet wird.<br />

Bei einem guten <strong>Kryptographie</strong>-Verfahren muss es genügen, die<br />

Schlüssel geheim zu halten.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre<br />

Als Einführung in das kryptologische Denken und aus historischem<br />

Interesse besprechen wir zu Beginn einige klassische<br />

<strong>Kryptographie</strong>verfahren, die nicht sicher sind.<br />

Wir arbeiten (exemplarisch) mit dem Alphabet<br />

A = {A, B, C, · · · , Z} (nur Grossbuchstaben).<br />

A ∗ = ⋃ n∈N An ist die Menge der Texte variable endlicher Länge<br />

über A.<br />

Im folgenden bezeichne<br />

S(A) = {σ : A → A : σ bijektiv}<br />

die Menge der Permutationen von A.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Sei rot 1 ∈ S(A) die durch<br />

rot 1 (A) = B, rot 1 (B) = C, · · · , rot 1 (Y ) = Z, rot 1 (Z) = A<br />

gegebene Abbildung. (Links-Shift um 1 Buchstabe)<br />

rot n := rot ◦n<br />

1 (n-fache Hintereinanderausführung) steht für<br />

den Links-Shift um n Buchstaben.<br />

rot −n := rotn<br />

−1 (Umkehrabbildung von rot n ) ist der<br />

Rechts-Shift um n Buchstaben.<br />

Beispiele. rot 2 (A) = C, rot 4 (A) = E, rot −2 (A) = Y .<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Der Schlüsselraum K eines Verfahrens ist die Menge aller<br />

denkbarer Schlüssel. Die Bitlänge der Schlüssel ist dann log 2 (|K|).<br />

Bei der s-Vigenere-Chiffre ist der Schlüsselraum<br />

K s = {0, · · · , 25} s ; Bitlänge der Schlüssel ist dann 4.7 · s Bit.<br />

Verschlüsselung bei s-Vigenere-Chiffre<br />

Ein Klartext X = x 1 x 2 x 3 · · · wird mit dem Schlüssel<br />

k = (k 1 , · · · , k s ) verschlüsselt zu<br />

E(k, X ) = rot k1 (x 1 )rot k2 (x 2 ) · · · rot ks (x s )rot k1 (x s+1 ) · · · rot ks (x 2s ) · · ·<br />

Sprich: Auf jedes Zeichen wird eine Permutation angewendet, und<br />

zwar wird das n-te Zeichen x n mit rot kr verschlüsselt, wenn<br />

r = Rest(n : s).<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Beispiel zur Vigenere-Verschlsselung<br />

Vereinbarter Schlüssel sei k = (1, 2, 25). Die Phrase<br />

“HALLOALICE” wird verschlüsselt:<br />

n 1 2 3 4 5 6 7 8 9 10<br />

Klartext H A L L O A L I C E<br />

⊕ Schlüssel 1 2 25 1 2 25 1 2 25 1<br />

Geheimtext I C K M Q Z M K B F<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Entschlüsselung bei s-Vigenere-Chiffre<br />

Ein Geheimtext Y = y 1 y 2 y 3 · · · wird mit dem Schlüssel<br />

k = (k 1 , · · · , k s ) entschlüsselt zu<br />

D(k, Y) = rot −k1 (y 1 )rot −k2 (y 2 ) · · · rot −ks (y s )rot −k1 (y s+1 ) · · · rot −ks (y 2s ) ·<br />

Sprich: Auf jedes Zeichen wird eine Permutation angewendet, und<br />

zwar wird das n-te Zeichen y n mit rot −kr entschlüsselt, wenn<br />

r = Rest(n : s).<br />

Es gilt D(k, Y) = E(−k, Y).<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Beispiel zur Entschlüsselung bei der Vigenere-Chiffre<br />

Vereinbarter Schlüssel ist k = (1, 2, 25). Eingegangene Nachricht<br />

“NCWLQLNVIFVYU” wird entschlüsselt zu<br />

n 1 2 3 4 5 6 7 8 9 10 11 12 13<br />

Geheimtext N C W L Q L N V I F V Y U<br />

⊖ Schlüssel 1 2 25 1 2 25 1 2 25 1 2 25 1<br />

Klartext M A X K O M M T J E T Z T<br />

.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Die Caesar-Chiffre ist die 1-Vigenère-Chiffre (also nur ein 4.7 Bit<br />

Schlüssel). Jeder Buchstabe wird mit demselben Shift verschlüsselt.<br />

Z.B.<br />

Geheimtext A L I C E<br />

⊕ Schlüssel 1 1 1 1 1<br />

Klartext B M J D F<br />

also E(1, ALICE) = BMJDF . Ferner D(1, AFVT ) = ZEUS.<br />

,<br />

Kryptoanalyse der Caesar-Chiffre:<br />

Geheimtext Y := NOHRS DWUDZ LUGNR HQLJL Q wurde mit Caesar<br />

chiffriert.<br />

Wir suchen den Schlüsselraum ab, bis sich etwas Sinnvolles ergibt! Das<br />

wird Brute-Force-Angriff genannt:<br />

D(1, Y) MNGQR CVTCY KTFMQ GPKIK P<br />

D(2, Y) LMFPQ BUSBX JSELP FOJHJ O<br />

D(3, Y) KLEOP ATRAW IRDKO ENIGI N<br />

Fertig! Das Caesar-Verfahren ist also extrem unsicher.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Vernam-Chiffre (One-Time-Pad):<br />

Das ist die Vigenère-Chiffre mit Textlänge gleich Schlüssellänge!<br />

Der Schlüsselvektor ist eine möglichst zufällige Folge<br />

(insbesondere nicht-periodisch!) und soll nur einmal verwendet<br />

werden.<br />

Die Vernam-Chiffre ist sehr sicher. Ein Angriff durch brutale<br />

Gewalt ist ausgeschlossen.<br />

Nachteile:<br />

Extrem langer Schlüssel.<br />

Problem der Schlüsselvereinbarung (wie immer bei<br />

Private-Key).<br />

Hybrid aus Vernam und Public-Key bringt keinerlei Vorteil!<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.2. Vigenere- und Vernam-Chiffre (Forts.)<br />

Verwendung der Vernam-Chiffre:<br />

Verbindung des Dechiffrierbüros Bletchley-Park zur britischen<br />

Regierung während des 2. Weltkrieges.<br />

Standardsystem für die Kommunikation des KGB mit seinen<br />

Agenten. (Auch andere Geheimdienste.)<br />

Bis vor einigen Jahren: Verbindung Kreml - Weißes Haus<br />

durch das “rote Telefon”.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Teiltext zur Sprungweite s mit Beginn r<br />

Sei Y = y 1 y 2 y 3 · · · ein Text. Der Text<br />

Y r,s = y r y r+s y r+2s y r+3s · · ·<br />

heißt Teiltext zur Sprungweite s mit Beginn r.<br />

Beispiel: Y := KLEOPATRAISTKOENIGIN. Dann:<br />

Y 1,2 = KEPTASKEII<br />

Y 2,2 = LOARITONGN<br />

Y 1,3 = KOTIKNI<br />

Y 2,3 = LPRSOIN<br />

Y 3,3 = EAATEG<br />

⎫<br />

⎬<br />

}<br />

Sprungweite 2<br />

⎭ Sprungweite 3<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Häufigkeitsverteilung in deutschen Texten:<br />

(Gilt auch für Teiltexte deutscher Texte!)<br />

Häufigster Buchstabe ist E (ca. 17%) gefolgt von N (10%).<br />

Seltenster Buchstabe ist Q (0.02%).<br />

Kryptoanalyse der Vigenère-Chiffre:<br />

(Schlüssellänge s bekannt, Textlänge N >> s groß.)<br />

Der Text X wurde mit Schlüssel k = (k 1 , · · · , k s )<br />

Vigenère-chiffriert zu Y. Angreifer Oskar kennt nur Y und s.<br />

Teiltext Y r,s wurde mit rot kr “Caesar”-verschlüsselt.<br />

Ist α häufigster Buchstabe in Y r,s , so wird rot kr (E) = α gelten<br />

und daraus kann man k r bestimmen.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

φ-Index: Sei X = x 1 x 2 · · · x N ein Text. Sei h α (X ) die Häufigkeit<br />

von α ∈ A in X . (Z.B. h A (AABXAAA) = 5.)<br />

1<br />

∑<br />

φ(X ) :=<br />

N(N−1) α h α(X )(h α (X ) − 1) .<br />

Für deutsche Texte X (und Caesar-Chiffrate von Teiltexten<br />

deutscher Texte) gilt φ(X ) ≈ 0, 07.<br />

Für Zufallstexte X ist φ(X ) ≈ 0.03 viel kleiner.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Kryptoanalyse der Schlüssellänge<br />

(Schlüssellänge s unbekannt, Textlänge N >> s groß.)<br />

Y sei Vigenère-Chiffrat von X . Angreifer Oskar kennt nur Y.<br />

Oskar berechnet für k = 1, 2, · · · den Mittelwert<br />

φ (k) (Y) := 1 k<br />

∑ k<br />

r=1 φ(Y r,k)<br />

der φ-Indizes der Teiltexte zur Sprungweite k.<br />

Y 1,s , Y 2,s , · · · , Y s,s sind Caesar-Chiffrate von Teiltexten eines<br />

deutschen Textes, also φ (s) (Y) ≈ 0.07.<br />

Wenn k < s, dann wird φ (k) ≈ 0.03 viel kleiner ausfallen.<br />

Bei der Schlüssellänge s wird also vermutlich das “kleinste<br />

signifikante Maximum” von (φ (1) , φ (2) , φ (3) , · · · ) sein.<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Beispiel: Das Vigenère-Chiffrat Y (Abstände irrelevant)<br />

FFM PMJ JXZ MXL LNT YSB LTM FNY EJX NGM TVZ<br />

MIF AFP ZLN XEC PWE MVW ODO MLK CAP QHF XLF<br />

QED OQL BIX GNN BZB IJY DOI PRP QNG FJC JFS<br />

YSO NDR FAP QCW PHU JED BSE GPS JAP ZCC BNY<br />

HOX PHO JXA FXE RFQ WDS LPR UFP MES TRT JPH<br />

OJD JVJ NGF SNG FKD HOI PLC ZNG SJN GOJ EDF<br />

WXH UIP QHF DSS TYN NNP ZCZ YCE FDA FZY QVM<br />

TFF SOD JXE CBX DCF WXZ OSD DMG DSB ZDC FWM<br />

QBS NGF XEZ NRE<br />

soll entschlüsselt werden.<br />

Berechnung von φ (k) := φ (k) (Y) für k = 1, 2, · · · ergibt:<br />

(φ (1) , φ (2) , · · · ) = (0.044, 0.057, 0.043, 0.081, 0.042, · · · ).<br />

Vermutete Schlüssellänge: s = 4 .<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Berechnung von φ (3) (exemplarisch):<br />

Y 1,3 = FPJMLYLFETMAZ· · ·<br />

Y 2,3 = FMXXNSTNJVIFL· · ·<br />

Y 3,3 = MJZLTBMYXZFPN· · ·<br />

Auszählen ergibt:<br />

α A B C D E F G H I J · · · φ(Y r,3 )<br />

h α (Y 1,3 ) 1 4 2 5 2 9 3 2 1 8 · · · 0.0442<br />

h α (Y 2,3 ) 3 2 5 6 5 6 3 4 3 5 · · · 0.0409<br />

h α (Y 3,3 ) 2 3 5 6 6 9 4 2 2 3 · · · 0.0428<br />

φ (3) (Y) 0.043<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Vermutete Schlüssellänge war s = 4 .<br />

Auszählen der Teiltexte zur Sprungweite s = 4 ergibt<br />

α A B C D E F G H I J K L M<br />

h α(Y 1,4 ) 4 2 6 8 1 2 8 6 0 2 1 4 4<br />

h α(Y 2,4 ) 0 6 4 0 2 17 0 2 2 3 0 0 4<br />

h α(Y 3,4 ) 2 1 0 0 0 4 1 0 4 10 1 2 3<br />

h α(Y 4,4 ) 0 0 2 9 10 1 1 0 0 1 0 3 1<br />

· · ·<br />

· · ·<br />

α N O P Q R S T U V W X Y Z<br />

h α(Y 1,4 ) 2 0 0 5 5 4 0 0 0 0 0 0 5<br />

h α(Y 2,4 ) 5 10 4 0 0 3 1 3 3 0 0 0 0<br />

h α(Y 3,4 ) 4 0 1 4 1 8 3 0 0 6 9 0 5<br />

h α(Y 4,4 ) 7 2 12 0 0 0 3 0 1 1 5 8 2<br />

Häufigster Buchstabe in Y 2,4 ist F (17-mal).<br />

Verdacht: rot k2 (E) = F , also (vermutl.) k 2 = 1<br />

Häufigster Buchstabe in Y 3,4 ist J (10-mal).<br />

Verdacht: rot k3 (E) = J, also k 3 = 5<br />

Häufigster Buchstabe in Y 4,4 ist P (12-mal).<br />

Verdacht: rot k4 (E) = P, also k 4 = 11<br />

Häufigste Buchstaben in Y 1,4 sind G und D (je 8-mal).<br />

Verdacht: rot k1 (E) = G oder rot k1 (E) = D.<br />

Vermutlich: k 1 = 2 oder k 1 = 25.<br />

Vermuteter Schlüssel der Chiffre:<br />

k = (2, 1, 5, 11) oder k = (25, 1, 5, 11)<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>


II. Einige klassische <strong>Kryptographie</strong>verfahren.<br />

II.3. Kryptoanalyse der Vigenere-Chiffre (Forts.)<br />

Vermuteter Schlüssel der Chiffre:<br />

k = (2, 1, 5, 11) oder k = (25, 1, 5, 11)<br />

Entschlüssle den Beginn probeweise mit k = (2, 1, 5, 11):<br />

Geheimtext F F M P M J J X Z M X L L<br />

⊖ Schlüssel 2 1 5 11 2 1 5 11 2 1 5 11 2<br />

Klartext D E H E K I E M X L S A J<br />

.<br />

- sieht schlecht aus!<br />

Entschlüssle den Beginn probeweise mit k = (25, 1, 5, 11):<br />

Geheimtext F F M P M J J X Z M X L L<br />

⊖ Schlüssel 25 1 5 11 25 1 5 11 25 1 5 11 25<br />

Klartext G E H E N I E M A L S A M<br />

.<br />

- sieht gut aus! Entschlüsselt man alles mit k = (25, 1, 5, 11) und fügt Abstände ein, so erhält man:<br />

GEHE NIEMALS AM MONTAG IN EIN FISCHLOKAL DU BEKOMMST DORT NUR DEN HALB<br />

VERGAMMELTEN LACHS VOM WOCHENENDE SOLCHE ERKENNTNISSE VERBREITETE ANTHONY<br />

BOURDAIN IN SEINEM BESTSELLER GESTAENDNISSE EINES KUECHENCHEFS IN DEM BUCH RECHNETE<br />

ER MIT DER GASTRONOMIE AB UND DAS BEUNRUHIGENDE IST DASS DER MANN SELBST AUS DER<br />

BRANCHE STAMMT<br />

(Quelle: Beginn eines Interviews in der Süddeutschen Zeitung.)<br />

Sebastian Petersen<br />

<strong>Kryptographie</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!