4 EjerciciosCriptografiaClasica Soluciones
4 EjerciciosCriptografiaClasica Soluciones
4 EjerciciosCriptografiaClasica Soluciones
Ejercicio 1
Siguiendo el método esteganográfico conocido como Baconian cipher, antes de ocultar el texto
original, cada letra se reemplaza por una combinación de cinco letras pertenecientes al grupo {‘A’,
‘B’}. El alfabeto codificado es el siguiente:
Una vez codificado el mensaje a cifrar se hace uso de un mensaje de base para insertar dicha
codificación para componer el criptograma.
NOTA: de las 32 combinaciones de las tuplas {‘A’, ‘B’} solo serán válidas 24.
Solución 1.
Sustituyendo las mayúsculas por A y las minúsculas por B obtenemos el mensaje codificado y
asignando la letra correspondiente según el alfabeto a cada grupo de 5 letras tenemos la solución:
ABBAA ABBAB BAAAB BAABB AABAA ABABB ABBAB BAAAB AAAAA ABABA AAAAA BAAAB
BAABA BAAAA AABAA BAAAB
P.ej.
{a,b,c,….l} A
{m,…z}B
c) (ver teoría)
¿Qué es la esteganografía?
El objetivo de la esteganografía es ocultar ese mensaje dentro de otro sin información importante,
de forma que el atacante ni siquiera se entere de la existencia de dicha información oculta.
La esteganografía puede usarse con o sin clave. Al usar un mensaje portador el tamaño combinado
suele ser mucho mayor que el de la información a proteger.
El término esteganografía fue usado por primera vez en 1499 por Johannes Trithemius
Ejercicio 2
Solución 2
El mensaje está oculto usando una tipografía de word distinta. El texto general usa Cambria,
mientras que el mensaje se compone de los caracteres en calibri.
Ejercicio 3
ME GUSTA LA CRIPTOGRAFÍA
b.) ¿Cuál sería el mensaje correspondiente al siguiente criptograma obtenido utilizando la misma
escítala?
TEUEEOSETRNEHOITLANAOQCTS
Solución 3.
a) Criptograma: MTRGAEAIR GLPA UATF SCOI no es bueno que aparezcan espacios al final
pues facilita el criptoanálisis del sistema (mejor usar relleno o no incluir estos espacios en
el texto cifrado, aunque esto no se puede hacer si la implementación es usar la escítala
físicamente).
M E G U S
T A L A C
R I P T O
G R A F I
A
Para descifrar habría que escribir por columnas y leer por filas. El problema es saber cuántos
caracteres poner en cada columna. Dividimos la longitud total entre el número de columnas 5
T O N T O
E S E L Q
U E H A C
E T O N T
E R I A S
Ejercicio 4
Descifra los siguientes criptogramas que han sido cifrados con el método de César (se utiliza el
alfabeto de 26 letras).
PHQVDMH GH SUXHED
FLIUDQGR FRQ FHVDU
AYUDA:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Solución 4
claro: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
alfabeto cifrado: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Ejercicio 5
Considerando el cifrador afín que viene dado por la fórmula C=( 3 M + 3 ) mod 26 :
b.) El mensaje cifrado puede recuperarse utilizando una transformación afín de la forma:
Determine los valores de las constantes a’ y b’ sabiendo que el cifrado se hace según:
C=( aM +b ) mod26
¿Es siempre posible descifrar? Comente la respuesta y las consideraciones a tener en cuenta al
realizar un cifrador afín como el anterior.
Solución 5
Se podría deshacer como Mi = (Ci – b)*a-1 mod n ; donde a-1 mod n = inv(a,n) mod n es decir
cumple que a*a-1 mod n=1
C(HOLA) = YTKD
b) a’= 9, b’=25, Se obtienen por las fórmulas anteriores o de planteando un sistema de ecuaciones
lineales como el siguiente:
Restando:
b = 25
El problema es que necesitan calcular inversos en aritmética modular y eso no lo han visto
todavía. Para este ejercicio les damos una tabla y breve explicación (diciéndoles que ya lo
verán en detalle más adelante).
Ejercicio 6
a.) Ciframos el mensaje M = HOLA, COMO VA ESO en el cuerpo n=26 con un desplazamiento de 6
caracteres, ¿cuál es el criptograma? ¿Y si desplazamos 26?
b.) ¿Se puede cifrar en el cuerpo n = 26 con la función C=( 12 M +5 ) mod 26? ¿Por qué?
c.) Cifra el mensaje M = HASTA LA VISTA con un sistema afín siendo el valor a = 5 y b = 2, usando
sólo operaciones modulares.
Solución 6
b) No, porque m.c.d(a,n)!=1, no son primos relativos. No existe inverso único para todos los
posibles casos. Distintas letras del mensaje original darían lugar a la misma letra cifrada
imposible descifrar… mcd (12, 26) = 2.
c) M = HASTA LA VISTA, a = 5, b = 2
LCOTC FC DQOTC
Ejercicio 7
Asumiendo que el texto original está en lenguaje español (usando alfabeto de 27 letras) y que se le
ha aplicado un cifrado por sustitución afín, descifre el siguiente mensaje proporcionando una
breve explicación del proceso seguido. NOTA1: La imagen de la Figura 1 proporciona la
distribución de frecuencias de aparición en porcentajes de las letras en español donde no se ha
incluido la letra Ñ (puede asumirse que la Ñ tiene una probabilidad baja de aparecer de cara a la
resolución del problema). NOTA2: Para textos cortos como el del ejercicio la distribución de
frecuencias real será aproximada respecto a la distribución de la figura 1
TJBCGAVVYKTCHKVYITNBYVTIHOBTJOBTTIRHHFHNHKVTCTJGCRTYGVYKTBCQJVOBTKT
WVYSGNVCFYVRTNGKVTCBCHWHQGRHAGVCITJJHKHYVKTHKHFVYNBHYKGHIHYSHKVI
a) Determinar las frecuencias de las letras en el texto cifrado (coger las 3 primeras suele ser
suficiente al tratarse de un cifrador afín como veremos en c)
a. T 17 (La A o la E?)
b. H 17 (La A o la E?)
c. V 15 (la O?)
b) Formular hipótesis: Asociar las letras más frecuentes en el criptograma a las más
frecuentes en el idioma del mensaje origen.
c) Plantear sistema de ecuaciones y resolver
a. C=( aM +b ) mod 27
Si T es la E 20=4a+b mod 27
Si H es la A 7= b mod 27
Despejando a=13*7 mod 27 = 10
Para ver si funciona usamos la tercera letra:
22=15*10+7 mod 27? Sí porque 157 mod 27 = 22 ok
Mensaje: EL
UNICO ORDENADOR SEGURO ES AQUEL QUE ESTA
APAGADO EN EL INTERIOR DE UN BLOQUE DE HORMIGON
PROTEGIDO EN UNA HABITACION SELLADA RODEADA POR
GUARDIAS ARMADOS
Ejercicio 8
a.) Cifra con el método Playfair el mensaje M = DON’T STOP ME NOW usando la clave K= QUEEN.
b.) El criptograma C = "FZ QL DB” ha sido obtenido utilizando Playfair con clave K = VIOLIN.
Descífralo.
Solución 8
Nota: i con la j
a) BR AS TO PR KA QS XY
M = DON’T STOP ME NOW usando la clave K= QUEEN. (Nota, al no poder repetirse letras en la
clave se usa solo una U).
Q U E N A
B C D F G
H I K L M
O P R S T
V W X Y Z
M = DO NT ST OP ME NO WX
C = BR AS TO PR KA QS XY
b) MUSICA (se usa la misma tabla para descifrar, pero ahora si las letras caen en la misma
columna se cogen las de arriba y si caen en la misma fila las de la izquierda).
V I O L N
A B C D E
F G H K M
P Q R S T
U W X Y Z
Ejercicio 9
a.) En un sistema de cifra de Vigenère la clave a usar puede ser CARO o bien COMPADRE, ¿cuál de
las dos usaría y por qué?
b.) Cifra usando el método Vigenère el mensaje M = UNA CERVEZA POR FAVOR con la clave K =
VASO sin usar la tabla, sólo con operaciones modulares.
c.) ¿Por qué se dice que Vigenère es un cifrador polialfabético? ¿Qué ventajas tiene con respecto
al cifrado César? ¿Cómo podríamos atacarlo?
Solución 9
a) Si la clave tiene más caracteres distintos se acerca a la longitud del mensaje (one time pad)
y la distribución de frecuencias que se logra en el criptograma tiende a ser plana (si la
elección de la clave fuera aleatoria) Se difumina la redundancia del lenguaje
b) PNSQZRNSUAHCMFSJJR
Ejercicio 10
Solución 10
La clave es opcional. Si no se usa clave se asume que el propio mensaje hace de clave para cifrar el
siguiente carácter del mensaje. El problema es que para descrifrar vamos a tener que conocer el
primer carácter del mensaje y al no tener clave podríamos recuperar todo el mensaje a partir del
criptograma y este primer carácter del mensaje. Si se usa clave estamos convirtiendo el cifrador en
bi-grámico lo cual dificultaría mucho el ataque de Kasiski.
Y el esquema:
M_i-2 D
M_i-1
Ci mod26
Se puede cifrar y descifrar un mensaje para comprobar, asumiendo cualquier carácter para los
instantes desconocidos.
Ejercicio 11
a.) Escriba la función de descifrado. Cifre el mensaje M=HOLA y compruebe que la función de
descifrado es correcta.
b.) Dibuje los diagramas de bloques para las funciones de cifrado y descifrado.
Solución 11
Igual al anterior.
Ejercicio 12
Usando la codificación según el alfabeto del Ejercicio 1 y sustituyendo los símbolos de codificación
{A,B} por {0,1}, se pide usar el método Vernam para cifrar el mensaje M= MI MENSAJE con la clave
K=CLAVEVERNAM.
Solución 12
M= MI MENSAJE
K=CLAVEVERNAM (la longitud de la clave debe ser mayor que el tamaño del mensaje)
AAABA ABABA AAAAA BAABB AABAA BAABB AABAA BAAAA ABBAA AAAAA ABABB
00010 01010 00000 10011 00100 10011 00100 10000 01100 00000 01011
M + C = 01011 + 00010 = 01001 (la suma no es más que XOR bit a bit)
I + L = 01000 + 01010 = 00010
M + A = 01011 + 00000 = 01011
E + V = 00100 + 10011 = 10111
N + E = 01100 + 00100 = 01000
S + V = 10001 + 10011 = 00010
A + E = 00000 + 00100 = 00100
J + R = 01000 + 10000 = 11000
E + N = 00100 + 01100 = 01000
…
Hay que tener en cuenta que se debe truncar la clave a la longitud del mensaje
Ejercicio 13
a.) Cifre con el método de Vernam el mensaje M = VIDA y clave K = TACOS suponiendo texto
ASCII. Nota: El resultado se deja en binario
b.) ¿Y si la clave es ahora K = TACO? ¿Cómo se comporta este cifrador si K es aleatoria?
Solución 13
b) Genera el mismo mensaje, porque la clave se trunca… para demostrar que no es tan
seguro pero la probabilidad q ocurra es baja?
Ejercicio 14
Si queremos cifrar números y usamos una codificación decimal y cada dígito lo ciframos con un
cifrador tipo Alberti donde en el cilindro exterior estarían los números del 0 al 9 y en interior
las letras de la A a la J. Suponiendo que la posición inicial de cifrador hace coincidir el 0 con la
H, ¿Cómo se cifraría el número 123? ¿Qué vulnerabilidad muestra esta cifra?
Sol:
0 1 2 3 4 5 6 7 8 9
H I J A B C D E F G
0 1 2 3 4 5 6 7 8 9
G H I J A B C D E F
Y ciframos el número 2 I
El mensaje va rotando con el cilindro interior lo cual indica que son dígitos contiguos (no
sabríamos cuál si no conocemos la posición inicial del cifrador)
Ejercicio 15
Comente por qué no puede usarse como clave la siguiente en un cifrador de Hill: ABCACEADG
Sol:
0 1 2
0 2 4 mod 26
0 3 6
Esta matriz debe ser invertible. En nuestro caso las filas son linealmente dependientes pues la
segunda es 2 veces la primera y la tercera es 3 veces la primera lo cual hará que dicha matriz
no se pueda invertir.
Ejercicio 16
…PABCUINISCIÑSABCLPQUERABCPOPW…
¿Cuál sería la mejor estimación de la longitud de la clave para un ataque tipo Kasiski?
Sol:
El mcd(9,6)=3. En este caso sería justo la longitu de la clave al haber cifrado trigramas de la
misma forma (podría ser 1 pero no sería Vigenere sino afín).