AES Verschlüsselung
Die AES (Advanced Encryption Standard) Verschlüsselung ist ein symmetrisches Verschlüsselungsverfahren und der Nachfolger des DES (Data Encryption Standard). AES setzt man häufig ein, um Daten verschlüsselt zu übertragen, sowie bei IPsec, SSH und vielem mehr. In diesem Beitrag lernst du, welche AES Varianten es gibt, wie die AES Verschlüsselung genau funktioniert und warum das Verfahren heutzutage als sicher eingestuft werden kann.
Möchtest du alles kurz und anschaulich erklärt bekommen? Dann schau unser Video dazu an!
Inhaltsübersicht
AES Verschlüsselung
Der AES (Advanced Encryption Standard) ist ein symmetrisches Verschlüsselungsverfahren und wurde von Vincent Rijmen und Joan Daemen entwickelt. Es wird auch als Rijndael-Algorithmus bezeichnet. AES ist der Nachfolger des DES (Data Encryption Standards) und basiert auf der Blockverschlüsselung. Heutzutage wird es in vielen Bereichen der Datenübertragung angewendet.
Was ist AES?
AES (Advanced Encryption Standard) ist ein symmetrisches Verschlüsselungsverfahren . Dies bedeutet, dass es im Gegensatz zur asymmetrischen Verschlüsselung nur einen Schlüssel zum Verschlüsseln und zum Entschlüsseln gibt. Bei der digitalen Datenübertragung wird der AES sehr oft im Bereich der Kommunikation und der Dokumentenübermittlung eingesetzt. Der AES löste im Jahr 2000 den Vorgänger DES (Data Encryption Standard) aufgrund seiner geringen Schlüssellänge von 56 Bit ab, als das NIST (National Institute of Standard and Technoloy) ihn als neuen Standard festlegte. Der Grund für die Einführung der AES Encryption war die Tatsache, dass die Rechenleistungen von Computern immer besser wurde und so die Sicherheit gegen Brute-Force Angriffe nicht mehr aufrecht erhalten werden konnte. Beim AES sind mögliche Schlüssellängen gegeben durch 128, 192 oder 256 Bit, weshalb man diese AES Varianten dann mit AES-128, AES-192 und AES-256 bezeichnet.
AES Schlüssel: AES-128, AES-192 und AES-256
Die Varianten der AES Verschlüsselung, AES-128, AES-192 und AES-256 beinhalten in ihrer Bezeichnung die Länge des Schlüssels in Bit. Durch die größeren Schlüssellängen des AES von 128, 192 oder 256 konnte die Sicherheit, im Vergleich zum DES mit einer Schlüssellänge von 56 Bit, stark gesteigert werden. Die sicherste AES Variante ist damit AES-256. Möchte man mit dem Computer einen Schlüssel herausfinden, dann bräuchte dieser heutzutage (Stand 2019) schon bei einer Schlüssellänge von 128 Bit länger, als das Universum alt ist.
AES Verschlüsselung einfach erklärt
Da es sich bei der AES Verschlüsselung um ein symmetrisches Verfahren handelt, wird ein- und derselbe Schlüssel zum Verschlüsseln als auch zum Entschlüsseln verwendet. Das AES Verschlüsselungsverfahren ist eine Blockchiffre, deren Blockgröße von der AES Encryption Variante abhängt. Zunächst schreibt man jeden Block in eine Tabelle mit vier Zeilen. Die Anzahl der Spalten hängt dabei von der gewählten AES Variante ab und reicht von 4 (128 Bit) bis 8 (256 Bit). Des Weiteren hat jede Zelle in der Tabelle eine Größe von einem Byte. Auf jeden Block werden nun nacheinander verschiedene Transformationen angewendet. Das besondere beim AES Verfahren ist, dass ein Block nicht nur einmal verschlüsselt wird. Stattdessen werden verschiedene Teile des Schlüssels nacheinander angewendet. Die Anzahl dieser Runden ist dabei von der Schlüssellänge und der Blockgröße abhängig. Im Folgenden wird nun der AES Algorithmus schematisch vorgestellt.
Verfahren
Als erstes erzeugt man unter Verwendung des Eingabeschlüssels die Rundenschlüssel. Für die erste Runde verwendet man dabei den Eingabeschlüssel. Die anderen Schlüssel für die restlichen Runden erhält man hingegen durch Substitution und XOR Verknüpfungen. Insgesamt besteht eine Runde aus vier verschiedenen Schritten, auf die wir nun genauer eingehen werden:
-
Substitution:
In diesem Schritt wird jedes Byte mit einer Substitutionsbox (S-Box) verschlüsselt. Die S-Box gibt dabei eine Regel an, wie ein Byte eines Blockes durch einen anderen Wert zu ersetzen ist. Dadurch werden die Bytes vermischt. -
Shift Row:
Nach der Substitution werden nun die Zeilen in der Tabelle um eine bestimmte Anzahl an Spalten nach links verschoben. Die überlaufenden Zellen werden rechts an die jeweilige Zeile wieder angehängt. -
Mix Column:
In diesem Schritt geht es nun darum, die Spalten zu vermischen. Hierfür wird jede Spalte mit einer bestimmten Matrix multipliziert. Die Bytes werden dabei nicht als Zahlen gesehen, sondern als Polynome. Dies bedeutet, dass die Multiplikation über einem Galois Feld () durchgeführt wird. -
Key Addition:
Hier wird nun jeder Block mit dem aktuellen Rundenschlüssel XOR verknüpft. Diese XOR Verknüpfung läuft dabei bitweise ab.
AES Verschlüsselung Beispiel
Im letzten Abschnitt wurde ganz allgemein beschrieben, wie man mit dem AES Verfahren Daten verschlüsseln kann. Nun wird ein allgemeines Beispiel vorgeführt, um die Vorgehensweise zu verdeutlichen.
Dabei gehen wir von einer Blockgröße von 128 Bit aus. Dies bedeutet, dass unsere Tabelle aus 4 Spalten besteht. Die Anzahl der Zeilen ist immer konstant vier. Da jede Zelle der Tabelle eine Größe von einem Byte hat, kann man leicht nachrechnen, dass die Tabelle insgesamt 128 Bit enthält
Als Ausgangspunkt gehen wir dabei von folgender Tabelle aus
Im ersten Schritt, der Substitution wird nun jedes Byte unter Verwendung einer S-Box durch ein anderes Byte ersetzt, so dass dies zu folgender Tabelle führt
Anschließend wird mit der Shift Row Transformation jede Zeile im Kreis verschoben
Bild folgt…
Danach werden im dritten Schritt, der Mix Column Transformation, die Spalten der Matrix vertauscht. Dabei wird jede Spalte als vier-elementiger Vektor betrachtet und mit einer Matrix multipliziert. Dies ergibt dann den neuen Vektor.
Bei dem letzten Schritt, der Key Addition, wird mit dem Schlüssel ein Rundenschlüssel berechnet, welcher auch in Matrixform gegeben ist. Auf den Bytes und dem Rundenschlüssel wird die Exklusiv-Oder Funktion angewendet
Bild folgt…
Diese vier Schritte werden während der Verschlüsselung mehrfach durchlaufen.
AES Verschlüsslung knacken
Um nun die, mit dem AES Verfahren verschlüsselten, Daten wieder zu entschlüsseln, werden die Daten zuerst wieder in eine Tabelle gelesen. Anschließend wendet man die gerade beschriebenen Transformationen genau in umgekehrter Reihenfolge an. Damit kann man die AES Verschlüsselung knacken.
Verwendung
Die AES Verschlüsselung findet in den verschiedensten Bereichen Anwendung, wie zum Beispiel bei WLAN oder WAP2, sowie SSH und IPsec. Des Weiteren wird das AES Verfahren auch bei der Verschlüsselung von Dateien oder Skype benutzt. Die AES Verschlüsselung findet noch in vielen anderen Bereichen Anwendung, die hier nicht aufgezählt sind.
Sicherheit
Die Sicherheit der mit AES verschlüsselten Informationen wird heute als relativ hoch eingestuft, da kein Algorithmus bekannt ist, der den AES knacken könnte. Auch in den nächsten Jahren kann davon ausgegangen werden, dass es keine mathematische Lösung des Problems gibt, auf dem AES basiert. Zusätzlich ist die AES Verschlüsselung auch gegen Brute Force Angriffe in nächster Zeit sicher. Erst wenn die Rechenleistung der Computer noch viel größer wird, stellt das AES Verfahren keine sichere Verschlüsselungsmethode mehr dar. Das ist spätestens dann der Fall, wenn es einen effizient funktionierenden Quantencomputer gibt. Nach heutiger Einschätzung wird dies jedoch noch ein paar Jahre dauern, sodass die AES Verschlüsselung voraussichtlich noch eine Weile als sicher eingestuft werden kann.
Alternativen
Angenommen, es wird in naher Zukunft doch eine Lücke in der AES Verschlüsslung gefunden, oder eine mathematische Lösung entwickelt, die den AES Algorithmus löst, so gibt es auch heute schon gleichwertige Alternativen. Hierunter fallen zum Beispiel die Verschlüsselungen Twofish, Serpent, RC6 oder MARS.