03.08.2013 Aufrufe

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

Sicherheit in Rechnernetzen: - Professur Datenschutz und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

422<br />

A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; Lösungen, TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />

421<br />

A. Pfitzmann: Datensicherheit <strong>und</strong> Kryptographie; Lösungen, TU Dresden, WS2000/2001, 15.10.2000, 15:52 Uhr<br />

entsprechende Schlüsseltextblock erfragt. Damit kann dann im Mittel nach 254 Versuchen, also<br />

halb so vielen DES-Verschlüsselungen, der Schlüssel ermittelt werden.<br />

Formal h<strong>in</strong>geschrieben:<br />

Gegeben sei das Klartextblock-Schlüsseltextblock-Paar (x, DES(k, x)).<br />

l) Vollständiges Brechen von RSA bedeutet, zu gegebenem n <strong>und</strong> c das zugehörige d bestimmen<br />

zu können. Im <strong>in</strong> der Aufgabenstellung zitierten Beweis wird nun gezeigt: Mit Kenntnis von n,<br />

c <strong>und</strong> d kann n faktorisiert werden – also ist vollständiges Brechen genauso schwer wie Faktorisieren.<br />

Leider schließt dieser Beweis nicht e<strong>in</strong>mal aus, daß universelles Brechen, d.h. das<br />

F<strong>in</strong>den e<strong>in</strong>es zum Schlüssel äquivalenten Verfahrens gel<strong>in</strong>gt, ohne n faktorisieren zu können.<br />

Gebildet wird x . Erfragt wird DES(k, x) .<br />

Nach der Komplementaritätseigenschaft gilt: DES(k, x) = DES(k, x) . Durch Komplemen-<br />

tieren wird DES(k, x) berechnet. Damit liegt für den Angriff die Verschlüsselung von x<br />

sowohl unter dem Schlüssel k wie auch unter dem komplementären Schlüssel k vor.<br />

Um den Schlüssel k zu ermitteln, werden solange Schlüssel k' durchprobiert, d.h.<br />

DES(k', x) berechnet, bis dies entweder gleich DES(k, x) oder gleich DES(k, x) ist.<br />

Im ersten Fall gilt k = k', im zweiten Fall gilt k = k' .<br />

Wird beim Durchprobieren des Schlüsselraumes darauf geachtet, daß jeder der 256 möglichen<br />

Werte von k' <strong>und</strong> k' höchstens e<strong>in</strong>mal angenommen wird, dann endet die Suche<br />

nach spätestens 255 , im Mittel nach 254 Schritten, wobei jeder Schritt aus e<strong>in</strong>er DES-<br />

Verschlüsselung <strong>und</strong> zwei Vergleichen des entstehenden Schlüsseltextes mit zwei vorhandenen<br />

Schlüsseltexten besteht. Da e<strong>in</strong> Vergleich wesentlich weniger aufwendig als<br />

e<strong>in</strong>e DES-Verschlüsselung ist, ist der hier beschriebene gewählter Klartext-Schlüsseltext-Angriff<br />

nur halb so aufwendig wie der vorher beschriebene Klartext-Schlüsseltext-<br />

Angriff.<br />

Auch hier muß ggf. noch an weiteren Klartext-Schlüsseltext-Paaren geprüft werden, ob<br />

3-17 DES<br />

a) Verschlüsseln: K1 = 011, K2 = 010.<br />

L0 = 000, R0 = 101.<br />

L1 = R0 = 101, R1 = L0 ⊕ f(R0, K1) = 000 ⊕ (R0•K1 mod 8) = 101•011 mod 8<br />

= 5•3 mod 8 = 111.<br />

L2 = R1 = 111, R2 = L1 ⊕ f(R1 , K2 ) = 101 ⊕ (111•010 mod 8) = 101 ⊕ (7•2 mod 8)<br />

= 101 ⊕ 110 = 011.<br />

Vertauschen der Hälften ergibt den Schlüsseltext 011111.<br />

Entschlüsseln: Verwendet werden die Bezeichner <strong>in</strong> der rechten Hälfte des Bildes aus §3.7.3,<br />

vgl. die Erklärung dort.<br />

R2 = 011, L2 = 111 s<strong>in</strong>d gegeben.<br />

R1 = L2 = 111, L1 = R2 ⊕ f(R1, K2) = 011 ⊕ (111•010 mod 8) = 011 ⊕ (7•2 mod 8)<br />

= 011 ⊕ 110 = 101.<br />

R0 = L1 = 101, L0 = R1 ⊕ f(R0 , K1 ) = 111 ⊕ (R0•K1 mod 8) = 111 ⊕ (101•011 mod 8)<br />

= 111 ⊕ (5•3 mod 8) = 111 ⊕ 111 = 000.<br />

Wegen der <strong>in</strong> der Bezeichnerwahl implizit enthaltenen Vertauschung von l<strong>in</strong>ks <strong>und</strong> rechts<br />

brauchen die beiden Hälften nicht explizit vertauscht zu werden. Also lautet der Klartext:<br />

000101, was mit dem ursprünglich verschlüsselten übere<strong>in</strong>stimmt.<br />

der gef<strong>und</strong>ene Schlüssel tatsächlich der richtige ist.<br />

f) Für jedes der 64 Schlüsseltextbits gibt es e<strong>in</strong>e l<strong>in</strong>eare Gleichung, <strong>in</strong> die entsprechend den<br />

