AES
AES (Advanced Encryption Standard)
El algoritmo de cifrado simétrico más utilizado, adoptado como estándar por el gobierno de EE. UU. (NIST) en 2001. AES cifra datos en bloques fijos de 128 bits usando claves de 128, 192 o 256 bits.
Detalle técnico
AES opera a través de múltiples rondas de sustitución (S-box), desplazamiento de filas, mezcla de columnas y transformaciones de adición de clave (10/12/14 rondas para claves de 128/192/256 bits). Los modos de cifrado por bloques determinan cómo se procesan múltiples bloques: ECB (inseguro, revela patrones), CBC (encadena bloques, requiere IV), CTR (modo contador, paralelizable) y GCM (modo Galois/Counter, proporciona cifrado y autenticación). La Web Crypto API soporta AES-GCM, AES-CBC, AES-CTR y AES-KW. AES-256-GCM es el estándar para TLS 1.3, cifrado de archivos y cifrado de disco (BitLocker, FileVault).
Ejemplo
```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')
);
```