Seguridad informáticaTutoriales

AES-256 ¿Qué es? ¿Cómo funciona? (Mejor explicación)

El cifrado AES-256 (Advanced Encryption Standard) o Rijndael es uno de los más conocidos y usados en criptología. Vivimos en un mundo que depende en gran medida de la encriptación, pues nuestra forma de vida altamente digital no es nada sin el cifrado de datos. Sin la posibilidad de enviar datos protegidos, el Internet tal y como lo conocemos quizás no existiría, y seguramente tampoco tendríamos el grado de digitalización actual.

Entonces, conocer uno de los sistemas de cifrado fundamentales es algo realmente interesante. En este artículo daremos un repaso a sus características, métodos de funcionamiento, seguridad y usos.

Qué es AES-256

El origen de Rijndael

Al estándar Advanced Encryption Standard también se le llama Rijndael, en honor a los dos criptógrafos belgas que lo desarrollaron: Vicent Rijmen y Joan Daemen. Este nació en 1997, cuando el Instituto Nacional de Normas y Tecnología estadounidense (NIST) decidió empezar a desarrollar este nuevo estándar, después de que el Data Encryption Standard (DES) existente en aquel momento empezase a ser susceptible a ataques de fueza bruta.

Creadores RijndaelPara este desarrollo, el NIST optó por un concurso en el que pudiese participar toda la comunidad criptográfica, con la condición de que el nuevo algoritmo debería ser desclasificado, de forma que todo el mundo pudiese usarlo, además de usar claves de cifrado de más de 128 bits y con un sistema de cifrado simétrico. Esto último implica que, en vez de contar con una clave pública (que el receptor puede publicar a los demás para que le envíen mensajes) y privada (que solo puede descifrar el receptor), solo hay una única clave para encriptar/desencriptar totalmente secreta.

Dentro de este contexto, tuvieron lugar dos concursos, y en el segundo de ellos el gran ganador fue precisamente Rijndael, dando lugar al AES conocido actualmente, que en función del número de bits de la clave puede ser AES-128, AES-192 o AES-256. Realmente, Rijndael permite un rango más amplio de claves, pero se le denomina así a AES de todas formas.

Cómo se calcula la encriptación con AES-256 o Rijndael

AES-256 pasa por 14 rondas de encriptación, consistente en una serie de procesos que incluyen la sustitución, trasposición y mezcla del texto plano de entrada para obtener así el texto encriptado de salida.

Dentro de cada una de estas rondas, se pasan por distintos procesos matemáticos, donde uno de ellos depende de la clave secreta usada, cuyo tremendo tamaño convierte al algoritmo en indescifrable.

Otra cuestión relevante del cálculo es de qué manera se estructura la información, pues no se hace de manera secuencial como cabría imaginarse, sino que se organiza en bloques de matrices de 128 bits con 4 filas y 4 columnas. Entonces, ya podemos pasar a realizar las operaciones correspondientes con esos bloques:

AES-256

  1. Expansión de claves y AddRoundKey. Esta es la ronda que tiene que ver con las claves, y en cada caso ejecuta una operación lógica XOR con un subconjunto de la clave.
  2. SubBytes. Substituye los bytes de todo el bloque para producir un valor alternativo, de una manera realmente imposible de descifrar mediante computación convencional.
  3. ShiftRows. Mueve los datos de la matriz.
  4. MixColumns. Aplica un XOR bit a bit y una multiplicación de matrices que lleva a un resultado final de 4 filas y 1 columna, por lo que volvemos a datos secuenciales y dejamos de tener la matriz.

Estas operaciones se realizan varias veces en distintos órdenes para dar el resultado final.

La criptografía siempre se basa en el hecho de efectuar operaciones matemáticas que sean relativamente sencillas de realizar del lado de la encriptación, pero que a la hora de desencriptar sean lo más próximas a lo imposible si no se conoce de antemano la clave secreta o privada (según corresponda) necesaria para la encriptación.

Seguridad: ¿es AES-256 un método seguro?

Con las explicaciones de las particularidades de la criptografía, es razonable plantearse hasta qué punto el cifrado AES-256 puede llegar a ser seguro, de cara a la posibilidad de recibir un ataque de fuerza bruta. Primero de todo, debéis tener en cuenta que con una clave de 256 bits hay 1.1 x 1077 combinaciones posibles, por lo que la facilidad para adivinarla es prácticamente nula.

Cifrado AES 256 Top secretActualmente, no hay manera de romper el cifrado mediante un ataque de fuerza bruta. Un mal algoritmo de encriptación de podría comprometer a base de hacer prueba y error millones de veces. En cambio, sin el conocimiento de la clave todavía no se ha conseguido romper el AES-256. Simplemente las combinaciones posibles exceden la capacidad de cómputo de cualquier ordenador del mundo.

Está claro que los ataques de seguridad siguen existiendo, no han desaparecido mágicamente con la llegada de AES, pero absolutamente todos se basan en descubrir la clave antes que romper el algoritmo, pues esto último no se ha podido conseguir. Debéis tener en cuenta que este algoritmo cuenta con todo el beneplácito de los EEUU, hasta el punto de que la NSA aprueba su uso para información clasificada. En aquellos datos de nivel «TOP SECRET» se puede utilizar AES-192 o AES-256, lo cual no es cosa menor pues estamos hablando de los secretos más profundos de los Estados Unidos.

