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.

122<br />

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

121<br />

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

Alle L<strong>in</strong>ien führen der Blocklänge entsprechend viele Alphabetzeichen<br />

Klartextblöcke haben die Länge des Schlüssels der Blockchiffre<br />

Addition mod 2<br />

Liegt die Blockchiffre direkt im Transformationsweg vom Klartext über den Schlüsseltext zum<br />

Klartext, ist ke<strong>in</strong>e Vorausberechnung der Blockchiffre möglich. Andernfalls kann zum<strong>in</strong>dest jeweils<br />

e<strong>in</strong> Block vorausberechnet werden.<br />

Insgesamt ergeben sich die E<strong>in</strong>träge der unteren 3 Zeilen von Bild 3-51.<br />

Speicher für<br />

Zwischenergebnisblock<br />

n-1<br />

3.8.3 Kollisionsresistente Hashfunktion aus Blockchiffre<br />

Klartextblock<br />

n<br />

Letzter<br />

Block<br />

Verschlüsselung<br />

Aus <strong>Sicherheit</strong>sgründen sollte gelten:<br />

Schlüssellänge der Blockchiffre nicht wesentlich länger als ihre Blocklänge.<br />

Bild 3-52: Konstruktion e<strong>in</strong>er kollisionsresistenten Hashfunktion aus e<strong>in</strong>er determ<strong>in</strong>istischen<br />

Blockchiffre<br />

Bild 3-52 ist <strong>in</strong> der gleichen Anordnung wie Bild 3-42 gezeichnet. Deshalb fällt auf, daß die Klartextblöcke<br />

an e<strong>in</strong>er unüblichen Stelle <strong>in</strong> die Blockchiffre e<strong>in</strong>gespeist werden – nämlich als Schlüssel.<br />

In diesem Abschnitt wird beschrieben, wie aus determ<strong>in</strong>istischen Blockchiffren, deren Schlüssel nicht<br />

(wesentlich) länger als die Blocklänge ist, kollisionsresistente Hashfunktionen konstruiert werden<br />

können.<br />

Wie <strong>in</strong> §3.5.1 für kollisionsresistente Permutationenpaare bereits erklärt wurde, kann das F<strong>in</strong>den<br />

von Kollisionen allenfalls komplexitätstheoretisch schwer se<strong>in</strong> – <strong>in</strong>formationstheoretisch ist es leicht,<br />

denn e<strong>in</strong> Angreifer könnte immer alle Möglichkeiten durchprobieren. Entsprechendes gilt für kollisionsresistente<br />

Hashfunktionen: Da sie beliebig lange Argumente auf Werte fester Länge abbilden,<br />

gibt es beliebig viele Kollisionen, d.h. verschiedene Argumente, die auf denselben Wert abgebildet<br />

werden. E<strong>in</strong> Angreifer muß also nur genügend ausdauernd suchen (können), um Kollisionen zu<br />

f<strong>in</strong>den.<br />

Das Beste, was man sich wünschen kann, wäre e<strong>in</strong>e effiziente Konstruktion, die aus beliebigen<br />

Blockchiffren kollisionsresistente Hashfunktionen gew<strong>in</strong>nt, die bewiesenermaßen so sicher wie die<br />

verwendete Blockchiffre s<strong>in</strong>d. Leider ist e<strong>in</strong>e solche Konstruktion nicht bekannt – unter den zahlreichen<br />

Vorschlägen gibt es nicht e<strong>in</strong>mal solche, die zwei der drei kursiv hervorgehobenen<br />

Eigenschaften haben. Da <strong>in</strong> §3.6.4 bereits (unter der Faktorisierungsannahme) bewiesenermaßen<br />

sichere kollisionsresistente Hashfunktionen angegeben wurden, geht es hier vor allem um größere<br />

Effizienz. Deshalb wird e<strong>in</strong>e gemäß Bild 3-12 „wohluntersuchte“ Konstruktion angegeben, wie aus<br />

determ<strong>in</strong>istischen Blockchiffren, deren Schlüssel aus <strong>Sicherheit</strong>sgründen hier nicht (wesentlich)<br />

länger als die Blocklänge se<strong>in</strong> dürfen [LuRa_89], sehr effizient kollisionsresistente Hashfunktionen<br />

konstruiert werden können.<br />

Wichtig ist – ganz egal wie die Hashfunktion konstruiert wird –, daß der Initialisierungswert<br />

festgelegt oder die Nachricht postfixfrei90 codiert ist. Sonst gibt es folgende trivialen<br />

Kollisionen: Bei der r<strong>und</strong>enweisen Berechnung des Hashwertes e<strong>in</strong>er Nachricht entstehen mit den<br />

