Diese Analyse bzw. Angriffsform ist theoretisch schneller als der Angriff mit roher Gewalt (Brute-Force). Zum ersten Mal öffentlich entwickelt wurde das Verfahren von Shamir 1990. Vermutlich wurde dieses Verfahren allerdings schon beim Designen der S-Boxen Anfang der Siebziger zumindest berücksichtigt.
Angenommen, DES wäre ohne die S-Boxen konstruiert. An Stelle dieser wäre einfach irgendeine feste Kompressionspermutation, die 48 Bit auf 32 Bit transformiert.
Angenommen, wir ändern im Klartext ein beliebiges Bit. Durch Permutationen wird nur die Position des geänderten Bits geändert, nicht aber das Bit. Durch XOR-Verknüpfungen wird die Position nicht verändert. Es wird höchstens der Wert des Bits verändert.
Spannend wird es vor allem, wenn das Feistelnetzwerk ins Spiel kommt. Annahme, wir befänden uns vor Runde i. Wir machen eine Fallunterscheidung:
Nun kann sich die Änderung aber noch durch die Expansionspermutation aufspalten. Es hängt dann noch von unserer fiktiven Kompressionspermutation ab, ob sich diese Änderung nach 16 Runden auf alle Bits auswirkt oder nicht.
Wir halten fest: Der Schlüssel hat auf die Position der geänderten Bits gar keinen Einfluß. Der Schlüssel wird ja nur mittels XOR eingebunden. Diese Tatsache bietet z.B. bei einem Klartextangriff wohl eine gute Ansatzmöglichkeit.
Erst durch die S-Boxen wird die Wechselwirkung des Schlüssels mit dem Algorithmus komplex. Sie sind das nichtlineare Element, wie wir später noch sehen werden, und verstärken den Lawineneffekt.
Man macht allerdings eine Beobachtung, die die Sicherheit der DES-Verschlüsselung einschränkt. Für bestimmte, festgehaltene Mengen geänderter Bits im Block R(i) beobachtet man eine statistische Abhängigkeit der S-Box Ausgabe vom Schlüssel.
Statt geänderter Bits redet man in der Kryptanalyse von Differenzen:
ΔA:= A XOR A’
In ΔA sind nur die Bits gesetzt, an dessen Position sich A und A’ unterscheiden.
Sei SB die S-Box Transformation, S ein Rundenschlüssel.
C := SB(A XOR S), C’:=SB(A’ XOR S), ΔC:= C XOR C’
Man kann statistisch nachweisen, daß für bestimmte Werte von ΔA die Werte von ΔC vom Schlüssel abhängig sind.
Sei nun ΔP die Differenz eines Klartextpaares (P,P’), für das eine bestimmte Differenz ΔC eine höhere Wahrscheinlichkeit hat als erwartet. Dann nennen wir solche Paare von Differenzen Charakteristiken, Klartextpaare mit den ausgezeichneten Werten für ΔP heißen gute Paare. Die "höhere Wahrscheinlichkeit" wird allerdings mit wachsender Rundenzahl wieder abnehmen.
Man nutzt das praktisch aus, indem man Charakteristiken für ein 15 Runden DES ermittelt und dann mit hinreichend vielen guten Paaren wahrscheinliche Werte für den letzten Rundenschlüssel ermittelt. Da dieser letzte Rundenschlüssel 48 Bit groß ist, müssen die letzten acht Bit durch einen Brute-Force-Angriff ermittelt werden.
Das Problem dabei ist, daß man die Wahrscheinlichkeiten sozusagen auf 2 hoch 48 Schlüssel aufaddieren muß und zudem noch genügend gute Paare im Klartext finden muß. Um 2 hoch 48 Zahlen zu vergleichen bräuchte man lediglich 1000 TByte viel Platz. So viel zur praktischen Umsetzbarkeit.
Biham und Shamir haben bei ihrem Verfahren diese Probleme umgangen. Allerdings zeigt die nachfolgende Aufwandstabelle, daß für die praktische Umsetzung nicht viel gewonnen wurde:
Rundenzahl | Gewählte Klartexte (2 hoch) | Bekannte Klartexte (2 hoch) | Analysierte Klartexte | Rechenschritte (2 hoch) |
---|---|---|---|---|
8 | 14 | 38 | 4 | 9 |
9 | 24 | 44 | 2 | 32 |
10 | 24 | 43 | 2 hoch 14 | 15 |
11 | 31 | 47 | 2 | 32 |
12 | 31 | 47 | 2 hoch 21 | 21 |
13 | 39 | 52 | 2 | 32 |
14 | 39 | 51 | 2 hoch 29 | 29 |
15 | 47 | 56 | 2 hoch 7 | 37 |
16 | 47 | 55 | 2 hoch 36 | 37 |
Allein die Frage, wie man einem Chiffrierer beim normalen DES die Datenmenge von 2 hoch 55 Klartexten unterschieben soll, lehrt einem das Gruseln.