slider

Advanced Encryption Standard (AES) - Prof. Dr. Norbert Pohlmann

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) als symmetrischer Verschlüsselungsalgorithmus

Was ist der Advanced Encryption Standard (AES)?


Der Advanced Encryption Standard (AES) ist ein symmetrischer Verschlüsselungsalgorithmus und ist von der NIST im Rahmen eines Wettbewerbs zur Einführung eines neuen Verschlüsselungsstandards ausgerufen worden. Der Algorithmus musste vor allem zwei Kriterien erfüllen, erstens mindestens für die nächsten zwei Jahrzehnte als rechnerisch sicher und zweitens lizenzkostenfrei sein. Weitere Anforderungen betrafen Leistungsfähigkeit, Effizienz, Flexibilität und Implementierbarkeit: Die erforderlichen Operationen sollten schnell erfolgen, Speicher und CPU des eingesetzten IT-Systems nicht zu sehr belasten und sich sowohl für den Einsatz in Embedded-Geräten als auch als „reine“ Software-Lösung (etwa fürs Online-Banking) eignen. Von den ursprünglich eingereichten 21 Vorschlägen genügten 15 diesen Mindestanforderungen. Im Verlauf der weiteren Auswertung blieben schließlich fünf Verfahren für die „letzte Runde“ übrig. Das Wettbewerbskomitee entschied sich schließlich für den sogenannten Rijndael-Algorithmus, den ein Kryptologen-Team der belgischen Universität Leuven um Vincent Rijmen vorgelegt hatte.
Den Ausschlag gab dabei einerseits, dass das Verfahren von vornherein für den Einsatz mit variablen Schlüssellängen von 128, 192 und 256 Bit ausgelegt war und andererseits im Gegensatz zu den Alternativvorschlägen in Hard- wie Software-Implementierungen gleichermaßen schnell funktionierte. Praktische Einsatzbeispiele für den mit dem NIST-Entscheid in Advanced Encryption Standard „umgetauften“ Algorithmus sind unter anderem die E-Mail-Verschlüsselung mithilfe von S/MIME und Übertragungsprotokolle, wie IPSec und SSL/TLS für den Datenaustausch im Internet.

Funktionsweise Advanced Encryption Standard (AES)

AES ist ein Produktverschlüsselungsverfahren, welches in mehreren Runden die Bits transformiert. Dazu wird zunächst der Klartext in Blöcke fester Bitlängen eingeteilt, die 128, 192 oder 256 Bit betragen können. Die Anzahl der Transformationsrunden hängt dabei von der Block- und der Schlüssellänge ab und beträgt 10, 12 oder 14.

AES Transformationsrunden abhängig der Block- und der Schlüssellänge

Advanced Encryption Standard (AES) mit Tabelle von Block- und der Schlüssellänge
Abbildung: AES Transformationsrunden abhängig der Block- und der Schlüssellänge – © Copyright-Vermerk

AES ByteSub-Transformation

Jede Runde besteht aus einer Reihe byteorientierter Transformationen, welche die Stärken vieler anderer Verschlüsselungsalgorithmen kombinieren. Im ersten Schritt werden die in einem zweidimensionalen Array abgelegten Zeichen des Klartext-Blocks der sogenannten ByteSub-Transformation unterworfen. Es handelt sich also um eine monoalphabetische Substitution der einzelnen Bytes, die über eine Tabelle (die sogenannte Rijndael S-Box, die öffentlich bekannt ist) festgelegt wird.

Advanced Encryption Standard (AES) mit ByteSub-Transformation
Abbildung: AES ByteSub-Transformation – © Copyright-Vermerk

AES ShiftRow-Transformation

Den zweiten Schritt stellt die ShiftRow-Transformation dar, eine Permutation, bei der alle Zeilen des Arrays außer der ersten abhängig von der Zeilen- und Blocklänge um maximal vier Spalten nach links verschoben werden. Überlaufene Zeilen werden von rechts fortgesetzt.

Advanced Encryption Standard (AES) mit ShiftRow-Transformation
Abbildung: AES ShiftRow-Transformation – © Copyright-Vermerk

AES MixColumn-Transformation

Der dritte Schritt ist die MixColumn-Transformation, bei der jede Spalte
des Arrays mit einem festen Polynom multipliziert wird.

