Cryptography Reference
In-Depth Information
Auch für diese Vorgehensweise gibt es mathematische Hintergünde, die Sie im
folgenden Unterkapitel nachlesen können.
8.2
Mathematische Betrachtung des AES
Die Funktionsweise des AES wirkt an einigen Stellen recht willkürlich. Wenn man
jedoch weiß, dass dem Verfahren einige mathematische Überlegungen zugrunde
liegen, auf die ich bisher nicht eingegangen bin, lässt sich alles recht schlüssig
erklären. Um die mathematischen Grundlagen des AES zu verstehen, benötigen
Sie ein Grundwissen zum Thema Galois-Felder (siehe Abschnitt 11.1 und 13.1.1).
Für die Funktionsweise des AES spielt der endliche Körper GF(2 8 ) eine wich-
tige Rolle. Die Elemente von GF(2 8 ) sind mit den 256 Werten eines Bytes iden-
tisch. Ein Byte b 0 , b 1 , b 2 , b 3 , b 4 , b 5 , b 6 , b 7 kann man auch als Polynom der Form
b 0 x 7 + b 1 x 6 + b 2 x 5 + b 3 x 4 + b 4 x 3 + b 5 x 2 + b 6 x + b 7 schreiben. Um im Körper GF(2 8 )
multiplizieren zu können, benötigen wir ein irreduzibles Polynom des Grads 8.
Die AES-Entwickler haben m ( x )= x 8 + x 4 + x 3 + x +1 hierfür vorgesehen. Eine Multi-
plikation zweier Bytes entspricht daher immer der Multiplikation der beiden
zugehörigen Polynome modulo m ( x ). Eine Byte-Multiplikation modulo m ( x )
wird mit dem Zeichen »
« notiert. Damit wäre geklärt, wie die in MixColumns
und Rcon verwendete Multiplikation zustande kommt. Das Praktische daran ist,
dass man für die Durchführung einer solchen Multiplikation keine Modulo-Poly-
nom-Rechnung durchführen muss. Dies liegt daran, dass die AES-Entwickler das
Polynom m ( x ) so gewählt haben, dass man das Multiplizieren mit der oben
beschriebenen Methode elegant abkürzen kann.
Auch die Funktion SubBytes lässt sich mithilfe der Polynom-Multiplikation
modulo m ( x ) beschreiben. Ist b der Bytewert aus der 4×4-Matrix, dann hat der
zugehörige Tabelleneintrag den Wert A · b -1
01100011. Hierbei ist b -1 das
inverse Element zu b in GF(2 8 ), es gilt also: b
b -1 =1. A ist eine Matrix mit folgen-
dem Inhalt:
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
Beachten Sie, dass sowohl die Matrix-Multiplikation als auch die Addition der
Konstante 01100011 lineare Operationen sind. Der nichtlineare Anteil entsteht
ausschließlich durch b -1 . Wenn Sie mehr über das S-Boxen-Design des AES wis-
sen wollen, empfehle ich Ihnen einen Blick in [DaeRij01].
Search WWH ::




Custom Search