Cryptography Reference
In-Depth Information
Algorithmus 4.2 AES-Chiffrieralgorithmus (128 Bit Klartext und Schlüssel)
AES(
X,k
)
Vorbedingung:
(4
}
128
×
4)
-Klartextmatrix
X
über
F
2
8
, Schlüssel
k ∈{
0
,
1
1.
initialer Weißschritt (Schlüsseladdition)
U
=
X ⊕ K
(
k,
0)
2.
9 reguläre Runden
für
r
=1
bis
9
a.
Substitutionen (siehe Substitutionstabelle)
für
i
=0
bis
3
und
j
=0
bis
3
V
i,j
=
S
(
U
i,j
)
b.
Zeilenrotation
für
i
=0
bis
3
row
i
(
W
)=
rotLeft
i
(
row
i
(
V
))
c.
lineare Spaltendurchmischung
für
j
=0
bis
3
col
j
(
Z
)=
M ·
⎡
⎣
⎤
⎦
02
03
01
01
01
02
03
01
col
j
(
W
)
mit
M
=
01
01
02
03
d.
Schlüsseladdition
U
=
Z ⊕ K
(
k,r
)
3.
abschließende verkürzte Runde (ohne Spaltendurchmischung)
a.
Substitutionen (siehe Substitutionstabelle)
für
i
=0
bis
3
und
j
=0
bis
3
V
i,j
=
S
(
U
i,j
)
b.
Zeilenrotation
für
i
=0
bis
3
row
i
(
Z
)=
rotLeft
i
(
row
i
(
V
))
c.
Schlüsseladdition
Y
=
Z ⊕ K
(
k,
10)
Nachbedingung:
Y
Chiffretextmatrix zu Klartextmatrix
X
und Schlüssel
k
03
01
01
02
Der Chiffrieralgorithmus von AES ist nun in Algorithmus 4.2 angegeben, wobei die
Rundenschlüssel
K
(
k,r
)
später definiert werden. Die Addition
C
⊕
D
von zwei (
4
×
4
)-
Matrizen
C
und
D
über
F
2
8
, wie sie für die Schlüsseladdition durchgeführt wird, ist
dabei komponentenweise definiert. Man beachte, dass die Addition von zwei Elementen
aus
F
2
8
der Berechnung des exklusiven Oders dieser Elemente, aufgefasst als Bitvekto-
ren, entspricht. Aus diesem Grund wird das Symbol »
« für die Addition verwendet.
Zu beachten ist in Algorithmus 4.2 zudem, dass konkrete Elemente von
⊕
F
2
8
in Hexade-
zimalschreibweise angegeben sind, sowohl in der Definition der Matrix
M
wie auch in
der Definition der S-Box
S
, die durch eine Substitutionstabelle spezifiziert ist (siehe Ta-
belle 4.2). Zum Beispiel steht
02
für das Polynom
x
,während
30
für
x
5
+
x
4
steht. Die
Substitutionstabelle definiert die durch
S
realisierte Abbildung. Dabei stehen in der Zeile
jeweils die höherwertigen 4 Bits des Arguments und in der Spalte die niederwertigen 4
Bits. Die Tabelleneinträge bestimmen dann die Werte, die
S
zum zugehörigen Argument
liefert. Zur Illustration einer regulären Runde von AES dient Abbildung 4.4.
Wir beschreiben nun, wie sich die Rundenschlüssel
K
(
k,r
)
aus dem Schlüssel
k
ergeben.