Advanced Encryption Standard · FIPS 197

AES /
Rijndael

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.

  1. 1Fundamentosclave, bloques, bytes
  2. 2Exploradorlas rondas en acción
  3. 3Laboratoriola matemática por dentro
  4. 4Uso seguromodos y errores comunes
aes-128 · en vivo AddRoundKey
Ronda 0 Se mezcla la clave inicial
Entrada
Cifrado
Clave de prueba FIPS-197: 2B7E…4F3C
128 bitstamaño de bloque, siempre
128 · 192 · 256bits de clave
10 · 12 · 14rondas según la clave
≈ 3,4 × 1038claves posibles en AES-128
01 Fundamentos

¿Qué es AES?

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.

Simétrico

Una misma clave

La misma clave secreta cifra y descifra. Toda la seguridad depende de mantener esa clave en secreto.

De bloque

16 bytes a la vez

AES procesa bloques de 128 bits organizados como una matriz de 4 × 4 bytes llamada State.

Iterativo

Rondas repetidas

Cuatro transformaciones simples se repiten 10, 12 o 14 veces. Cada vuelta mezcla más los datos con la clave.

Pruébalo

Una clave, dos personas

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.

AAliciacifra
Canal inseguro · internet, wifi, correo…
EEvaprueba otra clave
BBrunodescifra
Recuperado con la misma clave
Clave compartida AES-128 en modo CTR (lo verás en la sección 09) · nonce
02 Representación

Cómo AES ve tus datos

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.

1 Cada carácter se codifica en bytes (UTF-8)
Pasa el cursor sobre un byte para ver su valor.
datos relleno PKCS#7
2 Se ordenan por columnas en la matriz State
1 byte = 8 bitsSe escribe con 2 dígitos hexadecimales: 48 = 72 = 01001000 = «H».
Primero columnasLos bytes 0‑3 llenan la primera columna, 4‑7 la segunda, y así sucesivamente.
Relleno PKCS#7Si faltan n bytes para completar el bloque, se agregan n bytes con valor n. Así el receptor sabe cuánto quitar.
03 Variantes

Tres tamaños de clave

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.

Clave · palabras de 32 bits
Rondas
Subclaves11una por ronda + la inicial
Palabras expandidas444 × (rondas + 1)
Claves posibles3,4 × 10³⁸2¹²⁸
VarianteClaveBloqueRondas (Nr)Palabras de clave (Nk)Uso típico
AES-128128 bits128 bits104TLS, wifi WPA2/WPA3, discos
AES-192192 bits128 bits126Poco común en la práctica
AES-256256 bits128 bits148Información clasificada, margen extra
04 Estructura

El mapa completo

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.

Texto plano16 bytes
Inicio
Rondas 1 a 9se repite × 9
Ronda final (10)
MixColumns
Texto cifrado16 bytes
SubBytessustituye

Cada byte se cambia por otro usando una tabla fija (S‑Box). Es la única parte no lineal.

ShiftRowsdesplaza

Las filas rotan hacia la izquierda 0, 1, 2 y 3 posiciones.

MixColumnsmezcla

Cada columna se multiplica por una matriz fija en GF(2⁸). Un byte afecta a cuatro.

AddRoundKeycombina

XOR del estado con la subclave de la ronda. Aquí entra el secreto.

05 Explorador interactivo

AES ronda a ronda

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.

Vectores oficiales
Atajos: ← → Espacio

Entrada
Subclave
Salida
Inspector de byteHaz clic en cualquier byte de las matrices
Texto cifrado
06 Laboratorio

Las cuatro piezas, por dentro

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.

Fila = primer dígito hex · Columna = segundo dígito
07 Key Schedule

De una clave, muchas subclaves

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.

Constantes de ronda (Rcon)
Cada una es la anterior multiplicada por 02 en GF(2⁸): rompen la simetría entre rondas.
08 Difusión

El efecto avalancha

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.

Haz clic en cualquier bit para invertirlo · cada columna es un byte
Bits distintos entre los dos estados, ronda a ronda
De 128 bits posibles · la línea de 64 marca el 50 %, lo esperado para datos aleatorios
Ver como tabla
Bits distintos en el cifrado final —
Cifrado original
Cifrado modificado
bit distinto bit igual
Bytes que difieren tras cada ronda
09 Modos de operación

Más de 16 bytes

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.

Originalsin cifrar
ECB se ve la silueta
CBC parece ruido
CTR parece ruido

¿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.

ECBEvitar
P₁ P₂ AES(K) AES(K) C₁ C₂

Cada bloque se cifra de forma independiente. Simple, pero revela patrones y repeticiones.

