Cryptography Reference
In-Depth Information
AddRoundKey
In der Funktion AddRoundKey wird ein Subschlüssel zur 4×4-Matrix addiert
(bitweises exklusives Oder). Da sowohl der erste als auch der letzte Schritt einer
AES-Verschlüsselung aus einem AddRoundKey besteht, ist ein Whitening gege-
ben.
8.1.2
Entschlüsselung mit dem AES
Bei einer SP-Chiffre ist die Entschlüsselung nie so elegant wie bei einer Feistel-
Chiffre. Dies gilt auch für den AES. Eine AES-Entschlüsselung sieht notwendiger-
weise vor, dass dieselben Schritte wie bei der Verschlüsselung durchlaufen wer-
den, nur invertiert und in umgekehrter Reihenfolge. Bei ShiftRow und
AddRoundKey ist die Invertierung trivial. Bei SubByte muss Alice eine inverse
Ersetzungstabelle aufbauen, was ebenfalls kein Problem darstellt, weil die S-Box
entsprechend konstruiert wurde. Für MixColumns ist die Invertierung nicht ganz
so naheliegend, aber durch das zugrunde liegende mathematische Modell eben-
falls nicht schwierig. Die Umkehrung der MixColumns-Formeln für eine Spalte
lautet:
a 0 ' = 14
a 0
11
a 1
13
a 2
9
a 3
a 1 ' = 9
a 0
14
a 1
11
a 2
13
a 3
a 2 ' = 13
a 0
9
a 1
⊕ 14
a 2
11
a 3
a 3 ' = 11
a 0
13
a 1
9
a 2
14
a 3
Da wir die Multiplikation »
« bisher nur für die Zahlen 2 und 3 definiert haben,
benötigen wir nun einige weitere Werte:
9
b := 2
(2
(2
b )))
b
11
b := 8
b
2
b
b
13
b := 8
b
4
b
b
14
b := 8
b
4
b
2
b
8.1.3
Schlüsselaufbereitung
Wie man leicht nachrechnet, benötigt der AES einen Subschlüssel mehr, als es
Runden gibt. Jeder Subschlüssel besteht aus 16 Bytes und hat dieselbe Form wie
die 4×4-Matrix, die von den vier AES-Funktionen verarbeitet wird. Wir gehen an
dieser Stelle von 128 Schlüssel-Bits und damit von 10 Runden aus. Wir benötigen
11 Subschlüssel zu je 16 Bytes, insgesamt also 176 Bytes.
Search WWH ::




Custom Search