Was ist AES?

Abkürzung für Advanced Encryption Standard. Eine symmetrische Blockchiffre, die das US-amerikanische NIST 2001 als FIPS 197 standardisiert hat und die heute am weitesten verbreitet ist. Die Blocklänge beträgt 128 Bit, die Schlüssellänge 128, 192 oder 256 Bit; je nach Schlüssellänge sind es 10, 12 oder 14 Runden. Grundlage ist Rijndael, ein Entwurf belgischer Forscher. Zur Verschlüsselung längerer Daten wird AES mit einem Betriebsmodus für Blockchiffren wie GCM oder CTR kombiniert. Viele CPUs besitzen spezielle Befehle wie AES-NI.

Japanische Bezeichnung: AES

„AES“ kommt in 10 Übungsfragen aus 4 Themen vor, z. B. Grundlagen und Anwendungen der Kryptografie, Hardwaresicherheit, Hardware für Quantencomputer.

Fachgebiet: Grundlagen und Anwendungen der Kryptografie

Ablauf einer Runde

Eine Runde besteht aus vier Schritten: einer nichtlinearen Ersetzung jedes Bytes (SubBytes), einer Verschiebung der Zeilen (ShiftRows), einer Durchmischung der Spalten (MixColumns) und einem XOR mit dem Rundenschlüssel (AddRoundKey); in der letzten Runde entfällt MixColumns. Die Rundenschlüssel werden mit dem Schlüsselplan (Key Schedule) aus dem ursprünglichen Schlüssel erzeugt. Durch die Wiederholung breitet sich schon ein Unterschied von 1 Bit im Klartext oder Schlüssel über die gesamte Ausgabe aus.

Richtwerte für die Sicherheit

AES-128 hat 2¹²⁸ (etwa 3,4 × 10³⁸) mögliche Schlüssel, eine Brute-Force-Suche ist also nicht realistisch. Auch der beste bekannte Angriff ist nur geringfügig schneller als Brute Force. Berücksichtigt man den Grover-Algorithmus auf Quantencomputern, halbiert sich nach einem einfachen Richtwert die Sicherheit in Bit; für Anwendungen, die langfristige Sicherheit brauchen, wird deshalb manchmal AES-256 gewählt.

Hinweise zur Implementierung

Bei Software-Implementierungen mit Tabellenzugriffen bleibt im Zustand des Caches erkennbar, welche Stellen gelesen wurden, sodass der Schlüssel durch einen Seitenkanalangriff über den Cache erraten werden kann. Spezielle Befehle wie AES-NI oder eine Konstantzeit-Implementierung ohne Tabellen vermeiden dieses Problem. Auch wenn AES selbst sicher ist, geht die Sicherheit durch Fehler in der Anwendung verloren, etwa durch Verwendung des ECB-Modus oder Wiederverwendung einer Nonce.

Jetzt üben: Fragen zu AES

Welche Kombination aus Blocklänge und Schlüssellänge der heute weit verbreiteten Blockchiffre AES ist richtig?

  1. ABlocklänge 128 Bit, Schlüssellänge 128, 192 oder 256 Bit
  2. BBlocklänge 64 Bit, Schlüssellänge 56 Bit
  3. CBlocklänge und Schlüssellänge lassen sich beide frei aus 128, 192 und 256 Bit kombinieren
Antwort und Erläuterung anzeigen

Antwort: A. Blocklänge 128 Bit, Schlüssellänge 128, 192 oder 256 Bit

AES ist eine Blockchiffre, die das US-amerikanische NIST 2001 als FIPS 197 standardisiert hat. Die Blocklänge ist auf 128 Bit festgelegt, und es gibt drei Schlüssellängen: 128, 192 und 256 Bit. Je nach Schlüssellänge beträgt die Zahl der Runden (Wiederholungen der Umwandlung) 10, 12 oder 14. Das zugrunde liegende Rijndael war so entworfen, dass auch die Blocklänge wählbar war, standardisiert wurde als AES aber nur der 128-Bit-Block. Blocklänge 64 Bit und Schlüssellänge 56 Bit sind die Werte von DES, dem Standard vor AES.

Bilddaten wurden mit AES im ECB-Modus verschlüsselt, und im verschlüsselten Bild waren die Umrisse des ursprünglichen Motivs noch zu erkennen. Was ist die richtige Ursache?

  1. ADer AES-Schlüssel war zu kurz, sodass einige Blöcke unverschlüsselt erhalten blieben
  2. BIm ECB-Modus wird für jeden Block automatisch ein anderer Schlüssel erzeugt, und das Muster dieser Schlüssel erscheint im verschlüsselten Bild
  3. CIm ECB-Modus wird ein gleicher Klartextblock stets zum gleichen Geheimtextblock, sodass das Muster gleichfarbiger Bereiche erhalten bleibt
Antwort und Erläuterung anzeigen