Permutationen entsprechende Klartextbits <strong>und</strong> entsprechend den Permutationen <strong>und</strong> der<br />

Teilschlüsselerzeugung entsprechende Schlüsselbits e<strong>in</strong>gehen – wobei die Gleichungen<br />

konstante Koeffizienten haben, denn die Permutationen <strong>und</strong> auch die Teilschlüsselerzeugung<br />

s<strong>in</strong>d bekannt <strong>und</strong> fest. Da Schlüsseltext <strong>und</strong> Klartext bekannt s<strong>in</strong>d, haben wir 64 l<strong>in</strong>eare<br />

Gleichungen mit 56 Unbekannten. Die löst jedes Softwarepaket zur Lösung von Gleichungen<br />

spielend. Das Ergebnis ist der gesuchte DES-Schlüssel.<br />

b) Man legt explizit Tabellen an, so daß man jedes Ergebnis sofort auslesen kann. Möglichst faßt<br />

man noch mehrere S-Boxen zu e<strong>in</strong>er großen zusammen (bei DES wenigstens jeweils 2: Array<br />

von 212 E<strong>in</strong>trägen).<br />

c) Der Witz an schnellen Softwareimplementierungen solcher Systeme ist, daß es auch gel<strong>in</strong>gt,<br />

die Permutationen im wesentlichen zu tabellieren, die sonst viele Bitoperationen benötigen<br />

würden. E<strong>in</strong>e Tabelle mit 232 E<strong>in</strong>trägen wäre aber zu groß. Als Beispiel zeigen wir, wie man<br />

mit 4 Tabellen von 28 E<strong>in</strong>trägen auskommt:<br />

Die E<strong>in</strong>träge werden 32 bit lang, <strong>und</strong> die i-te Tabelle beschreibt, woh<strong>in</strong> die i-ten 8 Bits<br />

permutiert werden.<br />

Ob die Blocklänge 64 oder z.B. 128 Bit ist, ob der Schlüssel 56 oder z.B. 256 Bit lang ist,<br />

darauf kommt es offensichtlich nicht an. Der Algorithmus bricht offensichtlich jede Feistelchiffre<br />

mit bekannten festen Permutationen. Vermutlich läßt er sich auf beliebige l<strong>in</strong>eare<br />

Blockchiffren übertragen.<br />

Beispiel: 2-te Tabelle, also Bits 9 bis 16. Sei W(9), …, W(16) = 28,13,1,5,30,14,2,19.<br />

In jedem E<strong>in</strong>trag steht an Position 28 Bit 9, an Position 13 Bit 10 , … , an Position 19 Bit<br />

16, <strong>und</strong> alle anderen Bits s<strong>in</strong>d immer 0.<br />

3-18 Betriebsarten<br />

a) Man hat ke<strong>in</strong>erlei Red<strong>und</strong>anz. Genauer: Jeder Schlüsseltext läßt sich zu irgende<strong>in</strong>em Klartext<br />

entschlüsseln. Wenn man dann wieder verschlüsselt, ergibt sich natürlich genau wieder dieser<br />

Schlüsseltext <strong>und</strong> <strong>in</strong>sbesondere se<strong>in</strong> letzter Block. Wenn die Nachrichten also ke<strong>in</strong>e <strong>in</strong>terne<br />

Red<strong>und</strong>anz enthalten, etwa bei Files von Zahlen, kann der Angreifer beliebige Schlüsseltexte<br />

schicken.<br />

b) (Dieses Schema ist etwas besser: Bei e<strong>in</strong>em x-beliebigen Schlüsseltext wird i.allg. der sich<br />

ergebende letzte Klartextblock nicht aus lauter Nullen bestehen, also wird der Angriff erkannt.<br />

Aber:)<br />

Wenn der Schlüsseltext aus m<strong>in</strong>destens drei Blöcken besteht, kann der Angreifer alle außer<br />

den letzten zweien beliebig ändern. Da die Betriebsart CBC sich <strong>in</strong>nerhalb von 2 Blöcken<br />

Das Gesamtergebnis der Permutation erhält man, <strong>in</strong>dem man die i-te Tabelle mit den i-ten 8<br />

Bits der E<strong>in</strong>gabe <strong>in</strong>diziert <strong>und</strong> das Oder oder XOR der 4 Ergebnisse bildet.<br />

d) Für e<strong>in</strong> Klartextblock-Schlüsseltextblock-Paar werden nache<strong>in</strong>ander verschiedene Schlüssel<br />

probiert, bis e<strong>in</strong>er paßt. Dies ist im Mittel nach 255 Versuchen der Fall. Danach wird probiert,<br />

ob dieser Schlüssel auch für die anderen Klartextblock-Schlüsseltextblock-Paare paßt. Dies ist<br />

mit sehr großer Wahrsche<strong>in</strong>lichkeit der Fall. Der mittlere Aufwand ist also 255 DES-<br />

Verschlüsselungen.<br />

e) Wie <strong>in</strong> §3.7.6 beschrieben, wird zu e<strong>in</strong>em der gegebenen Klartextblock-Schlüsseltextblock-<br />

Paare e<strong>in</strong> komplementäres gewählt, d.h. der komplementäre Klartextblock gebildet <strong>und</strong> der

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!