Cryptography Reference
In-Depth Information
Algorithmus 4.3 AES-Rundenschlüsseliteration
NächsterAESschlüssel( K r )
Vorbedingung: K r = K ( k,r ) für r< 10
1. erstes Wort
a. Rotation
U = rotUp
( col 3 ( K r ))
b. Substitutionen
für j =0 bis 3
V j = S ( U j )
1
- V (wie U ) Spaltenvektor mit vier Einträgen aus
F 2 8
c. Konstantenaddition
V 0 = V 0 + x r− 1
F 2 8
d. Rückgriff auf vorigen Schlüssel
col 0 ( K r +1 )= col 0 ( K r )+ V
-in
- Vektoraddition in
F 2 8
2. zweites, drittes und viertes Wort
für j =1 bis 3
Rückgriff auf vorigen Schlüssel und vorige Spalte
col j ( K r +1 )= col j ( K r )+ col j− 1 ( K r +1 )
- Vektoraddition in
F 2 8
Nachbedingung: K r +1 = K ( k,r +1)
aus
F 2 8 . Nun ist die Abbildung h :
F 2 8 F 2 8
definiert durch
11111000
01111100
00111110
00011111
10001111
11000111
11100011
11110001
h ( b )= conv B ( M
·
conv V ( b )) mit M =
.
(4.5.6)
Die lineare Spaltendurchmischung hat die folgende algebraische Interpretation: Eine Spal-
te col j ( W ) (siehe Algorithmus 4.2) wird als Element a ( x ) des Faktorrings
F 2 8 [ x ] / ( x 4 +1)
aufgefasst. Die Operation M ·
col j ( W ) entspricht nun der Multiplikation der Polynome
a ( x ) und
c ( x )= 03 · x 3 + 01 · x 2 + 01 · x + 02
(4.5.7)
in F 2 8 [ x ] / ( x 4 +1) . Die Koe zienten von c ( x ) sind dabei Elemente aus
F 2 8 , dargestellt in
Hexadezimalschreibweise. Das Resultat dieser Multiplikation ist wieder ein Polynom in
F 2 8 [ x ] / ( x 4 +1) , welches als Spaltenvektor über
F 2 8 aufgefasst werden kann.
Zum Abschluss sei bemerkt, dass AES u. a. mit dem Ziel konstruiert wurde, dass alle be-
kannten Angriffe auf Blockchiffren nicht fruchten, in der Hoffnung, dass auch andere, bis-
lang unbekannte Angriffe scheitern. Bisher gilt AES als sicher (siehe auch Abschnitt 4.10).
Idealerweise sollte AES ein im Sinne von Abschnitt 4.7 sicheres Block-Kryptosystem sein.
 
Search WWH ::




Custom Search