Antwort: C. Im ECB-Modus wird ein gleicher Klartextblock stets zum gleichen Geheimtextblock, sodass das Muster gleichfarbiger Bereiche erhalten bleibt

Der ECB-Modus (Electronic Codebook) verschlüsselt jeden Block lediglich unabhängig mit demselben Schlüssel. Enthält der Klartext Blöcke gleichen Inhalts, erscheinen daher auch im Geheimtext gleiche Blöcke an denselben Positionen. Bei Bildern mit großen gleichfarbigen Flächen wie einem Hintergrund bleibt die Information erhalten, wo dieselbe Farbe vorkommt; bekannt ist das Beispiel eines verschlüsselten Pinguinbilds. Für die Verschlüsselung gewöhnlicher Daten wird der ECB-Modus daher nicht verwendet, sondern etwa der CBC-Modus, der CTR-Modus oder GCM, die selbst aus demselben Klartext jedes Mal einen anderen Geheimtext erzeugen.

Häufige Fragen

Ist AES-256 doppelt so sicher wie AES-128?

Gemessen am Aufwand einer Brute-Force-Suche ist es nicht doppelt, sondern 2¹²⁸-mal so sicher. Allerdings ist schon bei AES-128 eine Brute-Force-Suche auf klassischen Computern nicht realistisch, für viele Anwendungen genügen also beide. AES-256 wird gewählt, wenn man Reserven gegenüber Quantencomputern möchte oder Vorschriften es verlangen. Der Rechenaufwand ist ungefähr proportional zur Zahl der Runden; AES-256 braucht etwa das 1,4-Fache (14 ÷ 10) von AES-128.

Kann AES allein Daten sicher schützen?

AES ist ein Baustein, der einen einzelnen 128-Bit-Block umwandelt; allein kann er weder lange Daten verschlüsseln noch Manipulationen erkennen. In der Praxis wird er in einem Modus der authentifizierten Verschlüsselung wie GCM verwendet, die Nonces müssen korrekt verwaltet und die Schlüssel sicher erzeugt und verwahrt werden.

„AES“ in den Erläuterungen

Fragen mit „AES“ (10)

  1. Welche Kombination aus Blocklänge und Schlüssellänge der heute weit verbreiteten Blockchiffre AES ist richtig?
  2. Bilddaten wurden mit AES im ECB-Modus verschlüsselt, und im verschlüsselten Bild waren die Umrisse des ursprünglichen Motivs noch zu erkennen. Was ist die richtige Ursache?
  3. Wie ist beim Einsatz von AES im CBC-Modus angemessen mit dem Initialisierungsvektor (IV) umzugehen?
  4. AES (Blocklänge 16 Byte) wird im CBC-Modus mit Padding nach PKCS#7 verwendet. Bei PKCS#7 werden, wenn n Byte fehlen, n Bytes mit dem Wert n angehängt; ist die Länge des Klartexts genau ein Vielfaches von 16, werden ebenfalls 16 Bytes mit dem Wert 16 angehängt. Wie lang ist der Geheimtext (ohne IV), wenn ein Klartext von 96 Byte verschlüsselt wird?
  5. Welche Kombination gibt an, was die Cipher Suite TLS_AES_128_GCM_SHA256 von TLS 1.3 festlegt?
  6. Welcher Vorteil, abgesehen von der Geschwindigkeit, ergibt sich daraus, dass eine CPU spezielle Befehle für die AES-Verschlüsselung (z. B. AES-NI) besitzt?
  7. Bei welchen Verschlüsselungsverfahren wird erwartet, dass ihre Sicherheit durch den Shor-Algorithmus ernsthaft untergraben wird, sobald große fehlertolerante Quantencomputer gebaut sind?
  8. Welche Aussage beschreibt die symmetrische Verschlüsselung richtig?
  9. Für die symmetrische Verschlüsselung gibt es Blockchiffren und Stromchiffren. Welche Aussage beschreibt ihren Unterschied richtig?
  10. Es gelte 1 GiB = 2³⁰ Byte und 1 EiB = 2⁶⁰ Byte. Eine Blockchiffre mit 64 Bit Blocklänge (etwa 3DES) wird im CBC-Modus verwendet, um mit einem einzigen Schlüssel große Datenmengen zu verschlüsseln. Die Geheimtextblöcke werden als zufällige 64-Bit-Werte betrachtet. Welcher Richtwert für die Datenmenge ist richtig, ab der die Wahrscheinlichkeit, dass nach dem Geburtstagsparadoxon ein Paar gleicher Geheimtextblöcke auftritt, nicht mehr vernachlässigbar ist?

Verwandte Begriffe

Betriebsmodus für Blockchiffren Authentifizierte Verschlüsselung (AEAD) Symmetrische Verschlüsselung (Secret-Key-Verfahren) Nonce TLS (Transport Layer Security) RSA-Kryptosystem Diffie-Hellman-Schlüsselaustausch Hashfunktion HMAC Shor-Algorithmus

Zur Glossarübersicht