Überblick über die Vorlesung 4 Symmetrische Verfahren ...
Überblick über die Vorlesung 4 Symmetrische Verfahren ...
Überblick über die Vorlesung 4 Symmetrische Verfahren ...
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