Inicio > AES, Criptografía, Criptografía Simétrica > Descubierta vulnerabilidad en AES

Descubierta vulnerabilidad en AES

Jueves, 18 de agosto de 2011 Dejar un comentario Ir a comentarios

Se ha descubierto una vulnerabilidad en AES que en la práctica no supone ningún riesgo para aquellos que utilizan este estándar en criptografía.

La vulnerabilidad descubierta implica que es cuatro veces más fácil encontrar la clave del algoritmo de lo que se suponía. Esto significa que en lugar de utilizar un algoritmo AES de 128 bits en realidad estamos utilizando un algoritmo AES de 126 bits, reducir en 2 bits la longitud de la clave que estemos utilizando.

En la práctica esta vulnerabilidad no afecta ya que lo único que supone es que se reduce el espacio de claves pero aún así harían falta todavía billones de años para poder romper una clave de AES-128.

AES es un estándar de criptografía simétrica publicado por el NIST. Dicho organismo publicó una serie de requisitos para establecer un estándar de criptografía dentro de la Administración y la industria Norteamericana dado que el anterior estándar DES estaba ya caduco y obsoleto desde hacía ya algún tiempo y de hecho practicamente no se utilizaba utilizandose en su lugar variantes como Triple DES.

Se impusieron varias condiciones que deberían cumplir los algoritmos propuestos para ser adoptados como dicho estándar:

  1. Debían ser algoritmos simétricos de cifrado en bloque y no sujetos a patentes para poder ser libremente implementados tanto vía software como vía hardware y así de esta manera facilitar su adopción.
  2. El algoritmo debía permitir claves de tamaño variable, es decir que con el paso del tiempo se pudiera seguir utilizando el mismo algoritmo pero únicamente cambiando la longitud de la clave para ofrecer mayor seguridad a medida que aumenta la potencia del hardware y/o los ataques teóricos que reducen los espacios de claves.
  3. Debería ser facilmente implementable no sólo en software si no que también en hardware.
  4. El algoritmo debería ser sometido a escrutinio público.

Los motivos por los que se exigian estos requerimientos venían dados por la experiencia con el anterior estándar, el DES:

  1. El no estar sujetos a patentes permitiría una adopción fácil, desde el punto de vista económico, ya que no encarecería su implantación.
  2. El estándar anterior utilizaba claves de 64 bits, 56 bits efectivos ya que utilizaba un octeto para paridad, pero no permitía el uso del algoritmo con claves mayores. Con lo cual cuando la potencia de computo fue creciendo llegó un momento en el que no era seguro y fue necesario recurrir a variantes como el Triple DES. La implementación de estas variantes no era sencilla, sobre todo en la codificaciones hardware, ya que requería un uso diferente del algoritmo. La adopción de un algoritmo que permitiera el uso de claves de longitud variable solucionaba este problema.
  3. El hecho de ser facilmente implementable tanto en software como en hardware facilitaría tanto la adopción como las posibles evoluciones, de haberlas.
  4. Uno de los “problemas” que había con el anterior estándar es que se basaba en un algoritmo llamado Lucifer con claves de 128 bits. DES utilizaba una longitud de clave que era la mitad que la utilizada en Lucifer y esto fue debido a “sugerencias” de la NSA. Esta reducción del tamaño de la clave resultó sospechosa a la comunidad internacional que pensaba que o bien había una puerta trasera en DES o bien que la NSA estaba en condiciones de romper en un futuro no muy lejano el algoritmo. Si a este hecho le sumamos que el diseño de DES no fue público y que existían elementos en el diseño de las redes de Feistel que no se entendian muy bien dio lugar a las sospechas sobre que la NSA era capaz de romper este algoritmo. A pesar de este hecho nunca fue demostrado un ataque efectivo distinto de la fuerza bruta. Por este motivo se quería que el nuevo estándar fuera sometido a escrutinio público desde el primer momento.

Al concurso se presentaron varios algoritmos y al final el algoritmo que se adoptó como estándar fue Rijndael desarrollado por dos estudiantes, Joan Daemen y Vincent Rijmen, de la Katholieke Universiteit Leuven.

A pesar de que se habla indistintamente de AES y Rijndael como si fueran el mismo algoritmo existen una serie de diferencias. Rijndael permite un mayor rango en el tamaño de bloque que se procesa y también permite un mayor rango en el tamaño de las claves que utiliza el algoritmo. Mientras que AES encripta en bloques de tamaño fijo de 128 bits y utiliza claves de tamaño 128, 192 o 256 bits Rijndael puede utilizar claves de longitud variable entre 128 y 256 bits siempre que sean multiplos de 32 bits y se puede adaptar a diferentes tamaño de bloque.

  1. Sin comentarios aún.
  1. Sin trackbacks aún.