AES
AES (Advanced Encryption Standard)
Un algorithme de chiffrement symétrique qui protège les données en utilisant la même clé secrète pour le chiffrement et le déchiffrement, et constitue le standard de chiffrement le plus utilisé au monde.
Détail technique
AES est un chiffrement par blocs opérant sur des blocs de 128 bits avec des tailles de clé de 128, 192 ou 256 bits. Il utilise un réseau de substitution-permutation avec 10/12/14 tours (selon la taille de clé). Chaque tour applique SubBytes (substitution S-box), ShiftRows (permutation), MixColumns (multiplication en corps fini) et AddRoundKey (XOR avec la clé de tour). AES-GCM (Galois/Counter Mode) fournit à la fois chiffrement et authentification (AEAD) et est le mode le plus utilisé dans TLS 1.3, le chiffrement de disque et le protocole WiFi WPA3. L'accélération matérielle (AES-NI) est disponible sur les processeurs modernes Intel, AMD et ARM.
Exemple
```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')
);
```