Data Encryption Standard (DES) es un algoritmo de cifrado, es decir, un método para cifrar información, escogido como un estándar FIPS en los Estados Unidos en 1976, y cuyo uso se ha propagado ampliamente por todo el mundo. El algoritmo fue controvertido al principio, con algunos elementos de diseño clasificados, una longitud de clave relativamente corta, y las continuas sospechas sobre la existencia de alguna puerta trasera para la National Security Agency (NSA). Posteriormente DES fue sometido a un intenso análisis académico y motivó el concepto moderno del cifrado por bloques y su criptoanálisis.

Hoy en día, DES se considera inseguro para muchas aplicaciones. Esto se debe principalmente a que el tamaño de clave de 56 bits es corto; las claves de DES se han roto en menos de 24 horas. Existen también resultados analíticos que demuestran debilidades teóricas en su cifrado, aunque son inviables en la práctica. Se cree que el algoritmo es seguro en la práctica en su variante de Triple DES, aunque existan ataques teóricos.

Desde hace algunos años, el algoritmo ha sido sustituido por el nuevo AES (Advanced Encryption Standard).

En algunas ocasiones, DES es denominado también DEA (Data Encryption Algorithm).

La historia de DES Los orígenes de DES se remontan a principios de los 70. En 1972, tras terminar un estudio sobre las necesidades del gobierno en materia de seguridad informática, la autoridad de estándares estadounidense NBS (National Bureau of Standards), ahora rebautizado NIST (National Institute of Standards and Technology), concluyó en la necesidad de un estándar a nivel gubernamental para cifrar información confidencial. En consecuencia, el 15 de mayo de 1973, tras consultar con la NSA, el NBS solicitó propuestas para un algoritmo que cumpliera rigurosos criterios de diseño. A pesar de todo, ninguna de ellas parecía ser adecuada. Una segunda petición fue realizada el 27 de agosto de 1974. En aquella ocasión, IBM presentó un candidato que fue considerado aceptable, un algoritmo desarrollado durante el periodo 1973–1974 basado en otro anterior, el algoritmo Lucifer de Horst Feistel. El equipo de IBM dedicado al diseño y análisis del algoritmo estaba formado por Feistel, Walter Tuchman, Don Coppersmith, Alan Conheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith, y Bryant Tuckerman.

El papel de la NSA en el diseño

El 17 de marzo de 1975, la propuesta de DES fue publicada en el Registro Federal. Se solicitaron comentarios por parte del público, y el año siguiente se abrieron dos talleres libres para discutir el estándar propuesto. Hubo algunas críticas desde ciertos sectores, incluyendo a los pioneros de la criptografía asimétrica Martin Hellman y Whitfield Diffie, mencionando la corta longitud de la clave y las misteriosas S-cajas como una evidencia de la inadecuada interferencia de la NSA. La sospecha era que el algoritmo había sido debilitado de manera secreta por la agencia de inteligencia de forma que ellos, y nadie más, pudiesen leer mensajes cifrados fácilmente. Alan Konheim (uno de los diseñadores de DES) comentó en una ocasión "enviaron las S-cajas a Washington. Cuando volvieron eran totalmente diferentes". El Comité de Inteligencia del Senado de los Estados Unidos revisó las acciones de la NSA para determinar si había existido algún comportamiento inadecuado. En el resumen desclasificado sobre sus conclusiones, publicado en 1978, el Comité escribía: "En el desarrollo de DES, la NSA convenció a IBM de que un tamaño de clave reducido era suficiente; participó de forma indirecta en el desarrollo de las estructuras de las S-cajas; y certificó que, hasta donde ellos conocían, estaban libres de cualquier punto débil matemático o estadístico.". De todas formas, también concluyó que "La NSA no ejerció presión en el diseño del algoritmo en modo alguno. IBM inventó y diseñó el algoritmo, tomó todas las decisiones respecto a él, y coincidió en que el tamaño de la clave era más que apropiado para todas las aplicaciones comerciales para las que estaba pensado DES". Otro miembro del equipo de DES, Walter Tuchman, decía también: "Desarrollamos todo el algoritmo DES en IBM y con gente de IBM. ¡La NSA no dictó ni un solo paso!".

