Cryptography Reference
In-Depth Information
w
w
w
für
j
4...43
und
( j) mod 4
0
j
j
4
j 1
(2.6-3)
w
w
KT(w
)
für
j
4...43
und
( j) mod 4
0
j
j
4
j 1
Die Schreibweise in (2.6-3) bedeutet: Ein weiteres Wort w
j
ergibt sich als bitweise Summe
mod 2 aus dem viertletzten Wort w
i4
und dem letzten Wort w
j
. Falls der Index j durch 4 teil-
bar ist, wird w
j
durch KT(w
j
) mod 2 ersetzt. Die Funktion KT (key transformation) enthält
nichtlineare Byte-Operationen (vgl. Kap. 2.6.2). Für die 10 Runden und die zusätzliche Vor-
Runde werden insgesamt 11·4=44 Schlüsselwörter (j=0, 1, ...43) benötigt.
KT
w
0
w
1
w
2
w
3
w
4
w
5
w
6
w
7
Schlüssel für Runde 0
= AES-Schlüssel
Schlüssel für Runde 1
Abb. 2-16: Ableitung der Teilschlüssel für die einzelnen Runden aus dem AES-Schlüssel.
Die Darstellung bezieht sich auf den Fall der Schlüssellänge von 128 Bit.
Die Wörter w
0
, w
1
, w
2
, w
3
entstammen direkt dem AES-Schlüssel und bilden den Teilschlüssel
k
0
für die zusätzliche Vor-Runde. Die Teilschlüssel k
1
bis k
10
werden fortlaufend durch Ver-
kettung von jeweils 4 Wörtern w
j
(j=4...43) gebildet:
k
Concatenate (w
, w
, w
, w
)
für r
0...10.
(2.6-4)
r
4 r
4 r
1
4 r
2
4 r
3
Bei den AES-Schlüssellängen von 192 bzw. 256 Bit unterscheidet sich die Ableitung der Teil-
schlüssel nur in einigen Parametern. Für weitere Details siehe z.B. [FIPSPUB197].
2.6.2
AES, Transformationsfunktionen
Tab. 2-6: Daten-Bytes als Matrix und Matrix der „States“
d
0
d
4
d
8
12
0,0
0,1
0,2
0,3
d
1
d
5
d
9
13
1,0
1,1
1,2
1,3
d
2
d
6
d
10
d
14
2,0
2,1
2,2
2,3
d
3
d
7
d
11
d
15
3,0
3,1
3,2
3,3
Für die Byte-Operationen in dem Transformationsblock (Abb. 2-15) wird der 128 Bit lange
Eingangsdatenblock d
r1
in 16 Bytes d
0
, d
1
, ...d
15
unterteilt. Der Runden-Index r wird hier und