CIFRADO POR BLOQUES Data Encryption Standard DES BREVE

CIFRADO POR BLOQUES. Data Encryption Standard (DES)

BREVE CRONOLOGÍA DEL DES 15/05/1973 27/08/1974 17/03/1975 ago-sep-76 nov-76 15/01/1977 22/01/1988 1992 30/12/1993 1994 jul-98 ene-99 25/10/1999 26/11/2001 26/05/2002 26/07/2004 NBS publica primera petición para un algoritmo estándar de cifrado. NBS publica una segunda petición para algoritmos de cifrado. DES es publicado en el Registro Federal para comentarios. Primer y segundo taller sobre DES es aprobado como estándar. DES es publicado por el FIPS como estándar FIPS PUB 46. FIPS 46 -1 reemplaza a FIPS PUB 46. Biham y Shamir: el criptoanálisis diferencial. FIPS 46 -2. Criptoanálisis lineal (Matsui, 1994). El DES cracker de la EFF rompe en 56 horas. Deep Crack y distributed. net rompen en 22 hs y 15 mns. FIPS 46 -3: Triple DES El algoritmo AES se publica como FIPS 197. El estándar AES se hace efectivo. Se propone la retirada de FIPS 46 -3 en el Registro Federal.

Cifrado de Producto Trasposiciones. Traslaciones. (operador XOR) Transformaciones lineales. Operadores aritméticos. Multiplicación modular. Sustitución simple. ITERACIÓN DE CIFRADO DE BLOQUE Repetición secuencial de una función interna. r: número de iteraciones. n: tamaño del bloque. k: subclave de K.

Cifrado de Feistel Cifrado Iterado. r >2 y par. m=(L 0 R 0) c=(Lr. Rr) Li Ri-1 Ri Li-1 f(Ri-1, Ki) Ki depende de K La seguridad del cifrado depende de la seguridad de f Y para descifrar… Ri-1 Li Li-1 Ri f(Ri, Ki)

ALGORITMO DES INPUT Texto plano: m 1 … m 64. Clave: K=k 1 … k 64. Incluyendo 8 bits de paridad. OUTPUT Texto cifrado: c 1 … c 64. m 1 c 1 DK m 2 c 2 … … m 64 c 64 k 1 k 2 … k 56

Texto plano ALGORITMO DES IP L 0 K 1 R 0 f L 1 K 2 R 1 f … L 15 … K 16 R 15 f L 16 R 16 IP-1 Texto cifrado

ALGORITMO DES Paso 0. (más adelante se verá cómo se hace…) Calcular los valores de las 16 subclaves Ki, de 48 bits cada una, según define el algoritmo de clave. Paso 1. Permutación inicial: (L 0 R 0) ≡ m 0 = IP(m 1 … m 64). Permutación IP 58 62 57 61 50 54 49 53 42 46 41 45 34 38 33 37 26 30 25 29 18 22 17 21 10 14 9 13 2 6 1 5 60 64 59 63 52 56 51 55 44 48 43 47 36 40 35 39 28 32 27 31 20 24 19 23 12 16 11 15 4 8 3 7

ALGORITMO DES Paso 2. Repetir 16 veces (desde i = 1 hasta i = 16)… 2. 1. Li = Ri-1. Cifrado de Feistel 2. 2. Ri = Li-1 f(Ri-1 , Ki). Ki: las 16 subclaves. f: función de cifrado. Paso 3. Permutación final: c = IP-1(R 16 L 16). Permutación IP-1 40 38 36 34 8 6 4 2 48 46 44 42 16 14 12 10 56 54 52 50 24 22 20 18 64 62 60 58 32 30 28 26 39 37 35 33 7 5 3 1 47 45 43 41 15 13 11 9 55 53 51 49 23 21 19 17 63 61 59 57 31 29 27 25

ALGORITMO DES: Función de cifrado. Ri-1 E: {0, 1}32 {0, 1}48 (32 bits) Expansión E(Ri-1) (48 bits) B 1…B 8 E(Ri-1) Ki (Bi: 6 bits) Cajas S: Si: {0, 1}6 {0, 1}4 Bi: 4 bits: total: 32 bits Ki B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 B 4 B 5 B 1 B 2 B 3 B 6 B 7 B 8 Permutación f(Ri-1, Ki) (32 bits) (6 bits) (4 bits)

ALGORITMO DES: Función de cifrado. Función de expansión E(R) 32 1 2 3 4 8 9 10 11 12 16 17 18 19 20 24 25 26 27 28 5 13 21 29 4 12 20 28 5 13 21 29 6 14 22 30 7 15 23 31 8 16 24 32 9 17 25 1 S 1 – box (se pasa de 6 bits a 4 bits) 14 4 13 0 15 7 4 1 14 15 12 8 1 4 8 2 2 15 11 8 3 10 6 12 5 9 14 2 13 1 10 6 12 11 9 5 13 6 2 11 15 12 9 7 3 10 4 9 1 7 5 11 3 14 10 0 0 3 5 6 7 8 0 13 Permutaciones de los bits a la salida de las S-boxes. 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

ALGORITMO DES: subclaves Ki Clave K: 6 6 6 5 5 5 5 5 4 4 4 4 4 … 0 0 0 0 4 3 2 1 0 9 8 7 6 5 4 3 2 1 64 bits: 56 de clave + 8 de redundancia Paso 1. Permutación y selección. 56 bits. Se eliminan los bits de redundancia. C 0 D 0 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Se toma (C 0 D 0), cada bloque de 28 bits.

ALGORITMO DES: subclaves Ki Paso 2. Repetir 16 veces… • Rotar d posiciones a izda. de los bloques Ci y Di. • Selección y permutación de 48 de los 56 bits de la cadena (Ci. Di). i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 d 1 1 2 2 2 1 14 23 41 44 17 19 52 49 11 12 31 39 24 4 37 56 1 26 47 34 5 8 55 53 3 16 30 46 28 7 40 42 15 27 51 50 6 20 45 36 No se toman: 9, 18, 22, 25, 38, 43 y 54. 21 13 33 29 10 2 48 32

CRIPTOANÁLISIS CONTRA DES Fuerza bruta EFF: DES Cracker. 1998. Criptoanálisis diferencial: Resistente. Curiosidad: Propiedad complementaria. TRIPLE DES no es GRUPO… por suerte. Doble DES: meet in the middle attack. c=Ek 1(Ek 2(Ek 3(m))) c=Ek 1(Dk 2(Ek 1(m))) DESX: c=k 3 Ek 2(k 1 m)

BIBLIOGRAFÍA BÁSICA “Handbook of Applied Cryptography”. A. Menezes, P. van Oorschot, and S. Vanstone. CRC Press, Inc. 1997. “Cryptography and Network Security. Principles and practices”. William Stallings. Prentice Hall. Pearson Education. Third edition. 2003. “Introduction of Cryptography with coding theory”. Wade Trappe and Lawrence C. Washington. Prentice Hall, 2002. “Introduction to Cryptography”. Johannes A. Buchmann. Springer Verlag, 2004. Second Edition. “Data encryption Standard (DES)”, FIPS PUB 46– 3. 1999 October 25. http: //csrc. nist. gov/publications/fips 46 -3/fips 46 -3. pdf. Wikipedia. http: //es. wikipedia. org/wiki/Data_Encryption_Standard.
- Slides: 14