ALGORITMO DES integrantes : - ARCE ROJAS, Luis Pierre - EYZAGUIRRE LUQUE, Galia A. - LLAMOCCA JUNCO, Maril - LUQUE MENDIETA, Fiorella - QUISPE HUARACA, YOCEF - TENORIO PALOMINO, Karito K. curso : SEGURIDAD INFORMATICA SIGLA : IS-444 FECHA : 31-03-14 Profesor : ING. MANUEL LAGOS BARZOLA
AYACUCHO PER 2014
INTRODUCCION
Desde su aparicin DES ha sido el reto ms importante para los criptoanalistas. En el intento de criptoanalizar el DES se han probado muchos caminos a lo largo de su dilatada historia y hasta ahora solo ha sufrido tres ataques que valen realmente la pena destacar. Dentro de los cuales encontramos; Criptoanlisis Diferencial propuesto por Eli Biham y Adi Shamir en los aos 1990-1992, Criptoanlisis Lineal propuesto por Matsui en el ao 1993-1994, y por ltimo el ms sencillo y temible el ataque por fuerza bruta en el ao 1998 con el que fue demostrado que DES podra ser atacado en la prctica. Con cada uno de estos mtodos utilizados se ha logrado vulnerar al DES convirtindolo as en un algoritmo poco seguro y obligando as a su fortalecimiento.
3 ALGORITMO DES HISTORIA En 1973, el NBS (National Bureau of Standards, USA), una seccin del Departamento de Defensa, organiz un concurso solicitando un sistema de encriptacin. En 1974, la corporacin IBM present, entre otras, una propuesta basada en un sistema que ya haban desarrollado llamado Lucifer, que mediante algunos cambios dio lugar al DES. La aprobacin y la modificacin de la propuesta se hicieron bajo la supervisin de la NSA (National Security Agency). Fue la NSA la que impuso la longitud de la clave, que es bastante corta y que no es aconsejable en la actualidad. Hubo algunas crticas desde ciertos sectores, incluyendo los pioneros de la criptografa simtrica Diffie y Hellman, mencionando la modesta longitud de la clave y las misteriosas cajas S como una evidencia de la inadecuada interferencia de la NSA. La sospecha era que de una forma intencionada haban debilitado el algoritmo para que ellos pudiesen leer los mensajes cifrados. A pesar de la polmica, el DES fue aprobado como estndar y en 1977 como FIPS PUB 46 autorizado para su uso. En 1981 el ANSI (American National Standards Institute, USA) lo adopto bajo el nombre de DEA (Data Encryption Algorithm). Fue posteriormente revisado como FIPS-46-1 en 1983 y 1988 y como FIPS-46-2 en 1993, finalmente en 1998 como FIPS-46-3 se defini una variante del mismo llamado Triple DES que ha perdurado hasta que en 2002 fue reemplazado por AES (Avanced Encryption Standard).
DESCRIPCION DES se crea para las aplicaciones no clasificadas del gobierno estadounidense, a partir de la iniciativa LUCIFER gestada en IBM para la NBS (Oficina de Estndares Nacionales) en 1974, y se implementa en grandes sistemas de comunicaciones hacia 19771. DES (Data Encryption Standard) pertenece a los sistemas de encriptacin de bloques, opera sobre 64 bits, con una llave de 8 bytes, donde un bit de 4 cada byte es uno de verificacin de paridad (deteccin de errores) que hace que la paridad de todo el bloque sea impar, por lo que en realidad la clave se reduce a 56 bit. Esquemticamente se representa como en la fig 1. . Fig 1.Estndar de Encriptacin de Datos (DES), Van Tilborg p.68
La encriptacin se produce en 16 etapas o rondas; de la clave de 64 bits, de los cuales 8 son de paridad, intencionalmente reducida a 56 bits para reducir costos de bsqueda exhaustiva en un factor 256, lo que significa un espacio de llave de 256, se generan 16 subllaves (Ki) de 48 bits, una por cada ronda. Dentro de cada roda se emplean 8 mapeos de sustitucin fijos, cuidadosamente seleccionados, de 6 a 4 bits (cajas S), denominados genricamente S. El mensaje se divide en dos mitades de 32 bit cada una, denominadas Lo y Ro. Cada ronda es funcionalmente equivalente porque toma entradas Li-1 y Ri-1, de 32 bits, de la ronda previa y produce salidas de 32 bits, Li y Ri, con i recorriendo de 1 a 16, siguiendo el esquema: Li= Ri-1 Ri= Li-1f(Ri-1, Ki) Donde: f(Ri-1, Ki)=P(S(E(Ri-1)Ki). E es un mapeo de permutacin fija de expansin de Ri-1 de 32 a 48 bits( todos los bits se usan una vez, pero algunos dos veces). P es otra permutacin fija de 32 bits. Una permutacin inicial de los bits(IP) precede las rondas y despus de la ltima ronda, las dos mitades, izquierda y derecha, se intercambian, siendo, finalmente la salida, permutada por la 5 permutacin inversa de IP. La Desencriptacin involucra utilizar la misma clave y algoritmo, pero con las subllaves aplicadas a las rondas internas, en orden inverso. Dadas sus caractersticas DES puede verse como una composicin de mapeos, donde existen permutaciones, directas e inversa iniciales, funciones aplicadas a la mitad derecha e izquierda en cada iteracin, e intercambios de involucin, con tres aspectos esenciales: las Cajas (S8S-boxes), las Cajas de permutacin (P-boxes) y la permutacin inicial(IP). Las S-boxes de DES son 7 y toman una entrada de 6 bits devolviendo 4 bits, estando dadas tablas de cuatro filas y quince columnas , donde en la los bits de entrada(xo,x1,x2,x3,x4,x5), xo y x5 indican la fila y x1,x2,x3,x4, la columna; as, S[0] (1,1,0,0,1,1), implica fila 11, es decir,3, y columna 1001, es decir, 9, y por tanto S[0]=11. La tabla para S[0] se muestra en la fig 2.
Fig 2. Caja S para S[0] en DES. Konheim, pag. 290
La generacin de subclaves (Key schedule) necesita de tres arreglos denominados PC-1,PC-2 y KS.
6
Fig 3. Esquema General DES. Terricabras, pag. 7
7 DESCRIPCIN DEL ALGORITMO DES
1. Algoritmo de Cifrado DES, es un algoritmo de cifrado en bloques simtrico, el tamao del bloque es de longitud fija de 64 bits, el algoritmo consta de dos permutaciones, una al inicio conocida como P1, la cual se muestra a continuacin:
L 0 = 11111111 00011000 11010111 11101010 R 0 = 00000000 11111110 11001100 10000100
2. Permutacin E: La salida de R0 es de 32 bits, se utiliza la permutacin E, con el propsito de expandir a 48 bits y as poder realizar la suma OR exclusiva con la clave Ki.
La tabla de la Permutacin PC1, se utiliza para realizar la permutacin inicial en la generacin de la subclave Ki, para cada vuelta. Una vez realizada la permutacin, los 56 bits se dividen en dos sub-bloques Ci y Di de 28 bits. En estas condiciones, la clave est definida por las ecuaciones:
Sub-bloques iniciales: Sub-bloque C 0 = 0000000 0111111 1111111 1100000 Sub-bloque D 0 = 1100010 1110011 0010010 1001001
4. Desplazamiento LS: El desplazamiento LS se aplica a los sub-bloques de longitud fija de 7 bits (Ci y Di), donde LS es un desplazamiento circular a la izquierda de 1 o 2 bits del entero binario.
Sub-bloque C 0 = 0000000 0111111 1111111 1100000 Sub-bloque D 0 = 1100010 1110011 0010010 1001001
Al ser la primera vuelta, el desplazamiento es de un bit a la izquierda como se indica en la tabla, dando como resultado C1 y D1. S 01010011 a 01100001 n 01101110 t 01110100 i 01101001 a 01100001 g 01100111 o 01101111 Tabla de 64 bits de K i Inicial 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 Tabla de 56 bits 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 1 Permutacin PC1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 11 Sub-bloque C 1 = 0000000 1111111 1111111 1000000 Sub-bloque D 1 = 1000101 1100110 0100101 0010011
5. Permutacin PC2: La permutacin PC2 se conoce como permutacin de compresin, dada por las operaciones de concatenar y permutar Ci y Di, se va a comprimir de 56 bits a 48 bits para obtener la clave Ki, posteriormente ser utilizada en la funcin (f(Ri-1, Ki)).
Concatenando C i, D i
0000000 1111111 1111111 1000000 1000101 1100110 0100101 0010011 Los 56 bits de entrada en la permutacin PC2:
Tabla ( C i, D i ) 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 Permutacin PC2 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 12 El resultado de haber realizado la permutacin PC2 es la generacin de la clave K1 siendo: K 1 = PC2 (C 1, D 1 ) =111000 001011 011001 100110 110111 010010 110100 000110
6. Funcin f(Ri-1 , Ki): Al tener la clave Ki y la expansin de (R0), el siguiente paso es la funcin f(Ri-1 , Ki), la cual consta de tres procesos (Suma OR exclusivo, ocho funciones no lineales, Permutacin P). Suma OR exclusiva Se encuentra definido por la ecuacin.
E(R 0 ) K 1 = 111000 001010 000110 011011 101110 001011 100100 001110 En la Caja S1 se utiliza el primer bloque 111000, en la Caja S2 se utiliza el segundo bloque y as sucesivamente.
Permutacin P: El ltimo paso de la funcin f(Ri-1 , Ki), es una permutacin P, cuyo resultado se sumara con la salida del sub-bloque Li, dando origen a la entrada del sub-bloque Ri.
15 Suma Li Ri: El registro de bits obtenido por la funcin f(Ri-1 , Ki), es sumado con un OR exclusivo con el registro de bits de L0, dando como resultado la entrada para el siguiente sub-bloque de Ri. El registro de bits realizado en la permutacin inicial P1, que origino al sub-bloque R0, es la entrada para el siguiente sub- bloque Li, el proceso se repite 15 veces, siendo el ultimo proceso la permutacin P1-1.
f(R i-1 , K i ) = 0101 0011 0100 1001 0100 1111 0100 1111 L 0 = 1111 1111 0001 1000 1101 0111 1110 1010 L 0 f(R 0 , K 1 ) =1010 1100 0101 0001 1001 1000 1010 0101
0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 Decimal Carcter Binario 17 00010001 32 (space) 00100000 123 { 01111011 108 l 01101100 52 4 00110100 97 a 01100001 56 8 00111000 111 o 01101111 17 VULNERABILIDADES Es obvio que el mtodo ms simple de ataque es por fuerza bruta probando cada una de las posibles claves del sistema 256 = 7,2 * 1016 claves diferentes. En 1977 Diffie y Hellman propusieron una mquina que era capaz de hallar una clave DES en un solo da, pero su proyecto no se llevo a cabo a causa del elevado coste de fabricacin. Sin embargo, la vulnerabilidad de DES qued patente cuando en 1998 la Electronical Frontier Fondation (EFF) construy una mquina a medida para romper DES que lo consigui a los 2 das. Hoy en da, ha quedado demostrada la fragilidad de los sistemas que trabajan con claves de 56 bits como es el caso del sistema DES ya que se ha conseguido romperlo en 22 horas y 15 minutos. Para solucionar el problema de la longitud de la clave y continuar utilizando el sistema DES de una forma segura se utiliza el Triple DES que no es ms que un triple cifrado, descifrado utilizando DES. Existen tres ataques conocidos ms rpidos que la fuerza bruta bajo ciertas condiciones que son: El Criptoanlisis diferencial El Criptoanlisis lineal El ataque de Davies
VENTAJAS E INCONVENIENTES Las principales ventajas son bsicamente dos, su relativa simplicidad y la facilidad de implementacin, ya sea basado en hardware o software. El sistema DES consigue cumplir el principio de confusin y difusin gracias a las acciones de sus cajas, cuyas operaciones son muy fciles de implementar en hardware y le aportan una velocidad de cifrado y descifrado muy superior a otros algoritmos de cifrado en bloque. Las debilidades ms graves que se le atribuyen, son la poca longitud de su clave y la arbitrariedad de sus cajas, que es posible que obedezcan a la existencia de una clave maestra que permitiera descifrar los mensajes sin poseer la clave secreta. 18 CONCLUSIONES Puede decirse que DES es un algoritmo que es lento porque necesita operaciones bit a bit en la encriptacin y en el descifrado de la informacin y que a pesar que se tienen diferentes variantes para evitar que se realicen ataques de fuerza bruta. Es posible a partir de las funciones de ocultamiento y de los cdigos externos, en las implementaciones de caja blanca ms sofisticadas, desarrollar ataque sobre las funciones de ocultamiento y mediante algoritmos diferenciales de la corrida del algoritmo sobre un texto plano cualquiera obtener la clave de 64 bit, la cual es nica para el cifrado y el descifrado de los datos. Es necesario habilitar medidas para reducir el riesgo de ser atacado hasta un nivel deseado