Encriptación: ¿qué tan seguro es AES?

En el mundo de la seguridad informática, uno de los temas debatidos es si la clave asimétrica de 128 bits, usada para AES (Standard Avanzado de Encriptación), es computacionalmente segura contra ataques de fuerza bruta. Los gobiernos y empresas depositan una gran cantidad de fe en la creencia de que AES es tan seguro y que es su seguridad la que nunca podrá ser comprometida, a pesar de algunos de los fallos inherentes en AES.

Este articulo describe la fuerza del sistema criptográfico contra ataques de fuerza bruta con diferentes tamaños de clave y el tiempo que tomaría realizar un ataque existoso de fuerza bruta teniendo en cuenta futuros avances en las valocidades de procesamiento.

Cualquier algoritmo criptográfico requiere claves de multiples bits para encriptar la informacion como se muestra en la figura 1.

La longitud de la clave usada en encriptación determina la posibilidad práctica de realizar un ataque de fuerza bruta, donde las claves más largas son exponencialmente más difíciles de descubrir que claves más cortas.

Un ataque de fuerza bruta involucra verificar sistemáticamente todas las combinaciones de claves posibles hasta que se encuentre la clave correcta, y es una manera de atacar cuando no es posible de tomar ventaja de otras debilidades en un criptosistema.

Aquí hay un ejemplo de un ataque de fuerza bruta a una clave de 4 bits:

Como se muestra en la figura, tomaría un máximo de 16 rondas para verificar cada clave posible, comenzando con “0000”. Dado el tiempo suficiente, un ataque de fuerza bruta es capaz de crackear cualquier algoritmo conocido.
La siguiente tabla muestra la cantidad posible de combinaciones de clave respecto de la l ongitud de la clave (en bits):

Observen el incremento exponencial de combinaciones posibles a medida que aumenta la longitud de la clave. “DES” es un sistema de encriptación simétrico con un tamaño de clave de 56 bits que ha sido crackeado en el pasado usando ataques de fuerza bruta. Tan sólo consideren lo siguiente:

La supercomputadora más rapida (segun Wikipedia): 10.51 Petaflops = 10.51 x 10^15 Flops (Flops = Operaciones de punto flotante por segundo).
Número de Flops requeridos por cada combinación posible: 1000 (siendo muy optimistas, pero considerémoslo por ahora).

Cantidad de combinaciones por segundo = (10.51 x 10^15) / 1000 = 10.51 x 10^12
Cantidad de segundos en un año = 365 x 24 x 60 x 60 = 31536000
Cantidad de años necesarios para crackear AES con una clave de 128 bits

= (3.4 x 10^38) / [ (10.51 x 10^12) x 31536000 ]
= (0.323 x 10^26) / 31536000
= 1.02 x 10^18
= 1 millón de billones de años

Como se muestra arriba, inclusive con una supercomputadora, tomaría un millon de billones de años descifrar algo encriptado con AES-128 usando fuerza bruta. Esto es más que la edad del universo (estimada en 13.75 miles de millones de años). Si uno asumiera la existencia de un sistema capaz de descifrar una clave de DES en un segundo, aun así tomaria 149 trillones de años descifrar una clave de AES de 128 bits con esa misma supuesta super-máquina.

Hay ejemplos más interesantes, lo siguiente es una captura de una nota técnica de Seagate denominada “Encriptación AES de 128 bit versus AES de 256 bits”, para explicar por qué AES de 128 bits es suficiente para satisfacer las necesidades del futuro próximo.

Suponiendo que:
Cada persona en el planeta tiene 10 computadoras.
Hay 7 mil millones de personas en el planeta
Cada una de estas computadoras puede intentar mil millones de claves distintas por segundo.
Y que en promedio, se puede encontrar la clave luego de intentar el 50% de las claves posibles…Entonces la población entera de la tierra puede romper una encriptación en 77,000,000,000,000,000,000,000,000 de años!

La conclusión es que si AES pudiera ser vulnerado, el mundo moderno se detendría. Cuando se crackea el algoritmo propiamente dicho  (es decir, encontrar defectos matemáticos en el proceso), la diferencia entre crackearlo con claves de 128 bits o de 256 bits se considera mínima. Cualquier avance que demuestre vulnerabilidad en un algoritmo con 128 bits probablemente pueda hacer lo mismo con su versión de 256 bits.
Al fin y al cabo, AES nunca ha sido crackeado y es seguro contra cualquier ataque de fuerza bruta contrariamente a las creencias y argumentos. De todas maneras, la longitud de la clave debería ser tal que no pueda ser crackeada por computadoras modernas incluso considerando avances en las velocidades de los procesadores basado en la ley de Moore.

Y tan solo para cubrir un nivel extra de paranoia, DataQUBO encripta los archivos con una clave AES de 256 bits.. Debido a que sólo usted conoce la clave, probablamente pasen miles de millones de años hasta que alguien pueda descrifrarlos sin su permiso!

Ver articulo original en ingles.