Cryptography Reference
In-Depth Information
Shift-Rows
ist eine Abbildung
⎛
⎝
⎞
⎠
→
⎛
⎝
⎞
⎠
x
1
x
5
x
9
x
13
x
1
x
5
x
9
x
13
x
2
x
6
x
10
x
14
x
6
x
10
x
14
x
2
F
4
×
4
F
4
×
4
,
→
.
x
3
x
7
x
11
x
15
x
11
x
15
x
3
x
7
x
4
x
8
x
12
x
16
x
16
x
4
x
8
x
12
×
Das Wort
x
1
,...,
x
16
wird spaltenweise in eine 4
4 Matrix eingetragen. Die Ab-
bildung besteht darin, die Zeilen zyklisch zu verschieben (daher der Begriff
shift
).
Man beachte, dass auch diese Abbildung komplette Bytes verschiebt. Es wird also
nur Diffusion auf Byte-Ebene erreicht, das allerdings sehr wirkungsvoll.
Wirkliche Diffusion wird nur in Kombination mit dem folgenden Schritt erzielt.
X
4
=
[
]
(
+
)
Mix-Columns
benutzt den Ring
R
aus dem Beispiel von Sei-
te 43. Wir fassen je vier Bytes - genauer jede Spalte der eben beschriebenen Matrix
- zu einem Element in
R
zusammen, z. B. die erste Spalte:
F
X
/
1
T
x
1
X
3
x
2
X
2
(
x
1
,
x
2
,
x
3
,
x
4
)
→
y
1
=
+
+
x
3
X
+
x
4
∈
R
.
⎛
⎝
⎞
⎠
x
1
x
5
x
9
x
13
x
2
x
6
x
10
x
14
R
4
.
(
)
∈
Die Matrix
hat dann die Form
y
1
,
y
2
,
y
3
,
y
4
x
3
x
7
x
11
x
15
x
4
x
8
x
12
x
16
Mit dem aus dem Beispiel auf Seite 43 bekannten Polynom
03
X
3
X
2
(
)=
+
+
+
∈
c
X
X
02
R
setzt man
Mix-Columns
:
R
4
R
4
;
→
(
)
→
(
·
·
·
·
)
y
1
,
y
2
,
y
3
,
y
4
c
y
1
,
c
y
2
,
c
y
3
,
c
y
4
.
Das Element
c
ist invertierbar in
R
mit Inversem
c
−
1
0B
X
3
0D
X
2
=
+
+
+
09
X
0E
wie schon im Beispiel auf Seite 43 erwähnt.
Die Abbildung
Mix-Columns
sorgt in Kombination mit
Shift-Rows
für Diffusion
auf Bit-Ebene.
In der Tat werden nach [8, 3.5] nur wenige Runden benötigt, um eine sehr gute
Diffusion zu erzielen.
Add-Round-Key
addiert schließlich den Rundenschlüssel
k
i
in der
i
-ten Runde
Add-Round-Key
:
F
16
F
16
F
16
,
×
→
(
)
→
+
x
,
k
i
x
k
i
.
Insgesamt gilt also
Add-Round-Key
Mix-Columns
Shift-Rows
,
k
i
(
x
,
k
i
)=
(
subByte
(
x
))
Mix-Columns
Shift-Rows
))
+
=
(
subByte
(
x
k
i
.