Estándar de cifrado de datos - Data Encryption Standard

Estándar de cifrado de datos
Diagrama de flujo estándar de encripción de datos.svg
La función Feistel (función F) de DES
General
Diseñadores IBM
Publicado por primera vez 1975 (Registro Federal) (estandarizado en enero de 1977)
Derivado de Lucifer
Sucesores Triple DES , G-DES , DES-X , LOKI89 , ICE
Detalle de cifrado
Tamaños de clave 56 bits
Tamaños de bloque 64 bits
Estructura Red Feistel equilibrada
Rondas dieciséis
Mejor criptoanálisis público
DES se ha considerado inseguro desde el principio debido a la viabilidad de los ataques de fuerza bruta. Dichos ataques se han demostrado en la práctica (consulte el cracker EFF DES ) y ahora están disponibles en el mercado como un servicio. A partir de 2008, el mejor ataque analítico es el criptoanálisis lineal , que requiere 2 43 textos sin formato conocidos y tiene una complejidad de tiempo de 2 39–43 (Junod, 2001).

El Data Encryption Standard ( DES / ˌ d i ˌ i ɛ s , d ɛ z / ) es un algoritmo de clave simétrica para el cifrado de datos digitales. Aunque su longitud de clave corta de 56 bits la hace demasiado insegura para las aplicaciones, ha tenido una gran influencia 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 se envió 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 electrónicos sensibles y no clasificados. 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 Estados Unidos en 1977.

La publicación de un estándar de cifrado aprobado por la NSA llevó a su rápida adopción internacional y al escrutinio académico generalizado. Surgieron controversias a partir de elementos de diseño clasificados , una longitud de clave relativamente corta del diseño de cifrado de bloque 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 eliminar una puerta trasera que conocían en secreto ( criptoanálisis diferencial ). Sin embargo, la NSA también se aseguró de que el tamaño de la clave se redujera drásticamente para que pudieran romper el cifrado mediante un ataque de fuerza bruta. El intenso escrutinio académico que recibió el algoritmo a lo largo del tiempo condujo a la comprensión moderna de los cifrados en bloque y su criptoanálisis .

DES es inseguro debido al tamaño de clave relativamente corto de 56 bits . En enero de 1999, distribution.net y Electronic Frontier Foundation colaboraron para romper públicamente una clave DES en 22 horas y 15 minutos (ver cronología ). También hay algunos resultados analíticos que demuestran debilidades teóricas en el cifrado, aunque no son factibles en la práctica. Se cree que el algoritmo es prácticamente seguro en forma de Triple DES , aunque existen ataques teóricos. Este cifrado ha sido reemplazado por el Estándar de cifrado avanzado (AES). DES ha sido retirado como estándar por el Instituto Nacional de Estándares y Tecnología .

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 de los EE. UU. Identificó la necesidad de un estándar para todo el gobierno para encriptar información sensible no clasificada.

Aproximadamente al mismo tiempo, el ingeniero Mohamed Atalla en 1972 fundó Atalla Corporation y desarrolló el primer módulo de seguridad de hardware (HSM), el llamado "Atalla Box" que se comercializó en 1973. Protegió los dispositivos fuera de línea con una clave de generación de PIN seguro , 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 estimuló el desarrollo de un estándar de cifrado internacional. Atalla fue uno de los primeros competidores de IBM en el mercado bancario y fue citada como una influencia por los empleados de IBM que trabajaron en el estándar DES. El IBM 3624 después adoptó un sistema de verificación del PIN similar al sistema anterior Atalla.

