Das momentan bedeutendste symmetrische Verschlüsselungsverfahren nennt sich Advanced Encryption Standard. Es ist eine Blockchiffre und folgte auf den früher häufig verwendeten DES. Entwickelt wurde der Algorithmus im Jahr 1998 unter dem Namen Rijndael-Algorithmus und im Oktober 2000 wurde er offiziell vom NIST als Standard bekanntgegeben.
Bei der AES-Verschlüsselung handelt es sich um ein symmetrisches Verschlüsselungsverfahren, welches variable Schlüssellängen von 128, 160, 192, 224 oder 256 Bit besitzt und damit als äußerst sicher gilt.
In diesem Artikel erfahren Sie mehr zur Entstehung des Advanced Encryption Standard, wie die Verschlüsselung funktioniert, wie er in der Praxis eingesetzt wird und wo der AES Anwendung findet.
Die Entstehung des Advanced Encryption Standard
Der Verschlüsselungsalgorithmus wurde im Jahre 1998 von den belgischen Entwicklern Joan Daemen und Vincent Rijmen veröffentlicht, weshalb der Algorithmus auch Rijndael-Algorithmus genannt wird. Gesprochen wird es „Reindahl“ und mit dem Namen wollten die Autoren erreichen, dass ihre Nachnamen endlich korrekt ausgesprochen werden.
Der symmetrische Algorithmus Rijndael gewann 2000 den Advanced Encryption Standard-Wettbewerb um die Nachfolge des DES (Data Encryption Standard) als US-Verschlüsselungsstandard (Anm.: Symmetrisch bedeutet, dass der Schlüssel zum Ver- und Entschlüsseln identisch ist.). Damit konnte sich der Algorithmus letztendlich erfolgreich gegen insgesamt 14 Konkurrenten durchsetzen. Die letzten „Gegner“ waren die beiden Verschlüsselungsprogramme Twofish und Serpent. Grund für den Sieg waren die optimale Schlüssellänge von mindestens 128 Bit oder höher, wodurch eine Brute-Force-Attacke (vollständige Schlüsselsuche) aussichtslos wird, die geringe Rundenzahl, d.h. die Wiederholung der Verschlüsslung; je nach Schlüssellänge 10, 12 oder 14 mal, die hohe Verschlüsselungsgeschwindigkeit unabhängig von der Plattform, absolut keine Sicherheitslücken (schwache und semischwache Schlüssel werden automatisch aussortiert!) und last but not least auch das elegante Design.
Serpent galt eher als konservativ, da es mit einem großen Sicherheitspuffer ausgestattet war und deshalb ziemlich langsam lief. Auch das Design war nicht ansprechend – keine neuen Designelemente, über die Rijndael allerdings verfügte. Generell wirkte der Sieger innovativer, eleganter und verzichtete zudem auf eine übertrieben große Sicherheitsmarge. Zusätzlich überzeugte es durch eine hohe Verschlüsselungsgeschwindigkeit. Twofish lag genau zwischen den beiden Extremen.
Der Sieg von Rijndael wurde allgemein anerkannt, und nachdem zahlreiche Experten keinerlei Sicherheitsmängel beim neuen Advanced Encryption Standard feststellen konnten, verschlüsselte die US-Regierung auch Top-Secret-Dokumente mit dem neuen Advanced Encryption Standard, also Rijndael.
Die Verschlüsselung des Advanced Encryption Standard
Der Algorithmus beruht auf mathematischen Grundlagen, für die ein Grundlagenwissen unabdingbar ist (beispielsweise der endliche Körper GF(2^8), der auch bei Twofish zum Einsatz kommt). Um den grundlegenden Ablauf der Advanced Encryption Standard-Verschlüsselung nachzuvollziehen, sind diese Grundkenntnisse (zum Glück) nicht nötig.
Prinzipiell besteht der Advanced Encryption Standard aus vier Funktionen, die mehrfach durchlaufen werden (sogenannter Rundenaufbau). Alle Funktionen bearbeiten eine 4×4-Matrix, in der zu Beginn der Klartext, also die unverschlüsselte Botschaft, und am Ende der Geheimtext steht.
Der erste Schritt der AES-Verschlüsselung besteht aus dem Aufruf der Funktion „AddRoundKey“. Dabei wird ein Subschlüssel mit der bitweisen exklusiv-oder-Verknüpfung zur 4×4-Matrix hinzugefügt.
Exklusiv-oder-Verknüpfung: Da in der modernen Kryptographie nur mit Bits, also Null und Eins, gearbeitet wird, wird auch der Schlüssel als Bit gespeichert. Die Addition von einem Klartext-Bit mit einem Schlüssel-Bit entspricht dabei der sogenannten Exklusiv-oder-Verknüpfung. Diese liefert nur dann den Wert 1 zurück, wenn ein Eingabewert 0 und der andere 1 beträgt, ansonsten wird 0 ausgegeben.
Nach der „AddRoundKey“-Funktion wird die „SubBytes“-Funktion aufgerufen. Diese stellt eine sogenannte Substitutionsbox bzw. S-Box dar. Dabei wird zum Beispiel ein Block à 48 Bit in acht 6-Bit-Blöcke zerlegt; diese nennt man S-Box. Jede S-Box bildet nun eine Eingabe zu einer der Sub-Funktionen. Beim Advanced Encryption Standard werden jedes der 16 Bytes in der 4×4-Matrix nach der gleichen Ersetzungs-/Substitutionstabelle durch ein neues ersetzt.
Die dritte Funktion heißt „ShiftRow“. Bei dieser relativ einfachen Funktion werden die Zeilen der 4×4-Matrix gemischt (lineare Permutation). Die erste Zeile wird folglich um null, die zweite um eine, die dritte um zwei und die vierte um drei Stellen nach links verschoben (rotiert).
Die vierte Funktion „MixColumn“ hat eine ähnliche Aufgabe wie „ShiftRow“. Hier werden allerdings nicht die Zeilen sondern eben die Spalten durchmischt. Dieses Verfahren ist allerdings etwas komplexer, da eine spezielle Form der Multiplikation nötig ist.
Je nachdem, wie viele Runden durchlaufen werden, werden die oben geschilderten Vorgänge wiederholt. Nur in der letzten Runde fällt die dritte Funktion „MixColumn“ weg und wird durch ein weiteres „AddRoundKey“ ersetzt.
Der Vorteil der AES-Verschlüsselung ist die Entschlüsselung des Advanced Encryption Standard. Sämtliche Schritte werden nochmals durchlaufen – allerdings rückwärts.
Die AES-Verschlüsselung in der Praxis
Im ersten Schritt muss sich der Anwender die Verschlüsselungssoftware z.B. von der offiziellen Projektseite herunterladen, um diese nutzen zu können. Danach wird der Advanced Encryption Standard auf dem Rechner installiert. Nach der Installation wählt der Anwender mittels Rechtsklick auf die zu verschlüsselnde Datei „AES Encrypt“ aus, vergibt ein Kennwort und bestätigt mit OK.
Der Advanced Encryption Standard erstellt nun eine verschlüsselte Datei mit der Endung .aes; die Originaldatei kann nun gelöscht werden. Die Entschlüsselung der Daten ist ab jetzt nur noch mit dem gesetzten Passwort möglich. Da das Advanced Encryption Standard-Verfahren nicht geknackt werden kann, empfiehlt es sich, sich das Passwort gut zu merken, da die Daten ansonsten unwiederbringlich verloren wären!
Hinweise zur Auswahl eines sicheren Passworts
Anwendungsbereiche des Advanced Encryption Standard
Wie bereits Eingangs erwähnt, greift auch die US-Regierung auf den AES-Algorithmus zurück. Aber auch andere Verfahren wie beispielsweise VPN, SSH, VoIP, Skype, PGP (Pretty Good Privacy) oder OpenSSL nutzen den Algorithmus. Außerdem enthalten viele Prozessoren eine Hardware-AES-Implementierung mit speziellen Maschinenbefehlen. Daher eignet sich AES auch für mobile Anwendungen ausgezeichnet.
Eine wichtige Rolle spielt der AES auch bei der WLAN-Verschlüsselung.
Angriffsmöglichkeiten & Sicherheit des Advanced Encryption Standard
Bisher konnte der Advanced Encryption Standard nicht geknackt werden.
2009 wurde ein theoretischer (!) Angriff veröffentlicht: die Related-Key-Attacke. Dieser Angriff betrifft allerdings lediglich die 192- und 256-Bit-Version des AES. Da dieser Angriff äußerst aufwendig ist, hat er in der Praxis kaum Bedeutung und die AES-Verschlüsselung gilt auch weiterhin als sehr sicher (Stand Juni 2017).
Hinterlasse einen Kommentar