Algunas de las sospechas sobre puntos débiles ocultos en las S-cajas fueron descartadas en 1990, con el descubrimiento independiente y la publicación libre por Eli Biham y Adi Shamir del criptoanálisis diferencial, un método general para romper cifrados de bloque. Las S-cajas de DES eran mucho más resistentes al ataque que si hubiesen sido escogidas al azar, lo que sugería que IBM conocía la técnica allá en los 70. Este era de hecho, el caso, en 1994, Don Coppersmith publicó los criterios de diseño originales para las S-cajas. IBM había descubierto el criptoanálisis diferencial en los 70 y, tras asegurar DES, la NSA les ordenó mantener en secreto la técnica. Coppersmith explica: "Esto era así porque el criptoanálisis diferencial puede ser una herramienta muy potente, contra muchos esquemas diferentes, y había la preocupación de que aquella información en dominio público podía afectar negativamente a la seguridad nacional". Shamir también comentó "Yo diría, al contrario de lo que algunos creen, que no hay evidencias de influencia alguna en el diseño de DES para que su estructura básica esté debilitada."

Las otras críticas, sobre que la longitud de clave era demasiado corta, se fundaban en el hecho de que la razón dada por la NSA para reducir la longitud de la clave de 64 bits a 56 era que los 8 bits restantes podían servir como bits de paridad, lo que en cierto modo resultaba sospechoso. Es ampliamente aceptado que la decisión de la NSA estaba motivada por la posibilidad de que ellos podrían llevar a cabo un ataque por fuerza bruta contra una clave de 56 bits varios años antes que el resto del mundo.

El algoritmo como estándar

A pesar de la polémica, DES fue aprobado como estándar federal en noviembre de 1976, y publicado el 15 de enero de 1977 como FIPS PUB 46, autorizado para el uso no clasificado de datos. Fue posteriormente confirmado como estándar en 1983, 1988 (revisado como FIPS-46-1), 1993 (FIPS-46-2), y de nuevo en 1999 (FIPS-46-3), definiéndose en esta última publicación el "Triple DES" (véase más abajo). El 26 de mayo de 2002, DES fue finalmente reemplazado por AES (Advanced Encryption Standard), tras una competición pública (véase Proceso de Advanced Encryption Standard). El 19 de mayo de 2005, FIPS 46-3 fue oficialmente retirado, pero el NIST aprobó el uso de Triple DES hasta el año 2030 para información gubernamental sensible.National Institute of Standards and Technology, NIST Special Publication 800-67 Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher, Version 1.1

Otro ataque teórico, el criptoanálisis lineal, fue publicado en 1994, pero fue un ataque por fuerza bruta en 1998 el que demostró que DES podría ser atacado en la práctica, y se destacó la necesidad de un algoritmo de repuesto. Estos y otros métodos de criptoanálisis se comentan con más detalle posteriormente en este artículo.

La introducción de DES es considerada como un desencadenador del estudio académico de la criptografía, en particular de los métodos para romper cifrados de bloque. Bruce Schneier escribe:

Cambiando

Cronología

