RU EN ES 中文

AES: ¿un cifrado sin secretos?

El AES es abierto y, tras veinte años, sigue sin romperse. ¿Por qué entonces Rusia, China y otras potencias construyen sus propios cifrados en vez de adoptarlo?

Si el AES es tan abierto, ¿por qué no lo usan todos?

La especificación completa del AES está publicada y al alcance de cualquiera: está escrita en un estándar abierto, integrada en cada navegador y teléfono, y explicada en los libros de texto. Llevan más de veinte años intentando romperlo en público — sin éxito. Parecería el estándar común ideal para todos. Pero no: Rusia adoptó su propio cifrado — el Kuznyechik, China el SM4, y otros países también tienen sus estándares.

Si el algoritmo es abierto y en veinte años nadie le ha encontrado una sola grieta práctica, ¿qué empuja a estados enteros a pasar años construyendo su propio cifrado en vez de usar el que ya existe? ¿Será que la "transparencia" del AES no es tan completa?

Idea clave: Matemáticamente el AES es realmente abierto — y esa es su fuerza. Pero la confianza de un estado en un cifrado va más allá de la matemática. La pregunta no es tanto "¿hay un secreto en el algoritmo?" como "¿quién escribió el estándar y quién lo controla?". Ahí pasa justamente la línea que da origen a los cifrados nacionales.

Cómo se construye el AES

Primero veamos por qué a la matemática del AES casi no hay nada que reprocharle — y luego volvamos a por qué eso no convence a todos. El AES es una red de sustitución-permutación (red SP): en lugar de dividir el bloque por la mitad como una red de Feistel, mantiene el bloque en una matriz de bytes y transforma la matriz entera en cada ronda con cuatro capas de operaciones. Por eso cada operación debe ser reversible.

1

El bloque es una matriz

El bloque de datos se coloca en las celdas de una matriz cuadrada. En el AES real es una matriz 4×4 de 16 bytes (128 bits); en el juego de Ludus Lab es una matriz 2×2 de cuatro nibbles (16 bits). Todos los pasos posteriores operan sobre las filas y columnas de esta matriz.

2

SubBytes — la sustitución de la S-box

Cada byte se reemplaza por otro según una tabla fija — la S-box. Esto es la "confusión": la única operación no lineal del AES. Sin ella, todo el cifrado se reduciría a un sistema de ecuaciones lineales y podría resolverse directamente.

3

ShiftRows y MixColumns — la mezcla

Las filas de la matriz se desplazan cíclicamente y las columnas se mezclan entre sí. Esto es la "difusión": en un par de rondas, un bit de entrada cambiado se reparte por todo el bloque. Ambas operaciones son lineales y reversibles.

4

AddRoundKey — la suma de la clave

El estado se suma con XOR a la clave de esta ronda. Las claves de ronda se derivan de antemano de la clave compartida mediante un procedimiento aparte — el calendario de claves. Este es justamente el paso que no se puede deshacer sin conocer la clave.

5

Repetición de rondas y descifrado

Las capas se repiten muchas veces: 10, 12 o 14 rondas según la longitud de la clave. La última ronda no tiene MixColumns — no añadiría nada a la robustez. Para descifrar, Bob ejecuta las operaciones inversas en orden inverso — pero solo si conoce la clave.

Una ronda de AES
SubBytes
Sustitución de la S-box (confusión)
→
ShiftRows
Desplazar las filas
→
MixColumns
Mezclar las columnas (difusión)
→
AddRoundKey
Sumar la clave de ronda

Cada paso es reversible — pero juntos entrelazan el bloque con la clave de tal modo que no se puede ejecutar hacia atrás sin la clave.

