Esta detallada Explicación visual del algoritmo DES (Data Encryption Standard) es un curioso documento histórico, porque aunque el DES ya no se suele utilizarse por considerarse inseguro, muestra cómo funciona paso a paso en sus diferentes fases y operaciones. Tan educativo como fascinante.
DES: un algoritmo de cifrado histórico
Técnicamente el DES es un algoritmo de cifrado simétrico, lo que significa que una vez combinado con la clave, el mensaje queda cifrado, pero si se vuelve a aplicar la misma clave se descifra. El DES fue un desarrollo original de IBM que data de los años 70, pero modificado para convertirse en estándar en 1977 para cualquier entidad o empresa que lo necesitara.
Al ser un algoritmo simétrico la seguridad del DES depende de que la clave (única) se guarde a buen recaudo. (El problema de fondo es cómo enviar la clave al destinatario de forma segura, claro; normalmente se hace por otro canal, como por teléfono o en persona). El DES se ideó para usar una clave de 56 bits, aunque cuando años después se vio que eso no era suficiente para resistir diversos tipos de ataques se amplió al Triple DES que parte de la misma idea pero con más rondas y claves de mayor tamaño.
La historia del DES es interesante porque en su definición se incluyeron elementos «clasificados» (secretos) lo cual hizo sospechar de que la NSA había incluido puertas traseras para interceptar las comunicaciones. Esto fue algo bastante controvertido y con un punto conspiranoico. Lo más que se puede afirmar con seguridad es con los cambios que propusieron lo fortalecieron frente a ciertos ataques, como el criptoanálisis diferencial, pero debilitándolo frente a otros, como la «fuerza bruta» para tenerlo más a su alcance. La clave de hecho osciló entre 64, 48 y los 56 bits como tamaño final.
Fue la EFF (Electronic Frontier Foundation) quien en 1998 demostró que el DES era inseguro, diseñando y montando una muy mítica máquina llamada DES Cracker (o Deep Crack, cariñosamente) que prácticamente es el ejemplo paradigmático de la fuerza bruta. Empleaba chips ASIC a medida y les costó unos 250.000 dólares, que consiguieron mediante donaciones. Eran 64 placas de 29 chips; 1.856 chips en total. Podía comprobar todas las posibles claves en 22 horas y 15 minutos.
A raíz de todo esto la industria pasó a utilizar el AES (Advanced Encryption Standard) notablemente más seguro y con claves de 128, 192 y 256 bits. El DES pasó a la historia pero todavía coletea por ahí, como tecnología viejuna y no muy segura.
Ver cómo funciona el DES
En la página de Hereket se puede ver todo esto en acción; basta rellenar los campos de arriba (entrada, clave y vector de inicialización) e ir viendo lo que sucede para llegar al resultado (salida).
El algoritmo consiste en 16 rondas de permutaciones y sustituciones en las que los bytes y bits del mensaje original se combinan con los de la clave mediante diversas operaciones lógicas y permutaciones:. Se intercambian bits de unos y otros sitios, se hacen operaciones XOR (⊕) y se mezclan según diversas funciones y condiciones. En diversos momentos se utilizan «números mágicos» predefinidos, en las llamadas S-Boxes o «cajas de sustitución».
Es todo bastante lioso pero el algoritmo acaba cumpliendo con su función: que no se pierda información pero se pierda todo rastro del original, que cualquier modificación en cualquier bit de las claves trastoque todo el mensaje cifrado, etcétera.
Una visualización interesante para un estándar histórico, que es tan digno de estudio como de admiración.
Actualización (15 de abril de 2024) – Como bonus, un enlace a la misma idea pero en Excel.
Relacionado:
- La criptografía de las claves RSA-2048 todavía NO la ha roto ninguna computadora cuántica, ni tampoco una «normal», según los expertos
- La seguridad de las claves RSA-2048 y los algoritmos cuánticos
- El RSA de 2048 bits tampoco es ya suficiente… ¿o sí?
- Factorizar enteros: el RSA-2048 en 177 días usando 13.436 qubits
- RSA de 1.024 bits ya no es suficiente
- El número RSA-576, factorizado
- Factorizado un número RSA de 200 dígitos
- Ron Rivest, criptógrafo y la «R» de RSA, explica el RSA‑129
- Una de protocolos criptográficos: jugar al póker y repartir cartas
- Nuevo récord de factorización de «casi-primos»: 307 dígitos
- La base matemática de los sistemas de cifrado en criptografía