Ir al contenido principal

Criptografía (CLXXXIX): Reto 38

En esta entrada un reto de criptografía con relación a un método de cifrado irrompible, es decir, al secreto perfecto.

Como siempre, se admiten soluciones en forma de comentarios a esta entrada. Pasado un tiempo iré proporcionando pistas para su resolución, un máximo de tres, y posteriormente actualizaré este post con la solución.

Reto 38: "Por favor, nO Te rePitas".

El otro día un amigo mío me dijo que había estado leyendo sobre el cifrado OTP (del inglés ‘one-time pad’) o libreta de un solo uso y me comentó que, por lo que había entendido, este método proporciona lo que se llama el secreto perfecto, es decir, el criptograma es indescifrable si no se conoce la clave de cifrado. Yo le contesté: Depende…; lo que pareció no sentarle muy bien y no continuó hablando sobre el tema. Algunos días después recibí un correo electrónico de mi amigo en el que me decía lo siguiente: “como eres 'muy listo', te envío los dos siguientes criptogramas cifrados con OTP a ver si eres capaz de: descifrarlos, obtener la clave y decirme cuál es la solución a este reto, y como estoy seguro de que no vas a poder resolver este desafío, te doy una pista: SECRETO PERFECTO".

Dificultad:
Tipo:       Criptografía.

Recursos: - criptogramas.txt

******** 08/05/2020
Pista 1:    En el cifrado OTP la clave (K) debe tener una longitud igual o superior al texto en claro a cifrar (M) y el criptograma (C) se obtiene realizando la siguiente operación ⊕ (XOR):
C = M ⊕ K
Para descifrar el criptograma (C) el receptor utilizaría la misma clave (K) para obtener el texto en claro (M), de la siguiente forma:
M = C ⊕ K
Por el correo que me envió mi amigo parece ser que, primero, efectivamente no le sentó muy bien mi comentario - ya que me dice: “como eres ‘muy listo’, …” :) - y, segundo, que no tiene muy claro por qué este método de cifrado se llama OTP (‘one-time pad’), porque si, como parece, ha utilizado la misma clave para cifrar ambos mensajes (“a ver si eres capaz de: descifrarlos, obtener la clave y …”) ha dejado abierta la puerta al criptoanálisis y, por tanto, de secreto perfecto nada de nada.
Es decir, en el caso de que se cometa el error de reutilizar la clave, un criptoanalista que se haga con dos criptogramas cifrados con la misma clave puede obtener los textos en claro correspondientes sin demasiados problemas utilizando la técnica ‘crib dragging’.
Pero, ¿cómo?. Si se utiliza la misma clave (K) para cifrar dos textos en claro (M1 y M2) resulta que:
- C1 = M1 ⊕ K
- C2 = M2 ⊕ K
Si hago XOR de ambos criptogramas (C1 y C2):
C1 ⊕ C2 = M1 ⊕ K ⊕ M2 ⊕ K = M1 ⊕ M2
Con lo que, con independencia de la clave utilizada (K), si voy deduciendo o infiriendo partes de uno u otro de los textos en claro (‘cribs’) iré obteniendo las partes correspondientes del otro mensaje en claro.
En resumen, como creo que mi amigo ha reutilizado la clave, para atacar este cifrado y descubrir los mensajes en claro correspondientes a ambos criptogramas se puede actuar de la siguiente manera:
1.- Realizar la operación ⊕ de los dos criptogramas.
2.- Intentar deducir parte de un palabra, una palabra completa o varias palabras que probablemente aparezca/n en uno de los dos textos en claro y codificar la parte inferida (‘crib’) como una cadena hexadecimal (los criptogramas dados están codificados en hexadecimal).
3.- Realizar la operación ⊕ de la ‘crib’ en hexadecimal a partir de la primera posición del resultado de la operación ⊕ realizada a los dos criptogramas.
3.1.- Si el resultado obtenido es un texto legible puedo pensar que, efectivamente, la ‘crib’ empleada aparece en uno de los textos en claro y que he obtenido la parte del texto en claro correspondiente a ésta en el otro texto en claro, e intento adivinar otra ‘crib’ repitiendo el punto 3.
3.2.- Si el resultado no es un texto legible, realizo una operación ⊕ de la ‘crib’ en hexadecimal a partir de la siguiente posición del resultado de la operación ⊕ realizada a los dos criptogramas.
Para llevar a cabo todo lo anterior te recomiendo que utilices la siguiente herramienta de ‘crib dragging’ interactiva.

