Introducción
El Estándar de Cifrado Avanzado (AES), introducido por el Instituto Nacional de Estándares y Tecnología (NIST) en 2001, es un algoritmo de cifrado robusto derivado de la familia de cifrados Rijndael. AES emplea el cifrado por bloques Rijndael para mejorar la seguridad con tres tamaños de clave distintos: 128, 192 y 256 bits. Funciona como un cifrado por bloques simétrico, empleando una única clave para los procesos de cifrado y descifrado. A diferencia del cifrado asimétrico, que utiliza dos claves, AES simplifica el proceso al basarse en una única clave secreta. Inicialmente exclusivo de Estados Unidos, AES ha ganado reconocimiento mundial, convirtiéndose en uno de los algoritmos de cifrado más adoptados y seguros, lo que simboliza su eficacia y adaptabilidad para proteger la información confidencial en todo el mundo.
¿Por qué se desarrolló AES?
DES fue establecido como el estándar de cifrado por el NIST a principios de la década de 1970 y fue ampliamente adoptado por el gobierno estadounidense y otras organizaciones. Sin embargo, con el paso del tiempo y el avance de la capacidad informática, el tamaño de clave de 64 bits de DES (56 bits utilizables) se convirtió en un problema de seguridad. El tamaño relativamente pequeño de la clave hacía a DES vulnerable a ataques de fuerza bruta, donde un atacante podía adivinar la clave mediante repetidos intentos.
En respuesta a las limitaciones de DES, el NIST inició un proceso para seleccionar un nuevo estándar de cifrado que ofreciera un mayor nivel de seguridad, además de ser eficiente y práctico para su adopción generalizada. En 1997, el NIST lanzó una convocatoria pública de algoritmos criptográficos, invitando a la comunidad criptográfica global a presentar propuestas.
La Oficina de Industria y Seguridad (BIS) cuenta con varios controles y regulaciones que dificultan la exportación de productos cifrados con AES. El algoritmo Rijndael, elegido como base para AES, proporcionó una base sólida para el cifrado. Operaba con bloques de datos de 128 bits, lo que garantizaba una alta seguridad. AES se ha convertido en un estándar de cifrado ampliamente aceptado, publicado por el NIST para diversos marcos y regulaciones.
Comprender las diferencias en el tamaño de las claves
El cifrado por bloques de AES cifra los datos fragmentando el texto plano en bloques de 128 bits. El cifrado implica operaciones bit a bit con claves de diferentes longitudes: 128, 192 o 256 bits. El tamaño de la clave influye directamente en la seguridad; las claves más grandes ofrecen mayor protección. Para una clave de 128 bits, el cifrado se realiza diez veces, doce veces para una de 192 bits y catorce veces para una de 256 bits. Si bien las claves de 256 bits ofrecen la máxima seguridad, las de 128 bits suelen ser suficientes en la mayoría de los casos. La elección del tamaño de la clave depende de los requisitos de seguridad de los datos; un mayor nivel de seguridad justifica claves de mayor tamaño. AES ofrece flexibilidad en la selección de claves para satisfacer diversas necesidades de cifrado.
| Especificaciones | AES-128 | AES-192 | AES-256 |
|---|---|---|---|
| Longitud de la clave (bits) | 128 bits de | 192 bits de | 256 bits de |
| Numero de rondas | 10 rondas | 12 rondas | 14 rondas |
| Tamaño del programa clave | Bytes 176 | Bytes 208 | Bytes 240 |
| La fuerza de la cifrada | Moderado | Más alto | Más fuerte |
¿Cómo funciona?
AES (Estándar de Cifrado Avanzado) es un algoritmo de cifrado simétrico que aplica transformaciones a datos de texto plano para generar texto cifrado. A continuación, se presenta una descripción general de su funcionamiento:
-
Expansión clave
AES opera con bloques de datos de tamaño fijo (128 bits en el caso de AES-128). La clave secreta, de 128, 192 o 256 bits, se somete a un proceso de expansión para generar un conjunto de claves de ronda. Cada clave de ronda se deriva de la clave original y se utiliza en las rondas de cifrado sucesivas.
-
Ronda inicial
-
AgregarClaveRonda
Cada byte de bloque se combina con el byte correspondiente de la clave redonda utilizando XOR bit a bit.
-
-
Rondas (9 u 11 rondas para AES-128 o AES-256, respectivamente)
-
subbytes
Paso de sustitución no lineal donde cada byte del bloque se reemplaza con un byte correspondiente del S-box.
-
ShiftFilas
Un paso de transposición donde la variación de los desplazamientos desplaza las filas del bloque.
-
Mezclar columnas
Una operación de mezcla que actúa sobre las columnas del bloque, proporcionando difusión.
-
AgregarClaveRonda
De manera similar a la ronda inicial, cada byte del bloque se combina con el byte correspondiente de la clave de ronda.
-
-
Ronda final (difiere para AES-128, AES-192 y AES-256)
En la ronda final, no se realizan mezclas de columnas para AES-128. El número de rondas y el tamaño de la clave determinan el número de rondas de transformación.
-
descifrado
El proceso de descifrado es esencialmente el inverso del cifrado. Implica una serie inversa de transformaciones utilizando un conjunto de claves circulares derivadas de la clave original.
Ejemplo
Consideremos un breve ejemplo de cifrado de un mensaje “CONFIDENCIAL” utilizando AES-256:
Generación de claves
Genere una clave segura de 256 bits para el cifrado AES-256.
Cifrado
Aplique el proceso de cifrado AES con 14 rondas (AES-256). Cada ronda implica sustitución, desplazamiento, mezcla y otros pasos de cifrado. Para simplificar, representemos el resultado del cifrado como "X1Y2Z3...".
Texto cifrado
El mensaje cifrado, o texto cifrado, ahora es “X1Y2Z3…” y aparece como datos aleatorios.
Ahora, imagine enviar este texto cifrado por internet. El destinatario, con la misma clave de 256 bits, puede usar el proceso inverso para descifrar el mensaje y revelar el contenido original "CONFIDENCIAL". La seguridad de AES-256 garantiza que, incluso con una potencia computacional considerable, intentar descifrar este mensaje sin la clave correcta sería prácticamente imposible en un plazo razonable.

