Articulo de referencia

Estándar de cifrado de datos

Such attacks have been demonstrated in practice (see [[EFF DES cracker]]) and are now available on the market as a service. As of 2008, the best analytical attack is [[linear cr...

El Estándar de Cifrado de Datos ( DES / ˌ d ˌ ˈ ɛ s , d ɛ z / ) es un algoritmo de clave simétrica para el cifrado de datos digitales. Aunque su corta longitud de clave de 56 bits lo hace demasiado inseguro para las aplicaciones modernas, ha sido muy influyente en el avance de la criptografía .

Desarrollado a principios de la década de 1970 en IBM y basado en un diseño anterior de Horst Feistel , el algoritmo fue presentado a la Oficina Nacional de Estándares (NBS) tras la invitación de la agencia para proponer un candidato para la protección de datos gubernamentales y comerciales electrónicos sensibles y no clasificados. [ 2 ] En 1976, después de consultar con la Agencia de Seguridad Nacional (NSA), la NBS seleccionó una versión ligeramente modificada (reforzada contra el criptoanálisis diferencial , pero debilitada contra los ataques de fuerza bruta ), que se publicó como un Estándar Federal de Procesamiento de Información (FIPS) oficial para los Estados Unidos en 1977. [ 3 ]

La publicación de un estándar de cifrado aprobado por la NSA condujo a su rápida adopción internacional y a un amplio escrutinio académico. Surgieron controversias debido a elementos de diseño clasificados , una longitud de clave relativamente corta del diseño del cifrado de bloques de clave simétrica y la participación de la NSA, lo que generó sospechas sobre una puerta trasera . Las cajas S que habían provocado esas sospechas fueron diseñadas por la NSA para abordar una vulnerabilidad que conocían secretamente ( criptoanálisis diferencial ). Sin embargo, la NSA también se aseguró de que el tamaño de la clave se redujera drásticamente. [ 3 ] El intenso escrutinio académico que recibió el algoritmo a lo largo del tiempo condujo a la comprensión moderna de los cifrados de bloques y su criptoanálisis .

DES es inseguro debido al tamaño relativamente corto de la clave de 56 bits . En enero de 1999, distributed.net y la Electronic Frontier Foundation colaboraron para romper públicamente una clave DES en 22 horas y 15 minutos (véase §  Cronología ). También hay algunos resultados analíticos que demuestran debilidades teóricas en el cifrado, aunque son inviables en la práctica. [ 4 ] DES ha sido retirado como estándar por el NIST . [ 5 ] Posteriormente, se desarrolló la variante Triple DES para aumentar el nivel de seguridad, pero también se considera insegura en la actualidad. DES ha sido reemplazado por el Estándar de Cifrado Avanzado (AES).

Algunos documentos distinguen entre el estándar DES y su algoritmo, refiriéndose al algoritmo como DEA ( Algoritmo de Cifrado de Datos ).

Historia

Los orígenes de DES se remontan a 1972, cuando un estudio de la Oficina Nacional de Estándares sobre la seguridad informática del gobierno estadounidense identificó la necesidad de un estándar gubernamental para el cifrado de información sensible no clasificada. [ 6 ]

Casi al mismo tiempo, en 1972, el ingeniero Mohamed Atalla fundó Atalla Corporation y desarrolló el primer módulo de seguridad de hardware (HSM), la llamada "Atalla Box", que se comercializó en 1973. Este módulo protegía los dispositivos sin conexión mediante una clave segura para generar un PIN , y fue un éxito comercial. Los bancos y las compañías de tarjetas de crédito temían que Atalla dominara el mercado, lo que impulsó el desarrollo de un estándar de cifrado internacional. [ 5 ] Atalla fue uno de los primeros competidores de IBM en el mercado bancario y fue citado como una influencia por empleados de IBM que trabajaron en el estándar DES. [ 7 ] Posteriormente, el IBM 3624 adoptó un sistema de verificación de PIN similar al sistema Atalla anterior. [ 8 ]

El 15 de mayo de 1973, tras consultar con la NSA, el NBS solicitó propuestas para un cifrado que cumpliera con criterios de diseño rigurosos. Ninguna de las propuestas fue adecuada. El 27 de agosto de 1974 se emitió una segunda solicitud. En esta ocasión, IBM presentó un candidato que se consideró aceptable: un cifrado desarrollado entre 1973 y 1974 basado en un algoritmo anterior, el cifrado Lucifer de Horst Feistel . El equipo de IBM involucrado en el diseño y análisis del cifrado incluía a Feistel, Walter Tuchman , Don Coppersmith , Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler , Edna Grossman , Bill Notz, Lynn Smith y Bryant Tuckerman .

La participación de la NSA en el diseño

El 17 de marzo de 1975, el DES propuesto se publicó en el Registro Federal . Se solicitaron comentarios públicos y, al año siguiente, se celebraron dos talleres abiertos para debatir el estándar propuesto. Se recibieron críticas de los pioneros de la criptografía de clave pública Martin Hellman y Whitfield Diffie , [ 1 ] citando una longitud de clave reducida y las misteriosas " cajas S " como evidencia de interferencia indebida por parte de la NSA. Se sospechaba que el algoritmo había sido debilitado secretamente por la agencia de inteligencia para que ellos —pero nadie más— pudieran leer fácilmente los mensajes cifrados. [ 9 ] Alan Konheim (uno de los diseñadores del DES) comentó: "Enviamos las cajas S a Washington. Regresaron y todas eran diferentes". [ 10 ] El Comité Selecto de Inteligencia del Senado de los Estados Unidos revisó las acciones de la NSA para determinar si había habido alguna participación indebida. En el resumen no clasificado de sus conclusiones, publicado en 1978, el Comité escribió:

En el desarrollo de DES, la NSA convenció a IBM de que un tamaño de clave reducido era suficiente; ayudó indirectamente en el desarrollo de las estructuras de la caja S; y certificó que el algoritmo DES final estaba, según su leal saber y entender, libre de cualquier debilidad estadística o matemática. [ 11 ]

Sin embargo, también descubrió que

La NSA no alteró en absoluto el diseño del algoritmo. IBM inventó y diseñó el algoritmo, tomó todas las decisiones pertinentes al respecto y coincidió en que el tamaño de clave acordado era más que suficiente para todas las aplicaciones comerciales para las que se concibió el DES. [ 12 ]

Otro miembro del equipo DES, Walter Tuchman, declaró: «Desarrollamos el algoritmo DES completamente dentro de IBM utilizando empleados de IBM. ¡La NSA no dictó ni un solo cable!» [ 13 ] En contraste, un libro desclasificado de la NSA sobre historia de la criptología afirma:

En 1973, el NBS solicitó a la industria privada un estándar de cifrado de datos (DES). Las primeras propuestas fueron decepcionantes, por lo que la NSA comenzó a trabajar en su propio algoritmo. Entonces, Howard Rosenblum, subdirector de investigación e ingeniería, descubrió que Walter Tuchman, de IBM, estaba trabajando en una modificación de Lucifer para uso general. La NSA autorizó a Tuchman y lo incorporó para trabajar conjuntamente con la Agencia en su modificación de Lucifer. [ 14 ]

y

La NSA colaboró ​​estrechamente con IBM para reforzar el algoritmo contra todos los ataques, excepto los de fuerza bruta, y para fortalecer las tablas de sustitución, denominadas cajas S. Por otro lado, la NSA intentó convencer a IBM de que redujera la longitud de la clave de 64 a 48 bits. Finalmente, llegaron a un acuerdo sobre una clave de 56 bits. [ 15 ] [ 16 ]

Algunas de las sospechas sobre las debilidades ocultas en las cajas S se disiparon en 1990 con el descubrimiento independiente y la publicación abierta por parte de Eli Biham y Adi Shamir del criptoanálisis diferencial , un método general para romper cifrados de bloques. Las cajas S de DES eran mucho más resistentes al ataque que si se hubieran elegido al azar, lo que sugiere firmemente que IBM conocía la técnica en la década de 1970. Este fue, en efecto, el caso; en 1994, Don Coppersmith publicó algunos de los criterios de diseño originales para las cajas S. [ 17 ] Según Steven Levy , los investigadores de IBM Watson descubrieron ataques criptoanalíticos diferenciales en 1974 y la NSA les pidió que mantuvieran la técnica en secreto. [ 18 ] Coppersmith explica la decisión de IBM de mantener el secreto diciendo: "Eso se debió a que [el criptoanálisis diferencial] puede ser una herramienta muy poderosa, utilizada contra muchos esquemas, y existía la preocupación de que dicha información en el dominio público pudiera afectar negativamente la seguridad nacional". Levy cita a Walter Tuchman: «[Nos pidieron que marcáramos todos nuestros documentos como confidenciales... De hecho, numeramos cada uno y los guardamos en cajas fuertes, porque se consideraban clasificados por el gobierno de EE. UU. Dijeron que lo hiciera. Así que lo hice». [ 18 ] Bruce Schneier observó que «La comunidad académica tardó dos décadas en darse cuenta de que los "ajustes" de la NSA en realidad mejoraron la seguridad del DES». [ 19 ]

El algoritmo como estándar

A pesar de las críticas, 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 su uso en todos los datos no clasificados. Posteriormente, fue reafirmado como estándar en 1983, 1988 (revisado como FIPS-46-1), 1993 (FIPS-46-2) y nuevamente en 1999 (FIPS-46-3), este último prescribiendo " Triple DES " (véase más abajo). El 26 de mayo de 2002, DES fue finalmente reemplazado por el Estándar de Cifrado Avanzado (AES), tras un concurso público . El 19 de mayo de 2005, FIPS 46-3 fue retirado oficialmente, pero el NIST ha aprobado Triple DES hasta el año 2030 para información gubernamental sensible. [ 20 ]

El algoritmo también se especifica en ANSI X3.92 (hoy X3 se conoce como INCITS y ANSI X3.92 como ANSI INCITS 92), [ 21 ] NIST SP 800-67 [ 20 ] e ISO/IEC 18033-3 [ 22 ] (como un componente de TDEA ).

Otro ataque teórico, el criptoanálisis lineal, se publicó en 1994, pero fue el descifrador de DES de la Electronic Frontier Foundation en 1998 el que demostró que DES podía ser atacado de forma muy práctica y puso de manifiesto la necesidad de un algoritmo alternativo. Estos y otros métodos de criptoanálisis se analizan con más detalle más adelante en este artículo.

Se considera que la introducción de DES fue un catalizador para el estudio académico de la criptografía, en particular de los métodos para descifrar cifrados de bloques. Según una retrospectiva del NIST sobre DES,

Se puede decir que el DES impulsó el estudio y desarrollo no militar de algoritmos de cifrado. En la década de 1970, había muy pocos criptógrafos, salvo los de organizaciones militares o de inteligencia, y escaso estudio académico de la criptografía. Actualmente, existen numerosos criptólogos académicos activos, departamentos de matemáticas con sólidos programas en criptografía y empresas y consultoras comerciales de seguridad de la información . Una generación de criptoanalistas se ha iniciado analizando (es decir, intentando descifrar) el algoritmo DES. En palabras del criptógrafo Bruce Schneier , [ 23 ] «El DES contribuyó más que ninguna otra cosa a dinamizar el campo del criptoanálisis. Ahora existía un algoritmo que estudiar». Una sorprendente cantidad de la literatura abierta sobre criptografía en las décadas de 1970 y 1980 trataba sobre el DES, y este es el estándar con el que se ha comparado todo algoritmo de clave simétrica posterior. [ 24 ]

Cronología

Descripción

Initial permutationFeistel functionFeistel functionFeistel functionFeistel functionFinal permutationXORXORXORXOR
Figura 1 — Estructura general de Feistel del DES

DES es el cifrado por bloques por excelencia : un algoritmo que toma una cadena de bits de texto plano de longitud fija y la transforma, mediante una serie de operaciones complejas, en otra cadena de bits de texto cifrado de la misma longitud. En el caso de DES, el tamaño del bloque es de 64 bits. DES también utiliza una clave para personalizar la transformación, de modo que, en teoría, el descifrado solo puede ser realizado por quienes conocen la clave específica utilizada para cifrar. La clave consta, aparentemente, de 64 bits; sin embargo, el algoritmo solo utiliza 56 de ellos. Ocho bits se utilizan exclusivamente para comprobar la paridad y, posteriormente, se descartan. Por lo tanto, la longitud efectiva de la clave es de 56 bits.

La clave se almacena o transmite nominalmente como 8 bytes , cada uno con paridad impar. Según ANSI X3.92-1981 (ahora conocido como ANSI INCITS 92–1981), sección 3.5:

Cada byte de 8 bits de la clave puede utilizarse para la detección de errores en la generación, distribución y almacenamiento de claves. Los bits 8, 16, ..., 64 se utilizan para garantizar que cada byte tenga paridad impar.

Al igual que otros cifrados de bloques, DES por sí solo no es un método de cifrado seguro, sino que debe utilizarse en un modo de operación específico . FIPS-81 especifica varios modos de uso con DES. [ 28 ] En FIPS-74 se incluyen comentarios adicionales sobre el uso de DES. [ 29 ]

El descifrado utiliza la misma estructura que el cifrado, pero con las claves en orden inverso. (Esto tiene la ventaja de que se puede usar el mismo hardware o software en ambas direcciones).

Estructura general

La estructura general del algoritmo se muestra en la Figura 1: hay 16 etapas de procesamiento idénticas, denominadas rondas . También hay una permutación inicial y final , denominadas IP y FP , que son inversas (IP "deshace" la acción de FP, y viceversa). IP y FP no tienen significado criptográfico, pero se incluyeron para facilitar la carga y descarga de bloques en el hardware de 8 bits de mediados de la década de 1970. [ 30 ]

Antes de las rondas principales, el bloque se divide en dos mitades de 32 bits y se procesa alternativamente; este proceso cruzado se conoce como esquema Feistel . La estructura Feistel garantiza que el cifrado y el descifrado sean procesos muy similares; la única diferencia radica en que las subclaves se aplican en orden inverso durante el descifrado. El resto del algoritmo es idéntico. Esto simplifica enormemente la implementación, especialmente en hardware, ya que no se requieren algoritmos de cifrado y descifrado independientes.

El símbolo ⊕ representa la operación XOR ( OR exclusivo ). La función F mezcla la mitad de un bloque con parte de la clave. El resultado de la función F se combina con la otra mitad del bloque, y las mitades se intercambian antes de la siguiente ronda. Tras la ronda final, las mitades se intercambian; esta es una característica de la estructura Feistel que hace que el cifrado y el descifrado sean procesos similares.

La función de Feistel (F)

La función F, representada en la Figura 2, opera sobre medio bloque (32 bits) a la vez y consta de cuatro etapas:

Expansion functionSubstitution box 1Substitution box 2Substitution box 3Substitution box 4Substitution box 5Substitution box 6Substitution box 7Substitution box 8PermutationXOR
Figura 2 — Función de Feistel (función F) del DES
  1. Expansión : el medio bloque de 32 bits se expande a 48 bits mediante la permutación de expansión , denotada como E en el diagrama, duplicando la mitad de los bits. La salida consta de ocho piezas de 6 bits (8 × 6 = 48 bits), cada una con una copia de 4 bits de entrada correspondientes, más una copia del bit inmediatamente adyacente de cada una de las piezas de entrada a cada lado.
  2. Mezcla de claves : el resultado se combina con una subclave mediante una operación XOR. Dieciséis subclaves de 48 bits (una para cada ronda) se derivan de la clave principal utilizando el esquema de claves (que se describe a continuación).
  3. Sustitución : tras incorporar la subclave, el bloque se divide en ocho fragmentos de 6 bits antes de ser procesado por las cajas S , o cajas de sustitución . Cada una de las ocho cajas S reemplaza sus seis bits de entrada con cuatro bits de salida según una transformación no lineal, proporcionada en forma de tabla de consulta . Las cajas S constituyen la base de la seguridad de DES; sin ellas, el cifrado sería lineal y fácilmente vulnerable.
  4. Permutación : finalmente, las 32 salidas de las cajas S se reorganizan según una permutación fija , la caja P. Esto está diseñado para que, después de la permutación, los bits de la salida de cada caja S en esta ronda se distribuyan entre cuatro cajas S diferentes en la siguiente ronda.

La alternancia de sustitución a partir de las cajas S y la permutación de bits a partir de la caja P y la expansión E proporciona, respectivamente, la denominada " confusión y difusión ", un concepto identificado por Claude Shannon en la década de 1940 como una condición necesaria para un cifrado seguro pero práctico.

Horario clave

Permuted choice 1Permuted choice 2Permuted choice 2Permuted choice 2Permuted choice 2Left shift by 1Left shift by 1Left shift by 1Left shift by 1Left shift by 2Left shift by 2Left shift by 1Left shift by 1
Figura 3 — El cronograma clave de DES

La Figura 3 ilustra el esquema de claves para el cifrado: el algoritmo que genera las subclaves. Inicialmente, se seleccionan 56 bits de la clave de los 64 iniciales mediante la Opción Permutada 1 ( PC-1 ); los ocho bits restantes se descartan o se utilizan como bits de verificación de paridad . Los 56 bits se dividen en dos mitades de 28 bits; cada mitad se procesa por separado. En rondas sucesivas, ambas mitades se rotan a la izquierda uno o dos bits (especificado para cada ronda), y luego se seleccionan 48 bits de subclave mediante la Opción Permutada 2 ( PC-2 ): 24 bits de la mitad izquierda y 24 de la derecha. Las rotaciones (indicadas con "<<<" en el diagrama) implican que se utiliza un conjunto diferente de bits en cada subclave; cada bit se utiliza en aproximadamente 14 de las 16 subclaves.

El esquema de claves para el descifrado es similar: las subclaves están en orden inverso al del cifrado. Aparte de este cambio, el proceso es el mismo que para el cifrado. Los mismos 28 bits se transmiten a todas las cajas de rotación.

Pseudocódigo

A continuación se muestra el pseudocódigo del algoritmo DES.

// Todas las variables son de 64 bits sin signo.// Preprocesamiento: relleno con la diferencia de tamaño en bytes para rellenar el mensaje hasta alcanzar un múltiplo de 64 bits de longitud.var key // Las claves proporcionadas por el usuario var keys [ 16 ] var left , right// Generar claves// PC1 (64 bits a 56 bits) clave := permutación ( clave , PC1 ) izquierda := ( clave desplazamiento a la derecha 28 ) y 0xFFFFFFF derecha := clave y 0xFFFFFFFpara i de 1 a 16 hacer derecha := derecha izquierda rotar KEY_shift [ i ] izquierda := izquierda izquierda rotar KEY_shift [ i ] var concat := ( izquierda izquierda shift 28 ) o derecha // PC2 (56 bits a 48 bits) keys [ i ] := permutación ( concat , PC2 ) fin para// Para descifrar un mensaje, invierta el orden de las claves. Si se descifra, invierta las claves. Fin de la condición .// Cifra o descifra para cada bloque de 64 bits del mensaje con relleno do var tmp// IP chunk := permutación ( chunk , IP ) izquierda := chunk desplazamiento a la derecha 32 derecha := chunk y 0xFFFFFFFF para i de 1 a 16 hacer tmp := derecha // E (32 bits a 48 bits) derecha := expansión ( derecha , E ) derecha := derecha xor keys [ i ] // Sustitución (48 bits a 32 bits) derecha := sustitución ( derecha ) // P derecha := permutación ( derecha , P ) derecha := derecha xor izquierda izquierda := tmp fin para // Concatenar derecha e izquierda var cipher_chunk := ( derecha desplazamiento a la izquierda 32 ) o izquierda // FP cipher_chunk := permutación ( cipher_chunk , FP ) fin para

Seguridad y criptoanálisis

Aunque se ha publicado más información sobre el criptoanálisis de DES que sobre cualquier otro cifrado de bloques, el ataque más práctico hasta la fecha sigue siendo el de fuerza bruta. Se conocen varias propiedades criptoanalíticas menores, y son posibles tres ataques teóricos que, si bien tienen una complejidad teórica menor que un ataque de fuerza bruta, requieren una cantidad irreal de textos planos conocidos o elegidos para llevarse a cabo, y no representan una preocupación en la práctica.

Ataque de fuerza bruta

Para cualquier cifrado , el método de ataque más básico es la fuerza bruta : probar todas las claves posibles una por una. La longitud de la clave determina el número de claves posibles y, por lo tanto, la viabilidad de este enfoque. En el caso de DES, surgieron dudas sobre la idoneidad de su tamaño de clave desde el principio, incluso antes de que se adoptara como estándar, y fue precisamente el pequeño tamaño de la clave, más que el criptoanálisis teórico, lo que dictó la necesidad de un algoritmo de reemplazo . Como resultado de las discusiones con consultores externos, incluida la NSA, el tamaño de la clave se redujo de 256 bits a 56 bits para que cupiera en un solo chip. [ 31 ]

La máquina de descifrado DES de la EFF , valorada en 250.000 dólares estadounidenses , contenía 1.856 chips personalizados y podía descifrar una clave DES por fuerza bruta en cuestión de días; la foto muestra una placa de circuito del DES Cracker equipada con varios chips Deep Crack.

En el ámbito académico, se presentaron varias propuestas para una máquina de descifrado DES. En 1977, Diffie y Hellman propusieron una máquina con un costo estimado de $20,000,000 (equivalente a $106,260,297 en 2025) que podría encontrar una clave DES en un solo día. [ 1 ] [ 32 ] Para 1993, Wiener había propuesto una máquina de búsqueda de claves con un costo de $1,000,000 (equivalente a $2,228,749 en 2025) que encontraría una clave en 7 horas. Sin embargo, ninguna de estas primeras propuestas se implementó jamás, o al menos, ninguna implementación fue reconocida públicamente. La vulnerabilidad de DES se demostró prácticamente a finales de la década de 1990. [ 33 ] En 1997, RSA Security patrocinó una serie de concursos, ofreciendo un premio de $10,000 al primer equipo que descifrara un mensaje cifrado con DES para el concurso. Ese concurso fue ganado por el Proyecto DESCHALL , liderado por Rocke Verser, Matt Curtin y Justin Dolske, utilizando ciclos de inactividad de miles de computadoras en Internet. La viabilidad de descifrar DES rápidamente se demostró en 1998 cuando la Electronic Frontier Foundation (EFF), un grupo de derechos civiles en el ciberespacio, construyó un descifrador de DES personalizado, con un costo aproximado de $250,000 (equivalente a $493,824 en 2025) (ver descifrador de DES de la EFF ). Su motivación era demostrar que DES era vulnerable tanto en la práctica como en la teoría: " Hay muchas personas que no creerán una verdad hasta que la vean con sus propios ojos. Mostrarles una máquina física que puede descifrar DES en unos días es la única manera de convencer a algunas personas de que realmente no pueden confiar su seguridad a DES " . La máquina descifró una clave por fuerza bruta en poco más de 2 días de búsqueda.

El siguiente descifrador de DES confirmado fue la máquina COPACOBANA construida en 2006 por equipos de las Universidades de Bochum y Kiel , ambas en Alemania . A diferencia de la máquina EFF, COPACOBANA consta de circuitos integrados reconfigurables disponibles comercialmente. 120 de estas matrices de puertas programables en campo (FPGA) del tipo XILINX Spartan-3 1000 funcionan en paralelo. Están agrupadas en 20 módulos DIMM, cada uno con 6 FPGA. El uso de hardware reconfigurable hace que la máquina sea aplicable también a otras tareas de descifrado de códigos. [ 34 ] Uno de los aspectos más interesantes de COPACOBANA es su factor de costo. Una máquina se puede construir por aproximadamente $10000 (equivalente a $15,527 en 2025) . [ 35 ] La disminución del costo en aproximadamente un factor de 25 con respecto a la máquina EFF es un ejemplo de la mejora continua del hardware digital —véase la ley de Moore . Desde 2007, SciEngines GmbH , una empresa derivada de los dos socios del proyecto COPACOBANA, ha mejorado y desarrollado sucesores de COPACOBANA. En 2008, su COPACOBANA RIVYERA redujo el tiempo necesario para romper DES a menos de un día, utilizando 128 Spartan-3 5000. SciEngines RIVYERA ostentaba el récord de ruptura por fuerza bruta de DES, habiendo utilizado 128 FPGA Spartan-3 5000. Su modelo LX150 de 256 Spartan-6 ha reducido aún más este tiempo. [ 36 ]

En 2012, David Hulton y Moxie Marlinspike anunciaron un sistema con 48 FPGA Xilinx Virtex-6 LX240T, cada FPGA contenía 40 núcleos DES totalmente segmentados que se ejecutaban a400  MHz , para una capacidad total de 768 gigakeys/seg. [ 37 ] El sistema puede buscar exhaustivamente en todo el espacio de claves DES de 56 bits en aproximadamente 26 horas y este servicio se ofrece en línea por una tarifa. [ 38 ] Sin embargo, el servicio ha estado fuera de servicio desde 2024.para mantenimiento [ 38 ]

Ataques más rápidos que la fuerza bruta

Se conocen tres ataques que pueden romper las 16 rondas completas de DES con menos complejidad que una búsqueda por fuerza bruta: criptoanálisis diferencial (DC), [ 39 ] criptoanálisis lineal (LC), [ 40 ] y el ataque de Davies . [ 41 ] Sin embargo, los ataques son teóricos y generalmente se consideran inviables en la práctica; este tipo de ataques a veces se denominan debilidades de certificación.

  • El criptoanálisis diferencial fue redescubierto a finales de la década de 1980 por Eli Biham y Adi Shamir ; era conocido anteriormente tanto por IBM como por la NSA y se mantuvo en secreto. Para romper las 16 rondas completas, el criptoanálisis diferencial requiere 2 47 textos planos elegidos . [ 39 ] DES fue diseñado para ser resistente al DC.
  • El criptoanálisis lineal fue descubierto por Mitsuru Matsui y requiere 2 43 textos planos conocidos ; [ 40 ] el método fue implementado por Matsui en 1994 y fue el primer criptoanálisis experimental de DES que se informó. No hay evidencia de que DES haya sido diseñado para ser resistente a este tipo de ataque. Una generalización de LC —criptoanálisis lineal múltiple— fue sugerida en 1994 y fue refinada posteriormente por Biryukov y otros; su análisis sugiere que se podrían usar múltiples aproximaciones lineales para reducir los requisitos de datos del ataque en al menos un factor de 4 (es decir, 2 41 en lugar de 2 43 ). [ 42 ] Una reducción similar en la complejidad de datos se puede obtener en una variante de texto plano elegido del criptoanálisis lineal. [ 43 ] Junod realizó varios experimentos para determinar la complejidad temporal real del criptoanálisis lineal, e informó que era algo más rápido de lo previsto, requiriendo un tiempo equivalente a 2 evaluaciones DES 39-41 . [ 44 ]
  • Ataque de Davies mejorado : mientras que el criptoanálisis lineal y diferencial son técnicas generales y se pueden aplicar a varios esquemas, el ataque de Davies es una técnica especializada para DES, sugerida por primera vez por Donald Davies en los años ochenta y mejorada por Biham y Biryukov en 1997. [ 41 ] [ 45 ] La forma más potente del ataque requiere 2 50 textos planos conocidos , tiene una complejidad computacional de 2 50 y tiene una tasa de éxito del 51 %.

También se han propuesto ataques contra versiones con menos rondas del cifrado, es decir, versiones de DES con menos de 16 rondas. Este tipo de análisis permite comprender cuántas rondas son necesarias para garantizar la seguridad y qué margen de seguridad conserva la versión completa.

El criptoanálisis diferencial-lineal fue propuesto por Langford y Hellman en 1994 y combina el criptoanálisis diferencial y lineal en un solo ataque. [ 46 ] Una versión mejorada del ataque puede romper DES de 9 rondas con 2 15,8 textos planos elegidos y tiene una complejidad temporal de 2 29,2 . [ 47 ]

Propiedades criptoanalíticas menores

DES exhibe la propiedad de complementación, a saber, que

miK(PAG)=domiK¯(PAG¯)=do¯{\displaystyle E_{K}(P)=C\iff E_{\overline {K}}({\overline {P}})={\overline {C}}}

dóndeincógnita¯{\displaystyle {\overline {x}}}es el complemento bit a bit deincógnita.{\displaystyle x.}miK{\displaystyle E_{K}}indica cifrado con claveK.{\displaystyle K.}PAG{\displaystyle P}ydo{\displaystyle C}denotan los bloques de texto plano y texto cifrado, respectivamente. La propiedad de complementación significa que el trabajo para un ataque de fuerza bruta podría reducirse en un factor de 2 (o un solo bit) bajo el supuesto de texto plano elegido . Por definición, esta propiedad también se aplica al cifrado TDES. [ 48 ]

DES también tiene cuatro llamadas claves débiles . El cifrado ( E ) y el descifrado ( D ) con una clave débil tienen el mismo efecto (véase involución ):

miK(miK(PAG))=PAG{\ Displaystyle E_ {K} (E_ {K} (P)) = P}o equivalentemente,miK=DK.{\displaystyle E_{K}=D_{K}.}

También hay seis pares de claves semidébiles . El cifrado con uno de los pares de claves semidébiles,K1{\displaystyle K_{1}}, funciona de forma idéntica al descifrado con el otro,K2{\displaystyle K_{2}}:

miK1(miK2(PAG))=PAG{\ Displaystyle E_ {K_ {1}} (E_ {K_ {2}} (P)) = P}o equivalentemente,miK2=DK1.{\ Displaystyle E_ {K_ {2}} = D_ {K_ {1}}.}

Es bastante sencillo evitar las claves débiles y semidébiles en una implementación, ya sea comprobándolas explícitamente o simplemente eligiéndolas al azar; la probabilidad de elegir una clave débil o semidébil por casualidad es insignificante. En realidad, estas claves no son más débiles que las demás, ya que no otorgan ninguna ventaja a un ataque.

También se ha demostrado que DES no es un grupo , o más precisamente, el conjunto.{miK}{\displaystyle \{E_{K}\}}(para todas las claves posibles)K{\displaystyle K}) bajo composición funcional no es un grupo, ni "cercano" a ser un grupo. [ 49 ] Esta fue una cuestión abierta durante algún tiempo, y si hubiera sido así, habría sido posible romper DES, y los modos de cifrado múltiples como Triple DES no aumentarían la seguridad, porque el cifrado repetido (y el descifrado) con diferentes claves sería equivalente al cifrado con otra clave única. [ 50 ]

DES simplificado

El DES simplificado (SDES) fue diseñado exclusivamente con fines educativos, para ayudar a los estudiantes a aprender sobre técnicas criptoanalíticas modernas. SDES tiene una estructura y propiedades similares a las de DES, pero se ha simplificado para facilitar el cifrado y descifrado manual con lápiz y papel. Algunos consideran que aprender SDES permite comprender mejor DES y otros cifrados de bloques, así como diversos ataques criptoanalíticos contra ellos. [ 51 ] [ 52 ] [ 53 ]

Algoritmos de reemplazo

Las preocupaciones sobre la seguridad y la relativa lentitud del algoritmo DES en el software motivaron a los investigadores a proponer diversos diseños alternativos de cifrado por bloques , que comenzaron a aparecer a finales de la década de 1980 y principios de la de 1990. Algunos ejemplos son RC5 , Blowfish , IDEA , NewDES , SAFER , CAST5 y FEAL . La mayoría de estos diseños conservaban el tamaño de bloque de 64 bits de DES y podían funcionar como un reemplazo directo, aunque generalmente utilizaban una clave de 64 o 128 bits. En la Unión Soviética se introdujo el algoritmo GOST 28147-89 , con un tamaño de bloque de 64 bits y una clave de 256 bits, que también se utilizó posteriormente en Rusia .

Otro enfoque para fortalecer DES fue el desarrollo de Triple DES (3DES) , que aplica el algoritmo DES tres veces a cada bloque de datos para aumentar la seguridad. Sin embargo, el NIST posteriormente descontinuó 3DES debido a su ineficiencia y vulnerabilidad a ciertos ataques criptográficos.

Un aspecto crucial de DES reside en sus permutaciones y la programación de claves , que desempeñan un papel fundamental en su proceso de cifrado. El análisis de estas permutaciones ayuda a comprender las limitaciones de seguridad de DES y la necesidad de algoritmos alternativos. Un análisis detallado de las permutaciones de DES y su función en el cifrado se encuentra disponible en este análisis de Permutaciones de Estándares de Cifrado de Datos. [ 54 ]

DES puede adaptarse y reutilizarse en un esquema más seguro. Muchos antiguos usuarios de DES ahora utilizan Triple DES (TDES), descrito y analizado por uno de los titulares de la patente de DES (véase FIPS Pub 46-3); este método consiste en aplicar DES tres veces con dos (2TDES) o tres (3TDES) claves diferentes. TDES es bastante lento y en su momento se consideró suficientemente seguro, pero desde entonces ha sido vulnerado por ataques como Sweet32. Una alternativa menos costosa computacionalmente es DES-X , que aumenta el tamaño de la clave mediante la operación XOR con material de clave adicional antes y después de DES. GDES fue una variante de DES propuesta para acelerar el cifrado, pero se demostró que era vulnerable al criptoanálisis diferencial.

El 2 de enero de 1997, el NIST anunció que deseaba elegir un sucesor para DES. [ 55 ] En 2001, tras una competición internacional, el NIST seleccionó un nuevo cifrado, el Estándar de Cifrado Avanzado (AES), como reemplazo. [ 56 ] El algoritmo que fue seleccionado como AES fue presentado por sus diseñadores bajo el nombre de Rijndael . Otros finalistas en la competición AES del NIST incluyeron RC6 , Serpent , MARS y Twofish . [ 2 ]

Véase también

Referencias

  1. 1 2 3 4 Diffie, Whitfield; Hellman, Martin E. (junio de 1977). "Criptoanálisis exhaustivo del estándar de cifrado de datos del NBS" (PDF) . Computer . 10 (6): 74–84 . doi : 10.1109/CM.1977.217750 . S2CID 2412454. Archivado del original (PDF) el 26 de febrero de 2014. 
  2. 1 2 Paar, Christof; Pelzl, Jan; Güneysu, Tim (2024). Comprensión de la criptografía: de los cifrados simétricos y asimétricos establecidos a los algoritmos postcuánticos (Segunda edición). Berlín: Springer. ISBN  978-3-662-69006-2.
  3. 1 2 "El legado de DES - Schneier sobre seguridad" . www.schneier.com . 6 de octubre de 2004.
  4. Menezes, AJ; van Oorschot, PC; Vanstone, SA (1996). Manual de criptografía aplicada . CRC Press. págs. 388–392 . ISBN  0849385237.
  5. 1 2 Bátiz-Lazo, Bernardo (2018). Cash and Dash: How ATMs and Computers Changed Banking . Oxford University Press . pp. 284 y 311. ISBN  9780191085574.
  6. Walter Tuchman (1997). «Una breve historia del estándar de cifrado de datos». Internet asediado: cómo contrarrestar a los infractores del ciberespacio . Nueva York, NY: ACM Press/Addison-Wesley Publishing Co., págs. 275-280 . ISBN  978-0201308204.
  7. "Impactos económicos del programa Estándar de Cifrado de Datos (DES) del NIST" (PDF) . Instituto Nacional de Estándares y Tecnología . Departamento de Comercio de los Estados Unidos . Octubre de 2001. Archivado del original (PDF) el 30 de agosto de 2017. Consultado el 21 de agosto de 2019 .
  8. Konheim, Alan G. (1 de abril de 2016). "Cajeros automáticos: su historia y protocolos de autenticación" . Journal of Cryptographic Engineering . 6 (1): 1– 29. doi : 10.1007/s13389-015-0104-3 . ISSN 2190-8516 . S2CID 1706990. Archivado del original el 22 de julio de 2019. Recuperado el 28 de agosto de 2019 .  
  9. RSA Laboratories. "PKCS #7 - Estándar de sintaxis de mensajes criptográficos - 3.2.2 DES - ¿Se ha roto DES?" . www.emc.com . Archivado del original el 17-05-2016 . Consultado el 08-11-2009 .
  10. Schneier. Criptografía aplicada (2.ª ed.). pág. 280. doi : 10.1002/9781119183471 . ISBN   9780471128458.
  11. Davies, DW; Price, WL (1989). Seguridad para redes informáticas: Introducción a la seguridad de datos en el teleprocesamiento y la transferencia electrónica de fondos (2.ª ed.). John Wiley & Sons. ISBN  978-0471921370.
  12. Sugarman, R. (julio de 1979). "Sobre cómo frustrar los delitos informáticos". IEEE Spectrum . 16 (7): 31– 32.
  13. P. Kinnucan (octubre de 1978). "Gurús del cifrado de datos: Tuchman y Meyer". Cryptologia . 2 (4): 371. doi : 10.1080/0161-117891853270 .
  14. Thomas R. Johnson (18 de diciembre de 2009). "Criptología estadounidense durante la Guerra Fría, 1945-1989. Libro III: Recorte y reforma, 1972-1980, página 232" (PDF) . Agencia de Seguridad Nacional , DOCID 3417193 (archivo publicado el 18 de diciembre de 2009, alojado en nsa.gov). Archivado del original (PDF) el 18 de septiembre de 2013. Recuperado el 10 de julio de 2014 .
  15. Thomas R. Johnson (18 de diciembre de 2009). «Criptología estadounidense durante la Guerra Fría, 1945-1989. Libro III: Recorte y reforma, 1972-1980, página 232» (PDF) . Agencia de Seguridad Nacional . Archivado (PDF) del original el 25 de abril de 2015. Recuperado el 16 de julio de 2015 mediante solicitud FOIA del Archivo de Seguridad Nacional . Esta versión está censurada de forma diferente a la versión del sitio web de la NSA.
  16. Thomas R. Johnson (18 de diciembre de 2009). «Criptología estadounidense durante la Guerra Fría, 1945-1989. Libro III: Recorte y reforma, 1972-1980, página 232» (PDF) . Agencia de Seguridad Nacional . Archivado (PDF) del original el 25 de abril de 2015. Recuperado el 16 de julio de 2015 mediante solicitud FOIA del Archivo de Seguridad Nacional . Esta versión está censurada de forma diferente a la versión del sitio web de la NSA.
  17. Konheim. Seguridad informática y criptografía . pág. 301. 
  18. 1 2 Levy, Crypto , pág. 55
  19. Schneier, Bruce (27 de septiembre de 2004). "Rindiendo homenaje al legado del cifrado de datos" . CNet . Consultado el 22 de julio de 2015 .
  20. 1 2 Instituto Nacional de Estándares y Tecnología , Publicación Especial NIST 800-67 Recomendación para el Cifrado de Bloques del Algoritmo de Cifrado de Datos Triple (TDEA) , Versión 1.1
  21. Instituto Nacional Estadounidense de Estándares , ANSI X3.92-1981 (ahora conocido como ANSI INCITS 92-1981) Estándar Nacional Estadounidense, Algoritmo de Cifrado de Datos
  22. "ISO/IEC 18033-3:2010 Tecnología de la información—Técnicas de seguridad—Algoritmos de cifrado—Parte 3: Cifrados por bloques" . Iso.org. 14 de diciembre de 2010. Consultado el 21 de octubre de 2011 .
  23. Bruce Schneier, Criptografía aplicada, protocolos, algoritmos y código fuente en C, Segunda edición, John Wiley and Sons, Nueva York (1996), pág. 267
  24. William E. Burr, "Estándar de cifrado de datos", en la antología del NIST "Un siglo de excelencia en mediciones, estándares y tecnología: una crónica de publicaciones seleccionadas del NBS/NIST, 1901-2000". HTML archivado el 19/06/2009 en Wayback Machine . PDF archivado el 23/08/2006 en Wayback Machine.
  25. "FR Doc 04-16894" . Edocket.access.gpo.gov . Consultado el 2 de junio de 2009 .
  26. S. Kumar, C. Paar, J. Pelzl, G. Pfeiffer, A. Rupp, M. Schimmler, "Cómo romper DES por 8980 euros". Segundo taller sobre hardware de propósito especial para atacar sistemas criptográficos (SHARCS 2006), Colonia, Alemania, 3-4 de abril de 2006.
  27. "Crack.sh | El descifrador de DES más rápido del mundo" .
  28. "FIPS 81 - Modos de operación de Des" . csrc.nist.gov . Consultado el 2 de junio de 2009 .
  29. "FIPS 74 - Directrices para la implementación y el uso de los datos del NBS" . Itl.nist.gov. Archivado del original el 3 de enero de 2014. Consultado el 2 de junio de 2009 .
  30. Schneier. Criptografía aplicada (1.ª ed.). pág. 271.  
  31. Stallings, W. (2006). Criptografía y seguridad de redes: principios y práctica (4.ª ed.). Pearson/Prentice Hall. pág. 73. ISBN   9780131873162.
  32. Turover, D. "Bruting DES" . hamburgsteak.sandwich.net . autoeditado.
  33. van Oorschot, Paul C.; Wiener, Michael J. (1991), "A Known-Plaintext Attack on Two-Key Triple Encryption", en Damgård, Ivan Bjerre (ed.), Advances in Cryptology – EUROCRYPT '90 , vol. 473, Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 318–325 , doi : 10.1007/3-540-46877-3_29 , ISBN   978-3-540-53587-4
  34. Paar, C.; Schimmler, L. (12 de diciembre de 2006). "Primeros pasos, COPAOBANA: descifrador de códigos paralelo optimizado en costos" (PDF) . Alemania. Archivado del original (PDF) el 15 de mayo de 2012. Recuperado el 6 de marzo de 2012 .
  35. Wobst, Reinhard (16 de octubre de 2007). Criptología al descubierto . John Wiley & Sons. ISBN 9780470060643.
  36. "Rompe el DES en menos de un día" . www.sciengines.com . SciEngines, GmbH. Archivado del original el 28 de agosto de 2017.
  37. Hulton, David; Foster, Ian (25 de julio de 2017). ¿Crees que las contraseñas complejas te salvarán? (PDF) . BSidesLv 2017. Consultado el 18 de noviembre de 2025 .
  38. 1 2 "DES Cracker está actualmente fuera de servicio por mantenimiento" . crack.sh . ToorCon, Inc.
  39. 1 2 Biham, E.; Shamir, A. (1993). Criptoanálisis diferencial del estándar de cifrado de datos . Shamir, Adi. Nueva York: Springer-Verlag. pp. 487–496 . doi : 10.1007/978-1-4613-9314-6 . ISBN  978-0387979304. OCLC 27173465 . S2CID 6361693 .  
  40. 1 2 Matsui, Mitsuru (1993-05-23). ​​"Método de criptoanálisis lineal para el cifrado DES". Avances en criptología — EUROCRYPT '93 . Notas de clase en ciencias de la computación. Vol. 765. Springer, Berlín, Heidelberg. págs. 386–397 . doi : 10.1007/3-540-48285-7_33 . ISBN   978-3540482857.
  41. 1 2 Davies, DW (1987). "Investigación de una posible debilidad en el algoritmo DES, Comunicaciones privadas" . Comunicaciones privadas .
  42. Biryukov, Alex; Cannière, Christophe De; Quisquater, Michaël (15 de agosto de 2004). «Sobre aproximaciones lineales múltiples». Avances en criptología – CRYPTO 2004. Notas de clase en informática. Vol. 3152. Springer, Berlín, Heidelberg. págs. 1–22 . doi : 10.1007/978-3-540-28628-8_1 . ISBN   9783540226680.
  43. Knudsen, Lars R.; Mathiassen, John Erik (10 de abril de 2000). "Un ataque lineal de texto plano elegido contra DES". Cifrado rápido de software . Notas de clase en ciencias de la computación. Vol. 1978. Springer, Berlín, Heidelberg. págs. 262–272 . doi : 10.1007/3-540-44706-7_18 . ISBN   978-3540447061.
  44. Junod, Pascal (16 de agosto de 2001). «Sobre la complejidad del ataque de Matsui». Áreas selectas en criptografía . Notas de clase en ciencias de la computación. Vol. 2259. Springer, Berlín, Heidelberg. págs. 199–211 . doi : 10.1007/3-540-45537-X_16 . ISBN   978-3540455370.
  45. Biham, Eli; Biryukov, Alex (1997-06-01). "Una mejora del ataque de Davies a DES" . Journal of Cryptology . 10 (3): 195– 205. doi : 10.1007/s001459900027 . ISSN 0933-2790 . S2CID 4070446 .  
  46. Langford, Susan K.; Hellman, Martin E. (1994-08-21). «Criptoanálisis diferencial-lineal». Avances en criptología — CRYPTO '94 . Notas de clase en ciencias de la computación. Vol. 839. Springer, Berlín, Heidelberg. págs. 17–25 . doi : 10.1007/3-540-48658-5_3 . ISBN   978-3540486589.
  47. Biham, Eli; Dunkelman, Orr; Keller, Nathan (1 de diciembre de 2002). «Mejora del criptoanálisis diferencial-lineal». Avances en criptología — ASIACRYPT 2002. Notas de clase en ciencias de la computación. Vol. 2501. Springer, Berlín, Heidelberg. págs. 254–266 . doi : 10.1007/3-540-36178-2_16 . ISBN   978-3540361787.
  48. ↑ Menezes, Alfred J.; van Oorschot , Paul C.; Vanstone, Scott A. (1996). Manual de criptografía aplicada . CRC Press. pág. 257. ISBN  978-0849385230.
  49. Brickell, Ernest F. (16 de agosto de 1992). Campbell and Wiener, 1992. págs. 512–520 . ISBN  9783540573401.
  50. "Double DES" (PDF) . Archivado (PDF) del original el 9 de abril de 2011.
  51. Stallings, William (2011). Criptografía y seguridad de redes: principios y práctica (PDF) (5.ª ed.). Boston: Prentice Hall. págs. G1-9. ISBN   0136097049.
  52. Schaefer, Edward F. (enero de 1996). "Un algoritmo estándar de cifrado de datos simplificado". Cryptologia . 20 (1): 77– 84. doi : 10.1080/0161-119691884799 .
  53. "Investigación en criptografía: ideando una mejor manera de enseñar y aprender el Estándar de Cifrado Avanzado" . www.scu.edu . Universidad de Santa Clara. 2011. Archivado del original el 29 de agosto de 2011.
  54. "Estándar de cifrado de datos | Permutaciones DES de 64 bits" . 24/03/2025 . Consultado el 25/03/2025 .
  55. "Anuncio del desarrollo de FIPS para el Estándar de Cifrado Avanzado | CSRC" . 10 de enero de 2017.
  56. Publicación 197 de las Normas Federales de Procesamiento de la Información | Anuncio del Estándar de Cifrado Avanzado (AES) (PDF) (Informe). 26 de noviembre de 2001. fips-197.
  • FIPS 46-3: Documento oficial que describe el estándar DES. Archivado el 18/11/2017 en Wayback Machine (PDF).
  • COPACOBANA, un descifrador de DES de 10.000 dólares basado en FPGAs por las Universidades de Bochum y Kiel.
  • Presentación paso a paso de DES y aplicación de codificación de mensajes confiable
  • Una nueva y rápida implementación de DES en software - Biham
  • Sobre aproximaciones lineales múltiples
  • RFC4772  : Implicaciones de seguridad del uso del Estándar de Cifrado de Datos (DES)
  • Código Python del cifrado DES implementado utilizando el capítulo DES de NIST SP 958.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Data_Encryption_Standard&oldid=1360645803 "