Advanced Encryption Standard

Geschichte des AES

Grobstruktur des Verschlüsselungsalgorithmus

Notation

Mathematische Grundlagen

Beschreibung der einzelnen Verschlüsselungsschritte

Struktur des Entschlüsselungsalgorithmus

Auswahl der Rundenschlüssel

Beispiel einer AES-Verschlüsselung

 

 

Aufgrund der kurzen Schlüssellänge des DES und den immer leistungsfähigeren Computern wurden 1997 erstmals ernsthafte Aktivitäten unternommen, den DES als Verschlüsselungsstandard durch ein neues Verfahren abzulösen. Dieses neue Verfahren sollte den Namen AES (Advanced Encryption Standard) bekommen. Eine Ausschreibung und das entsprechende Auswahlverfahren wurde --- ebenso wie beim DES --- von der US-Standardisierungsbehörde NIST durchgeführt. Ein kurzer Einblick in die Geschichte des AES und eine ausführliche Darstellung des neuen Verschlüsselungsalgorithmus sind Gegenstand dieses Kapitels.

Im ersten Abschnitt wird kurz auf die vom NIST geforderten Eigenschaften und das Auswahlverfahren eingegangen. Anschließend werden die 15 Vorschläge, die den formalen Kriterien des Ausschreibungsverfahrens genügten, vorgestellt.

Im zweiten Abschnitt wird die grobe Struktur des vom NIST ausgewählten Algorithmus (Rijndael) präsentiert.

Um die Details des Algorithmus zu verstehen, ist es vorteilhaft, bestimmte mathematische Strukturen zu kennen. Diese Strukturen (Galois-Felder und Polynomringe) sowie die hier verwendete Notation werden in den Abschnitten 3 und 4 dargestellt.

Abschnitt 5 beschreibt die einzelnen Verschlüsselungsschritte im AES. Diese Beschreibung ist so ausgeführt, daß man auch ohne mathematische Vorkenntnisse eine Vorstellung bezüglich der Funktionsweise des Algorithmus bekommt, die zumindest für eine Implementierung des Verschlüsselungsalgorithmus ausreicht.

Da es sich beim AES nicht um eine Feistel-Chiffre handelt, ist es notwendig, ein besonderes Augenmerk auf den Entschlüsselungsalgorithmus zu werfen, da hier nicht der gleiche Algorithmus wie zum Verschlüsseln einer Nachricht verwendet wird. Die Struktur dieses Algorithmus wird in Abschnitt 6 beschrieben.

Ähnlich wie beim DES werden beim AES-Algorithmus verschiedene "Runden" durchlaufen. Für jede Runde wird ein sogenannter Rundenschlüssel benötigt, der aus dem AES-Schlüssel berechnet wird. Dazu verwendet man ein bestimmtes Verfahren, das in Abschnitt 7 dargestellt wird.

Im letzten Abschnitt wird die AES-Verschlüsselung an einem konkreten Beispiel demonstriert. Dabei werden alle Zwischenresultate angegeben, so daß es möglich ist, eigene Implementierungen zu testen.