Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SItema10
SItema10
Este archivo forma parte de un curso sobre Seguridad Informática y Criptografía. Se autoriza la
reproducción en computador e impresión en papel sólo con fines docentes o personales, respetando
en todo caso los créditos del autor. Queda prohibida su venta, excepto a través del Departamento de
Publicaciones de la Escuela Universitaria de Informática, Universidad Politécnica de Madrid, España.
MM22 == WARS
WARS BUST
BUST SION
SION NBJM
NBJM INUA
INUA ÑPUD
ÑPUD
Segunda
SS22 == XBST
XBST BUST
BUST TJPÑ
TJPÑ NBJM
NBJM JÑVB
JÑVB ÑPUD
ÑPUD
vuelta
PP22 == SBTX
SBTX BUST
BUST PJÑT
PJÑT NBJM
NBJM VÑBJ
VÑBJ ÑPUD
ÑPUD
Skipjack 64 80 32
RIJNDAEL 128 128 o más flexible
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva 6
Elbit
El bit11se
selleva
llevaaalalaposición
posición40
40
Elbit
El bit40
40vuelve
vuelveaalalaposición
posición11
yytodos
todoslos
losdemás
demásbits
bitsaasu
su
posicióninicial
posición inicialantes
antesde
deIP.
IP.
1 6 7 12 13 18 19 24 25 30 31 36 37 42 43 48
S1 S2 S3 S4 S5 S6 S7 S8
1 4 5 8 9 12 13 16 17 20 21 24 25 28 29 32
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0
F 7
1I 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3
8
2L 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
A
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6
S
13
COLUMNAS
S2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5
F 10
1I 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11
5
2L 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2
A 15
3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14
S
9
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
25
© Jorge Ramió Aguirre Madrid (España) 2003
Valores de las cajas S3 y S4 del DES
COLUMNAS
S3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
F
1I 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15
1
2L 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14
A 7
3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2
S
12
COLUMNAS
S4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4
F 15
1I 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14
9
2L 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8
A 4
3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2
S
14
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
26
© Jorge Ramió Aguirre Madrid (España) 2003
Valores de las cajas S5 y S6 del DES
COLUMNAS
S5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
F
1I 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8
6
2L 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0
A 14
3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
S
COLUMNAS
S6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5
F 11
1I 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3
8
2L 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11
A 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8
S
13
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
27
© Jorge Ramió Aguirre Madrid (España) 2003
Valores de las cajas S7 y S8 del DES
COLUMNAS
S7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6
F 1
1I 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8
6
2L 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9
A 2
3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3
S
12
COLUMNAS
S8 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5
0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12
F 7
1I 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9
2
2L 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5
A 8
3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6
S
11
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
28
© Jorge Ramió Aguirre Madrid (España) 2003
Ejemplo de operación de cajas S del DES
Ejemplo:
Ejemplo:
Seanlos
Sean losbits
bits77alal12
12los
lossiguientes:
siguientes:101100
101100
Losbits
Los bitscorresponderán
corresponderánentonces
entoncesaalalaentrada
entradadedelalacaja
cajaSS2
2
Paraseleccionar
Para seleccionarlalafila
filatomamos
tomamoslos losbits
bitsextremos:
extremos:10 102==2210==22
2 10
Paraseleccionar
Para seleccionarlalacolumna
columnatomamos
tomamoslos losbits
bitscentrales:
centrales:0110
01102==6610==66
2 10
La caja S indica una salida igual a 13 = 1101
La caja S22indica una salida igual a 131010= 110122
explicación
Entrada: 101100
Salida: 1101
48 bits
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
48 bits 44 49 39 56 34 53
46 42 50 36 29 32
MODO ECB
Electronic CodeBook: cifra cada bloque con la clave k de
forma independiente. Por lo tanto, el resultado es como si se
codificase mediante un gran libro electrónico de códigos.
Recuerde: codificar no es lo mismo que cifrar.
Debilidades:
Se podría reconstruir ese libro electrónico sin necesidad
de conocer la clave.
Aparece el problema denominado de comienzos y
finales fijos que permiten un tipo de ataque sencillo.
Se ataca a través de la repetición de bloques similares.
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
36
© Jorge Ramió Aguirre Madrid (España) 2003
Características del modo ECB en DES
Cada bloque de 64 bits del texto en claro se
pasa por el cifrador, usando la misma clave de
64 bits.
M C’ C
DES DES
M C
E (DES) D (DES) E (DES)
M C
E (DES) D (DES) E (DES)
Aunque el algoritmo DES haya sufrido diversos ataques y no se
haya vuelto a certificar por el NIST como estándar de cifrado, el
Triple DES sí tiene una gran seguridad debido al tamaño de su
clave de 112 bits efectivos y sigue siendo muy válido en el año
2002. De hecho, es el algoritmo propuesto en el protocolo SET y
se encuentra, entre otras aplicaciones, en el programa PGP.
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
49
© Jorge Ramió Aguirre Madrid (España) 2003
International Data Encryption Algorithm IDEA
Historia del IDEA
En 1990 Xuejia Lai y James Massey proponen el PES,
Proposed Encryption Standard.
En 1991 -debido a los avances de Biham y Shamir en el
criptoanálisis diferencial- los autores proponen el IPES,
Improved Proposed Encryption Standard.
En 1992 los autores proponen finalmente el algoritmo
IDEA, International Data Encryption Algorithm.
En 1999 el algoritmo IDEA, mucho más seguro que el
DES y sus versiones, se comienza a usar ampliamente en
el sistema de correo electrónico seguro PGP.
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
50
© Jorge Ramió Aguirre Madrid (España) 2003
Estructura y esquema de IDEA
• Cifra bloques de 64 bits
en 8 vueltas
• Divide la entrada M en
cuatro bloques de 16 bits
• Se generan 52 subclaves
de 16 bits a partir de la
clave maestra de 128 bits
• Usa 6 claves por vuelta
• Hay una transformación
Todas sus operaciones
final con 4 claves para se realizan dentro de
invertir operación inicial un cuerpo finito
XOR Es primo y se
asegura el inverso
multiplicativo
Suma módulo 216 (mod 65.536)
Operaciones: + mod 2n (mod 4), mod 2n+1 (mod 5), XOR (mod 2)
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
53
© Jorge Ramió Aguirre Madrid (España) 2003
Ejemplo de operación en IDEA
X Y X+Y X Y XY
0 00 0 00 0 00 1 01 0 00 Recuerdeque
Recuerde que00
0 00 1 01 1 01 0 00 1 01 esigual
es igualaa22n n==44
0 00 2 10 2 10 3 11 2 10
0 00 3 11 3 11 2 10 3 11 porloloque:
por que:
1
1
01
01
0
1
00
01
1
2
01
10
0
1
00
01
1
0
01
00
00==222 2xx222 2
00
01
1 0101= 2 2
x 1 = 4
= 22 x2 1 = 410 3 11 2 10 3 11 ==16
16mod
mod 55
1 =01 4 mod3 5 11 0 00 3 11 2 10
2 =
10 4 mod
0 5 00 2 10 3 11 2 10 ==11
2 =10=44==010 01 3 11 2 10 3 11
2 10 2 10 0 00 0 00 0 00
2 (por
(pordefinición)
10definición)
3 11 102 =01 2 2
2x 12 = 8 01
0211= 2 x2 2 = 810 1 01 03==222 2xx33==12
12
3 11 0 00 3 3 11 03
=00=88modmod 55 11
3 11 1 01 0 3 2 10 ==12
12mod mod 55
3 11 2 10 1 =01=33 1 01 1 01
3 11 3 11 2 10 0 00 0 00 ==22
Operaciones: + mod 2n (mod 4), mod 2n+1 (mod 5), XOR (mod 2)
Los demás cálculos con los diferentes valores de X e Y son todos similares
Seguridad Informática y Criptografía. Tema 10: Cifrado Simétrico en Bloque Diapositiva
54
© Jorge Ramió Aguirre Madrid (España) 2003
Detalles del algoritmo IDEA
Operación cifrado
Operaciones inversas
MA
al comienzo y al final
del algoritmo. Esto
permite usar el mismo
algoritmo para cifrar
que para descifrar.
Bloque principal
26
Con los
Los 64 primeros
últimos 128 bits se
bits de generan 8
la fase 7 subclaves
no se de 16 bits
usan. cada una.
23 86
64 bits de últimas claves
K1: 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
K7: 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112
K13: 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105
K19: 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098
K25: 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091
K31: 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059
k37: 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052
k43: 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1
115 116 117 118 119 120 121 122 123 124 125 126 127 128
1 1 0 1 1 0 0 1 1 0 0 1 0 1
Las operaciones
se hacen ahora
hacia arriba
x13 = x6 + x3 + x2 + 1 x11 = x7 + x6 + x4 + x3
x9 = x 5 + x 4 + x 2 + x x8 = x 4 + x 3 + x + 1