Vous êtes sur la page 1sur 3

EJERCICIOS RESUELTOS DE CIFRA SIMÉTRICA: BLOQUE Y FLUJO

17/05/2018

EJERCICIO 1. Tras una vuelta del algoritmo DES, nos encontramos que la salida en hexadecimal
de las cajas S es SCajasS = FB12FA34. Se pide:
a) Indica si alguna de estas posibles 8 entradas es la verdadera.
Entrada 1) 110000 001010 100001 111010 010110 101111 010000 100110
Entrada 2) 110000 001010 100001 111010 010110 101111 001000 100100
Entrada 3) 110000 001010 100001 111010 010110 101101 010000 100100
Entrada 4) 110000 001010 100001 111010 110110 101111 010000 100100
Entrada 5) 110000 001010 100001 101010 010110 101111 010000 100100
Entrada 6) 110000 001010 100111 111010 010110 101111 010000 100100
Entrada 7) 110000 011010 100001 111010 010110 101111 010000 100100
Entrada 8) 110000 001010 100001 111010 010110 101111 010000 100100
Ninguna de las anteriores.
b) Justifica por qué has descartado cada una de las entradas o todas.

SOLUCIÓN:
Apartado a:
Para que la salida de la primera caja S1 sea F = 1111, la entrada a S1 debe ser (2,8) = 1 1000 0
Las 8 entradas comienzan con esta cadena de seis bits. Todas lo cumplen.
Para que la salida de la segunda caja S2 sea B = 1011, la entrada a S2 debe ser (0,5) = 0 0101 0
Fallo: la entrada 7 = 011010 no cumple con esta cadena de bits.
Para que la salida de la tercera caja S3 sea 1 = 0001, la entrada a S3 debe ser (3,0) = 1 0000 1
Fallo: la entrada 6 = 100111 no cumple con esta cadena de bits.
Para que la salida de la cuarta caja S4 sea 2 = 0010, la entrada a S4 debe ser (2,13) = 1 1101 0
Fallo: la entrada 5 = 101010 no cumple con esta cadena de bits.
Para que la salida de la quinta caja S5 sea F = 1111, la entrada a S5 debe ser (0,11) = 0 1011 0
Fallo: la entrada 4 = 110110 no cumple con esta cadena de bits.
Para que la salida de la sexta caja S6 sea A = 1010, la entrada a S6 debe ser (3,7) = 1 0111 1
Fallo: la entrada 3 = 101101 no cumple con esta cadena de bits.
Para que la salida de la séptima caja S7 sea 3 = 0011, la entrada a S7 debe ser (0,8) = 0 1000 0
Fallo: la entrada 2 = 001000 no cumple con esta cadena de bits.
Para que la salida de la octava caja S8 sea 4 = 0100, la entrada a S8 debe ser (2,2) = 1 0010 0
Fallo: la entrada 1 = 100110 no cumple con esta cadena de bits.
La entrada que da como resultado SCajasS = FB12FA34 es la número 8,
Apartado b:
Se llega a esta conclusión porque todas las demás entradas fallan, en sólo una caja S diferente
en cada caso si bien todas las demás estás correctas. La entrada número 8 es la única que
cumple con el resultado buscado.

EJERCICIO 2. Vamos a cifrar el mensaje M en ASCII = ABBA usando cifrado en flujo. El


generador usado es un LFSR simple caracterizado por el polinomio generador x5 + x3 + x + 1 y
con la semilla 10001. Se pide:
a) Encuentra la secuencia cifrante y el periodo del generador.
b) ¿Qué puedes decir de la secuencia de clave encontrada?
c) Cifra el mensaje ABBA bit a bit con la secuencia de clave encontrada (AASCII = 0100 0001).
d) Representa el criptograma en formato Base 64 y comenta alguna particularidad de ese
resultado.
e) Descifra el criptograma bit a bit.
SOLUCIÓN:
Apartado a:
Registro LFSR: x5 + x3 + x + 1 con una semilla = 10001
S1 S2 S3 S4 S5
1 0 0 0 1 → Si
El XOR se realizará entre el bit de la cuarta última celda y el de la primera.
Evolución del registro:
1 0 0 0 1 → 1
0 1 0 0 0 → 0
0 0 1 0 0 → 0
1 0 0 1 0 → 0
1 1 0 0 1 → 1
0 1 1 0 0 → 0
1 0 1 1 0 → 0
0 1 0 1 1 → 1
1 0 1 0 1 → 1
1 1 0 1 0 → 0
1 1 1 0 1 → 1
1 1 1 1 0 → 0
0 1 1 1 1 → 1
0 0 1 1 1 → 1
0 0 0 1 1 → 1
1 0 0 0 1 Semilla.
La secuencia cifrante será Si = 100010011010111
Apartado b:
El periodo es igual a 15 y la secuencia encontrada es mala para este registro. Se trata de un
polinomio irreducible pero no primitivo y en este caso el periodo es siempre Smáx-1/2, es decir
para un registra de 5 celdas (31-1)/2 = 15.
Apartado c:
ABBA = 01000001 01000010 01000010 01000001
Si = 100010011010111
Para cifra se hace un XOR entre el mensaje M y la clave S se obtiene:
M=01000001010000100100001001000001
S=100010011010111100010011010111100010011010111
Obteniendo:
C=110010001110110101010001000111110000
La secuencia cifrante se repite dos veces dado que el texto en claro tiene 32 bits y ésta 30.
Los últimos 4 ceros (0 0 0 0) indican el relleno que habrá que hacer al pasarlo a código Base 64.
Apartado d:
C = 110010 001110 110101 010001 000111 110000
Usando la tabla del código Base 64 obtenemos:
C = yO1RHw==
Hay dos rellenos ==, puesto que faltan los cuatro bits indicados en negrita para formar el
último bloque de 6 bits de la codificación Base 64.
Apartado e:
C=11001000111011010101000100011111
S=10001001101011110001001101011110
Haciendo el XOR:
M=01000001010000100100001001000001
M = 01000001 01000010 01000010 01000001 = ABBA
EJERCICIOS PROPUESTOS DE CIFRA SIMÉTRICA: BLOQUE Y FLUJO

EJERCICIO 3. Una entrada a las cajas S del DES activa las siguientes filas (F) y columnas (C)
como se indica: S1F,C = 0,9; S2F,C = 0,10; S3F,C = 3,12; S4F,C = 1,4; S5F,C = 0,8; S6F,C = 2,10; S7F,C = 3,2;
S8F,C = 1,7. Se pide:
b) Los 48 bits de entrada a las cajas S (be) y la palabra en ASCII que forma.
c) Los 32 bits de salida (bs) de esas cajas S.
d) El número de entradas (be) posibles que podrían dar lugar a esa salida (bs) en una vuelta.

EJERCICIO 4. Sospechamos que la cadena ci = 0110001111 de 10 bits es una parte de la


secuencia cifrante o clave Si para una cifra en flujo mediante registro LFSR primitivo de 5
etapas. Se pide:
a) Plantear el sistema de ecuaciones del ataque de Berlekamp – Massey.
b) Resolver el sistema de ecuaciones y encontrar el tipo de registro utilizado sin utilizar
matrices, solamente mediante la simple lógica de operaciones XOR en las ecuaciones,
en tanto se sabe además que la última celda siempre estará conectada y Cn tiene el
valor 1.
c) ¿Qué longitud en bits tendrá la secuencia cifrante Si?

Vous aimerez peut-être aussi