El 15 de mayo de 1973, después de consultar con la NSA, NBS solicitó propuestas para un cifrado que cumpliera con rigurosos criterios de diseño. Ninguna de las presentaciones fue adecuada. Una segunda solicitud se publicó el 27 de agosto de 1974. Esta vez, IBM presentó un candidato que se consideró aceptable, un sistema de cifrado desarrollado durante el período de 1973 a 1974 sobre la base de un algoritmo anterior, Horst Feistel 's Lucifer cifrado. El equipo de IBM involucrado en el diseño y análisis de cifrado incluyó 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 del público y en el año siguiente se llevaron a cabo dos talleres abiertos para discutir la norma propuesta. Se recibieron críticas de los pioneros de la criptografía de clave pública Martin Hellman y Whitfield Diffie , citando una longitud de clave más corta y las misteriosas " cajas S " como evidencia de una interferencia inapropiada de la NSA. Se sospechaba que el algoritmo había sido debilitado de forma encubierta por la agencia de inteligencia para que ellos, pero nadie más, pudieran leer fácilmente los mensajes cifrados. Alan Konheim (uno de los diseñadores de DES) comentó: "Enviamos las cajas S a Washington. Regresaron y eran todas diferentes". 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 sin clasificar de sus hallazgos, 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 S-box; y certificaron que el algoritmo DES final estaba, según su leal saber y entender, libre de cualquier debilidad estadística o matemática.

Sin embargo, también encontró que

La NSA no alteró el diseño del algoritmo de ninguna manera. IBM inventó y diseñó el algoritmo, tomó todas las decisiones pertinentes al respecto y estuvo de acuerdo en que el tamaño de clave acordado era más que adecuado para todas las aplicaciones comerciales para las que se diseñó el DES.

Otro miembro del equipo de DES, Walter Tuchman, declaró: "Desarrollamos el algoritmo DES completamente dentro de IBM utilizando personal de IBM. ¡La NSA no dictaba ni un solo cable!" En contraste, un libro desclasificado de la NSA sobre historia criptológica afirma:

En 1973, NBS solicitó a la industria privada un estándar de cifrado de datos (DES). Las primeras ofertas 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 le dio a Tuchman una autorización y lo contrató para que trabajara conjuntamente con la Agencia en su modificación de Lucifer ".

y

La NSA trabajó en estrecha colaboración con IBM para fortalecer el algoritmo contra todos excepto los ataques de fuerza bruta y para fortalecer las tablas de sustitución, llamadas S-boxes. Por el contrario, la NSA intentó convencer a IBM de que redujera la longitud de la clave de 64 a 48 bits. Al final, se comprometieron con una clave de 56 bits.

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 Eli Biham y Adi Shamir del criptoanálisis diferencial , un método general para romper los cifrados en bloque. Las cajas S de DES eran mucho más resistentes al ataque que si hubieran sido elegidas al azar, lo que sugiere que IBM conocía la técnica en la década de 1970. Este fue de hecho el caso; en 1994, Don Coppersmith publicó algunos de los criterios de diseño originales para las cajas S. 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. Coppersmith explica la decisión de IBM sobre el secreto diciendo que "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 tal información en el dominio público pudiera afectar adversamente la seguridad nacional". Levy cita a Walter Tuchman: "[l] os pidieron sellar todos nuestros documentos como confidenciales ... De hecho, pusimos un número en cada uno y los encerramos en cajas fuertes, porque eran considerados clasificados por el gobierno de los Estados Unidos. Dijeron que lo hiciéramos. Así que Lo hice". Bruce Schneier observó que "la comunidad académica tardó dos décadas en darse cuenta de que los 'ajustes' de la NSA realmente mejoraron la seguridad de DES".

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 se reafirmó 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 " ( vea abajo). El 26 de mayo de 2002, DES fue finalmente reemplazado por el Estándar de cifrado avanzado (AES), luego de una competencia pública . El 19 de mayo de 2005, FIPS 46-3 se retiró oficialmente, pero el NIST aprobó Triple DES hasta el año 2030 para información gubernamental confidencial.

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

Otro ataque teórico, el criptoanálisis lineal, se publicó en 1994, pero fue la Electronic Frontier Foundation 's galleta DES en 1998 que demostró que DES podría ser atacado de manera muy práctica, y puso de relieve la necesidad de un algoritmo de reemplazo. Estos y otros métodos de criptoanálisis se describen con más detalle más adelante en este artículo.

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

Se puede decir que el DES ha "impulsado" el estudio no militar y el desarrollo de algoritmos de cifrado. En la década de 1970 había muy pocos criptógrafos, excepto aquellos en organizaciones militares o de inteligencia, y poco estudio académico de la criptografía. Ahora hay muchos criptólogos académicos activos, departamentos de matemáticas con sólidos programas en criptografía y empresas y consultores de seguridad de la información comercial. Una generación de criptoanalistas se ha esforzado al analizar (es decir, intentar "descifrar") el algoritmo DES. En palabras del criptógrafo Bruce Schneier , "DES hizo más para galvanizar el campo del criptoanálisis que cualquier otra cosa. Ahora había un algoritmo que estudiar". Una parte asombrosa de la literatura abierta sobre criptografía en las décadas de 1970 y 1980 trataba sobre el DES, y el DES es el estándar con el que se han comparado todos los algoritmos de clave simétrica desde entonces.

Cronología

Fecha Año Evento
15 de mayo 1973 NBS publica una primera solicitud de un algoritmo de cifrado estándar
27 de agosto 1974 NBS publica una segunda solicitud de algoritmos de cifrado
17 de marzo 1975 DES se publica en el Registro Federal para comentarios.
agosto 1976 Primer taller sobre DES
septiembre 1976 Segundo taller, discutiendo los fundamentos matemáticos de DES
noviembre 1976 DES está aprobado como estándar
15 de enero 1977 DES se publica como estándar FIPS FIPS PUB 46
junio 1977 Diffie y Hellman argumentan que el cifrado DES puede romperse mediante la fuerza bruta.
1983 DES se reafirma por primera vez
1986 Videocipher II, un sistema de codificación satelital de TV basado en DES, comienza a ser utilizado por HBO
22 de enero 1988 DES se reafirma por segunda vez como FIPS 46-1, reemplazando a FIPS PUB 46
julio 1991 Biham y Shamir redescubren el criptoanálisis diferencial y lo aplican a un criptosistema tipo DES de 15 rondas.
1992 Biham y Shamir informan del primer ataque teórico con menos complejidad que la fuerza bruta: el criptoanálisis diferencial . Sin embargo, requiere 2 47 textos sin formato elegidos poco realistas .
30 de diciembre 1993 DES se reafirma por tercera vez como FIPS 46-2
1994 El primer criptoanálisis experimental de DES se realiza mediante criptoanálisis lineal (Matsui, 1994).
junio 1997 El Proyecto DESCHALL rompe un mensaje encriptado con DES por primera vez en público.
julio 1998 El FEP 's DES galleta (Deep crack) rompe una clave DES en 56 horas.
enero 1999 Juntos, Deep Crack y Distributed.net rompen una clave DES en 22 horas y 15 minutos.
25 de octubre 1999 DES se reafirma por cuarta vez como FIPS 46-3, que especifica el uso preferido de Triple DES , con un solo DES permitido solo en sistemas heredados.
26 de noviembre 2001 El estándar de cifrado avanzado se publica en FIPS 197
26 de mayo 2002 El AES se hace efectivo
26 de julio 2004 El retiro de FIPS 46-3 (y un par de estándares relacionados) se propone en el Registro Federal.
19 de mayo 2005 NIST retira FIPS 46-3 (consulte el Registro Federal vol 70, número 96 )
abril 2006 La máquina paralela COPACOBANA basada en FPGA de las universidades de Bochum y Kiel, Alemania, rompe DES en 9 días a un costo de hardware de $ 10,000. En un año, las mejoras de software redujeron el tiempo medio a 6,4 días.
Nov. 2008 La sucesora de COPACOBANA , la máquina RIVYERA, redujo el tiempo medio a menos de un día.
agosto 2016 El hashcat del software de descifrado de contraseñas de código abierto agregado en la búsqueda de fuerza bruta DES en GPU de propósito general. La evaluación comparativa muestra que una sola GPU Nvidia GeForce GTX 1080 Ti lista para usar con un costo de $ 1000 USD recupera una clave en un promedio de 15 días (la búsqueda exhaustiva completa demora 30 días). Los sistemas se han construido con ocho GPU GTX 1080 Ti que pueden recuperar una clave en un promedio de menos de 2 días.
julio 2017 Un ataque de texto sin formato elegido que utiliza una tabla de arco iris puede recuperar la clave DES para un solo texto sin formato elegido específico 1122334455667788 en 25 segundos. Se debe calcular una nueva tabla de arco iris por texto sin formato. Se ha puesto a disposición para descargar un conjunto limitado de tablas de arcoíris.

Descripción

Initial permutation Feistel function Feistel function Feistel function Feistel function Final permutation XOR XOR XOR XOR
Figura 1 - La estructura general de Feistel de DES

DES es el cifrado de bloque arquetípico , un algoritmo que toma una cadena de bits de texto plano de longitud fija y la transforma a través de una serie de operaciones complicadas 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 usa una clave para personalizar la transformación, de modo que el descifrado supuestamente solo puede ser realizado por aquellos que conocen la clave particular utilizada para cifrar. Aparentemente, la clave consta de 64 bits; sin embargo, solo 56 de estos son realmente utilizados por el algoritmo. Ocho bits se utilizan únicamente para comprobar la paridad y, posteriormente, se descartan. Por tanto, la longitud efectiva de la clave es de 56 bits.

La clave se almacena o se 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:

Se puede utilizar un bit en cada byte de 8 bits de la CLAVE 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 una paridad impar.

Al igual que otros cifrados de bloques, DES por sí solo no es un medio seguro de cifrado, sino que debe utilizarse en un modo de funcionamiento . FIPS-81 especifica varios modos para usar con DES. En FIPS-74 se incluyen más comentarios sobre el uso de DES.

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

Estructura general

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

Antes de las rondas principales, el bloque se divide en dos mitades de 32 bits y se procesa alternativamente; este entrecruzamiento se conoce como el esquema de Feistel . La estructura de Feistel asegura que el descifrado y el cifrado sean procesos muy similares; la única diferencia es que las subclaves se aplican en orden inverso al descifrar. El resto del algoritmo es idéntico. Esto simplifica enormemente la implementación, particularmente en hardware, ya que no hay necesidad de algoritmos de cifrado y descifrado separados.

El símbolo ⊕ denota la operación OR exclusivo (XOR). La función F codifica medio bloque junto con algunas de las claves. La salida de la función F luego se combina con la otra mitad del bloque, y las mitades se intercambian antes de la siguiente ronda. Después de la ronda final, las mitades se intercambian; esta es una característica de la estructura de Feistel que hace que el cifrado y el descifrado sean procesos similares.

La función Feistel (F)

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

Expansion function Substitution box 1 Substitution box 2 Substitution box 3 Substitution box 4 Substitution box 5 Substitution box 6 Substitution box 7 Substitution box 8 Permutation XOR
Figura 2 —La función Feistel (función F) de DES
  1. Expansión : el medio bloque de 32 bits se expande a 48 bits utilizando la permutación de expansión , indicada con 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 de las cuales contiene una copia de los 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 mediante el programa de claves (que se describe a continuación).
  3. Sustitución : después de mezclar la subclave, el bloque se divide en ocho piezas de 6 bits antes de procesarlo mediante 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 de acuerdo con una transformación no lineal, proporcionada en forma de tabla de búsqueda . Los S-boxes proporcionan el núcleo de la seguridad de DES; sin ellos, el cifrado sería lineal y trivialmente rompible.
  4. Permutación : finalmente, las 32 salidas de los S-boxes se reordenan de acuerdo con un fijo de permutación , 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 en cuatro cajas S diferentes en la siguiente ronda.

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

Horario clave

Permuted choice 1 Permuted choice 2 Permuted choice 2 Permuted choice 2 Permuted choice 2 Left shift by 1 Left shift by 1 Left shift by 1 Left shift by 1 Left shift by 2 Left shift by 2 Left shift by 1 Left shift by 1
Figura 3 - El programa de claves de DES

La Figura 3 ilustra el programa de claves para el cifrado, el algoritmo que genera las subclaves. Inicialmente, se seleccionan 56 bits de la clave de los 64 iniciales mediante Permuted Choice 1 ( PC-1 ); los ocho bits restantes se descartan o se usan como bits de verificación de paridad . A continuación, los 56 bits se dividen en dos mitades de 28 bits; cada mitad se trata a partir de entonces por separado. En rondas sucesivas, ambas mitades se giran a la izquierda en uno o dos bits (especificado para cada ronda), y luego se seleccionan 48 bits de subclave mediante Permuted Choice 2 ( PC-2 ): 24 bits de la mitad izquierda y 24 de la derecha. . Las rotaciones (indicadas por "<<<" en el diagrama) significan que se usa un conjunto diferente de bits en cada subclave; cada bit se utiliza en aproximadamente 14 de las 16 subclaves.

El programa de claves para el descifrado es similar: las subclaves están en orden inverso en comparación con el cifrado. Aparte de ese cambio, el proceso es el mismo que para el cifrado. Los mismos 28 bits se pasan a todos los cuadros de rotación.

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 un enfoque 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 un número poco realista de textos planos conocidos o elegidos para llevar a cabo y no son 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 por turno. La longitud de la clave determina el número de claves posibles y, por lo tanto, la viabilidad de este enfoque. Para DES, se plantearon preguntas sobre la adecuación de su tamaño de clave desde el principio, incluso antes de que se adoptara como estándar, y fue el tamaño de clave pequeño, en lugar del criptoanálisis teórico, lo que dictaminó la necesidad de un algoritmo de reemplazo . Como resultado de las discusiones en las que participaron consultores externos, incluida la NSA, el tamaño de la clave se redujo de 128 bits a 56 bits para que quepa en un solo chip.

La máquina de craqueo DES de 250.000 dólares de la EFF contenía 1.856 chips personalizados y podía forzar una llave DES en cuestión de días; la foto muestra una placa de circuito DES Cracker equipada con varios chips Deep Crack.

En el ámbito académico, se avanzaron varias propuestas para una máquina de craqueo DES. En 1977, Diffie y Hellman propusieron una máquina que costaba aproximadamente 20 millones de dólares y que podía encontrar una clave DES en un solo día. En 1993, Wiener había propuesto una máquina de búsqueda de claves que costaba 1 millón de dólares y que encontraría una clave en 7 horas. Sin embargo, ninguna de estas primeras propuestas se implementó o, al menos, no se reconoció públicamente ninguna implementación. La vulnerabilidad de DES se demostró prácticamente a finales de la década de 1990. En 1997, RSA Security patrocinó una serie de concursos, ofreciendo un premio de $ 10,000 al primer equipo que rompió un mensaje encriptado con DES para el concurso. Ese concurso fue ganado por el Proyecto DESCHALL , dirigido por Rocke Verser, Matt Curtin y Justin Dolske, utilizando ciclos inactivos 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 del ciberespacio, construyó un DES-cracker personalizado a un costo de aproximadamente 250.000 dólares estadounidenses (véase el cracker EFF DES ). Su motivación era mostrar que DES era frágil tanto en la práctica como en la teoría: " Hay muchas personas que no creerán una verdad hasta que puedan verla con sus propios ojos. Mostrándoles una máquina física que puede romper DES en unos pocos days es la única manera de convencer a algunas personas de que realmente no pueden confiar su seguridad a DES " . La máquina forzó brutalmente una clave en un poco más de 2 días de búsqueda.

El siguiente cracker 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 consiste en circuitos integrados reconfigurables disponibles comercialmente. 120 de estos arreglos de puertas programables en campo (FPGA) de tipo XILINX Spartan-3 1000 se ejecutan en paralelo. Están agrupados 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ódigo. Uno de los aspectos más interesantes de COPACOBANA es su factor de costo. Se puede construir una máquina por aproximadamente $ 10,000. La disminución de costos en aproximadamente un factor de 25 con respecto a la máquina EFF es un ejemplo de la mejora continua del hardware digital, consulte la ley de Moore . El ajuste de la inflación durante 8 años produce una mejora aún mayor de aproximadamente 30 veces. Desde 2007, SciEngines GmbH , una empresa derivada de los dos socios del proyecto de COPACOBANA, ha mejorado y desarrollado a los sucesores de COPACOBANA. En 2008, su COPACOBANA RIVYERA redujo el tiempo para romper DES a menos de un día, utilizando 128 Spartan-3 5000. SciEngines RIVYERA ostentaba el récord en DES de ruptura de fuerza bruta, habiendo utilizado 128 FPGA Spartan-3 5000. Su modelo 256 Spartan-6 LX150 ha bajado aún más esta vez.

En 2012, David Hulton y Moxie Marlinspike anunciaron un sistema con 48 FPGA Xilinx Virtex-6 LX240T, cada FPGA contiene 40 núcleos DES completamente canalizados que funcionan a 400 MHz, para una capacidad total de 768 gigakeys / seg. El sistema puede buscar exhaustivamente todo el espacio de claves DES de 56 bits en aproximadamente 26 horas y este servicio se ofrece por una tarifa en línea.

Ataca más rápido que la fuerza bruta

Se conocen tres ataques que pueden romper las 16 rondas completas de DES con menos complejidad que una búsqueda de fuerza bruta: criptoanálisis diferencial (DC), criptoanálisis lineal (LC) y ataque de Davies . Sin embargo, los ataques son teóricos y, en general, se considera inviable realizarlos en la práctica; Estos tipos 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 ; IBM y la NSA lo conocían antes y se mantenía en secreto. Para romper las 16 rondas completas, el criptoanálisis diferencial requiere 2 47 textos planos elegidos . DES fue diseñado para ser resistente a CC.
  • El criptoanálisis lineal fue descubierto por Mitsuru Matsui , y necesita 2 43 textos claros conocidos (Matsui, 1993); se implementó el método (Matsui, 1994) y fue el primer criptoanálisis experimental de DES que se informó. No hay evidencia de que DES se haya diseñado para resistir este tipo de ataque. En 1994 se sugirió una generalización de la LC ( criptoanálisis lineal múltiple) (Kaliski y Robshaw) y Biryukov y otros la perfeccionaron. (2004); su análisis sugiere que se podrían utilizar 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 ). Se puede obtener una reducción similar en la complejidad de los datos en una variante de criptoanálisis lineal elegida en texto plano (Knudsen y Mathiassen, 2000). Junod (2001) realizó varios experimentos para determinar la complejidad de tiempo real del criptoanálisis lineal, e informó que fue algo más rápido de lo previsto, requiriendo un tiempo equivalente a 2 39 –2 41 evaluaciones DES.
  • Ataque de Davies mejorado : mientras que el criptoanálisis diferencial y lineal 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 (1997 ). La forma más poderosa del ataque requiere 2 50 textos sin formato conocidos , tiene una complejidad computacional de 2 50 y tiene una tasa de éxito del 51%.

También se han propuesto ataques contra versiones reducidas del cifrado, es decir, versiones de DES con menos de 16 rondas. Dicho análisis da una idea de cuántas rondas se necesitan para la seguridad y cuánto de "margen de seguridad" retiene la versión completa.

El criptoanálisis lineal diferencial fue propuesto por Langford y Hellman en 1994, y combina el criptoanálisis lineal y diferencial en un solo ataque. 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 (Biham y otros, 2002).

Propiedades criptoanalíticas menores

DES exhibe la propiedad de complementación, es decir, que

donde es el complemento bit a bit de denota cifrado con clave y denota bloques de texto plano y de 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 un supuesto de texto plano elegido . Por definición, esta propiedad también se aplica al cifrado TDES.

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

o equivalente,

También hay seis pares de claves semi-débiles . Cifrado con uno del par de claves semiweak, , funciona de manera idéntica a la desencriptación con la otra, :

o equivalente,

Es bastante fácil evitar las claves débiles y semi-débiles en una implementación, ya sea probándolas explícitamente o simplemente eligiendo claves al azar; las probabilidades de elegir una clave débil o semi-débil por casualidad son insignificantes. Las claves no son realmente más débiles que cualquier otra clave de todos modos, ya que no dan ninguna ventaja al ataque.

También se ha demostrado que DES no es un grupo , o más precisamente, el conjunto (para todas las claves posibles ) bajo composición funcional no es un grupo, ni "cerca" de ser un grupo. Esta fue una pregunta abierta durante algún tiempo, y si hubiera sido el caso, habría sido posible romper DES, y múltiples modos de encriptación como Triple DES no aumentarían la seguridad, porque la encriptación (y desencriptación) repetida bajo diferentes claves equivaldría al cifrado con otra clave única.

DES simplificado

El DES simplificado (SDES) se diseñó únicamente con fines educativos, para ayudar a los estudiantes a aprender acerca de las técnicas criptoanalíticas modernas. SDES tiene una estructura y propiedades similares a DES, pero se ha simplificado para que sea mucho más fácil realizar el cifrado y descifrado a mano con lápiz y papel. Algunas personas sienten que aprender SDES brinda información sobre DES y otros cifrados de bloques, y sobre varios ataques criptoanalíticos contra ellos.

Algoritmos de reemplazo

Las preocupaciones sobre la seguridad y el funcionamiento relativamente lento de DES en el software motivaron a los investigadores a proponer una variedad de diseños de cifrado de bloques alternativos , que comenzaron a aparecer a fines de la década de 1980 y principios de la de 1990: los ejemplos incluyen RC5 , Blowfish , IDEA , NewDES , SAFER , CAST5 y FEAL . La mayoría de estos diseños mantuvieron el tamaño de bloque de 64 bits de DES y podrían actuar como un reemplazo "directo", aunque generalmente usaban una clave de 64 o 128 bits. En la Unión Soviética el GOST 28147-89 se introdujo algoritmo, con un tamaño de bloque de 64 bits y una clave de 256 bits, que también fue utilizado en Rusia después.

DES en sí puede adaptarse y reutilizarse en un esquema más seguro. Muchos usuarios anteriores de DES ahora usan Triple DES (TDES) que fue descrito y analizado por uno de los titulares de la patente de DES (ver FIPS Pub 46-3); implica aplicar DES tres veces con dos (2TDES) o tres (3TDES) claves diferentes. TDES se considera suficientemente seguro, aunque bastante lento. Una alternativa menos costosa desde el punto de vista computacional es DES-X , que aumenta el tamaño de la clave mediante XORing de material de clave adicional antes y después de DES. GDES fue una variante de DES propuesta como una forma de acelerar el cifrado, pero se demostró que era susceptible al criptoanálisis diferencial.

El 2 de enero de 1997, NIST anunció que deseaba elegir un sucesor de DES. En 2001, después de una competencia internacional, NIST seleccionó un nuevo cifrado, el Estándar de cifrado avanzado (AES), como reemplazo. El algoritmo que fue seleccionado como AES fue presentado por sus diseñadores con el nombre de Rijndael . Otros finalistas de la competencia NIST AES fueron RC6 , Serpent , MARS y Twofish .

Ver también

Notas

Referencias

enlaces externos