Advanced Encryption Standard (AES) mit MixColumn-Transformation
Abbildung: AES MixColumn-Transformation – © Copyright-Vermerk

AES AddRoundKey-Transformation

Die MixColumn-Transformation wird in der letzten Runde von AES überschlagen, und es folgt dann direkt der nächste Schritt.
In der abschließenden AddRoundKey-Transformation wird der aus dem geheimen Schlüssel ermittelte Rundenschlüssel mit dem Array durch ein bitweises XOR verknüpft.

Advanced Encryption Standard (AES) mit AddRoundKey-Transformation
Abbildung: AES AddRoundKey-Transformation – © Copyright-Vermerk


Die in den einzelnen Runden benutzten Rundenschlüssel werden aus dem originalen Schlüssel durch eine sogenannte Expansions-Funktion berechnet. Diese berechnet die Rundenschlüssel mit XOR, zyklischen Shifts und einem Tabellen-Lookup. Dabei wird zum Beispiel ein Puffer der Länge gefüllt, dem dann die jeweiligen Rundenschlüssel entnommen werden. Die ersten n Bit (n = verwendete Schlüssellänge) des Puffers entsprechen dem Schlüssel in unverfälschter Form, alle anderen jeweils n Bit entstehen aus den vorherigen durch zyklische Permutation und eine Substitution, die der Byte-Sub-Transformation ähnelt.
Vor Beginn der ersten Runde erfolgt eine initiale AddRoundKey-Transformation, die den Klartext mit dem ersten Rundenschlüssel verknüpft. Die Entschlüsselung erfolgt analog zur Verschlüsselung mit den jeweiligen inversen Funktionen. Insgesamt kombiniert der AES-Algorithmus also eine Reihe von Elementarverschlüsselungen in besonders geschickter Anordnung. Die relative Einfachheit macht das Verfahren besonders schnell und flexibel, sodass es zurzeit keine echte Alternative gibt. Ohne die Kombination dieser Verfahren wäre AES nicht sicher. Jedes Verfahren steuert zur Sicherheit von AES bei. Ohne die Key Expansion würden beispielsweise alle Runden denselben Schlüssel k verwenden und AES wäre gegen Slide-Angriffe verwundbar. SubBytes sorgt für nicht lineare Eigenschaften von AES, wodurch es kryptografische Stärke erhält.
Als Verschlüsselungs-Standard wird der AES-Algorithmus heute in nahezu allen Anwendungen für die Verschlüsselung verwendet.

Advanced Encryption Standard (AES) als symmetrischer Verschlüsselungsalgorithmus
Abbildung: Advanced Encryption Standard (AES) als symmetrischer Verschlüsselungsalgorithmus – © Copyright-Vermerk




Weitere Informationen zum Begriff “Advanced Encryption Standard (AES)”:


„Kryptographie: Von der Geheimwissenschaft zur alltäglichen Nutzanwendung“
Elementare Verschlüsselungsverfahren
Symmetrische Verschlüsselungsverfahren
Asymmetrische Verschlüsselungsverfahren
Prüfsummen, Zertifikate und die elektronische Signatur
Public Key Infrastruktur (PKI)
Vertrauensmodelle von Public-Key-Infrastrukturen



Lehrbuch Cyber-Sicherheit

Übungsaufgaben und Ergebnisse zu Kapitel 2: Kryptographie

Bücher im Bereich Cyber-Sicherheit und IT-Sicherheit zum kostenlosen Download



Vorlesungen zum Lehrbuch Cyber-Sicherheit

Kryptographie


Zurück zur Übersicht




Summary
Advanced Encryption Standard (AES)
Article Name
Advanced Encryption Standard (AES)
Description
Der Advanced Encryption Standard (AES) ist ein symmetrischer Verschlüsselungsalgorithmus, der von der NIST im Rahmen eines Wettbewerbs als gemeinsamer internationaler Verschlüsselungsstandards definiert wurde.
Author
Publisher Name
Institut für Internet-Sicherheit – if(is)
Publisher Logo
Advanced Encryption Standard (AES) als symmetrischer Verschlüsselungsalgorithmus
Advanced Encryption Standard (AES) Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten