“CIFRADO S-DES (bits)” Práctica #1 de la Asignatura: Encriptación de Datos
Enviado por Eduardo Padilla Preciado • 8 de Abril de 2021 • Práctica o problema • 1.731 Palabras (7 Páginas) • 87 Visitas
[pic 1]
CENTRO UNIVERSITARIO DE LOS LAGOS
DIVISIÓN DE ESTUDIOS DE LA BIODIVERSIDAD
E INNOVACIÓN TECNOLÓGICA
[pic 2]
“CIFRADO S-DES (bits)”
Práctica #1 de la Asignatura:
Encriptación de Datos
PRESENTA
Eduardo Padilla Preciado
Código: 212526873
Licenciatura en Tecnologías de la Información Ciclo 2021A
Maestra: Mtra. María del Rocío Ramírez Jiménez | San Juan de los Lagos, Jalisco. 03 de abril de 2021 |
PRÁCTICA 1: CIFRADO S-DES (BITS)
Cifrado S-DES
¿Qué es?
Es un algoritmo que tiene muchas características del DES, pero es mucho más simple que DES. Como DES, este algoritmo también es un cifrado en bloque.
Tamaño de bloque: en DES simplificado, el cifrado / descifrado se realiza en bloques de 12 bits. El texto plano / cifrado se divide en bloques de 12 bits y el algoritmo se aplica a cada bloque.
Clave: La clave tiene 9 bits. La clave, Ki, para la i-ésima ronda de cifrado se obtiene utilizando 8 bits de K, comenzando con el i-ésimo bit.
Ejemplo: si K = 111000111
Entonces K1 = 11100011 y K3 = 10001111 y K10 = K1 = 11100011
Algoritmo:
El bloque de 12 bits se escribe en la forma L0R0, donde L0 consta de los primeros 6 bits y R0 consta de los últimos 6 bits. La i-ésima ronda del algoritmo transforma una entrada Li-1Ri-1 en la salida LiRi utilizando un Ki de 8 bits derivado de K.
[pic 3]
Figura 1: Una ronda de un sistema Feistel
La salida para la i-ésima ronda se encuentra de la siguiente manera.
Li = Ri-1 y Ri = Li-1 ⊕ f (Ri-1, Ki)
Esta operación se realiza para un cierto número de rondas, digamos n, y produce LnRn. El texto cifrado será RnLn. El cifrado y el descifrado se realizan de la misma manera, excepto que las claves se seleccionan en orden inverso. Las claves para el cifrado serán K1, K2 …… Kn y para el descifrado serán Kn, Kn-1 …… K1.
Función f (Ri-1, Ki): La función f (Ri-1, Ki) que se muestra en la figura, es descrita en los siguientes pasos.
[pic 4]
[pic 5]
Figura 2: La función f (Ri-1, Ki)
1. Los 6 bits se expanden utilizando la siguiente función de expansión. La función de expansión toma una entrada de 6 bits y produce una salida de 8 bits. Esta salida es la entrada para las dos cajas S.
[pic 6]
Figura 3: La función de expansión, E (Ri-1)
2. La salida de 8 bits del paso anterior tiene un OR exclusivo (Disyunción exclusiva ⊕) con la clave Ki
3. La salida de 8 bits se divide en dos bloques. El primer bloque consta de los primeros 4 bits y los últimos cuatro bits forman el segundo bloque. El primer bloque es la entrada para la primera caja S (S1) y el segundo bloque es la entrada para la segunda caja S (S2).
4. Las cajas S toman 4 bits como entrada y producen 3 bits de salida. El primer bit de la entrada se utiliza para seleccionar la fila del cuadro S, 0 para la primera fila y 1 para la segunda fila. Los últimos 3 bits se utilizan para seleccionar la columna.
Los cuadros S1 y S2 se muestran a continuación:
[pic 7]
Figura 4: Caja S1
[pic 8]
Figura 5: Caja S2
Ejemplo: Sea la salida de la función de expansión 11010010.
Entonces 1101 será la entrada para la caja S1 y 0010 será la entrada para la caja S2. La salida del cuadro S1 será 111, la primera de las entradas es 1, así que seleccione la segunda fila y 101 seleccionará la sexta columna. De manera similar, la salida de la caja S2 será 110.
5. La salida de las cajas S se combina para formar un solo bloque de 6 bits. Estos 6 bits serán la salida de la función f (Ri-1, Ki).
En nuestro ejemplo, tenemos la salida S1 111 y la salida S2 110. Entonces, la salida para la función f (Ri-1, Ki) será 111110, la salida S1 seguida por la salida S2.
Ejemplo
El ejemplo es explicado para dos rondas.
El mensaje de entrada: 100010110101 y la clave: 111000111.
Cifrado
Ronda 1 (i = 0)
L0 = 100010 y R0 = 110101; K1 = 11100011.
E (R0) = 11101001.
E (R0) ⊕ K1 = 11101001 ⊕ 11100011 = 00001010.
...