Zwischenergebnisblöcken jeweils passende Initialisierungswerte für die um die bisher abgearbeiteten<br />

Klartextblöcke verkürzte Nachricht.<br />

Um diese mögliche Schwäche zu vermeiden <strong>und</strong> auch um beim Auffüllen der Nachricht auf e<strong>in</strong><br />

Vielfaches der Schlüssellänge der Blockchiffre zu wissen, wie viele Bits aufgefüllt wurden, sollte der<br />

letzte Klartextblock die Länge der Nachricht <strong>in</strong> Bit enthalten [LaMa_92 Seite 57].<br />

Außerdem wird für jede Hashfunktion, die Ergebnisse der Länge b liefert (also z.B. auch die<br />

angegebene Konstruktion bei Verwendung e<strong>in</strong>er Blockchiffre der Blocklänge b), durch Durchprobieren<br />

des Nachrichtenraumes im Mittel nach etwa 2b/2 Versuchen e<strong>in</strong>e Kollision gef<strong>und</strong>en. Dies<br />

liegt am sogenannten Geburtstagsparadox: Damit mit Wahrsche<strong>in</strong>lichkeit 1/2 m<strong>in</strong>destens zwei<br />

Menschen am gleichen Tag Geburtstag haben, werden nicht etwa 365/2, sondern nur etwa √⎺⎺⎺ 365<br />

Menschen benötigt [DaPr_89 Seite 279-281].<br />

Für viele Anwendungen wird bei der angegebenen Konstruktion der E<strong>in</strong>satz von DES als Blockchiffre<br />

also nicht ausreichen, da 232 Versuche von vielen möglichen Angreifern durchaus durchführbar<br />

s<strong>in</strong>d. Selbst e<strong>in</strong>e Blocklänge von 128 Bit dürfte für die überschaubare Zukunft nicht genügen, da<br />

demnächst auch 264 Versuche fähigen Angreifern möglich se<strong>in</strong> werden. Deshalb sollten kollisionsresistente<br />

Hashfunktionen Ergebnisse von wenigstens 160 Bit Länge liefern.<br />

In [DaPr_84, DaPr_89 Seite 265] wird folgende Konstruktion e<strong>in</strong>er kollisionsresistenten Hashfunktion<br />

aus e<strong>in</strong>er determ<strong>in</strong>istischen Blockchiffre (z.B. DES) vorgeschlagen:<br />

Der zu hashende Klartext wird <strong>in</strong> Blöcke der Schlüssellänge der Blockchiffre unterteilt. In jeder<br />

R<strong>und</strong>e wird e<strong>in</strong>er der Klartextblöcke als Schlüssel der Blockchiffre verwendet.<br />

Die E<strong>in</strong>gabe der Blockchiffre ist für die erste R<strong>und</strong>e e<strong>in</strong> Initialisierungswert, für die zweite <strong>und</strong><br />

alle folgenden R<strong>und</strong>en das Ergebnis der vorherigen R<strong>und</strong>e. (In Bild 3-52 wird der Initialisierungswert<br />

s<strong>in</strong>nvollerweise als Zwischenergebnisblock Nummer 0 aufgefaßt.)<br />

In jeder R<strong>und</strong>e wird nicht nur verschlüsselt, sondern auch die E<strong>in</strong>gabe der Blockchiffre modulo 2<br />

zur Ausgabe addiert. Dies verh<strong>in</strong>dert, daß e<strong>in</strong> Angreifer rückwärts rechnen kann, <strong>in</strong>dem er e<strong>in</strong>en<br />

Schlüssel (sprich: Klartextblock) wählt, dann bezüglich des gewählten Schlüssels die Blockchiffre<br />

<strong>in</strong>vertiert (sprich: entschlüsselt) <strong>und</strong> so die E<strong>in</strong>gabe dieser R<strong>und</strong>e erhält. Auf diese Art könnte er,<br />

wenn der Initialisierungswert frei wählbar ist, Kollisionen berechnen, <strong>in</strong>dem er das Beschriebene mit<br />

zwei unterschiedlichen Schlüsseln ausführt.<br />

Das Ergebnis der letzten R<strong>und</strong>e ist die Ausgabe der Hashfunktion. (Damit dieser Hashwert von<br />

anderen überprüft werden kann, muß ihnen auch der Initialisierungswert bekannt se<strong>in</strong>. Ist der<br />

Initialisierungwert nicht global festgelegt, so muß er ihnen ggf. mitgeteilt werden.)<br />

90 Ke<strong>in</strong> Postfix, d.h. Endstück, e<strong>in</strong>er postfixfrei abgebildeten Nachricht darf gleichzeitig postfixfreie Abbildung e<strong>in</strong>er<br />

anderen Nachricht se<strong>in</strong>.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!