AES-Verschlüsselung erklärt: Wie sie funktioniert und warum sie wichtig ist
AES (Advanced Encryption Standard) ist der am weitesten verbreitete symmetrische Verschlüsselungsalgorithmus der Welt. Er ist der von der US-Regierung übernommene Standard zum Schutz klassifizierter Informationen und wird täglich von Milliarden Menschen genutzt, ohne dass sie es wissen — von der Sicherung von WLAN-Netzwerken bis zur Verschlüsselung von Nachrichten in Messaging-Apps.
Was ist AES-Verschlüsselung?
AES ist eine symmetrische Blockverschlüsselung, die Daten in Blöcken fester Größe von 128 Bit verschlüsselt. "Symmetrisch" bedeutet, dass derselbe Schlüssel sowohl für die Verschlüsselung als auch für die Entschlüsselung verwendet wird. Dies macht AES schnell und effizient für die Massendatenverschlüsselung, bedeutet aber auch, dass der Schlüssel geheim gehalten und sicher zwischen Sender und Empfänger ausgetauscht werden muss.
Der Algorithmus wurde von den belgischen Kryptographen Joan Daemen und Vincent Rijmen entwickelt und hieß ursprünglich Rijndael. Im Jahr 2001 wurde er vom National Institute of Standards and Technology (NIST) als offizieller Verschlüsselungsstandard für die Vereinigten Staaten ausgewählt.
AES-Schlüssellängen: 128, 192 und 256
AES unterstützt drei Schlüssellängen. Die Schlüssellänge bestimmt die Anzahl der Verschlüsselungsrunden und wirkt sich direkt auf die Sicherheitsstärke aus:
| Schlüssellänge | Anzahl Runden | Sicherheitsstufe |
|---|---|---|
| AES-128 | 10 Runden | Ausreichend für die meisten Anwendungen |
| AES-192 | 12 Runden | Geeignet für höhere Sicherheitsanforderungen |
| AES-256 | 14 Runden | Maximale Sicherheit, behördlicher Standard |
Die Zahl nach "AES" gibt die Schlüssellänge in Bit an. AES-256 verwendet einen 256-Bit-Schlüssel und bietet das höchste Sicherheitsniveau. Obwohl AES-256 aufgrund der zusätzlichen Runden langsamer ist als AES-128, ist der Leistungsunterschied auf moderner Hardware für die meisten Anwendungen vernachlässigbar.
Wie AES-Verschlüsselung funktioniert
AES arbeitet auf einem 4x4-Raster von Bytes, dem sogenannten "State". Der Verschlüsselungsprozess umfasst mehrere Schritte, die für jede Runde wiederholt werden:
1. Schlüsselexpansion
Der ursprüngliche Verschlüsselungsschlüssel wird in eine Reihe von Rundenschlüsseln expandiert — einen für jede Verschlüsselungsrunde. Dieser Prozess erzeugt die notwendigen Unterschlüssel aus dem ursprünglichen Schlüssel.
2. Anfangsrunde
Die Anfangsrunde fügt den ersten Rundenschlüssel zum State mittels einer XOR-Operation hinzu. Dies wird AddRoundKey genannt.
3. Hauptrunden
Jede Hauptrunde besteht aus vier Schritten:
SubBytes: Jedes Byte im State wird durch ein entsprechendes Byte aus einer festen Substitutionstabelle (S-Box) ersetzt. Dies führt Nichtlinearität ein, die für die kryptographische Sicherheit essentiell ist.
ShiftRows: Die Zeilen des State werden zyklisch nach links verschoben. Die erste Zeile bleibt unverändert, die zweite Zeile verschiebt sich um ein Byte, die dritte um zwei und die vierte um drei.
MixColumns: Jede Spalte des State wird mittels einer mathematischen Operation transformiert, die die Bytes innerhalb jeder Spalte vermischt. Dieser Schritt sorgt für Diffusion — die Änderung eines Bytes in der Eingabe beeinflusst mehrere Bytes in der Ausgabe.
AddRoundKey: Der Rundenschlüssel für die aktuelle Runde wird mit dem State XOR-verknüpft.
4. Schlussrunde
Die Schlussrunde ähnelt den Hauptrunden, lässt jedoch den MixColumns-Schritt aus.
Entschlüsselung
Die Entschlüsselung kehrt den Prozess um, indem sie die inversen Operationen in umgekehrter Reihenfolge anwendet: InvShiftRows, InvSubBytes, AddRoundKey und InvMixColumns.
AES-Verschlüsselungsmodi
AES verschlüsselt Daten in Blöcken von 128 Bit. Verschlüsselungsmodi bestimmen, wie diese Blöcke zur Verschlüsselung von Daten, die größer als ein einzelner Block sind, miteinander verkettet werden:
| Modus | Name | Beschreibung | Am besten geeignet für |
|---|---|---|---|
| ECB | Electronic Codebook | Jeder Block unabhängig verschlüsselt | Nicht empfohlen — Muster im Klartext bleiben sichtbar |
| CBC | Cipher Block Chaining | Jeder Block mit vorherigem Chiffretext XOR-verknüpft | Allgemeine Verschlüsselung |
| GCM | Galois/Counter Mode | Counter-Modus mit Authentifizierungs-Tag | Daten, die sowohl Verschlüsselung als auch Integrität benötigen |
| CTR | Counter | Blockchiffre in Stromchiffre umgewandelt | Hochgeschwindigkeitsanwendungen |
| CFB | Cipher Feedback | Blockchiffre in selbstsynchronisierende Stromchiffre umgewandelt | Anwendungen mit Fehlerwiederherstellung |
ECB-Modus-Warnung
Der ECB-Modus sollte nicht zum Verschlüsseln bedeutungsvoller Daten verwendet werden. Da identische Klartextblöcke identische Chiffretextblöcke erzeugen, bleiben Muster in den Originaldaten in der verschlüsselten Ausgabe sichtbar.
CBC-Modus
Der CBC-Modus ist der am weitesten verbreitete Modus für allgemeine Verschlüsselung. Er erfordert einen Initialisierungsvektor (IV) — einen zufälligen Wert, der sicherstellt, dass derselbe Klartext zweimal verschlüsselt unterschiedlichen Chiffretext erzeugt. Der IV muss nicht geheim sein, aber für jeden Verschlüsselungsvorgang eindeutig sein.
GCM-Modus
Der GCM-Modus bietet sowohl Verschlüsselung als auch Authentifizierung in einem einzigen Vorgang. Er erzeugt einen Chiffretext und einen Authentifizierungs-Tag, der überprüft, dass die Daten nicht manipuliert wurden. GCM ist der empfohlene Modus für die meisten modernen Anwendungen, einschließlich TLS 1.2 und TLS 1.3.
Best Practices für AES-Verschlüsselung
- Verwenden Sie einen starken Schlüssel: Generieren Sie Schlüssel mit einem kryptographisch sicheren Zufallszahlengenerator (CSPRNG). Verwenden Sie keine Passwörter direkt als Schlüssel — verwenden Sie eine Schlüsselableitungsfunktion wie PBKDF2, bcrypt oder Argon2.
- IVs niemals wiederverwenden: Initialisierungsvektoren müssen für jede Verschlüsselung mit demselben Schlüssel eindeutig sein. Die Wiederverwendung eines IV im CBC-Modus legt Beziehungen zwischen Klartexten offen.
- Authentifizierte Verschlüsselung verwenden: Bevorzugen Sie den GCM-Modus gegenüber CBC, da er Integritätsüberprüfung bietet. Wenn Sie CBC verwenden, kombinieren Sie es mit einem HMAC zur Erkennung von Manipulationen.
- Schlüssel sicher aufbewahren: Speichern Sie Verschlüsselungsschlüssel an einem sicheren Ort wie einem Hardware-Sicherheitsmodul (HSM), einem Schlüsselverwaltungsdienst (KMS) oder einer Umgebungsvariable.
- Ausreichende Schlüssellänge verwenden: AES-256 bietet die höchste Sicherheitsmarge. AES-128 ist für die meisten Anwendungen ausreichend, aber AES-256 wird für sensible Daten empfohlen.
- Schlüssel regelmäßig rotieren: Die regelmäßige Schlüsselrotation begrenzt die Menge an Daten, die bei Kompromittierung eines Schlüssels offengelegt werden.
Fazit
AES-Verschlüsselung ist das Rückgrat der modernen Datensicherheit. Das Verständnis ihrer Funktionsweise — von Schlüssellängen und Verschlüsselungsmodi bis zur praktischen Implementierung — hilft Ihnen, fundierte Entscheidungen zum Schutz sensibler Daten zu treffen. Verwenden Sie das AES Encryption / Decryption-Tool, um Text online zu ver- und entschlüsseln.