http://www.net-tex.de

AES / Rijndael


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 $