13.07.2015 Aufrufe

Aufgabenstellung: Wir nehmen an, dass die S-Box π S im Beispiel ...

Aufgabenstellung: Wir nehmen an, dass die S-Box π S im Beispiel ...

Aufgabenstellung: Wir nehmen an, dass die S-Box π S im Beispiel ...

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

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

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

<strong>Aufgabenstellung</strong>: <strong>Wir</strong> <strong>nehmen</strong> <strong>an</strong>, <strong>dass</strong> <strong>die</strong> S-<strong>Box</strong> π S <strong>im</strong> <strong>Beispiel</strong> des Abschnitts 3.2 ersetzt wird durchπ ′ S : k 0 1 2 3 4 5 6 7 8 9 A B C D E Fπ ′ S(k) 8 4 2 1 C 6 3 D A 5 E 7 F B 9 0(a) Betrachten Sie <strong>die</strong> Zufallsvariable X 16 ⊛U 4 1 ⊛U 4 9 . Finden Sie eine lineare Approx<strong>im</strong>ation mit möglichstwenigen relev<strong>an</strong>ten S-<strong>Box</strong>en und approx<strong>im</strong>ieren Sie nach dem Piling-Up-Lemma den Bias von X 16 ⊛U 4 1 ⊛ U 4 9 . Berechnen Sie dazu <strong>die</strong> (oder relev<strong>an</strong>te Teile der) Tabelle der N L -Werte für π ′ S .(b) Beschreiben Sie eine lineare Attacke (nach dem Muster des Algorithmus in Abbildung 3.5), der achtSchlüsselbits in der letzten Runde findet.Folgendes ist nicht nur eine Lösung, sondern gleichzeitig ein wenig Erklärung. Der Text sollte am bestenin Zusammenh<strong>an</strong>g mit Abbildung 3.1 (S. 36 des Skripts) gelesen werden.(a): <strong>Wir</strong> wählen S-<strong>Box</strong>en für <strong>die</strong> lineare Attacke:• S 1 4, weil X 16 in der vorgegebenen Zufallsvariablen vorkommt und per u 1 16 zu S 1 4 führt;• S 3 1, weil U 4 1 ⊛ U 4 9 vorkommt, wohin S 3 1 per v 3 1 bzw. v 3 3 führt;• Auf der 2. Ebene gibt es eine Auswahlmöglichkeit; wir stellen <strong>die</strong> Auswahl noch etwas zurück.<strong>Wir</strong> bilden nun zunächst <strong>die</strong> Wahrheitstafel für obiges π S ′ ; das sind <strong>die</strong> ersten acht Spalten der Tabellein Abbildung 1. Hieraus können wir bereits <strong>die</strong> Tabelle aller N L -Zahlen bilden, wir brauchen davon abereigentlich nur einige Einträge. Betrachten wir zunächst <strong>die</strong> erste S-<strong>Box</strong>, S4. 1 Weil darin als Input nur u 1 16vorkommt, brauchen wir <strong>die</strong> zweite Zeile der N L -Tabelle (<strong>die</strong> hexadez<strong>im</strong>al 1, also binär 0001 entspricht,also bedeutet: kein U13, 1 kein U14, 1 kein U15, 1 aber U16). 1 Die Einträge <strong>die</strong>ser zweiten Zeile sind in Abbildung 2<strong>an</strong>gegeben. Wie kommen sie zust<strong>an</strong>de? Betrachten wir zum <strong>Beispiel</strong> den rechten der beiden 4-Einträge. Ergehört zu Zeile (hex)1 = (bin)0001 und Spalte (hex)E = (bin)1110, also zur ZufallsvariablenT ′ = U161 }{{}⊛ V13 1 ⊛ V14 1 ⊛ V151 .} {{ }Inputsumme: 0001 Outputsumme: 1110Die 4 zählt, wie oft genau <strong>die</strong>ser Term Null wird, wenn <strong>die</strong> Eingabewerte U13, 1 U14, 1 U15, 1 U16, 1 bzw. <strong>die</strong> dazugehörigen u 1 13, u 1 14, u 1 15, u 1 16, alle 2 4 = 16 möglichen Werte durchlaufen (der Term T ′ wird folglich auch16−4 = 12 -mal Eins. Der Bias solcher Terme ist besonders interess<strong>an</strong>t, wenn er besonders stark vomMittelwert abweicht, und der Mittelwert ist in unserem Fall gleich 8. Also sind Einträge in der Tabellebesonders interess<strong>an</strong>t, <strong>die</strong> 4, 6, 10, 12 lauten (oder gar 0, 2, 14, 16). Wenn wir den rechten der beiden 4-Termeauswählen, bekommen wir, weil er zur Spalte (bin)1110 gehört, drei Ausgabevariablen. Wenn wir aber denlinken der beiden 4-Werte auswählen, bekommen wir, weil er zur Spalte (hex)8 = (bin)1000 gehört, nur eineAusgabevariable, nämlich V13:1T 1 = U161 }{{}⊛ V131 }{{}.Inputsumme: 0001 Outputsumme: 1000Das ist sinnvoll, weil wir auch <strong>die</strong> Anzahl der betrachteten S-<strong>Box</strong>en min<strong>im</strong>ieren wollen. <strong>Wir</strong> können es alsodamit (mit der linken der beiden Vieren und dem Term T 1 ) probieren. Es ist zwar nicht gar<strong>an</strong>tiert, <strong>dass</strong> so1


der beste Angriff herauskommt, aber <strong>die</strong>se Wahl ist zunächst, lokal gesehen (und, wie m<strong>an</strong>, wenn m<strong>an</strong> will,durch Durchprobieren sehen könnte, auch global gesehen), <strong>die</strong> beste.Die Wahl von T 1 legt über V 1 13, d.h. v 1 13, und d<strong>an</strong>n weiter über w 1 4 und u 2 4, eine S-<strong>Box</strong> der zweiten Ebene fest:S 2 1. Und in S 2 1 gibt es genau einen Output, der auf <strong>die</strong> bereits festgelegte S-<strong>Box</strong> S 3 1 deutet: nämlich v 2 1 (überw 2 1 und u 3 1). Damit ist <strong>die</strong> Struktur der Attacke festgelegt, und es verbleibt, <strong>die</strong> Verzerrungen auszurechnen.Dazu stellen wir zunächst <strong>die</strong> drei Zufallsvariablen auf, <strong>die</strong> durch <strong>die</strong> gewählten Ein- und Ausgänge derbetroffenen S-<strong>Box</strong>en S 1 4, S 2 1 und S 3 1 definiert werden:• S 1 4 mit T 1 = U 1 16 ⊛ V 1 13;• S 2 1 mit T 2 = U 2 4 ⊛ V 2 1 ;• und S 3 1 mit T 3 = U 3 1 ⊛ V 3 1 ⊛ V 3 3 (denn U 3 1 ist der von S 2 1 kommende Input, V 3 1 der nach U 4 1 führendeOutput, V 3 3 der nach U 4 9 führende Output).Als nächstes müssen <strong>die</strong> Verzerrungen <strong>die</strong>ser T i berechnet werden: siehe Abb. 1 (<strong>die</strong> letzten drei Spalten).k π S ′ (k) T 1 = U16 1 ⊛ V13 1 T 2 = U4 2 ⊛ V1 2 T 3 = U1 3 ⊛ V1 3 ⊛ V330 0 0 0 1 0 0 0 1 1 10 0 0 1 0 1 0 0 1 1 00 0 1 0 0 0 1 0 0 0 10 0 1 1 0 0 0 1 1 1 00 1 0 0 1 1 0 0 1 1 10 1 0 1 0 1 1 0 1 1 10 1 1 0 0 0 1 1 0 0 10 1 1 1 1 1 0 1 0 0 11 0 0 0 1 0 1 0 1 1 11 0 0 1 0 1 0 1 1 1 11 0 1 0 1 1 1 0 1 1 11 0 1 1 0 1 1 1 1 1 01 1 0 0 1 1 1 1 1 1 11 1 0 1 1 0 1 1 0 0 11 1 1 0 1 0 0 1 1 1 01 1 1 1 0 0 0 0 1 1 1Abbildung 1: Wahrheitstafel von π ′ S mit den ausgewählten Termen T 1, T 2 , T 3 .Die drittletzte und <strong>die</strong> vorletzte Spalte sind gleich, weil es sich beide Male (S41 und S1) 2 um den viertenInput und den ersten Output h<strong>an</strong>delt, also auch um den gleichen Eintrag in der N L -Tabelle von π S ′ . <strong>Wir</strong>zählen Nullen: in den Spalten für <strong>die</strong> T i sind jedes Mal nur 4 Nullen, also gilt N L (T i ) = 4 für i = 1, 2, 3. DerBias von T i ist demzufolge gleich 4−816 = − 1 4 (für i = 1, 2, 3). Eine Abschätzung des Bias von T 1 ⊛ T 2 ⊛ T 3nach Piling-Up-Lemma ist:ɛ(T 1 ⊛ T 2 ⊛ T 3 ) ≈ 2 2 · (− 1 4 )3 = − 116 . 2


Es h<strong>an</strong>delt sich um eine gute Attacke. Hätten wir oben [z.B. aufgrund des Eintrags 10 in der N L -Tabelle<strong>an</strong> der Stelle (Zeile, Spalte) = (1, 4)] S2 2 statt S1 2 ausgewählt, wäre als Bias nur − 164herausgekommen, alsoein schlechterer Angriff.a b: | 0 1 2 3 4 5 6 7 8 9 A B C D E F0 16 8 8 8 8 8 8 8 8 8 8 8 8 8 8 81 8 10 6 8 10 8 8 6 4 6 6 8 10 8 4 8Ausrechnen von T 1 ⊛ T 2 ⊛ T 3 ergibt:Abbildung 2: Zeilen (bin)0000 und (bin)0001 der N L -Tabelle für π ′ S .Also:T 1 = U 1 16 ⊛ V 1 13 = X 16 ⊛ K 1 16 ⊛ V 1 13T 2 = U 2 4 ⊛ V 2 1 = V 1 13 ⊛ K 2 4 ⊛ V 2 1T 3 = U 3 1 ⊛ V 3 1 ⊛ V 3 3 = V 2 1 ⊛ K 3 1 ⊛ V 3 1 ⊛ V 3 3 .T 1 ⊛ T 2 ⊛ T 3 = X 16 ⊛ K 1 16 ⊛ K 2 4 ⊛ K 3 1 ⊛ V 3 1 ⊛ V 3 3 .Und mit V 3 1 = U 4 1 ⊛ K 4 1 und V 3 3 = U 4 9 ⊛ K 4 9 hat m<strong>an</strong>:T 1 ⊛ T 2 ⊛ T 3 = X 16 ⊛ U 4 1 ⊛ U 4 9 ⊛ K 1 16 ⊛ K 2 4 ⊛ K 3 1 ⊛ K 4 1 ⊛ K 4 9.Die Zufallsvariable X 16 ⊛ U1 4 ⊛ U94 erbt deshalb unter fester Schlüsselgröße (wenn der K-Teil der letztenFormel entweder 0 oder 1 ist) den Bias <strong>im</strong> Absolutbetrag von T 1 ⊛ T 2 ⊛ T 3 , d.h., sie hat einen Bias von(<strong>an</strong>nähernd) entweder − 116 oder 116 .(b): Der Algorithmus in Abb 3.5 wird wie folgt modifiziert:• Ersetze π S durch π ′ S (mehrfach).• Ersetze v(2) 4 und v4 (4) durch v3 (1) bzw. v3 (3)(Zeile 5).• Ersetze u 4 (2) und u4 (4) durch u3 (1) bzw. u3 (3)(Zeile 6).• Ersetze <strong>die</strong> rechte Seite der Zuweisung <strong>an</strong> z durch x 16 ⊛ u 4 1 ⊛ u 4 9 (Zeile 7).3

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!