Professional Documents
Culture Documents
1.
estadounidense
NBS
(National
Bureau
of
Standards)
ahora
Pgina 1
La sospecha era que el algoritmo haba sido debilitado de manera secreta por la
agencia de inteligencia de forma que ellos y nadie ms pudiesen leer
mensajes cifrados fcilmente.
Algunas de las sospechas sobre puntos dbiles ocultos en las S-cajas fueron
descartadas en 1990, con el descubrimiento independiente y la publicacin libre
por Eli Biham y Adi Shamir del criptoanlisis diferencial, un mtodo general
para romper cifrados de bloque. Las S-cajas de DES eran mucho ms resistentes
al ataque que si hubiesen sido escogidas al azar, lo que sugera que IBM conoca
la tcnica all en los 70. ste era de hecho, el caso: en 1994, se publicaron los
criterios de diseo originales para las S-cajas; IBM haba descubierto el
criptoanlisis diferencial en los 70 y, tras asegurar DES, la NSA les orden
mantener en secreto la tcnica. De hecho no hay evidencias de una influencia
negativa en el diseo de DES destinada a debilitar el criptosistema. Al menos en
lo que hace referencia a las S-cajas.
Las otras crticas sobre que la longitud de la clave era demasiado corta se
fundaban en el hecho de que la razn dada por la NSA para reducir la longitud de
la clave de 64 bits a 56 era que los 8 bits restantes podan servir como bits de
paridad, lo que en cierto modo resultaba sospechoso (tambin esta caracterstica
de la clave se ver ms adelante). Se sabe que la NSA anim, o incluso
persuadi a IBM para que redujera el tamao de clave de 128 bits a 64, y de ah
a 56 bits; con frecuencia esto se ha interpretado como una evidencia de que la
NSA posea suficiente capacidad de computacin para romper claves de este
tamao incluso a mediados de los 70.
El algoritmo como estndar. A pesar de la polmica, DES fue aprobado como
estndar federal en noviembre de 1976, y publicado el 15 de enero de 1977
Pgina 2
como FIPS PUB 46, autorizado para el uso no clasificado de datos. Fue
posteriormente confirmado como estndar en 1983, 1988 (revisado como FIPS46-1), 1993 (FIPS-46-2), y de nuevo en 1998 (FIPS-46-3), ste ltimo
definiendo "TripleDES". El 26 de mayo de 2002, DES fue finalmente
reemplazado por AES (Advanced Encryption Standard), tras una competicin
pblica. Hasta hoy da DES contina siendo ampliamente utilizado. Fue un
ataque por fuerza bruta en 1998 el que demostr que DES podra ser atacado en
la prctica, y se destac la necesidad de un algoritmo de repuesto.
2.
que
se
ofrecen
de
forma
complementaria,
que
son
, el tamao del
Pgina 3
sub-claves
iteraciones
Cifrados de Feistel.
El cifrado de Feistel es un cifrado iterado, que transforma un texto plano
de longitud 2
veces, donde
1. Cada bloque
, al que se llega
,
es de
bits.
,
,
y donde
tiene una
, donde
se
es una
es la operacin OR exclusivo,
a partir de la
3, y habitualmente un valor
, y no
, para 1
3.
, llegaremos al texto
Pgina 4
DES, con parmetros muchos menores. Puede ser un buen ejercicio implementar
este algoritmo y probar su funcionamiento.
Como cada bloque se cifra por separado, vamos a suponer que nuestro mensaje
a cifrar consiste en un solo bloque. El mensaje plano
dividimos en dos mitades:
mensaje, y
La clave
es de 9 bits.
La iteracin
Feistel.) La funcin
. (Esquema de
y una
en la salida
, y
. Este proceso se
.
. En un primer paso,
: sa
y da como salida
.
, y que
Entonces
, as que
0.
Pgina 5
. Cualquier
usado
111 000
101 011
011 010
001 100
da como
. El
010011001, entonces
).
Pgina 6
1. La entrada
. Cada una de las dos cajas da una salida de 3 bits, que al concatenar
4 bits
,
4 bits
Figura 2.: La funcin
100110 y
10101010
01100101
cuatro ltimos a
,
100110
, y los
000100.
4.
,
,
, es decir,
100110 011000.
DES.
Es un algoritmo de cifrado de bloques de 64 bits. Su clave es de 56 bits, pero
viene expresada en una cadena de 64 bits: En cada byte tenemos introducido un
bit de paridad. La salida cifrada ser otro bloque de 64 bits.
Pgina 7
. El
0, 1
las
cadenas
verifiquen
la
de
siguiente
64
bits
Texto Plano
que
propiedad:
si
0,1
,,
7,
2; 0
donde
(1
8)
bloque
de
texto
un
bits
de
son
permutados
32 primeros bits de
, y
el bloque
decir,
2. Para
es
16,
se
realizan
siguientes operaciones:
;
:
.
las
Texto Cifrado
Figura 3: Algoritmo DES.
.
Pgina 8
Donde
,y
es una funcin
,,
Permutacin
58 50 42
62 54 46
57 49 41
61 53 45
IP
34
38
33
37
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
Permutacin
40 8
48
38 6
46
36 4
44
34 2
42
IP inversa
16 56 24
14 54 22
12 52 20
10 50 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
26
30
25
29
: 0,1
0,1
Pgina 9
1. Primero, el argumento
: 0,1
0,1
2. A continuacin se calcula
bloques
, de longitud 6, donde
0,1 .
0,1 , para 1
: 0,1
8. Cada
de seis bits
(32 bits)
Expansin
(48 bits)
(48 bits)
(6 bits)
(4 bits)
Permutacin
,
Figura 4: La funcin
(32 bits)
para DES
Pgina 10
1. Primero,
32
8
16
24
2
10
18
26
3
11
19
27
4
12
20
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
es el 32 de
. Si tomamos
es la
, la fila de
.
Por ejemplo, si
(la primera fila es la 00), y la columna 0100, que es la quinta (la primera
columna es la 0000). El valor obtenido es el 3, que se obtendr en
codificacin binaria con cuatro bits:
con 4 dgitos binarios. Obtenemos, por tanto, 4 bits de cada caja; en total 32
bits:
7
8
20
24
21
14
29
32
12
27
28
3
17
9
1
19
15
13
23
30
26
6
5
22
,
18
11
, de 32 bits.
31
4
10
25
Pgina 11
S box 1
14 4
0 15
4
1
15 12
S box 2
15 1
3 13
0 14
13 8
S box 3
10 0
13 7
13 6
1 10
S box 4
7 13
13 8
10 6
3 15
S box 5
2 12
14 11
4
2
11 8
S box 6
12 1
10 15
9 14
4
3
S box 7
4 11
13 0
1
4
6 11
S box 8
13 2
1 15
7 11
2
1
13
7
14
8
1
4
8
2
2
14
13
4
15
2
6
9
11
13
2
1
8
1
11
7
3
10
15
5
10
6
12
11
6
12
9
3
12
11
7
14
5
9
3
10
9
5
10
0
0
3
5
6
7
8
0
13
8
4
7
10
14
7
11
1
6
15
10
3
11
2
4
15
3
8
13
4
4
14
1
2
9
12
5
11
7
0
8
6
2
1
12
7
13
10
6
12
12
6
9
0
0
9
3
5
5
11
2
14
10
5
15
9
9
0
4
13
14
9
9
0
6
3
8
6
3
4
15
9
15
6
3
8
5
10
0
7
1
2
11
4
13
8
1
15
12
5
2
14
7
14
12
3
11
12
5
11
4
11
10
5
2
15
14
2
8
1
7
12
14
11
9
0
3
5
0
6
0
6
12
10
6
15
11
1
9
0
7
13
10
3
13
8
1
4
15
9
2
7
1
4
8
2
3
5
5
12
14
11
11
1
5
12
12
10
2
7
4
14
8
2
15
9
4
14
4
2
1
12
1
12
11
7
7
4
10
1
10
7
13
14
11
13
7
2
6
1
8
13
8
5
15
6
5
0
9
15
3
15
12
0
15
10
5
9
13
3
6
10
0
9
3
4
14
8
0
5
9
6
14
3
10
4
15
2
15
2
5
12
9
7
2
9
2
12
8
5
6
9
12
15
8
5
3
10
0
6
7
11
13
1
0
14
3
13
4
1
4
14
10
7
14
0
1
6
7
11
13
0
5
3
11
8
11
8
6
13
2
11
11
13
14
7
13
8
15
4
12
1
0
9
3
4
8
1
7
10
13
10
14
7
3
14
10
9
12
3
15
5
9
5
6
0
7
12
8
15
5
2
0
14
10
15
5
2
6
8
9
3
1
6
2
12
8
13
4
14
4
8
1
7
6
10
9
4
15
3
12
10
11
7
14
8
1
4
2
13
10
12
0
15
9
5
6
12
3
6
10
9
14
11
13
0
5
0
15
3
0
14
3
5
12
9
5
6
7
2
8
11
, ,
. Como se
cuales, 8 son bits de paridad: se dispone de un total de 56 bits de clave til. Los
pasos a seguir para obtener las sucesivas
1. Descartar los bits de paridad y, con los bits que resten, realizar una
Pgina 12
, (con
57
10
63
14
49
2
55
6
41
59
47
61
33
51
39
53
de 28 bits).
25
43
31
45
17
35
23
37
9
27
15
29
1
19
7
21
58
11
62
13
50
3
54
5
42
60
46
28
34
52
38
20
26
44
30
12
18
36
22
4
16 realizamos la operacin:
, y
es
1
1
2
1
3
2
4
2
5
2
6
2
7
2
8
2
9
1
10 11 12 13 14 15 16
2
2
2
2
2
2
1
de acuerdo con
. De esta
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
21
13
33
29
10
2
48
32
5.
SEGURIDAD DE DES.
Data Encryption Standard - DES
Pgina 13
Pgina 14
hasta que puedan verla con sus propios ojos. Mostrarles una mquina fsica que
pueda romper DES en unos pocos das es la nica manera de convencer a
algunas personas de que realmente no pueden confiar su seguridad a DES." La
mquina rompi una clave por fuerza bruta en una bsqueda que dur poco ms
de 2 das; Ms o menos al mismo tiempo, un abogado del Departamento de
Justicia de los Estados Unidos proclamaba que DES era irrompible.
Ataques ms rpidos que la fuerza bruta. Existen tres ataques conocidos
que pueden romper las diecisis rondas completas de DES con menos
complejidad que un ataque por fuerza bruta: el criptoanlisis diferencial (CD), el
criptoanlisis lineal (CL) y el ataque de Davies. De todas maneras, stos ataques
son slo tericos y no es posible llevarlos a la prctica.
El criptoanlisis diferencial fue descubierto a finales de los 80 por Eli Biham y Adi
Shamir, aunque era conocido anteriormente tanto por la NSA como por IBM y
mantenido en secreto. Para romper las 16 rondas completas, el criptoanlisis
diferencial requiere 247 textos planos escogidos. DES fue diseado para ser
resistente al CD.
El criptoanlisis lineal fue descubierto por Mitsuru Matsui, y necesita 243 textos
planos escogidos (Matsui, 1993); el mtodo fue implementado (Matsui, 1994), y
fue el primer criptoanlisis experimental de DES que se dio a conocer. No hay
evidencias de que DES fuese adaptado para ser resistente a este tipo de ataque.
Una generalizacin del CL el criptoanlisis lineal mltiple se propuso en 1994
Kaliski and Robshaw), y fue mejorada por Biryukov y otros (2004); su anlisis
sugiere que se podran utilizar mltiples aproximaciones lineales para reducir los
requisitos de datos del ataque en al menos un factor de 4 (es decir, 241 en lugar
de 243). Una reduccin similar en la complejidad de datos puede obtenerse con
una variante del criptoanlisis lineal de textos planos escogidos (Knudsen y
Mathiassen, 2000). Junod (2001) realiz varios experimentos para determinar la
complejidad real del criptoanlisis lineal, y descubri que era algo ms rpido de
lo predicho, requiriendo un tiempo equivalente a 239241 comprobaciones en
DES.
El ataque mejorado de Davies: mientras que el anlisis lineal y diferencial son
tcnicas generales y pueden aplicarse a multitud de esquemas diferentes, el
ataque de Davies es una tcnica especializada para DES. Propuesta por vez
primera por Davies en los 80, y mejorada por Biham y Biryukov (1997). La forma
Pgina 15
ms potente del ataque requiere 250 textos planos escogidos y tiene un 51% de
probabilidad de xito.
Existen tambin ataques pensados para versiones del algoritmo con menos
rondas, es decir versiones de DES con menos de diecisis rondas. Dichos anlisis
ofrecen una perspectiva sobre cuntas rondas son necesarias para conseguir
seguridad, y cunto margen de seguridad proporciona la versin completa.
Propiedades criptoanalticas. DES presenta la propiedad complementaria,
, donde
dado que
es el complemento a bit de
. La
6.
DES NO ES UN GRUPO.
Un posible modo de incrementar de modo efectivo el tamao de la clave de DES
sera realizar una doble operacin de cifrado sobre el texto plano. Tomando
y el texto plano
transformacin
Para
descifrar,
bastara
hacer
ahora
tal que
, existe una
Pgina 16
Pero no es as, por otro motivo. Existe una forma de ataque que anula esa
posibilidad. Para levarla a cabo basta con tener la herramienta que rompe DES y
una enorme capacidad de memoria. El procedimiento para atacar esta cifra es el
siguiente:
1. Supngase que el atacante ha interceptado el mensaje plano a transmitir,
y el criptograma
.
para todos los
es el nmero total de
claves posibles, al realizar el proceso de cifrado dos veces deber realizar una
bsqueda de 2
claves, y no de
7. TRIPLE DES
DobleDES queda por tanto descartado como criptosistema seguro una vez se ha
logrado comprometer el criptosistema DES. Qu ocurre en el caso de Triple
DES? En ese caso, el algoritmo de ataque meetinthemiddle no funciona
correctamente.
Existen dos formas habituales de aplicar TripleDES:
1. Con tres claves
y
y
, aplicamos la transformacin
, aplicamos la transformacin
. En
al DES tradicional.
Ambas formas dan gozan de una seguridad equivalente a la de un criptosistema
de longitud de clave igual a 112 bits. Ambas formas son resistentes, como ya se
ha dicho, al ataque meetinthemiddle. Existen, sin embargo, otras formas de
Pgina 17
suficientemente seguro.
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
Data encryption Standard (DES), FIPS PUB 463. 1999 October 25.
http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf.
[6]
Wikipedia. http://es.wikipedia.org/wiki/Data_Encryption_Standard.
Pgina 18