¿Donde se puede implementar?
AES (Estándar de Cifrado Avanzado), desarrollado inicialmente por el NIST para uso gubernamental, se ha convertido en un pilar fundamental en aplicaciones públicas y privadas. Se aplica en diversos sectores, como redes privadas virtuales (VPN), gestores de contraseñas, aplicaciones móviles, redes inalámbricas, cifrado de archivos y videojuegos.
Por ejemplo, en VPN como PureVPN, AES protege el tráfico de internet, mientras que los administradores de contraseñas como Keeper usan AES para proteger las contraseñas almacenadas. Los desarrolladores de videojuegos utilizan AES para combatir la piratería cifrando los datos del juego.
AES también se emplea en áreas críticas, como el cifrado de datos en discos duros, la seguridad de las comunicaciones electrónicas en aplicaciones de mensajería y su integración en bibliotecas de programación como Java, Python y C++. Su función se extiende a programas de compresión de archivos y navegadores de internet.
Ventajas e inconvenientes
| La Ventaja | Desventaja |
|---|---|
| AES es un estándar de cifrado reconocido mundialmente y ampliamente adoptado. | AES-256, en particular, puede requerir un uso intensivo de recursos computacionales y mayor potencia de procesamiento. |
| AES proporciona seguridad avanzada contra diversos ataques criptográficos, garantizando la confidencialidad de los datos. | La gestión adecuada de claves es crucial para AES. La seguridad depende de la protección de las claves de cifrado. |
| ES se puede utilizar para diversas aplicaciones, desde proteger datos en discos duros hasta comunicaciones por Internet. | A medida que la computación cuántica evoluciona, puede amenazar a la AES, aunque esto es una preocupación para el futuro lejano. |
| Ofrece flexibilidad con tamaños de clave (128 bits, 192 bits y 256 bits) para satisfacer diferentes necesidades de seguridad. | Los ataques de canal lateral, en los que los atacantes explotan información filtrada durante el cifrado, podrían representar una amenaza. |
| Al ser un estándar aprobado por el NIST, AES se recomienda para uso gubernamental y del sector privado. | La configuración y distribución inicial de claves puede suponer un desafío logístico, especialmente en sistemas grandes. |
Comparación entre AES, Triple-DES, DES
| Característica | DES | Triple-DES | AES |
|---|---|---|---|
| Nombre completo | Estándar de cifrado de datos | Algoritmo de cifrado de datos triple | Advanced Encryption Standard |
| año introducido | 1976 | 1998 (como respuesta a las limitaciones del DES) | 1999 |
| Longitud clave | 56 bits (débil) | 112 o 168 bits (solo 112 bits son seguros) | 128, 192 o 256 bits |
| Tamaño de bloque | 64 bits de | 64 bits de | 128 bits de |
| Seguridad | Débil, vulnerable a ataques de fuerza bruta | Es más seguro que DES, pero aún se considera menos seguro que AES. | Fuerte, no se conocen ataques exitosos |