Fecha Año Evento 15 de mayo 1973 NBS publica una primera petición para un algoritmo estándar de cifrado 27 de agosto 1974 NBS publica una segunda petición para algoritmos de cifrado 17 de marzo 1975 DES es publicado en el Registro Federal para comentarios Agosto 1976 Primer taller sobre DES Septiembre 1976 Segundo taller, sobre fundamentos matemáticos de DES Noviembre 1976 DES es aprobado como estándar 15 de enero 1977 DES es publicado por el FIPS como estándar FIPS PUB 46 1983 DES es confirmado por primera vez 22 de enero 1988 DES es confirmado por segunda vez como FIPS 46-1, reemplazando a FIPS PUB 46 1992 Biham y Shamir publican el primer ataque teórico con menos complejidad que el de fuerza bruta: el criptoanálisis diferencial. De cualquier modo, requiere una cantidad irreal de 247 textos planos escogidos (Biham and Shamir, 1992). 30 de diciembre 1993 DES es confirmado por tercera vez como FIPS 46-2 1994 Se lleva a cabo el primer criptoanálisis experimental de DES utilizando criptoanálisis lineal (Matsui, 1994). Julio 1998 El DES cracker de la EFF (Electronic Frontier Foundation) conocido como Deep Crack rompe una clave DES en 56 horas. Enero 1999 De forma conjunta, Deep Crack y distributed.net rompen una clave DES en 22 horas y 15 minutos. 25 de octubre 1999 DES es confirmado por cuarta vez como FIPS 46-3, que específica la preferencia de uso de Triple DES, con DES simple permitido solo en sistemas heredados. 26 de noviembre 2001 El algoritmo AES (Advanced Encryption Standard) se publica como FIPS 197 26 de mayo 2002 El estándar AES se hace efectivo 26 de julio 2004 Se propone la retirada de FIPS 46-3 (y un par de estándares relacionados) en el Registro Federal(en inglés) Registro Federal. Vol. 69, Nº 142 (26 de julio de 2004)

Algoritmos de reemplazo Muchos de los anteriores usuarios de DES ahora utilizan Triple DES (3DES) que fue descrito y analizado en una de las patentes de DES (véase FIPS PUB 46-3); consiste en la aplicación de DES tres veces consecutivas empleando dos (2TDES, la primera clave en los pasos 1 y 3) o tres (3TDES) claves. 3DES ha sido ampliamente reconocido como seguro por ahora, aunque es bastante lento. Una alternativa más económica en términos computacionales es DES-X, que incrementa el tamaño de clave haciendo un XOR lógico sobre los elementos extra de la clave antes y después de DES. GDES fue una variante de DES propuesta para acelerar el proceso de cifrado, pero se demostró que era susceptible de ser sometido al criptoanálisis diferencial.

En 2001, tras un concurso internacional, el NIST escogió un nuevo algoritmo: el AES (Advanced Encryption Standard), para reemplazar a DES. El algoritmo elegido para ser el reemplazo fue propuesto por sus diseñadores bajo el nombre de Rijndael. Otros finalistas en la competición AES del NIST fueron RC6, Serpent, MARS, y Twofish.

En general, no hay ningún algoritmo que se adapte perfectamente a todos los usos. Un algoritmo para uso en máquinas de uso general (por ejemplo, SSH, o algunos tipos de cifrado de correo electrónico), no siempre funciona bien en sistemas embebidos o tarjetas inteligentes, y viceversa.

Descripción right|170px|thumb|Figura 1 — La estructura general de Feistel en DES. Por brevedad, la descripción incluida a continuación omite las transformaciones y permutaciones exactas que especifica el algoritmo.

DES es el algoritmo prototipo del cifrado por bloques — un algoritmo que toma un texto en claro de una longitud fija de bits y lo transforma mediante una serie de operaciones básicas en otro texto cifrado de la misma longitud. En el caso de DES el tamaño del bloque es de 64 bits. DES utiliza también una clave criptográfica para modificar la transformación, de modo que el descifrado sólo puede ser realizado por aquellos que conozcan la clave concreta utilizada en el cifrado. La clave mide 64 bits, aunque en realidad, sólo 56 de ellos son empleados por el algoritmo. Los ocho bits restantes se utilizan únicamente para comprobar la paridad, y después son descartados. Por tanto, la longitud de clave efectiva en DES es de 56 bits, y así es como se suele especificar.

Al igual que otros cifrados de bloque, DES debe ser utilizado en el modo de operación de cifrado de bloque si se aplica a un mensaje mayor de 64 bits. FIPS-81 específica varios modos para el uso con DES, incluyendo uno para autenticación . Se pueden consultar más documentos sobre el uso de DES en FIPS-74 .

Estructura básica