CBCHeredado
P₁ P₂ IV AES(K) AES(K) C₁ C₂

Cada bloque se combina con el cifrado anterior. Necesita un IV impredecible y relleno; no autentica.

CTRBueno
nonce‖1 nonce‖2 AES(K) AES(K) P₁P₂ C₁ C₂

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.

GCMRecomendado
CTR · cifra GHASH · autentica Cifrado Etiqueta (tag) confidencialidad + integridad

CTR más una etiqueta de autenticación: detecta cualquier modificación. Es el estándar en TLS 1.3.

10 Seguridad práctica

AES no vive solo

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.

No uses AES «en crudo» para construir tus propios protocolos.

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.

¿Cuánto tardaría la fuerza bruta?

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.

Ver como tabla

Referencia histórica: en 1998 la máquina «Deep Crack» de la EFF rompió una clave DES de 56 bits en unas 56 horas.

Demo: el error de repetir el nonce

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.

Cifrado 1mensaje secreto
Cifrado 2otra imagen
Cifrado 1 ⊕ Cifrado 2se filtran ambas imágenes
Nonce / IV

Nunca repetir

En CTR y GCM, reutilizar un nonce con la misma clave filtra información y en GCM permite falsificar mensajes.

Integridad

Cifrar no es autenticar

Sin una etiqueta (GCM, Poly1305, HMAC), un atacante puede alterar el cifrado sin que nadie lo note.

Canales laterales

La implementación importa

El tiempo, la caché o el consumo eléctrico pueden filtrar la clave. Por eso los procesadores modernos incluyen instrucciones AES‑NI.

Criptoanálisis

El mejor ataque, sin impacto

El ataque biclique (2011) reduce AES‑128 de 2¹²⁸ a unas 2¹²⁶ operaciones: una mejora teórica, inalcanzable en la práctica.

Computación cuántica

Margen con AES‑256

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.

Contraseñas

Derivar, no copiar

Una contraseña tiene poca entropía. Una KDF lenta (Argon2id, scrypt, PBKDF2) con sal la convierte en una clave adecuada.

Sí

  • Bibliotecas probadas: WebCrypto, libsodium, OpenSSL, BoringSSL
  • Cifrado autenticado: AES‑GCM o ChaCha20‑Poly1305
  • Un nonce único por mensaje (96 bits en GCM)
  • Claves generadas con un generador aleatorio criptográfico

No

  • Modo ECB para cualquier dato real
  • Reutilizar un nonce o un IV predecible
  • Inventar tu propio modo o esquema
  • Usar la contraseña del usuario directamente como clave
11 Historia

De Rijndael a AES

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.

1977
DES se publica como estándarClave de 56 bits. Durante 20 años fue el cifrador de referencia.
1997
NIST convoca el concurso AESUna búsqueda pública de un nuevo cifrador de bloque de 128 bits.
1998
15 candidatos · DES caeComienza la evaluación internacional. Ese mismo año, Deep Crack rompe DES por fuerza bruta.
1999
5 finalistasMARS, RC6, Rijndael, Serpent y Twofish.
2000
Rijndael es seleccionadoLa propuesta de Joan Daemen y Vincent Rijmen gana la competencia.
2001
FIPS 197AES se publica formalmente como estándar federal estadounidense.
2003
Aprobado para información clasificadaLa NSA autoriza AES para proteger información de nivel SECRET y TOP SECRET.
2009
Evolsystem publica su implementaciónUna demostración técnica de AES / Rijndael, luego referenciada desde Wikipedia en español.
2010
AES en el hardwareLlegan procesadores con instrucciones AES‑NI: cifrado más rápido y resistente a ataques de tiempo.
2023
FIPS 197 actualizadoNIST publica una revisión editorial del estándar; el algoritmo no cambia.
2026
Evol Cryptography LabLa experiencia se reconstruye como laboratorio interactivo, conservando el origen técnico del proyecto.
12 AES ≠ Rijndael

Relacionados, no idénticos

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.

Tamaño de bloque (bits)
Tamaño de clave (bits)
AES (estandarizado) Solo Rijndael

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.

13 Autoevaluación

Pon a prueba lo aprendido

Ocho preguntas rápidas. Cada respuesta incluye una explicación y un enlace a la sección correspondiente.

14 Sobre este proyecto

Una página con historia

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.

Nota de archivo

2009 → 2026

Esta página mantiene continuidad con el proyecto técnico publicado originalmente por Evolsystem y citado históricamente desde Wikipedia en español.

Transparencia

Todo se calcula en tu navegador

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.