¿Puede el apoyo de EEUU ser una trampa?

Hay quien argumenta, de manera ciertamente ‘conspiranoica’, que el hecho de que el gobierno de Estados Unidos apruebe el cifrado AES es una muestra de que en realidad es vulnerable, y que realmente el gobierno es capaz de vulnerarlo. Sin embargo, este argumento no se sostiene. Realmente, que el cifrado se pueda romper va contra sus intereses.

Está claro que la NSA y los EEUU están interesados en poder desencriptar datos sensibles de terceros, y evidentemente aprovechan todo tipo de vulnerabilidades en los sistemas para ello. Pero estas no son un problema del propio AES-256 sino de lo que se les escape a los desarrolladores en su manejo.

Si ellos mismos utilizan AES internamente, además de presentarlo como una opción viable y segura, una ruptura del algoritmo sería económicamente desastrosa, pues podría acabar con la seguridad bancaria de todo el país. ¿Os lo imagináis? Entonces, la idea de un servicio de inteligencia estará más bien en conseguir robar las claves en vez de romper el propio algoritmo.

Usos reales de AES-256 en la actualidad

¿Hasta qué punto se utiliza AES para encriptar la información? Es algo que no se puede conocer con exactitud con todo el flujo de datos constante que hay en el mundo, pero podemos recurrir a algunos ejemplos reales, por ejemplo aplicaciones y sistemas ampliamente usados en los que se vea cómo confían en AES.

Partamos de los diversos sistemas de encriptación de ficheros que se usan en la actualidad. Podríamos hablar de BitLocker de Windows, que emplea AES para el cifrado seguro de datos en un disco, o la alternativa de código abierto VeraCrypt. También lo encontramos en el cifrado de ficheros comprimidos con WinRAR o 7Zip, o en documentos de las últimas versiones de Microsoft Word.

Señal encriptada con AES-256En software que usamos en el día a día, es uno de los tipos de clave del cifrado de extremo a extremo en WhatsApp, o los chats secretos de Telegram. El protocolo de Signal, el sistema de comunicación segura por excelencia, también tiene como una de sus primitivas al AES-256. Gestores de contraseñas como el freemium LastPass o el de código abierto KeePass también lo emplean.

Otro ejemplo muy importante es la encriptación completa de los dispositivos Android e iOS, que es obligatoria y absolutamente fundamental para mantener la seguridad de nuestros datos en caso de robo o pérdida del dispositivo. En cambios casos el método principal es el cifrado AES. Toda esta encriptación está, de hecho, apoyada por el propio conjunto de instrucciones de las CPU Arm usadas en los móviles, optimizadas para cifrar con AES a la máxima velocidad posible.

En muchos de estos casos, la encriptación se basa en combinar AES-128 o AES-256 con otros algoritmos distintos.

Y todavía podríamos seguir, hablando de todo tipo de programas, sistemas de seguridad, de identidad electrónica, pagos y banca…

Realmente, podemos esperarnos que se emplee este estándar de encriptación en prácticamente todos los sistemas de alta seguridad del mundo, como pueden ser las comunicaciones bancarias que realizamos día a día. Está recomendado su uso para aplicar dos de las normativas de seguridad y protección de datos más importantes en la Unión Europea, como son la GDPR para privacidad y la PSD2 para bancos. En resumen, AES-256 es todo un estándar en la industria del software cuando se trata de proveer una encriptación fiable y lo más inquebrantable posible.

Conclusiones: AES-256 está en todos lados

El mundo en el que vivimos depende totalmente de la criptografía, sin la cual no existiría el grado de seguridad actual en Internet, y por tanto no se podría disfrutar de una cantidad de servicios tan grande como la actual. Para mantener la economía mundial y la digitalización es imprescindible contar con algoritmos seguros para ello.

Hoy en día, uno de los estándares más seguros y más ampliamente utilizados es AES-256. Se trata de un algoritmo de clave simétrica de 256 bits (solo hay una única clave secreta, en vez de un par pública/privada) en el que confía incluso la NSA de los Estados Unidos para guardar información «top secret».

Precisamente, podemos encontrar AES-256 en la primera línea de la banca electrónica, comunicación segura, cifrado de ficheros… y en definitiva una cantidad innumerable de aplicaciones. Debido al uso de una clave de 256 bits y a la fortaleza del algoritmo, no se puede hackear mediante fuerza bruta, sino que todos los ataques exitosos sobre el mismo se basan en conseguir robar la clave secreta.

Por lo general, los métodos de cifrado combinan varios de estos algoritmos, por lo que no sería un uso puro y único del AES-256. Pero la realidad es que, de una forma u otra, está en todo.

Breixo Gómez

Apasionado del Hardware, exigente con la calidad de los productos. Intento aprender lo máximo cada día. No dudes en dejarme cualquier duda o sugerencia en los comentarios ;)
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba