Cryptography Reference
In-Depth Information
Eine
(
m
×
n
)
-Matrix
M
schreiben wir in der Form
⎡
⎣
⎤
⎦
M
0
,
0
M
0
,
1
...
M
0
,n−
1
M
1
,
0
M
1
,
1
... M
1
,n−
1
M
=
.
.
.
.
.
.
.
M
m−
1
,
0
M
m−
1
,
1
... M
m−
1
,n−
1
Es bezeichne
M
T
die Transponierte der Matrix
M
, d. h., die Zeilen in
M
werden zu
Spalten und die Spalten zu Zeilen:
⎡
⎣
⎤
⎦
M
0
,
0
M
1
,
0
... M
m−
1
,
0
M
0
,
1
M
1
,
1
... M
m−
1
,
1
M
T
=
.
.
.
.
...
M
0
,n−
1
M
1
,n−
1
... M
m−
1
,n−
1
⎡
⎣
⎤
⎦
M
0
,i
M
1
,i
.
M
m−
1
,i
Des Weiteren bezeichne col
i
(
M
)
für
i<n
den Spaltenvektor
sowie row
i
(
M
)
den Zeilenvektor
M
i,
0
v
n−
1
ein Zeilenvek-
tor der Dimension
n
und ist
i<n
, so steht rotLeft
i
(
v
)
für den Zeilenvektor
v
i
v
i
+1 mod
n
M
i,n−
1
.Ist
v
=
v
0
M
i,
1
···
v
1
···
v
i
+
n−
1 mod
n
,
···
also den um
i
Stellen nach links rotierten Zeilenvektor.
Unsere Beschreibung von AES wird mit
(4
×
4)
-Matrizen über dem endlichen Körper
F
2
8
arbeiten, wobei
F
2
8
als Faktorring
Z
2
[
x
]
/
(
g
)
mit dem irreduziblen Polynom
g
=
x
8
+
x
4
+
x
3
+
x
+1
(4.5.1)
}
8
sei
κ
(
b
)
, definiert durch
aufgefasst wird. Zu einem Byte
b
∈{
0
,
1
κ
(
b
)=
b
(0)
x
7
+
b
(1)
x
6
+
···
+
b
(7)
,
(4.5.2)
F
2
8
. Zu einem Bitvektor
x ∈{
0
,
1
}
128
und
q<
16
bezeichne
x
[
q
]
das
q
-teBytevon
x
, genauer:
x
[
q
]
=
x
[8
q,
8(
q
+1))
.
Ein gegebener Klartext
x ∈{
0
,
1
}
128
wird mit der
(4
×
4)
-Matrix
X
, die durch
X
i,j
=
κ
(
x
[4
j
+
i
]
)
i,j<
4
bestimmt ist, identifiziert:
das zugehörige Element von
⎡
⎣
⎤
⎦
κ
(
x
[0]
)
κ
(
x
[4]
)
κ
(
x
[8]
)
κ
(
x
[12]
)
κ
(
x
[1]
)
κ
(
x
[5]
)
κ
(
x
[9]
)
κ
(
x
[13]
)
κ
(
x
[2]
)
κ
(
x
[6]
)
κ
(
x
[10]
)
κ
(
x
[14]
)
κ
(
x
[3]
)
κ
(
x
[7]
)
κ
(
x
[11]
)
κ
(
x
[15]
)
X
=
.
(4.5.3)
Entsprechend wird eine berechnete »Chiffretextmatrix«
Y
in einen Chiffretext
y
umge-
wandelt.