Por qué no se puede ejecutar hacia atrás: No se puede deshacer la suma de la clave sin conocerla. Y la S-box no lineal más una decena de rondas hacen que cualquier intento de "desenredar" el cifrado sin la clave choque contra un sistema de ecuaciones monstruosamente complejo. La confusión oculta la relación entre la clave y el texto cifrado; la difusión reparte cada bit por todo el bloque — y repetir ambas capas no deja ningún atajo salvo probar todas las claves.

Los propios conceptos de confusión y difusión los introdujo Claude Shannon ya en 1949: propuso construir un cifrado robusto a partir de sustituciones y permutaciones simples repetidas muchas veces. Con esta receta se construyó a principios de los años 70 una versión temprana del cifrado Lucifer de IBM; el Lucifer posterior se convirtió en una red de Feistel y dio lugar al DES, mientras que el AES volvió a la idea original.

Abierto — ¿pero de quién?

El AES se eligió con una apertura sin precedentes: entre 1997 y 2000, el instituto de estándares de EE. UU. (NIST) organizó un concurso internacional — 15 cifrados de todo el mundo y tres años de análisis público, en el que cualquiera podía buscar debilidades. Ganó Rijndael, de los belgas Joan Daemen y Vincent Rijmen, y en 2001 se convirtió en el estándar. Es un proceso honesto y una fortaleza real del AES. Y aun así, la apertura del algoritmo no es lo mismo que confiar en quien lo eligió y en quien tiene el estándar en sus manos.

La desconfianza tiene raíces históricas. En su día la NSA alteró en secreto las S-boxes del cifrado DES — después se supo que era para defenderlo de un ataque, pero veinte años de secretismo sembraron sospechas. Y en 2013 salió a la luz el caso Dual_EC_DRBG — un generador de números aleatorios estándar del NIST en el que, al parecer, la NSA había introducido una puerta trasera. En el propio AES no se ha encontrado nada parecido — es más, su S-box se construye con una regla algebraica abierta, no con números "mágicos". Pero para un estado, "probablemente limpio" no es base suficiente para confiarle sus secretos a un cifrado.

De ahí la soberanía criptográfica: cifrado propio, regulador propio, auditorías por expertos propios e independencia de un estándar ajeno. Esto no significa necesariamente que el AES tenga una puerta trasera — significa que la seguridad nacional no se construye sobre la confianza en una agencia extranjera.

AES (EE. UU., NIST)

El estándar mundial de facto del internet civil: cifra casi todo el tráfico web, el Wi-Fi y los discos. El regulador es el NIST estadounidense.

Abierto, pero bajo control ajeno

Kuznyechik (Rusia)

El estándar ruso GOST R 34.12-2015 — también una red SP, como el AES: bloque de 128 bits, clave de 256 bits, 9 rondas y una suma final de la clave. El regulador es el FSB (TC 26).

Cifrado propio, regulador propio

SM4 (China)

El cifrado nacional de China (estándar GB/T 32907): bloque y clave de 128 bits, 32 rondas. Es obligatorio en muchos usos dentro del país, como el Wi-Fi chino (WAPI).

La soberanía criptográfica de China

Y eso no es todo: casi cada gran potencia tiene su propio cifrado de bloque, y lo que comparten es el propio esquema de red SP, sobre el que se construye la mayoría de los algoritmos modernos:

AES-128 AES-192 AES-256 KUZNYECHIK (GOST) SM4 Serpent Twofish Camellia
¿Y en Rusia? Rusia tiene dos cifrados modernos. «Kuznyechik» es una red SP, pariente directo del AES. En cambio «Magma» (el antiguo GOST 28147-89) está construido de otra forma — es una red de Feistel. Ambos están fijados por normas GOST vigentes; sus modos de operación se definen en el GOST R 34.13-2015.

Construye el AES con tus propias manos

La demostración interactiva de Ludus Lab ejecuta las mismas operaciones que el AES real, pero sobre un bloque diminuto de 16 bits (una matriz 2×2, 2 rondas) — para que cada paso se vea por completo. Podrás:

