23.12.2013 Aufrufe

Überblick über die Vorlesung 4 Symmetrische Verfahren ...

Überblick über die Vorlesung 4 Symmetrische Verfahren ...

Überblick über die Vorlesung 4 Symmetrische Verfahren ...

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.

4 <strong>Symmetrische</strong> <strong>Verfahren</strong> – AES<br />

Schlüsselexpansion<br />

KeyExpansion(byte k[4*N k ], word w[N b *(r+1)]){<br />

for (i=0; i < N k ; i++)<br />

w[i] = (k[4*i], k[4*i+1], k[4*i+2], k[4*i+3]);<br />

for (i=N k ; i < N b *(r+1); i++) {<br />

temp = w[i-1];<br />

if (i mod N k == 0)<br />

temp = SubWord(Rot(temp)) ⊕ Rcon[i/N k ];<br />

else if (N k > 6 and i mod N k == 4)<br />

temp = SubWord(temp);<br />

w[i] = w[i-N k ] ⊕ temp;<br />

}<br />

}<br />

Kryptographie und Kryptoanalyse 199<br />

4 <strong>Symmetrische</strong> <strong>Verfahren</strong> – AES<br />

Schlüsselexpansion für N k<br />

= 4<br />

w 0<br />

k[0:3]<br />

w 1<br />

k[4:7]<br />

k[8:11] k[12:15]<br />

w 2 w 3<br />

Rcon[1]<br />

Rot<br />

SubWord<br />

w 4<br />

w 5<br />

w 6<br />

w 7<br />

Rcon[2]<br />

… … … …<br />

Rot SubWord<br />

Kryptographie und Kryptoanalyse 200<br />

4 <strong>Symmetrische</strong> <strong>Verfahren</strong> – AES<br />

Schlüsselexpansion – Verwendete Funktionen<br />

• Rot: zyklische Verschiebung<br />

Rot([a 0 , a 1 , a 2 , a 3 ]) = [a 1 , a 2 , a 3 , a 0 ]<br />

• SubWord: byteweise Substitution unter Nutzung von S 8<br />

SubWord([a 0 , a 1 , a 2 , a 3 ]) = [S 8 (a 0 ), S 8 (a 1 ), S 8 (a 2 ), S 8 (a 3 )]<br />

• Rcon: Konstante für <strong>die</strong> betreffenden Runden<br />

Rcon[j = i/N k ] = [x j-1 , {00}, {00}, {00}]<br />

Kryptographie und Kryptoanalyse 201<br />

38

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!