Una misma clave
La misma clave secreta cifra y descifra. Toda la seguridad depende de mantener esa clave en secreto.
Aprende cómo funciona el cifrado que protege tus mensajes, tus pagos y tu wifi. Byte por byte, ronda por ronda, con datos reales que tú puedes cambiar.
2B7E…4F3C
AES es un cifrador de bloque simétrico estandarizado por NIST en 2001 a partir del algoritmo Rijndael, creado por los belgas Joan Daemen y Vincent Rijmen. Toma 16 bytes de datos y una clave secreta, y devuelve 16 bytes que parecen ruido… salvo para quien tenga la clave.
La misma clave secreta cifra y descifra. Toda la seguridad depende de mantener esa clave en secreto.
AES procesa bloques de 128 bits organizados como una matriz de 4 × 4 bytes llamada State.
Cuatro transformaciones simples se repiten 10, 12 o 14 veces. Cada vuelta mezcla más los datos con la clave.
Escribe un mensaje. Alicia lo cifra, viaja por un canal inseguro y Bruno lo descifra con la misma clave. Eva intercepta todo, pero no tiene la clave.
AES-128 en modo CTR (lo verás en la sección 09) · nonce
AES no entiende de letras: solo de bytes. Tu texto se convierte en números, se completa hasta múltiplos de 16 y se acomoda en la matriz State columna por columna.
48 = 72 = 01001000 = «H».El bloque siempre mide 128 bits. Lo que cambia entre AES-128, AES-192 y AES-256 es el largo de la clave y, con él, la cantidad de rondas. Elige una variante para compararlas.
| Variante | Clave | Bloque | Rondas (Nr) | Palabras de clave (Nk) | Uso típico |
|---|---|---|---|---|---|
| AES-128 | 128 bits | 128 bits | 10 | 4 | TLS, wifi WPA2/WPA3, discos |
| AES-192 | 192 bits | 128 bits | 12 | 6 | Poco común en la práctica |
| AES-256 | 256 bits | 128 bits | 14 | 8 | Información clasificada, margen extra |
Todo AES cabe en este diagrama: una suma de clave inicial, varias rondas idénticas y una ronda final sin MixColumns. Haz clic en cualquier transformación para verla en el explorador.
Cada byte se cambia por otro usando una tabla fija (S‑Box). Es la única parte no lineal.
Las filas rotan hacia la izquierda 0, 1, 2 y 3 posiciones.
Cada columna se multiplica por una matriz fija en GF(2⁸). Un byte afecta a cuatro.
XOR del estado con la subclave de la ronda. Aquí entra el secreto.
Este es AES real: cambia el texto o la clave y cada byte se recalcula. Avanza paso a paso, reproduce la animación y haz clic en un byte para ver exactamente cómo se obtuvo.
Juntas producen confusión (la relación entre clave y cifrado es compleja) y difusión (cada bit de entrada influye en muchos bits de salida). Experimenta con cada una por separado.
Edita cualquier byte de la columna de entrada. Observa que los cuatro bytes de salida cambian.
Haz clic en los bits del estado o de la clave para cambiarlos.
Cada ronda necesita su propia subclave de 16 bytes. AES las deriva de la clave original en palabras de 4 bytes: cada palabra nueva combina la anterior con la de Nk posiciones atrás. Usa la misma clave que el explorador; haz clic en una palabra para ver su receta.
Un buen cifrador convierte un cambio mínimo en un resultado irreconocible. Invierte un solo bit del texto o de la clave y mira cómo el cambio se propaga: en dos rondas alcanza los 16 bytes, y al final cambia cerca de la mitad de los bits.
AES solo cifra un bloque. Para un archivo, una imagen o un mensaje largo se necesita un modo de operación que encadene los bloques. Elegir mal el modo puede filtrar información aunque AES sea perfecto.
¿Qué pasó con ECB? Cifra cada bloque por separado: bloques iguales (zonas del mismo color) producen cifrados iguales. Presiona Cifrar otra vez: ECB da exactamente el mismo resultado; CBC y CTR cambian por completo porque usan un IV o nonce nuevo.
Cada bloque se cifra de forma independiente. Simple, pero revela patrones y repeticiones.
Cada bloque se combina con el cifrado anterior. Necesita un IV impredecible y relleno; no autentica.
AES cifra un contador y el resultado se combina con XOR. Paralelizable y sin relleno. El nonce jamás se repite con la misma clave.
CTR más una etiqueta de autenticación: detecta cualquier modificación. Es el estándar en TLS 1.3.
Después de más de 25 años de análisis público no existe un ataque práctico contra AES bien usado. Los problemas reales vienen de cómo se usa: claves, nonces, autenticación e implementación.
Usa una biblioteca probada con cifrado autenticado (por ejemplo AES‑GCM mediante WebCrypto, libsodium u OpenSSL). Y nunca uses una contraseña directamente como clave: derívala con Argon2id, scrypt o PBKDF2.
Tiempo promedio para encontrar la clave probando combinaciones (la mitad del espacio de claves). Eje horizontal en años y en escala logarítmica: cada marca multiplica por 10¹⁰ la anterior.
Referencia histórica: en 1998 la máquina «Deep Crack» de la EFF rompió una clave DES de 56 bits en unas 56 horas.
Dos imágenes distintas cifradas con AES‑CTR y la misma clave. Si el nonce se repite, ambas usan el mismo flujo de clave y al combinar los cifrados con XOR, la clave desaparece.
En CTR y GCM, reutilizar un nonce con la misma clave filtra información y en GCM permite falsificar mensajes.
Sin una etiqueta (GCM, Poly1305, HMAC), un atacante puede alterar el cifrado sin que nadie lo note.
El tiempo, la caché o el consumo eléctrico pueden filtrar la clave. Por eso los procesadores modernos incluyen instrucciones AES‑NI.
El ataque biclique (2011) reduce AES‑128 de 2¹²⁸ a unas 2¹²⁶ operaciones: una mejora teórica, inalcanzable en la práctica.
El algoritmo de Grover, en teoría, reduciría la búsqueda a unas 2n/2 operaciones. AES‑256 se considera la opción conservadora.
Una contraseña tiene poca entropía. Una KDF lenta (Argon2id, scrypt, PBKDF2) con sal la convierte en una clave adecuada.
AES nació de un concurso abierto e internacional convocado por NIST para reemplazar a DES, cuya clave de 56 bits ya era demasiado corta. Rijndael ganó por su seguridad, eficiencia y flexibilidad.
Rijndael es una familia más amplia: admite bloques y claves de 128 a 256 bits en pasos de 32. AES adoptó solo tres de esas 25 combinaciones. Pasa el cursor sobre la tabla.
El número de cada celda es la cantidad de rondas: Nr = máx(Nb, Nk) + 6, donde Nb y Nk son el bloque y la clave en palabras de 32 bits.
Ocho preguntas rápidas. Cada respuesta incluye una explicación y un enlace a la sección correspondiente.
La implementación original de Evolsystem se publicó en 2009 como una demostración técnica de AES / Rijndael. Con el tiempo cambiaron el dominio y la ubicación, pero la referencia histórica permaneció. Esta edición recupera ese trabajo y lo presenta como un laboratorio moderno e interactivo.
Esta página mantiene continuidad con el proyecto técnico publicado originalmente por Evolsystem y citado históricamente desde Wikipedia en español.
El AES de esta página está escrito en JavaScript con fines educativos y se verifica contra los vectores oficiales de FIPS‑197 al cargar. Nada de lo que escribes sale de tu equipo.