La lección principal del juego: En el AES cada paso es reversible, y mezclar las columnas es incluso lineal — y aun así, sin la clave, el cifrado sigue siendo un muro ciego. Su robustez se ensambla a partir de la apertura, la repetición, una única S-box no lineal y la clave. Entiéndelo con 16 bits, y el principio del AES, el Kuznyechik y decenas de otros cifrados quedará claro.
Para los curiosos

El AES y el Kuznyechik, lado a lado

Ambos cifrados son redes de sustitución-permutación, pero con historias y parámetros distintos:

ParámetroAESKuznyechik (GOST R 34.12-2015)
País de origenBélgica / EE. UU. (estándar)Rusia
Año de adopción20012015
ArquitecturaRed SPRed SP
Tamaño del bloque128 bits128 bits
Longitud de la clave128 / 192 / 256 bits256 bits
Número de rondas10 / 12 / 149 + suma final de la clave
Cómo se eligióConcurso internacional abiertoDesarrollo bajo la égida del regulador
ReguladorNIST (EE. UU.)FSB de Rusia (TC 26)

Por qué el AES aún no se ha roto

Tras veinte años de análisis público, los mejores ataques contra el AES-128 (como el "biclique") reducen la búsqueda solo a unos 2126 en lugar de 2128 — apenas una ventaja. En la práctica significa que no hay atajo: solo queda probar todas las claves, y eso es imposible.

Ni siquiera un ordenador cuántico salva al atacante: el algoritmo de Grover solo "reduce a la mitad" la robustez, convirtiendo una clave de 256 bits en el equivalente a una de 128. Por eso el AES-256 se considera resistente incluso a la amenaza cuántica — y es el que se recomienda para la protección a largo plazo.

Dónde usas AES cada día

HTTPS e internet

El candado en la barra de direcciones suele ser AES-GCM: cifra casi todo el tráfico web en TLS

Wi-Fi y mensajería

WPA2/WPA3 protegen tu red con AES-CCM; el cifrado de las apps de mensajería populares también se basa en AES

Discos y teléfonos

BitLocker, FileVault y el cifrado del almacenamiento de los móviles usan AES; los procesadores lo aceleran con instrucciones AES-NI

Datos curiosos

  • El nombre "Rijndael" se forma con los apellidos de los autores — Rijmen y Daemen; se pronuncia aproximadamente como "réindal"
  • La última ronda del AES no tiene MixColumns: es lineal e independiente de la clave, así que podría simplemente quitarse del texto cifrado — ahí no añade robustez
  • La S-box es la única parte no lineal del AES, y sus valores no son "mágicos": se obtienen con una regla abierta (el inverso multiplicativo en el cuerpo GF(2⁸) más una transformación afín). Por eso es difícil dudar de la transparencia del propio AES.
  • Las constantes Rcon del calendario de claves son distintas en cada ronda — para que las rondas no sean idénticas y no abran la puerta a los "ataques de deslizamiento"
  • «Magma» (GOST) es una red de Feistel, mientras que «Kuznyechik» es una red SP; curiosamente, las claves de ronda del Kuznyechik se generan precisamente con una red de Feistel
Una conclusión inesperada: Ser abierto y no estar roto es una condición necesaria, pero no suficiente. Un estado que confía sus secretos a un cifrado no se apoyará en un estándar escrito y controlado por otra potencia. La confianza en criptografía no es solo matemática, sino también poder. Por eso aparecieron el Kuznyechik, el SM4 y otros: la verdadera pregunta no es "¿hay un secreto en el AES?", sino "¿en qué manos está la pluma que escribe el estándar?".

Ahora entiendes tanto cómo funciona el AES como por qué su apertura no lo convierte en el cifrado único para todos: donde acaba la matemática, empieza la cuestión de la confianza y el control

En la demostración recorrerás 16 bits desde el texto claro hasta el cifrado y de vuelta — y verás por qué este muro no se puede cruzar sin la clave