******** 09/05/2020
Pista 2:    Por lo dicho en el enunciado queda claro que la primera 'crib' a utilizar es la pista que me da mi amigo: "SECRETO PERFECTO", e introduciendo ésta en la herramienta indicada en la pista anterior nos da lo siguiente:
Es decir, se puede concluir que dicha 'crib', "SECRETO PERFECTO", aparece en uno de los textos en claro y que la cadena "IMPOSIBILIDAD DE" figura en las mismas posiciones del otro texto en claro:
Y, para ir ampliando lo que conocemos de ambos textos en claro, podemos ir adivinando más partes de palabras, palabras completas y/o varias palabras que probablemente aparezca/n en uno de los dos textos en claro.
Como parece que ambos textos en claro se refieren al cifrado OTP, te recomiendo que vayas probando con: "CIFRAR", "TEXTO CLARO", "CRIPTOGRAMA", y otras palabras relacionadas que se te ocurran.

******** 11/05/2020
Pista 3:   Y, finalmente, a medida que se vayan descifrando los dos criptogramas o una vez descifrados completamente ambos se puede ir obteniendo la clave de cifrado parcial o totalmente, respectivamente, sin más que que realizar la operación ⊕ entre la parte hallada de un texto en claro y la misma parte del criptograma correspondiente.

******** 11/05/2020
Solución.

******** PRÓXIMO RETO
Reto 39:  "Geheim!".

Comentarios

Entradas populares de este blog

Criptografía (I): cifrado Vigenère y criptoanálisis Kasiski

Hace unos días mi amigo Iñaki Regidor ( @Inaki_Regidor ), a quien dedico esta entrada :), compartió en las redes sociales un post titulado "Criptografía: el arte de esconder mensajes"  publicado en uno de los blogs de EiTB . En ese post se explican ciertos métodos clásicos para cifrar mensajes , entre ellos el cifrado de Vigenère , y , al final del mismo, se propone un reto consistente en descifrar un mensaje , lo que me ha animado a escribir este post sobre el método Kasiski  para atacar un cifrado polialfabético ( conociendo la clave descifrar el mensaje es muy fácil, pero lo que contaré en este post es la forma de hacerlo sin saberla ). El mensaje a descifrar es el siguiente: LNUDVMUYRMUDVLLPXAFZUEFAIOVWVMUOVMUEVMUEZCUDVSYWCIVCFGUCUNYCGALLGRCYTIJTRNNPJQOPJEMZITYLIAYYKRYEFDUDCAMAVRMZEAMBLEXPJCCQIEHPJTYXVNMLAEZTIMUOFRUFC Como ya he dicho el método de Vigenère es un sistema de sustitución polialfabético , lo que significa que, al contrario que en un sistema de

Criptografía (XXIII): cifrado de Hill (I)

En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill , propuesto por el matemático Lester S. Hill , en 1929, y que se basa en emplear una matriz como clave  para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente . Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice  Dani , amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasat

¿Qué significa el emblema de la profesión informática? (I)

Todas o muchas profesiones tienen un emblema que las representa simbólicamente y en el caso de la  informática: " es el establecido en la resolución de 11 de noviembre de 1977  para las titulaciones universitarias superiores de informática, y  está constituido por una figura representando en su parte central  un  núcleo toroidal de ferrita , atravesado por  hilos de lectura,  escritura e inhibición . El núcleo está rodeado por  dos ramas : una  de  laurel , como símbolo de recompensa, y la otra, de  olivo , como  símbolo de sabiduría. La  corona  será la  de la casa real  española,  y bajo el escudo se inscribirá el acrónimo de la organización. ". Veamos los diferentes elementos tomando como ejemplo el emblema del COIIE/EIIEO (Colegio Oficial de Ingenieros en Informática del País Vasco/ Euskadiko Informatikako Ingeniarien Elkargo Ofiziala ) . Pero no sólo el COIIE/EIIEO adopta el emblema establecido en dicha resolución, sino que éste se adopta también como im