Ir al contenido

Webinar: Regístrese para nuestro próximo seminario web

Regístrate Ahora

¿Qué es AES? ¿Cómo funciona?

¿Qué es AES? ¿Cómo funciona?

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.

EspecificacionesAES-128AES-192AES-256
Longitud de la clave (bits)128 bits de192 bits de256 bits de
Numero de rondas10 rondas12 rondas14 rondas
Tamaño del programa claveBytes 176Bytes 208Bytes 240
La fuerza de la cifradaModeradoMás altoMás fuerte

Servicios de cifrado personalizados

Evaluamos, elaboramos estrategias e implementamos soluciones y estrategias de cifrado.

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

Funcionamiento del algoritmo AES

¿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 VentajaDesventaja
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ísticaDESTriple-DESAES
Nombre completoEstándar de cifrado de datosAlgoritmo de cifrado de datos tripleAdvanced Encryption Standard
año introducido19761998 (como respuesta a las limitaciones del DES)1999
Longitud clave56 bits (débil)112 o 168 bits (solo 112 bits son seguros)128, 192 o 256 bits
Tamaño de bloque64 bits de64 bits de128 bits de
SeguridadDé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