AES
AES (Advanced Encryption Standard)
Der am weitesten verbreitete symmetrische Verschlüsselungsalgorithmus, der 2001 von der US-Regierung (NIST) als Standard übernommen wurde. AES verschlüsselt Daten in festen 128-Bit-Blöcken mit Schlüsseln von 128, 192 oder 256 Bit.
Technisches Detail
AES arbeitet mit mehreren Runden von Substitution (S-Box), Zeilenverschiebung, Spaltenmischung und Schlüsseladditions-Transformationen (10/12/14 Runden für 128/192/256-Bit-Schlüssel). Blockchiffre-Modi bestimmen, wie mehrere Blöcke verarbeitet werden: ECB (unsicher, offenbart Muster), CBC (verkettet Blöcke, erfordert IV), CTR (Zählermodus, parallelisierbar) und GCM (Galois/Counter Mode, bietet sowohl Verschlüsselung als auch Authentifizierung). Die Web Crypto API unterstützt AES-GCM, AES-CBC, AES-CTR und AES-KW. AES-256-GCM ist der Standard für TLS 1.3, Dateiverschlüsselung und Festplattenverschlüsselung (BitLocker, FileVault).
Beispiel
```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
{ name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
{ name: 'AES-GCM', iv },
key,
new TextEncoder().encode('secret message')
);
```