Nach fast 25 Jahren hat der amerikanische Standard Chiffrieralgo
DES (Data Encryption Standard) ausgedient.
Also schrieb die NIST
(National Institute of Standards and Technology)
die Suche nache einem verbesserten Kryptostandard (AES - Advanced
Encryption Standard) aus. Und die gewann Rijndael.
Man kann davon Ausgehen, daß DES der am meisten verwandte
KryptoAlgo ist. Dennoch
ist DES nicht mehr auf der Höhe der Zeit, da DES lediglich
56Bit Schlüssel
verwendet. Und das ist bei heutiger Technik schlicht zu wenig, so
gelang es 1998
der Electronic Frontier Foundation einen DES-Text in 4,5 Tagen zu
knacken. Danach
wich man auf 3DES aus, was drei Runden DES mit 2 Schlüsseln
heißt und 112 Bit
Schlüssel bedeutet. So begann die offenherzige NIST, und nicht
wie bei DES die
sagenumwobene National
Security Agency im Januar 1997 mit dem Beginn der
Ausschreibungen.
Im April 1999 gelangen schließlich 5 Kandidaten in die engere
Auswahl
(MARS, RC6, Rijndael, Serpent, Twofish). Ein Jahr später, im
April 2000, wurden
die Analysen der Endkandidaten präsentiert und diskutiert. Am
02.10.00 schließlich
wurde der "Sieger" bekanntgegeben und zum Standard erhoben.
einige Anforderungen:
- symmetrischer Blockalgorithmus
- mindestens 128 Bit Key und 128/192/256 Bit unterstützen
- in Hard- und Software leicht implementierbar und schnell sein
- frei von Patenten und unentgeltlich nutzbar
- gegen bekannte Methoden der Kryptoanalyse resistent
Deutsche Beteiligung?
Jaaaa, es gab sogar eine Deutsche Beteiligung. So dachte die
Deutsche Telekom AG
in ihrer unglaublichen Weisheit und unendlichen
Allmächtigkeit, daß sie auch mitmischen
müsse. Also entsandte man Dr. Klaus Huber um einen Witz namens
MAGENTA zu präsentieren.
Dies trug allgemein zur Erheiterung der anwesenden Kryptologen
(u.a. Bruce Schneier
oder Louis Gamboulon) bei, wurde doch der gnadenlos schlechte
Beitrag der DTAG noch
_während_ der Vorstellung durch Bruce Schneier und andere
analysiert. Traurig aber
wahr, das der Rosa Riese Deutschland ziemlich blamiert hat.
Also der Testsieger der NIST Auswahl wurde der Algorithmus
RIJNDAEL. Dieser doch
recht seltsame Name stammt von den beiden Entwicklern ab, Joan
Daemen und Vincent Rijmen,
zwei Flamen, welche sich darüber ärgerten, daß
niemand ihre Namen aussprechen konnte.
Also beschlossen sie ihren Algo nach sich zu benennen. Da sie
gebeten wurden, den
Namen doch zu ändern, brachten sie die Vorschläge
"Herfstvrucht", "Angstschreeuw"
und "Koeieuier".
Ansonsten sind Rijmen und Daemen eher ganz locker, so traten sie in
Lederklamotten
auf und präsentierten ihre Algos nicht per Beamer, sondern per
handgemalter Folie.
Die persönliche Site von Rijmen ist übrigens nicht mit MS
Internet Explorer zu
erreichen und propagiert in mehreren Bannern den Einsatz von Open
Source ;-).
Rijndael en Detail
Die grundlegenden Verfahren von Rijndael sind byteweises Ersetzen,
Vertauschen und XOR.
Das Verfahren:
Rijnael erzeugt aus dem 128 Bit Key 10 Keys mit wiederum 128 Bit.
Diese werden in
4x4 Tabellen abgelegt. Der Klartext wird ebenfalls in 128 Bit
Stückchen in 4x4
Tabellen zerhackt. Jedes 128Bit Klartextstückchen wird in
einem Verfahren zu je
10 Runden (10 Runden bei 128 Bit Schlüssel, 11 bei 192, 13 bei
256) bearbeitet
und erzeugt so nach der 10. Runde den Code.
Ein Runde sieht so aus: Byte Sub - jedes einzelne Byte wird in einer S-box
substituiert (jedes
Byte [außer 0] wird durch das Reziproke über GF (2^8)
ersetzt, eine bitweise
Modulo 2 Matrix Multiplikation wird drübergejagt und
abschließend das Süppchen
mit 63 XOR-ed. Simpel - oder? ;-) Shift Row - Die Zeilen der Matrizen werden zyklisch
durchsortiert, so wird aus
1
5
9
13
2
6
10
14
3
7
11
15
4
8
12
16
-------->
1
5
9
13
6
10
14
2
11
15
3
7
16
4
8
12
bei 128 Bit key. Mix Column - Die Spalten werden durchgetauscht. Und zwar
per
Matrizenmultiplikation über GF (2^8). Add Round Key - der Subkey für die jeweilige Runde wird
XORed.
Die Gesamtequenz läuft so ab:
ARK
BSB - SR - MC -ARK
...
BSB - SR - MC -ARK
BSB - SR - ARK
Da eine Zwischensequenz auch "nur" eine feste umkehrbare
Transformation darstellt,
beruht die Sicherheit von Rijndael entscheidend auf der
Ausführung möglichst vieler
Zwischensequenzen.
Wird Rijndael allerdings mehrfach mit verschiedenen
Rundenschlüsseln durchgeführt
steigt die Sicherheit mehr als exponentiell. Dies beruht auf
Konfusion (mittels
BS und ARK gehen die Zusammenhänge zwuischen den einzelnen
Runden verloren) und
Diffusion (per SR und MC werden mit nur einer Bitveränderung
die gesamte Matrix
verändert).
Die Autoren erläutern auf ihrer Site ausgiebig das Verfahren,
so daß sie wie mit
OpenSource Software die Möglichkeit einräumen sich von
der Sicherheit zu überzeugen.
Und anders als bei DES kommt so gar nicht erst der Verdachte auf,
es sei eine
NSA-BackDoor eingebaut.
Desweiteren werden auf der RijndaelSite auch Beispiele in
verschiedenen
Programmiersprachen dargestellt, z.B C, Java, Ada oder gar
EmacsLisp.
$Id: aes.html,v 1.5 2006/04/30 21:30:26 stefan Exp $