Documentos de Académico
Documentos de Profesional
Documentos de Cultura
- Introducción
2.- Historia del DES
3.- Conceptos previos
4.- Dispositivo LUCIFER
5.- Algoritmo de cifrado DES
Descripción general
Función de cifrado f y cajas
S
Generador de claves
El Descifrado
7.- Modos de Operación
8.- TRIPLE DES
9.- AES (Advanced Encryption
Standard)
Autor
1.- Introducción
Una vez conocidos estos conceptos será más fácil entender el DES ya que se
basa simplemente en aplicar una serie
de sustituciones y permutaciones varias veces.
Otro aspecto importante a considerar es que los cifrados no
tengan estructura de grupo, es decir, que no se cumpla la siguiente
propiedad:
58 50 42 34 26 18 10 02 40 08 48 16 56 24 64 32
60 52 44 36 28 20 12 04 39 07 47 15 55 23 63 31
62 54 46 38 30 22 14 06 38 06 46 14 54 22 62 30
64 56 48 40 32 24 16 08 37 05 45 13 53 21 61 29
57 49 41 33 25 17 09 01 36 04 44 12 52 20 60 28
59 51 43 35 27 19 11 03 35 03 43 11 51 19 59 27
34 02 42 10 50 18 58 26
61 53 45 37 29 21 13 05
33 01 41 09 49 17 57 25
63 55 47 39 31 23 15 07
Li = Ri-1
Ri = Li-1 + f(Ri-1, Ki)
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 25
24
24 25 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
Tabla 3. Tabla de expansión E
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
18 13 30 6
22 11 4 25
Tabla 4. Permutación P.
Resumiendo, al final de este proceso nos encontramos con una salida de la
siguiente forma:
P ( S1 ( B1 ) . S2 ( B2 ) ... S8 ( B8 ) )
Llegados a este punto únicamente nos falta conocer el funcionamiento de las
cajas S, es decir, que operaciones realiza para obtener la salida Sj ( Bj ). El
funcionamiento es sencillo, cada una de estas 8 cajas tiene asociada una
matriz (ver Tabla 5). Como ya he comentado anteriormente, los 6 bits Bj =
b1b2b3b4b5b6 se convierten en 4 bits que se corresponden con el valor decimal
de un elemento de la matriz Sj cuya fila, viene determinada por el valor
decimal de los bits b1b6; y en columna, por el número decimal correspondiente
al binario b2b3b4b5 de los bits centrales de Bj.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
00 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
01 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
10 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
11 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Tabla 5. Matriz de selección para el bloque B1.
En la tabla anterior he resaltado algunas casillas para hacer más fácil la
comprensión de estas cajas a partir del siguiente ejemplo:
1 58 50 42 34 26 18 3 28 15 6 21 10
10 2 59 51 43 35 27 23 19 12 4 26 8
19 11 3 60 52 44 36 16 7 27 20 13 2
63 55 47 39 31 23 15 41 52 31 37 47 55
7 62 54 46 38 30 22 30 40 51 45 33 48
14 6 61 53 45 37 29 44 49 39 56 34 53
21 13 5 28 20 12 4 46 42 50 36 29 32
Li = LSi (Li-1)
Ri = LSi (Ri-1)
iter. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
LS i 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
Tabla 7. Relación entre la iteración y el número de desplazamientos.
5.4.- El Descifrado
El descifrado se realiza utilizando el mismo algoritmo pero de una forma
distinta, es decir, en la primera iteración se utiliza la clave interna K16, la K15
en la segunda, y así hasta llegar a la K1 para la última iteración. Esto se hace
así porque la permutación final IP-1 es la inversa de la permutación inicial IP.
Por otra parte:
Ri = Li-1
Li = Ri-1 + f(Li-1, Ki)
01 01 01 01 01 01 01 01
1F 1F 1F 1F 0E 0E 0E 0E
E0 E0 E0 E0 F1 F1 F1 F1
FE FE FE FE FE FE FE FE
Tabla 8. Valores en hexadecimal de las llaves débiles
En estos cuatro casos las operaciones de cifrado y descifrado son iguales ya
que al ser todas las claves internas iguales el resultado de aplicar estas claves
de la 1 a la 16 y de la 16 a la 1 es el mismo. Es decir, que se cumple que:
Dk(Dk(M)) = M
Ek(Ek(M)) = M
6.1.3.- Complementariedad
Existe la posibilidad de utilizar claves que sean complementarias al mensaje
cifrado. Sean M' y K' los complementarios de los respectivos M y K, se cumple
que:
C = Ek (M)
C' = Ek' (M')
Figura 4. DES autosincronizado para el cifrado
Figura 5. DES autosincronizado para el descifrado
Figura 6. DES con autentificación para el cifrado
Figura 7. DES con autentificación para el descifrado
< Índice >
He creído conveniente dedicar una sección a parte para explicar el triple DES
debido a que hoy en día es el modo más utilizado. Esto es así debido a lo que
ya expliqué anteriormente, es decir, que en los días que estamos y con la
tecnología de la que disponemos, no es excesivamente costoso romper el DES.
Así pues, existen métodos de cifrado múltiple entre los que cabe destacar el
triple DES. Simplemente se trata de utilizar tres llaves externas
independientes para cifrar el mismo texto de manera que las expresiones que
representan el cifrado y descifrado del mensaje son las siguientes:
c = E k3 (D k2 (E k1 (m)))
m = D k1 (E k2 (D k3 (c)))
Requisitos mínimos
Criterios de evaluación