slider

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

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann

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 von 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 Schlüssellänge - Blocklänge - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann


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.

AES ByteSub-Transformation - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann


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.

AES ShiftRow-Transformation - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann


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

AES MixColumn-Transformation - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann


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.

AES AddRoundKey-Transformation - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann


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.


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


Vorlesung: „Kryptographie“

Artikel:
„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

Informationen über das Lehrbuch: „Cyber-Sicherheit“

Glossar Cyber-Sicherheit: Bundesamt für Sicherheit in der Informationstechnik (BSI)

Zurück zur Übersicht
Advanced Encryption Standard (AES) - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann
Advanced Encryption Standard (AES) Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten