| Del DES al AES o el cambio en los sistemas de cifrado. |
Entradas desde el 20/10/2003 :
Historia de un estándar de cifrado
Anunciábamos que el National Institute of Standards and Technology (NIST) había elegido el algoritmo
destinado a sustituir al ya extinto DES (Data Encription Standard). Debido a la relevancia del DES en la informática
actual, y en el desarrollo de sus aspectos vinculados a la seguridad, en Oxygen3 24h-365d comenzamos hoy una serie
de entregas cuyo objetivo es conocer, más de cerca, este importante estándar de cifrado.
En 1972, el National Bureau of Standards (NBS) -posteriormente denominado National Institute of Standards and Technology
(NIST)-, inició un proyecto cuyo objetivo era obtener métodos que protegiesen los datos de los ordenadores
y las comunicaciones. Una parte fundamental de este proyecto residía en el desarrollo de un algoritmo criptográfico
destinado a convertirse en un estándar.
El NBS realizó una petición pública de algoritmos que debían cumplir una serie de requisitos
-como proporcionar un alto grado de seguridad-, sencillez (de entender y de implementar), eficiente y exportable.
Además, y como en todo protocolo criptográfico que se precie, la seguridad del método debía
residir en la clave.
Como en la primera solicitud de algoritmos ninguno de los propuestos cumplía los requerimientos especificados,
se hizo necesaria, en 1974, una segunda petición. En ella IBM presentó un algoritmo conocido como
Lucifer que podía considerarse uno de los métodos criptográficos más potentes del momento.
De hecho, la clave con la que Lucifer trabajaba
fue reducida a un tamaño de 56 bits (aproximadamente 100.000.000.000.000.000 claves), cantidad adoptada,
en 1976 como lo que ahora conocemos como DES. Desde entonces, DES ha sido el estándar oficial norteamericano
(y prácticamente mundial) para el cifrado de datos, utilizándose para un gran número de operaciones
y transacciones.
Como funciona el DES
Vamos a analizar como funciona el criptosistema DES (Data Encription Standard), algoritmo que durante casi
25 años ha sido el estándar de cifrado simétrico más utilizado en todo el mundo.
La forma de trabajar del DES se basa en convertir el mensaje en una larga serie de dígitos binarios (bits).
Tras llevar a cabo esta acción, se divide en bloques de 64 bits cifrando, cada uno de ellos, de forma separada.
Después se toma, de forma independiente, cada uno de los bloques, ya que primero se realiza una permutación
inicial, tras la cual se dividen los 64 bits en dos partes -de 32 bits cada una-. Posteriormente se realizan 16
vueltas repitiendo las mismas operaciones, en las cuales los datos se combinan con la clave de 56 bits. Realmente
la clave tiene 64 bits, pero se emplea cada octavo bit como test de paridad, por lo que se ignora -a todos los
efectos- para el tratamiento de la clave. En cada una de las vueltas el algoritmo realiza sencillas operaciones
lógicas y aritméticas (lo que facilitaba su implementación en el hardware de finales de los
70). Tras las 16 vueltas, las dos mitades vuelven a unirse y se les aplica una permutación final inversa
a la realizada al comienzo del proceso.
En cada vuelta, los bits de la clave se alternan, de forma que se seleccionan 48 bits de los 56 de la clave. Los
32 bits que ocupan la mitad derecha del bloque de datos (los que podrían considerarse como la segunda mitad)
se amplían hasta los 48 bits -a través de una permutación de expansión- y se combinan
mediante una operación XOR (con los 48 bits seleccionados procedentes de la clave). El resultado de la operación
lógica se envía a través de ocho cajas de sustitución diferentes destinadas a producir
un resultado de 32 bits que, nuevamente, será permutado. Estos nuevos 32 bits son combinados de nuevo, mediante
otro XOR, con los 32 bits procedentes de la otra mitad del bloque de datos. El resultado de todas estas operaciones
se convertirá en el nuevo bloque derecho (32 bits), mientras que la antigua parte derecha se convertirá
en la nueva mitad izquierda. Todas estas operaciones constituyen una vuelta, que repetidas 16 veces constituyen
las 16 vueltas del algoritmo DES.
La debilidad del DES al descubierto
Durante años, la fuerza del DES (Data Encription Standard)residía en la limitación de las
máquinas para afrontar la prueba de examinar los miles de millones de claves necesarios. Sin embargo, el
desarrollo de la Informática empezó a hacer temblar los cimientos en los que se sustentaba la seguridad
de dicho algoritmo.
El aumento de la potencia de los ordenadores y procesadores, capaces de realizar, cada vez, más operaciones
por segundo, empezó a generar preocupación entre los ciudadanos sobre el uso de un algoritmo fundamentalmente
débil como estándar de cifrado. De hecho, en los últimos años se desarrollaron concursos
destinados a probar tal realidad, como en 1998, cuando se celebró el DES Challenge II Contest.En él
fueron necesarios 40 días y el esfuerzo combinado -a través de Internet-, de la potencia de más
de 40.000 Pentiums 166 para descubrir la clave correcta.
Aunque todavía podía considerarse lo suficientemente seguro para muchas comunicaciones, el DES ya
empezaba a mostrar sus primeras debilidades, por lo que el año pasado se propuso una nueva edición
del concurso. Se trataba del DES III Contest
(http://www.distributed.net/des/index.html.en), en el que quedó de manifiesto la total debilidad del algoritmo
cuando, de forma conjunta, el esfuerzo distribuido de miles de internautas y la EFF (Electronic Frontier Fundation),
con su máquina Deep Crack (también conocida como DES Cracker,) consiguieron, en tan sólo 22
horas, romper la seguridad del DES.
El DES Cracker (http://www.eff.org/pub/Privacy/Crypto/Crypto_misc/DESCracker/) era un ordenador construido para
probar combinaciones de claves en datos cifrados con DES. Estaba formado por seis cabinas, cada una de las cuales
albergaba 29 placas de circuitos y, a su vez, cada una de ellas, alojaba 64 procesadores de búsqueda especialmente
desarrollados por AWT. Esta máquina era capaz de analizar, por si sola, la nada despreciable cantidad de
90 billones de claves por segundo.
El costo de DES Cracker, especialmente fabricado para el citado concurso, fue de 250.000 dólares (47 millones
de pesetas), coste ridículo si se tiene en cuenta la cantidad de secretos que pueden obtenerse mediante
un uso fraudulento de un ordenador de este tipo. Tampoco hay que olvidar que el DES ha llegado a convertirse en
el estándar utilizado, en todo el mundo, para el cifrado de datos, operaciones bancarias, económicas,
empresariales, etc. durante más de 20 años.
Panda Software
http://www.pandasoftware.es/