Data Encryption Standard

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.

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.

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.

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.

De todas formas, también concluyó que "La NSA no ejerció presión en el diseño del algoritmo en modo alguno.

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.

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".

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).

[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.

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.

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.

La estructura básica del algoritmo aparece representada en la Figura 1: hay 16 fases idénticas de proceso, denominadas rondas.

La estructura de Feistel asegura que el cifrado y el descifrado sean procesos muy similares — la única diferencia es que las subclaves se aplican en orden inverso cuando desciframos.

Tras la última ronda, las mitades no se intercambian; ésta es una característica de la estructura de Feistel que hace que el cifrado y el descifrado sean procesos parecidos.

Se conocen varias propiedades criptoanalíticas menores, y son posibles tres tipos de ataques teóricos que, aún requiriendo una complejidad teórica menor que un ataque por fuerza bruta, requieren una cantidad irreal de textos planos conocidos o escogidos para llevarse a cabo, y no se tienen en cuenta en la práctica.

Mostrarles una máquina física que pueda romper DES en unos pocos días es la única manera de convencer a algunas personas de que realmente no pueden confiar su seguridad a DES."

De todas maneras, estos ataques son sólo teóricos y no es posible llevarlos a la práctica; este tipo de ataques se denominan a veces debilidades certificacionales.

El cifrado (E) y el descifrado (D) con una clave débil tienen el mismo efecto (véase involución): Es bastante fácil evitar las claves débiles y semi-débiles en la implementación, ya sea probándolas explícitamente, o simplemente escogiéndolas aleatoriamente; las probabilidades de coger una clave débil o semidébil son despreciables.

Se ha demostrado también que DES no tiene estructura de grupo, o más concretamente, el conjunto

Figura 1 — La estructura general de Feistel en DES.
Figura 2 —La función Feistel (función F) de DES.
Figura 3 — La generación de clave de DES.
La máquina de crackeado de DES de la Electronic Frontier Foundation contenía 1,536 chips y podía romper una clave DES por fuerza bruta en días — la foto muestra un circuito con varios chips Deep Crack.