Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Des PDF
Des PDF
DES
Introduccin
DES (Data Encryption Standard, estndar de cifrado de datos) es un
algoritmo desarrollado originalmente por IBM a requerimiento del NBS
(National Bureau of Standards, Oficina Nacional de Estandarizacin, en la
actualidad denominado NIST, National Institute of Standards and
Technology, Instituto Nacional de Estandarizacin y Tecnologa) de
EE.UU. y posteriormente modificado y adoptado por el gobierno de EE.UU.
en 1977 como estndar de cifrado de todas las informaciones sensibles no
clasificadas. Posteriormente, en 1980, el NIST estandariz los diferentes
modos de operacin del algoritmo. Es el ms estudiado y utilizado de los
algoritmos de clave simtrica.
El nombre original del algoritmo, tal como lo denomin IBM, era
Lucifer. Trabajaba sobre bloques de 128 bits, teniendo la clave igual
longitud. Se basaba en operaciones lgicas booleanas y poda ser
implementado fcilmente, tanto en software como en hardware.
Tras las modificaciones introducidas por el NBS, consistentes
bsicamente en la reduccin de la longitud de clave y de los bloques, DES
cifra bloques de 64 bits, mediante permutacin y sustitucin y usando una
clave de 64 bits, de los que 8 son de paridad (esto es, en realidad usa 56
bits), produciendo as 64 bits cifrados.
TEXTO PLANO
CLAVE de 64 bits
Bloque de 64 bits
Permutacin Inicial
(Initial Permutation, IP)
L0, R0
Permutacin 1
(Permuted Choice 1, PC-1)
C0, D 0
K1
Permutacin 2
(Permuted Choice 2, PC-2)
K1
Rotacin a izquierda
C1, D1
Ronda 2
L2, R2
K2
Permutacin 2
(Permuted Choice 2, PC-2)
K2
Rotacin a izquierda
C2, D 2
Ronda 16
L16, R16
K16
Permutacin 2
(Permuted Choice 2, PC-2)
K16
Rotacin a izquierda
C16, D 16
Ronda 1
L1, R1
Intercambio 32 bits
R16, L16
TEXTO CIFRADO
Bloque de 64 bits
2/10
Permutacin 1
(Permuted Choice 1, PC-1)
(54 bits)
C0
(28 bits)
D0
(28 bits)
Rotacin a la izquierda
Rotacin a la izquierda
C1
(28 bits)
D1
(28 bits)
Permutacin 2
(Permuted Choice 2, PC-2)
Rotacin a la izquierda
Rotacin a la izquierda
K1
(48 bits)
Cn
(28 bits)
Dn
(28 bits)
Permutacin 2
(Permuted Choice 2, PC-2)
Rotacin a la izquierda
Rotacin a la izquierda
Kn
(48 bits)
C16
(28 bits)
D16
(28 bits)
Permutacin 2
(Permuted Choice 2, PC-2)
Rotacin a la izquierda
Rotacin a la izquierda
K16
(48 bits)
3/10
Ri-1
32 bits
Expansin
(Permutation E)
48 bits
Xor
Ki
48 bits
Sustitucin
(S-Cajas)
32 bits
Permutacin
(Permutation P)
32 bits
Xor
Li
32 bits
Ri
32 bits
4/10
57
58
59
60
31
30
29
1
2
3
39
38
37
4
5/10
28
4
2
40
56
32
58
60
62
64
57
59
61
63
50
52
54
56
49
51
53
55
42
44
46
48
41
43
45
47
34
36
38
40
33
35
37
39
26
28
30
32
25
27
29
31
18
20
22
24
17
19
21
23
10
12
14
16
9
11
13
15
2
4
6
8
1
3
5
7
1
7
13
17
23
29
Expansion (E)
2
3
4
5
8
9
8
9
12 13 14 15
18 19 20 21
24 25 24 25
28 29 30 31
4
10
16
20
26
32
5
11
17
21
27
1
6/10
7
15
8
13
20
23
24
30
21
26
14
6
29
5
32
22
12
18
27
11
28
31
3
4
17
10
9
25
7/10
Fila
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
14
0
4
15
15
3
0
13
10
13
13
1
7
13
10
3
2
14
4
11
12
10
9
4
4
13
1
6
13
1
7
2
1
4
15
1
12
1
13
14
8
0
7
6
10
13
8
6
15
12
11
2
8
1
15
14
3
11
0
4
11
2
15
11
1
2
13
7
14
8
8
4
7
10
9
0
4
13
14
11
9
0
4
2
1
12
10
4
15
2
2
11
11
13
8
13
4
14
3
1
4
8
2
14
7
11
1
14
9
9
0
3
5
0
6
1
12
11
7
15
2
5
12
14
7
13
8
4
8
1
7
4
2
14
13
4
6
15
10
3
6
3
8
6
0
6
12
10
7
4
10
1
9
7
2
9
15
4
12
1
6
10
9
4
5
15
2
6
9
11
2
4
15
3
4
15
9
6
15
11
1
10
7
13
14
2
12
8
5
0
9
3
4
15
3
12
10
6
11
13
2
1
3
8
13
4
15
6
3
8
9
0
7
13
11
13
7
2
6
9
12
15
8
1
7
10
11
7
14
8
Columna
7 8
8 3
1 10
11 15
7 5
4 9
14 12
1 5
2 11
5 1
10 2
0 11
7 4
10 1
3 4
13 15
8 9
6 8
1 5
8 15
13 6
8 0
5 6
3 7
10 11
13 3
10 14
14 10
7 9
1 10
4 12
2 0
13 15
9
10
6
12
11
7
0
8
6
13
8
1
15
2
7
1
4
5
0
9
15
13
1
0
14
12
3
15
5
9
5
6
12
10
6
12
9
3
2
1
12
7
12
5
2
14
8
2
3
5
3
15
12
0
3
13
4
1
9
5
6
0
3
6
10
9
11
12
11
7
14
13
10
6
12
7
14
12
3
5
12
14
11
15
10
5
9
4
14
10
7
7
12
8
15
14
11
13
0
12
5
9
3
10
12
6
9
0
11
12
5
11
11
1
5
12
13
3
6
10
14
0
1
6
5
2
0
14
5
0
15
3
13
9
5
10
0
0
9
3
5
4
11
10
5
12
10
2
7
0
9
3
4
7
11
13
0
10
15
5
2
0
14
3
5
14
0
3
5
6
5
11
2
14
2
15
14
2
4
14
8
2
14
8
0
5
5
3
11
8
6
8
9
3
12
9
5
6
15
7
8
0
13
10
5
15
9
8
1
7
12
15
9
4
14
9
6
14
3
11
8
6
13
1
6
2
12
7
2
8
11
S-Caja
S1
S2
S3
S4
S5
S6
S7
S8
7
15
8
13
20
23
24
30
21
26
14
6
29
5
32
22
12
18
27
11
28
31
3
4
17
10
9
25
8/10
8
7
6
5
4
3
2
1
48
47
46
45
44
43
42
41
16
15
14
13
12
11
10
9
56
55
54
53
52
51
50
49
24
23
22
21
20
19
18
17
64
63
62
61
60
59
58
57
32
31
30
29
28
27
26
25
(ii) Desencriptacin:
Usar el mismo proceso descrito con anterioridad pero empleando las
subclaves en orden inverso, esto es, en lugar de aplicar K(1) para la primera
iteracin aplicar K(16), K(15) para la segunda y as hasta K(1).
9/10
Clave:
133457799BBCDFF1
Cifrado:
85E813540F0AB405
Ejemplo 2:
Bloque a cifrar en hexadecimal:
8787878787878787
Clave:
0E329232EA6D0D73
Cifrado:
0000000000000000
Ejemplo 3:
Texto a cifrar:
Your lips are smoother than vaseline
(36 caracteres+Chr(13)+Chr(10))
En hexadecimal:
596f7572206c6970 732061726520736d 6f6f746865722074
68616e2076617365 6c696e650d0a0000
Clave:
0E329232EA6D0D73
Relleno
Cifrado:
C0999FDDE378D7ED 727DA00BCA5A84EE 47F269A4D6438190
D9D52F78F5358499 828AC9B453E0E653
Ejemplo 4:
Texto a cifrar (24 Caracteres):
Now is the time for all
Clave:
0123456789ABCDEF
Cifrado:
3FA40E8A984D4815 6A271787AB8883F9 893D51EC4B563B53
10/10