¿Cómo funciona el algoritmo de cifrado Rijndael?

También conocido por la abreviatura AES

Transmitir de forma segura información altamente confidencial sin que personas no autorizadas obtengan acceso ha sido siempre un desafío. Los primeros «lenguajes secretos», como por ejemplo simples desplazamientos de letras, se pueden romper de forma trivial con la capacidad de cálculo actual. Hoy protegemos los datos mediante métodos criptográficos, definidos con precisión matemática y cuya seguridad se ha sometido a revisión pública.

Estos métodos utilizan una clave que solo conocen el emisor y el receptor. El cifrado y descifrado se realizan mediante un algoritmo de cifrado, es decir, un procedimiento matemático claramente definido.

Password Depot cifra sus datos confidenciales con el algoritmo Rijndael, que está estandarizado como AES (Advanced Encryption Standard).

A continuación explicamos el algoritmo y lo situamos en su contexto técnico.

Advanced Encryption Standard (AES): la variante estandarizada de Rijndael

El U.S. National Bureau of Standards (hoy NIST) estandarizó en 1977 el algoritmo DES; este estándar fue retirado en 2005 porque dejó de considerarse suficientemente seguro (comunicado del NIST). Como sucesor, el NIST seleccionó en 2001 Rijndael y, sobre esta base, estandarizó el Advanced Encryption Standard (AES) (FIPS 197).

Importante: AES es un subconjunto de la familia Rijndael. AES fija el tamaño de bloque en 128 bits y permite claves de 128, 192 o 256 bits (nota del NIST, FIPS 197 (PDF)).

AES está aprobado para la protección de información de organismos gubernamentales de EE. UU. hasta el nivel TOP SECRET (véase la ficha informativa CNSSP-15 y el documento actual CNSA 2.0 FAQ de la NSA).

Así funciona Rijndael/AES (visión general breve)

Rijndael es un cifrado de tipo substitution–permutation network. Sus ideas centrales son las sustituciones a nivel de byte, las transformaciones lineales y las operaciones XOR.

Procesamiento a nivel de bloque (estado de 128 bits)

  • Expansión de clave (Key Schedule): A partir de la clave inicial se derivan Nr + 1 claves de ronda (por ejemplo, 11 en AES-128, 13 en AES-192 y 15 en AES-256). Fuente: FIPS 197.
  • Ronda inicial: AddRoundKey: el bloque de texto en claro (representado como una matriz de 4×4 bytes) se combina mediante XOR con la primera clave de ronda.
  • Rondas 1 … Nr:
    • SubBytes: Cada byte se sustituye mediante una S-box (inverso multiplicativo en GF(28) seguido de una transformación afín con la constante 0x63). Fuente: FIPS 197.
    • ShiftRows: Las filas de la matriz de estado se desplazan de forma cíclica.
    • MixColumns: Las columnas se mezclan mediante multiplicación de matrices sobre GF(28).
    • AddRoundKey: Operación XOR con la clave de ronda correspondiente.
    Nota: En la última ronda se omite el paso MixColumns. El número de rondas es 10/12/14 para claves de 128/192/256 bits (FIPS 197).

AES puede implementarse en software, firmware o hardware (FIPS 197). Para el uso práctico se emplean distintos modos de operación, por ejemplo CBC, CTR o GCM (cifrado autenticado). Las recomendaciones se describen en NIST SP 800-38A y NIST SP 800-38D (GCM/GMAC).

Importante para la clasificación: AES es un cifrado simétrico para la protección de datos. El intercambio de claves suele realizarse mediante métodos asimétricos ((EC)DH/RSA). No obstante, AES también puede utilizarse para envolver claves de forma segura (“Key Wrap”); véase NIST SP 800-38F.

Especificación oficial

Puede encontrar la especificación de referencia aquí: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Ataques de fuerza bruta

Brute force significa que un atacante prueba todas las claves posibles. Esquemas clásicos como DES con claves de solo 56 bits pueden romperse hoy en la práctica mediante este enfoque; por ello, el NIST retiró oficialmente DES en 2005 (NIST).

Los esquemas modernos como AES con claves de 128/192/256 bits ofrecen, por el contrario, un espacio de claves astronómicamente grande. En la práctica, el factor decisivo no es tanto el algoritmo como tal, sino la derivación de la clave a partir de contraseñas y la calidad de la contraseña maestra que se utilice.

Password Depot dificulta aún más los ataques de fuerza bruta mediante una función de retardo: tras una entrada incorrecta de la contraseña maestra, la aplicación permanece bloqueada durante algunos segundos.

Conclusión: Con una implementación correcta, modos de operación adecuados (por ejemplo, GCM) y una longitud de clave suficiente, AES se considera actualmente muy seguro a largo plazo.

Más información sobre los ataques de fuerza bruta.

Fuentes adicionales