stringtranslate.com

Estándar de cifrado de datos

El estándar de cifrado de datos (DES /ˌd iː ˌ iː ˈ ɛ 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 los años 1970 en IBM y basado en un diseño anterior de Horst Feistel , el algoritmo fue presentado a la Oficina Nacional de Normas (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 los Estados Unidos en 1977. [2]

La publicación de un estándar de cifrado aprobado por la NSA condujo a su rápida adopción internacional y a un 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 bloques de clave simétrica y la participación de la NSA, lo que generó sospechas sobre una puerta trasera . Las S-boxes que habían provocado esas sospechas fueron diseñadas por la NSA para abordar una vulnerabilidad 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 poder romper el cifrado mediante un ataque de fuerza bruta. [2] [ verificación fallida ] 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 descifrar 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. 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 . [3]

Algunos documentos distinguen entre el estándar DES y su algoritmo, refiriéndose al algoritmo como DEA ( Data Encryption Algorithm ).

Historia

Los orígenes del DES se remontan a 1972, cuando un estudio de la Oficina Nacional de Normas sobre la seguridad informática del gobierno de EE. UU. identificó la necesidad de un estándar gubernamental para cifrar información sensible y no clasificada. [4]

En 1972, el ingeniero Mohamed Atalla fundó Atalla Corporation y desarrolló el primer módulo de seguridad de hardware (HSM), el llamado "Atalla Box", que se comercializó en 1973. Protegía los dispositivos fuera de línea con una clave de generación de PIN segura 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. [3] Atalla fue uno de los primeros competidores de IBM en el mercado bancario y fue citado como una influencia por los empleados de IBM que trabajaron en el estándar DES. [5] El IBM 3624 adoptó más tarde un sistema de verificación de PIN similar al sistema Atalla anterior. [6]

El 15 de mayo de 1973, tras consultar con la NSA, la NBS solicitó propuestas para un sistema de cifrado que cumpliera con los rigurosos criterios de diseño. Ninguna de las propuestas resultó adecuada. Se emitió una segunda solicitud 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 1973-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 sistema de 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 acortada y las misteriosas " cajas S " como evidencia de una interferencia indebida de la NSA. La sospecha era que el algoritmo había sido debilitado de forma encubierta por la agencia de inteligencia para que ellos (y nadie más) pudieran leer fácilmente los mensajes cifrados. [7] Alan Konheim (uno de los diseñadores del DES) comentó: "Enviamos las cajas S a Washington. Volvieron y todas eran diferentes". [8] 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 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 certificó que el algoritmo DES final estaba, hasta donde ellos sabían, libre de cualquier debilidad estadística o matemática. [9]

Sin embargo, también encontró que

La NSA no alteró en modo alguno 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 adecuado para todas las aplicaciones comerciales para las que estaba destinado el DES. [10]

Otro miembro del equipo DES, Walter Tuchman, afirmó: "Hemos desarrollado el algoritmo DES enteramente dentro de IBM, utilizando a empleados de IBM. ¡La NSA no nos dictó ni un solo cable!" [11] Por el contrario, un libro desclasificado de la NSA sobre la historia criptológica afirma:

En 1973, la 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 dio a Tuchman una autorización y lo contrató para trabajar conjuntamente con la Agencia en su modificación de Lucifer. [12]

y

La NSA trabajó en estrecha colaboración con IBM para reforzar el algoritmo contra todos los ataques, excepto los de fuerza bruta, y para reforzar 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, llegaron a un acuerdo con una clave de 56 bits. [13] [14]

Algunas de las sospechas sobre debilidades ocultas en las S-boxes 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 cifrados de bloque. Las S-boxes de DES eran mucho más resistentes al ataque que si hubieran sido elegidas al azar, lo que sugiere fuertemente 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 S-boxes. [15] Según Steven Levy , los investigadores de IBM Watson descubrieron los ataques criptoanalíticos diferenciales en 1974 y la NSA les pidió que mantuvieran la técnica en secreto. [16] Coppersmith explica la decisión de IBM de mantener 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 dicha información en el dominio público pudiera afectar negativamente a la seguridad nacional". Levy cita a Walter Tuchman: "Nos pidieron que selláramos todos nuestros documentos como confidenciales... De hecho, les pusimos un número a cada uno y los guardamos en cajas fuertes, porque se consideraban clasificados por el gobierno de Estados Unidos. Dijeron que lo hiciéramos. Así que lo hice". [16] 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". [17]

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 el " Triple DES " (ver más 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 fue retirado oficialmente, pero el NIST ha aprobado el Triple DES hasta el año 2030 para información gubernamental sensible. [18]

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

En 1994 se publicó otro ataque teórico, el criptoanálisis lineal, pero fue el cracker de DES de la Electronic Frontier Foundation en 1998 el que demostró que DES podía ser atacado de forma muy práctica y destacó la necesidad de un algoritmo sustituto. 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 del DES fue un catalizador para el estudio académico de la criptografía, en particular de los métodos para descifrar los cifrados de bloques. Según una retrospectiva del NIST sobre el DES,

Se puede decir que el DES fue el "impulsor" del estudio y desarrollo no militar de algoritmos de cifrado. En la década de 1970 había muy pocos criptógrafos, excepto los que trabajaban en organizaciones militares o de inteligencia, y pocos estudios académicos sobre 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 curtido analizando (es decir, intentando "descifrar") el algoritmo DES. En palabras del criptógrafo Bruce Schneier , [21] "DES hizo más por galvanizar el campo del criptoanálisis que cualquier otra cosa. Ahora había un algoritmo para estudiar". Una parte sorprendente de la literatura abierta sobre criptografía en las décadas de 1970 y 1980 se ocupó del DES, y el DES es el estándar con el que se ha comparado desde entonces cada algoritmo de clave simétrica . [22]

Cronología

Descripción

Initial permutationFeistel functionFeistel functionFeistel functionFeistel functionFinal permutationXORXORXORXOR
Figura 1 — La estructura general de Feistel de DES

DES es el algoritmo de cifrado por bloques arquetípico : un algoritmo que toma una cadena de bits de texto simple de longitud fija y la transforma mediante 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 utiliza 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. La clave consta ostensiblemente de 64 bits; sin embargo, el algoritmo solo utiliza 56 de ellos. Ocho bits se utilizan únicamente para verificar la paridad y luego se descartan. Por lo tanto, la longitud de clave efectiva 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, conocida como ANSI INCITS 92–1981), sección 3.5:

Se puede utilizar un bit de cada byte de 8 bits de la CLAVE para detectar 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í mismo no es un medio seguro de cifrado, sino que debe utilizarse en un modo de operación . FIPS-81 especifica varios modos para su uso con DES. [27] FIPS-74 contiene más comentarios sobre el uso de DES. [28]

El descifrado utiliza la misma estructura que el cifrado, pero las claves se utilizan 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 , denominadas 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 basado en 8 bits de mediados de la década de 1970. [29]

Antes de las rondas principales, el bloque se divide en dos mitades de 32 bits y se procesan alternativamente; este entrecruzamiento se conoce como el esquema Feistel . La estructura Feistel garantiza 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, especialmente en hardware, ya que no hay necesidad de algoritmos de cifrado y descifrado separados.

El símbolo ⊕ denota la operación OR exclusiva (XOR). La función F mezcla la mitad de un bloque con parte de la clave. La salida de la función F se combina luego 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, representada en la Figura 2, opera en 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 —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 , denotada como E en el diagrama, duplicando la mitad de los bits. La salida consta de ocho fragmentos de 6 bits (8 × 6 = 48 bits), cada uno de los cuales contiene una copia de 4 bits de entrada correspondientes, más una copia del bit inmediatamente adyacente de cada uno de los fragmentos de entrada a cada lado.
  2. Mezcla de claves : el resultado se combina con una subclave mediante una operación XOR. Se obtienen dieciséis subclaves de 48 bits (una por cada ronda) a partir 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 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 por cuatro bits de salida según una transformación no lineal, proporcionada en forma de tabla de búsqueda . Las cajas S proporcionan el núcleo de la seguridad de DES; sin ellas, el cifrado sería lineal y trivialmente descifrable.
  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 de modo 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 de las cajas S y la permutación de bits de la caja P y la expansión E proporcionan la llamada " confusión y difusión " respectivamente, un concepto identificado por Claude Shannon en la década de 1940 como una condición necesaria para un cifrado seguro pero práctico.

Calendario 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 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 utilizan como bits de comprobación de paridad . A continuación, los 56 bits se dividen en dos mitades de 28 bits; a partir de entonces, cada mitad se trata por separado. En rondas sucesivas, ambas mitades se rotan hacia la izquierda en uno o dos bits (especificados para cada ronda) y, a continuación, 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 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 ese cambio, el proceso es el mismo que para el cifrado. Se pasan los mismos 28 bits a todos los cuadros de rotación.

Pseudocódigo

A continuación se muestra el pseudocódigo para el 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 0xFFFFFFF             para i de 1 a 16 hacer derecha := derecha giro_izquierda KEY_shift [ i ] izquierda := izquierda giro_izquierda KEY_shift [ i ] var concat := ( left leftshift 28 ) o derecha // PC2 (56 bits a 48 bits) teclas [ i ] := permutación ( concat , PC2 ) fin para                         // Para descifrar un mensaje, invierta el orden de las claves si descifra, haga lo contrario, las claves terminan si    // Cifrar o descifrar cada fragmento de 64 bits del mensaje rellenado con la variable tmp        // IP chunk := permutación ( chunk , IP ) izquierda := chunk rightshift 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 claves [ 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 // Concat derecha e izquierda var cipher_chunk := ( derecha leftshift 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 cifrador de bloques, el ataque más práctico hasta la fecha sigue siendo un método 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 poco realista de textos simples conocidos o elegidos para ejecutarse y no son un problema en la práctica.

Ataque de fuerza bruta

En cualquier sistema de 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 la cantidad de claves posibles y, por lo tanto, la viabilidad de este enfoque. En el caso del DES, se plantearon dudas sobre la idoneidad del tamaño de su clave desde el principio, incluso antes de que se adoptara como estándar, y fue 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 que involucraron a 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. [30]

La máquina de descifrado de DES de la EFF , que costó 250.000 dólares , contenía 1.856 chips personalizados y podía obtener por la fuerza una clave 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 presentaron varias propuestas para una máquina de descifrado de DES. En 1977, Diffie y Hellman propusieron una máquina con un coste estimado de 20 millones de dólares que podría encontrar una clave DES en un solo día. [1] [31] En 1993, Wiener había propuesto una máquina de búsqueda de claves que costaba un millón de dólares y que encontraría una clave en siete horas. Sin embargo, ninguna de estas primeras propuestas se implementó nunca, o al menos, ninguna implementación fue reconocida públicamente. La vulnerabilidad de DES quedó prácticamente demostrada a finales de los años 90. [32] En 1997, RSA Security patrocinó una serie de concursos, ofreciendo un premio de 10.000 dólares al primer equipo que descifrara un mensaje cifrado con DES para el concurso. Ese concurso lo ganó el Proyecto DESCHALL , dirigido por Rocke Verser, Matt Curtin y Justin Dolske, utilizando ciclos inactivos de miles de ordenadores 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 descifrador de DES personalizado por un coste de aproximadamente 250.000 dólares (véase Descifrador de DES de la EFF ). Su motivación era demostrar que DES era descifrable tanto en la práctica como en la teoría: " Hay mucha gente que no creerá en una verdad hasta que la pueda ver con sus propios ojos. Mostrarles una máquina física que pueda descifrar DES en unos pocos días es la única forma de convencer a algunas personas de que realmente no pueden confiar su seguridad a DES ". La máquina descifró una clave mediante fuerza bruta en poco más de dos días de búsqueda.

El siguiente cracker 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 estos arreglos de puertas programables en campo (FPGAs) del tipo XILINX Spartan-3 1000 funcionan en paralelo. Están agrupados en 20 módulos DIMM, cada uno con 6 FPGAs. El uso de hardware reconfigurable hace que la máquina también sea aplicable a otras tareas de descifrado de códigos. [33] Uno de los aspectos más interesantes de COPACOBANA es su factor de costo. Se puede construir una máquina por aproximadamente $10,000. [34] La disminución de costo en aproximadamente un factor de 25 sobre la máquina EFF es un ejemplo de la mejora continua del hardware digital (ver la ley de Moore) . Ajustando por inflación durante 8 años se obtiene una mejora aún mayor de aproximadamente 30x. Desde 2007, SciEngines GmbH , una empresa derivada de los dos socios del proyecto de 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 en romper DES por fuerza bruta, al haber utilizado 128 FPGAs Spartan-3 5000. [35] Su modelo 256 Spartan-6 LX150 ha reducido aún más este tiempo.

En 2012, David Hulton y Moxie Marlinspike anunciaron un sistema con 48 FPGAs Xilinx Virtex-6 LX240T, cada uno de los cuales contiene 40 núcleos DES totalmente segmentados que funcionan a 400 MHz, para una capacidad total de 768 gigaclaves/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. [36] [37]

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 de fuerza bruta: criptoanálisis diferencial (DC), [38] criptoanálisis lineal (LC), [39] y el ataque de Davies . [40] Sin embargo, los ataques son teóricos y generalmente se consideran inviables de montar en la práctica; [41] estos tipos de ataques a veces se denominan debilidades de certificación.

También se han propuesto ataques contra versiones de cifrado con menos rondas, es decir, versiones de DES con menos de 16 rondas. Este análisis permite saber cuántas rondas son necesarias para 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 único ataque. [46] Una versión mejorada del ataque puede romper el DES de 9 rondas con 2 15,8 textos simples elegidos y tiene una complejidad temporal de 2 29,2 (Biham y otros, 2002). [47]

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 simple 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 simple elegido . Por definición, esta propiedad también se aplica al cifrado TDES. [48]

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 equivalentemente,

También hay seis pares de claves semidébiles . El cifrado con uno de los pares de claves semidébiles, , funciona de manera idéntica al descifrado con el otro, :

o equivalentemente,

Es bastante fácil evitar las claves débiles y semidé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 semidébil por casualidad son insignificantes. De todos modos, las claves no son realmente más débiles que otras claves, ya que no le dan ninguna ventaja a un 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 está "cerca" de ser un grupo. [49] 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 cifrado como Triple DES no aumentarían la seguridad, porque el cifrado repetido (y descifrados) bajo diferentes claves sería equivalente al cifrado bajo otra clave única. [50]

DES simplificado

El DES simplificado (SDES) fue diseñado únicamente con fines educativos, para ayudar a los estudiantes a aprender sobre las técnicas criptoanalíticas modernas. El SDES tiene una estructura y propiedades similares al 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 creen que aprender SDES brinda información sobre DES y otros cifrados de bloques, así como sobre varios ataques criptoanalíticos contra ellos. [51] [52] [53] [54 ] [55] [56] [57] [58] [59]

Algoritmos de reemplazo

Las preocupaciones sobre la seguridad y el funcionamiento relativamente lento de DES en software motivaron a los investigadores a proponer una variedad de diseños alternativos de cifrado de bloques , que comenzaron a aparecer a fines de la década de 1980 y principios de la década 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 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 usó en Rusia más tarde.

El propio DES puede adaptarse y reutilizarse en un esquema más seguro. Muchos antiguos usuarios de DES utilizan ahora Triple DES (TDES), que fue descrito y analizado por uno de los titulares de patentes de DES (véase FIPS Pub 46–3); implica aplicar DES tres veces con dos (2TDES) o tres (3TDES) claves diferentes. TDES se considera suficientemente seguro, aunque es bastante lento. Una alternativa menos costosa desde el punto de vista computacional es DES-X , que aumenta el tamaño de la clave mediante la combinación XOR 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, el NIST anunció que deseaba elegir un sucesor del DES. [60] En 2001, después de una competencia internacional, el NIST seleccionó un nuevo cifrado, el Advanced Encryption Standard (AES), como reemplazo. [61] El algoritmo que fue seleccionado como AES fue presentado por sus diseñadores bajo el nombre de Rijndael . Otros finalistas en la competencia AES del NIST incluyeron a RC6 , Serpent , MARS y Twofish .

Véase también

Notas

  1. ^ abcd Diffie, Whitfield; Hellman, Martin E. (junio de 1977). "Criptoanálisis exhaustivo del estándar de cifrado de datos NBS" (PDF) . Computer . 10 (6): 74–84. doi :10.1109/CM.1977.217750. S2CID  2412454. Archivado desde el original (PDF) el 26 de febrero de 2014.
  2. ^ ab "El legado de DES - Schneier en seguridad". www.schneier.com . 6 de octubre de 2004.
  3. ^ ab Bátiz-Lazo, Bernardo (2018). Cash and Dash: How ATMs and Computers Changed Banking [Cash and Dash: cómo los cajeros automáticos y las computadoras cambiaron la banca]. Oxford University Press . pp. 284 y 311. ISBN 9780191085574.
  4. ^ Walter Tuchman (1997). "Una breve historia del estándar de cifrado de datos". Internet asediada: cómo contrarrestar a los infractores del ciberespacio . ACM Press/Addison-Wesley Publishing Co. Nueva York, NY, EE. UU., págs. 275–280.
  5. ^ "Los impactos económicos del programa de estándares 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 desde el original (PDF) el 30 de agosto de 2017 . Consultado el 21 de agosto de 2019 .
  6. ^ Konheim, Alan G. (1 de abril de 2016). «Automated teller machines: their history and authentication protocols» (Cajeros automáticos: su historia y protocolos de autenticación).  Journal of Cryptographic Engineering (Revista de ingeniería criptográfica ). 6 ( 1): 1–29. Archivado desde el  original el 22 de julio de 2019. Consultado el 28 de agosto de 2019 .
  7. ^ RSA Laboratories. "¿Se ha roto el DES?". Archivado desde el original el 17 de mayo de 2016. Consultado el 8 de noviembre de 2009 .
  8. ^ Schneier. Criptografía aplicada (2.ª ed.). pág. 280.
  9. ^ Davies, DW; WL Price (1989). Seguridad para redes informáticas, 2.ª ed . John Wiley & Sons.
  10. ^ Robert Sugarman, ed. (julio de 1979). "Cómo frustrar los delitos informáticos". IEEE Spectrum .
  11. ^ P. Kinnucan (octubre de 1978). "Gurús del cifrado de datos: Tuchman y Meyer". Cryptologia . 2 (4): 371. doi :10.1080/0161-117891853270.
  12. ^ Thomas R. Johnson (18 de diciembre de 2009). "American Cryptology during the Cold War, 1945-1989. Book III: Retrenchment and Reform, 1972-1980, page 232" (PDF) . Agencia de Seguridad Nacional , DOCID 3417193 (archivo publicado el 18 de diciembre de 2009, alojado en nsa.gov). Archivado desde el original (PDF) el 18 de septiembre de 2013. Consultado el 10 de julio de 2014 .
  13. ^ Thomas R. Johnson (18 de diciembre de 2009). "American Cryptology during the Cold War, 1945-1989. Book III: Retrenchment and Reform, 1972-1980, page 232" (PDF) . Agencia de Seguridad Nacional . Archivado (PDF) desde el original el 25 de abril de 2015. Consultado el 16 de julio de 2015 a través de una solicitud de FOIA al Archivo de Seguridad Nacional . Esta versión tiene una redacción diferente a la versión que aparece en el sitio web de la NSA.
  14. ^ Thomas R. Johnson (18 de diciembre de 2009). "American Cryptology during the Cold War, 1945-1989. Book III: Retrenchment and Reform, 1972-1980, page 232" (PDF) . Agencia de Seguridad Nacional . Archivado (PDF) desde el original el 25 de abril de 2015. Consultado el 16 de julio de 2015 a través de una solicitud de FOIA al Archivo de Seguridad Nacional . Esta versión tiene una redacción diferente a la versión que aparece en el sitio web de la NSA.
  15. ^ Konheim. Seguridad informática y criptografía . pág. 301.
  16. ^ de Levy, Crypto , pág. 55
  17. ^ Schneier, Bruce (27 de septiembre de 2004). "Saludos al legado del cifrado de datos". CNet . Consultado el 22 de julio de 2015 .
  18. ^ ab Instituto Nacional de Estándares y Tecnología , Publicación especial 800-67 del NIST Recomendación para el algoritmo de cifrado de bloques de triple cifrado de datos (TDEA), versión 1.1
  19. ^ 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
  20. ^ "ISO/IEC 18033-3:2010 Tecnología de la información—Técnicas de seguridad—Algoritmos de cifrado—Parte 3: Cifrados de bloque". Iso.org. 14 de diciembre de 2010. Consultado el 21 de octubre de 2011 .
  21. ^ 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
  22. ^ 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 de junio de 2009 en Wayback Machine PDF Archivado el 23 de agosto de 2006 en Wayback Machine
  23. ^ "FR Doc 04-16894". Edocket.access.gpo.gov . Consultado el 2 de junio de 2009 .
  24. ^ S. Kumar, C. Paar, J. Pelzl, G. Pfeiffer, A. Rupp, M. Schimmler, "Cómo descifrar DES por 8.980 euros". Segundo taller sobre hardware especial para atacar sistemas criptográficos—SHARCS 2006, Colonia, Alemania, 3 y 4 de abril de 2006.
  25. ^ "8x1080Ti.md".
  26. ^ "Crack.sh | El cracker de DES más rápido del mundo".
  27. ^ "FIPS 81 - Modos de operación de Des". csrc.nist.gov . Consultado el 2 de junio de 2009 .
  28. ^ "FIPS 74 - Directrices para la implementación y el uso de los datos del NBS". Itl.nist.gov. Archivado desde el original el 2014-01-03 . Consultado el 2009-06-02 .
  29. ^ Schneier. Criptografía aplicada (1.ª ed.). pág. 271.
  30. ^ Stallings, W. Criptografía y seguridad de redes: principios y práctica . Prentice Hall, 2006. p. 73
  31. ^ "Des bruto".
  32. ^ van Oorschot, Paul C.; Wiener, Michael J. (1991), Damgård, Ivan Bjerre (ed.), "Un ataque de texto plano conocido en el cifrado triple de dos claves", Advances in Cryptology – EUROCRYPT '90 , vol. 473, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 318–325, doi : 10.1007/3-540-46877-3_29 , ISBN 978-3-540-53587-4
  33. ^ "Primeros pasos, COPACOBANA: descifrador de códigos paralelos optimizado en función de los costos" (PDF) . 12 de diciembre de 2006. Consultado el 6 de marzo de 2012 .
  34. ^ Reinhard Wobst (16 de octubre de 2007). Criptología al descubierto. John Wiley & Sons. ISBN 9780470060643.
  35. ^ Descomponer DES en menos de un día Archivado el 28 de agosto de 2017 en Wayback Machine [Nota de prensa de la empresa, demostrada en el taller de 2009]
  36. ^ "El cracker de DES más rápido del mundo".
  37. ^ ¿Cree que las contraseñas complejas le salvarán la vida?, David Hulton, Ian Foster, BSidesLV 2017
  38. ^ ab Biham, E. y Shamir, A (1993). Criptoanálisis diferencial del estándar de cifrado de datos. Shamir, Adi. Nueva York: Springer-Verlag. págs. 487–496. doi :10.1007/978-1-4613-9314-6. ISBN 978-0387979304. OCLC  27173465. S2CID  6361693.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  39. ^ ab Matsui, Mitsuru (23 de mayo de 1993). "Método de criptoanálisis lineal para cifrado DES". Avances en criptología — EUROCRYPT '93 . Apuntes de clase sobre informática. Vol. 765. Springer, Berlín, Heidelberg. págs. 386–397. doi : 10.1007/3-540-48285-7_33 . ISBN . 978-3540482857.
  40. ^ ab Davies, DW (1987). "Investigación de una debilidad potencial en el algoritmo DES, Comunicaciones privadas". Comunicaciones privadas .
  41. ^ Alanazi, Hamdan O.; et al. (2010). "Nuevo estudio comparativo entre DES, 3DES y AES dentro de nueve factores". Journal of Computing . 2 (3). arXiv : 1003.4085 . Código Bibliográfico :2010arXiv1003.4085A.
  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. Apuntes 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 simple elegido contra DES". Fast Software Encryption . Lecture Notes in Computer Science. 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". Selected Areas in Cryptography (Áreas seleccionadas en criptografía) . Lecture Notes in Computer Science (Apuntes de clase en informática). 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 (1 de junio de 1997). "Una mejora del ataque de Davies a DES". Revista de criptología . 10 (3): 195–205. doi : 10.1007/s001459900027 . ISSN  0933-2790. S2CID  4070446.
  46. ^ Langford, Susan K.; Hellman, Martin E. (21 de agosto de 1994). "Criptoanálisis diferencial-lineal". Avances en criptología — CRYPTO '94 . Apuntes de clase sobre informática. 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. Apuntes de clase sobre informática. 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. ^ Campbell y Wiener, 1992. 16 de agosto de 1992. págs. 512–520. ISBN 9783540573401.
  50. ^ "Double DES" (PDF) . Archivado (PDF) del original el 9 de abril de 2011.
  51. ^ Sanjay Kumar; Sandeep Srivastava. "Cifrado de imágenes mediante el estándar de cifrado de datos simplificado (S-DES)" Archivado el 22 de diciembre de 2015 en Wayback Machine . 2014.
  52. ^ Alasdair McAndrew. "Introducción a la criptografía con software de código abierto". 2012. Sección "8.8 DES simplificado: sDES". págs. 183 a 190.
  53. ^ William Stallings. "Apéndice G: DES simplificado". 2010.
  54. ^ Nalini N; G Raghavendra Rao. "Criptoanálisis de un estándar de cifrado de datos simplificado mediante heurística de optimización". 2006.
  55. ^ Minh Van Nguyen. "DES simplificado". 2009.
  56. ^ Dr. Manoj Kumar. "Criptografía y seguridad de redes". Sección 3.4: La versión simplificada de DES (S-DES). pág. 96.
  57. ^ Edward F. Schaefer. "Un algoritmo estándar de cifrado de datos simplificado". doi :10.1080/0161-119691884799 1996.
  58. ^ Lavkush Sharma; Bhupendra Kumar Pathak; y Nidhi Sharma. "Ruptura del estándar de cifrado de datos simplificado mediante optimización de enjambre de partículas binarias". 2012.
  59. ^ "Investigación en criptografía: idear una mejor manera de enseñar y aprender el estándar de cifrado avanzado".
  60. ^ "Anuncio del desarrollo de FIPS para el estándar de cifrado avanzado | CSRC". 10 de enero de 2017.
  61. ^ http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf 26 de noviembre de 2001.

Referencias

Enlaces externos