Diseño de DES y el cifrado Lucifer
Siga la evolución de DES desde el cifrado Lucifer de IBM, pasando por las modificaciones de la NSA, hasta su adopción como estándar federal estadounidense.
Diseño de DES y el cifrado Lucifer es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.
El cifrado Lucifer de IBM
En 1971, Horst Feistel, de IBM Research, desarrolló un cifrado llamado Lucifer como parte de un proyecto de seguridad bancaria para Lloyd's of London. Lucifer fue uno de los primeros cifrados por bloques modernos, con una clave de 128 bits y bloques de 128 bits.
Lucifer demostró que era posible construir un cifrado por bloques sólido utilizando la estructura de Feistel: rondas alternas de sustitución y permutación aplicadas a mitades de bloque. Fue el antecesor directo de DES.
Estructura de Feistel de DES
DES aplica 16 rondas de la estructura de Feistel a bloques de 64 bits. En cada ronda, el bloque de 64 bits se divide en dos mitades de 32 bits. La mitad derecha se expande a 48 bits, se combina mediante XOR con una subclave de 48 bits, pasa por las S-boxes, se permuta y se combina mediante XOR con la mitad izquierda.
A continuación, las mitades se intercambian y el proceso se repite. Después de 16 rondas, una permutación final produce el texto cifrado de 64 bits. El descifrado utiliza la misma estructura con las subclaves en orden inverso.
Tamaño de bloque de DES: 64 bits
DES cifra los datos en bloques de 64 bits (8 bytes). Este tamaño de bloque fijo era adecuado para el hardware de 1977, pero se ha convertido en un problema de seguridad. Con suficientes datos, las colisiones de la paradoja del cumpleaños se vuelven probables.
Con bloques de 64 bits, aparecen patrones estadísticos después de aproximadamente 2^32 bloques (~32 GB de datos cifrados con la misma clave). Este ataque Sweet32 hizo que 3DES dejara de ser seguro para tráfico de gran volumen, como HTTPS.
La clave efectiva de 56 bits
DES utiliza una clave de 64 bits, pero 8 de esos bits son bits de paridad utilizados para detectar errores, no para cifrar. Por tanto, la longitud efectiva de la clave es de solo 56 bits.
Esto significa que solo existen 2^56 (aproximadamente 7,2 × 10^16) claves DES posibles. Según los estándares de 1977, se consideraba suficiente. En 1997, un adversario decidido ya podía romperla.
Permutaciones inicial y final
DES comienza con una permutación inicial (IP) que reorganiza los 64 bits del bloque de texto plano y termina con una permutación final (IP^-1), que es su inversa exacta. Estas permutaciones no aportan ninguna fortaleza criptográfica.
Se diseñaron para mejorar la eficiencia del hardware en arquitecturas específicas de chips de la década de 1970, lo que permitía cargar los bits en los registros con mayor rapidez. Los análisis modernos confirman que no contribuyen en nada a la seguridad.
Las 8 S-boxes
Las ocho S-boxes (cajas de sustitución) son el núcleo de la no linealidad de DES. Cada S-box recibe 6 bits de entrada y produce 4 bits de salida mediante una tabla de consulta fija. Los 2 bits exteriores seleccionan la fila y los 4 bits interiores seleccionan la columna.
Sin la no linealidad proporcionada por las S-boxes, DES sería un cifrado puramente lineal que se podría romper trivialmente mediante álgebra lineal. El diseño específico de las S-boxes de DES resiste el criptoanálisis diferencial.
La permutación P-box
Después de las S-boxes, DES aplica una permutación P-box que reorganiza los 32 bits de salida de las S-boxes. Esto proporciona difusión, distribuyendo la salida de cada S-box para que afecte a varias S-boxes en la ronda siguiente.
La P-box se diseñó cuidadosamente para maximizar la difusión: cada bit de salida de una S-box afecta al menos a dos S-boxes diferentes en la ronda siguiente, lo que garantiza un efecto avalancha rápido.
Calendario de claves: 16 subclaves
DES deriva 16 subclaves distintas de 48 bits a partir de la clave maestra de 56 bits, una para cada ronda. El calendario de claves comienza aplicando una selección permutada (PC-1) para eliminar los bits de paridad y reordenar los bits de la clave.
Los 56 bits se dividen en dos mitades de 28 bits, que se rotan hacia la izquierda 1 o 2 posiciones en cada ronda. Después, una selección permutada (PC-2) selecciona 48 de los 56 bits para formar la subclave de cada ronda.
Participación de la NSA y controversia
La NSA colaboró con IBM durante el desarrollo de DES, reduciendo la longitud de clave de los 128 bits de Lucifer a 56 bits y modificando los diseños de las cajas S. Esto provocó décadas de controversia sobre si se habían introducido puertas traseras.
En la década de 1990, funcionarios de la NSA confirmaron que habían reforzado las cajas S contra el criptoanálisis diferencial, una técnica que IBM descubrió en 1974. La NSA conocía el criptoanálisis diferencial desde hacía años antes que el ámbito académico, lo que sugiere que hicieron que DES fuera más resistente, no más débil.
DES como FIPS 46 (1977)
DES fue adoptado como la Norma Federal de Procesamiento de Información 46 en enero de 1977, tras un proceso de evaluación competitiva. Se convirtió en el cifrado estándar para los datos gubernamentales no clasificados y fue ampliamente adoptado por la banca y la industria.
La estandarización de DES fue históricamente significativa: fue el primer algoritmo criptográfico disponible públicamente y respaldado por un gobierno. Impulsó el desarrollo de implementaciones de hardware y estableció el modelo para futuros procesos de estandarización de cifrados.
Modos de operación de DES
DES es en sí un cifrado de bloques que cifra exactamente 64 bits cada vez. Los mensajes reales son más largos, por lo que los modos de operación definen cómo aplicar el cifrado a varios bloques. Entre los modos habituales se incluyen ECB (cifra cada bloque de forma independiente), CBC (aplica XOR a cada bloque con el texto cifrado anterior antes de cifrarlo), CFB, OFB y CTR.
ECB es el modo más débil: los bloques de texto en claro idénticos producen bloques de texto cifrado idénticos, lo que crea patrones visibles. Los modos CBC y CTR eliminan esta debilidad y son los preferidos para el uso práctico de DES y 3DES.
Cuestionario sobre los parámetros de DES
Ponga a prueba sus conocimientos sobre los parámetros de diseño de DES.
Conclusiones clave: diseño de DES
DES evolucionó a partir del cifrado Lucifer de IBM hasta convertirse en un cifrado Feistel de 16 rondas, con bloques de 64 bits y claves efectivas de 56 bits. Su seguridad proviene de 8 cajas S no lineales que proporcionan confusión, de la caja P que proporciona difusión y de 16 rondas que amplifican el efecto avalancha.
La participación de la NSA en el diseño de las cajas S fue controvertida, pero finalmente mejoró la resistencia al criptoanálisis diferencial. La clave de 56 bits de DES, diseñada para el hardware de 1977, resultó inadecuada a finales de la década de 1990.
Preguntas frecuentes
¿La lección «Diseño de DES y el cifrado Lucifer» es gratis?
Sí — el texto completo de «Diseño de DES y el cifrado Lucifer» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Diseño de DES y el cifrado Lucifer»?
Siga la evolución de DES desde el cifrado Lucifer de IBM, pasando por las modificaciones de la NSA, hasta su adopción como estándar federal estadounidense. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cryptology Academy?
No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Diseño de DES y el cifrado Lucifer»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?
Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Diseño de DES y el cifrado Lucifer
- Cómo se descifró DES
- Triple DES: prolongación de la vida útil de DES
- Lecciones de DES: lo que aprendimos