Cifra y descifra con AES-GCM y AES-CBC (128/192/256) usando Web Crypto
AES-GCM es más seguro (cifrado autenticado). AES-CBC no verifica integridad y requiere manejo cuidadoso del IV. Todo el procesamiento ocurre en tu navegador — ninguna clave ni texto sale de tu dispositivo.
También podrías necesitar
AES (Advanced Encryption Standard) es el algoritmo de cifrado simétrico más usado del mundo — el estándar del NIST desde 2001, y la base de HTTPS, WPA2, VPNs corporativas, cifrado de discos (FileVault, BitLocker), aplicaciones de mensajería y prácticamente cualquier sistema que necesite proteger datos en reposo o en tránsito. Esta herramienta implementa AES usando la Web Crypto API nativa del navegador (crypto.subtle), la misma implementación que usan los navegadores para HTTPS y firma de código. Soporta dos modos: AES-GCM (recomendado para todo uso nuevo) que además de cifrar también autentica el mensaje — detectando cualquier modificación con un tag de autenticación de 128 bits; y AES-CBC (mantenido por compatibilidad con sistemas legacy) que solo cifra, sin verificación de integridad. Los tres tamaños de clave del estándar están disponibles: 128, 192 y 256 bits. Cada operación de cifrado genera un IV (initialization vector) aleatorio único — nunca reutilizar un IV con la misma clave es crítico para la seguridad de AES-GCM. Todas las operaciones ocurren en tu navegador; ninguna clave, IV, plaintext o ciphertext sale de tu dispositivo — esto es verificable desconectando internet antes de usar la herramienta.
¿Cuál es la diferencia entre AES-GCM y AES-CBC?
AES-GCM (Galois/Counter Mode) es cifrado autenticado (AEAD): además de cifrar, genera un tag de autenticación que permite verificar que el ciphertext no fue modificado. Si un atacante cambia un solo bit del ciphertext, la operación de descifrado falla explícitamente. AES-CBC (Cipher Block Chaining) solo cifra: el descifrado siempre produce algún output aunque el ciphertext haya sido manipulado, y verificar integridad requiere un HMAC separado. Para sistemas nuevos, AES-GCM es la recomendación universal (NIST, IETF, OWASP).
¿Por qué el IV es diferente en cada operación?
El IV (Initialization Vector) debe ser único para cada operación de cifrado con la misma clave, y aleatorio. En AES-GCM, reutilizar un IV con la misma clave es catastrófico: rompe completamente la confidencialidad y la autenticación. En AES-CBC, reutilizar un IV filtra información sobre patrones en el plaintext. Esta herramienta genera un IV aleatorio de 12 bytes (para GCM) o 16 bytes (para CBC) en cada operación de cifrado — el IV es público y debe transmitirse junto con el ciphertext.
¿Cuál elegir: AES-128, AES-192 o AES-256?
AES-128 es criptográficamente seguro para todo uso práctico — no hay ataques conocidos que rompan AES-128 en tiempo razonable con hardware actual, incluyendo computadoras cuánticas hipotéticas (que solo reducirían la seguridad efectiva de 128 a 64 bits, aún fuerte). AES-256 se prefiere por razones de compliance (NIST recomienda 256 para datos clasificados TOP SECRET) y por margen ante ataques futuros. AES-192 casi no se usa en la práctica — es un compromiso raro. Recomendación: AES-256 por defecto salvo restricciones de rendimiento.
¿La clave se puede reutilizar entre sesiones?
Sí. La clave AES es un simple bloque de bytes (16/24/32 bytes según el tamaño). Puedes exportarla como Base64 con el botón Copiar y almacenarla de forma segura (variable de entorno, gestor de contraseñas, KMS) para usar en el futuro. Lo que NUNCA debe reutilizarse es el par (clave, IV): puedes reusar la misma clave con IVs distintos, pero no la misma clave con el mismo IV — esa combinación es única por operación.
¿Cómo intercambio la clave con quien va a descifrar?
Ese es el 'problema del intercambio de claves' — el desafío central de la criptografía simétrica. AES no lo resuelve; necesitas un canal seguro para transmitir la clave. Opciones: 1) Preacordar la clave por un canal seguro (reunión presencial, llamada telefónica). 2) Usar criptografía asimétrica (RSA, ECDH) para intercambiar la clave AES — es lo que hace TLS/HTTPS. 3) Usar un KMS o vault compartido (AWS KMS, HashiCorp Vault). Nunca envíes la clave por email o mensajería sin cifrar.