lunes, 13 de agosto de 2018

Criptografía (CX): Solución Reto 22

El  enunciado del vigésimosegundo reto que puse en este post era el siguiente:

"Evidentemente, ya sabes a qué criptosistema me refiero (ver este post en el que lo explico), pero lo importante en este reto es descifrar el criptograma asociado al mismo, cosa que entiendo no es fácil sin conocer la clave. Para facilitar esta tarea te proporciono, también como recurso asociado al reto, texto en claro conocido correspondiente al criptograma. ¿Puedes descifrarlo?".


Este reto es de criptografía y su solución es:


1.- Tal y como decía en el citado post, el cifrado de Playfair es un criptosistema que consiste en la sustitución de pares de letras o digramas empleando una tabla o matriz generada por una clave.


Por tanto, lo primero que podemos hacer conociendo parte del texto en claro, como es el caso de este reto, es sustituir los digramas del texto cifrado por sus respectivos digramas conocidos del texto en claro.

En nuestro reto tenemos que:

CriptogramaQE QT DW XN QT PT CW TP AW CH NG KL WB LY TP AT QD YT LZ BE WT LY TN NB WA ZE NS QW MC SN BN BK FS WY BS QK RE NF QT QH BK KM WI NS NB WP PH HC FS GW QM BA IH KQ SN BN JQ AW SF TP TN NB CW LZ KQ QW WT SQ TA PQ PW WI BA MN WG QT BD NC WA GN PT MP NG BW GA NG SR TQ NV

Texto en claro conocido (se corresponde con el inicio del criptograma)PA RA SU PE RA RE ST ER ET OT EN DR AS QU ER EA LI ZA RU NA TA QU EC ON TE XT OC LA RO CO NO CI DO

Por lo que podemos sustituir todas las veces que aparezca "QE" en el criptograma por "PA"; "QT" por "RA"; y así sucesivamente. Obteniendo: 

CriptogramaPA RA SU PE RA RE ST ER ET OT EN DR AS QU ER EA LI ZA RU NA TA QU EC ON TE XT OC LA RO CO NO CI DO WY BS QK RE NF RA QH CI KM WI OC ON WP PH HC DO GW QM BA IH KQ CO NO JQ ET SF ER EC ON ST RU KQ LA TA SQ TA PQ PW WI BA MN WG RA BD NC WA GN RE MP EN BW GA EN SR TQ NV

Además, si "PA" se cifra como "QE", "AP" se cifra como "EQ"; si "RA" se cifra como "QT", "AR" se cifra como "TQ"; y así sucesivamente.

Por tanto, podemos sustituir todas las veces que aparezca "EQ" en el criptograma por "AP"; "TQ" por "AR"; y así sucesivamente. Obteniendo: 

CriptogramaPA RA SU PE RA RE ST ER ET OT EN DR AS QU ER EA LI ZA RU NA TA QU EC ON TE XT OC LA RO CO NO CI DO WY BS QK RE NF RA QH CI KM WI OC ON WP PH TO DO GW QM BA IH KQ CO NO JQ ET OD ER EC ON ST RU KQ LA TA SQ AE PQ PW WI BA MN WG RA BD NC TE NE RE MP EN SA GA EN SR AR NV

Tenemos ya descifrado parcialmente el criptograma (lo resaltado en color rojo), pero ahora viene lo difícil.

Intento reconocer ya algunas palabras. Sin forzar mucho la situación, creo que en la tercera línea se puede adivinar la palabra "RECONSTRUIR" o "RECONSTRUIRLA", para lo que "KQ" debería cifrarse como "IR". Haciendo las sustituciones correspondientes obtenemos:

CriptogramaPA RA SU PE RA RE ST ER ET OT EN DR AS QU ER EA LI ZA RU NA TA QU EC ON TE XT OC LA RO CO NO CI DO WY BS QK RE NF RA QH CI KM WI OC ON WP PH TO DO  GW QM BA IH IR CO NO JQ ET OD ER EC ON ST RU IR LA TA SQ AE PQ PW WI BA MN WG RA BD NC TE NE RE MP EN SA GA EN SR AR NV

"QK" aparece una vez en el criptograma. Haciendo la sustitución correspondiente obtenemos:

CriptogramaPA RA SU PE RA RE ST ER ET OT EN DR AS QU ER EA LI ZA RU NA TA QU EC ON TE XT OC LA RO CO NO CI DO WY BS RI RE NF RA QH CI KM WI OC ON WP PH TO DO GW QM BA IH IR CO NO JQ ET OD ER EC ON ST RU IR LA TA SQ AE PQ PW WI BA MN WG RA BD NC TE NE RE MP EN SA GA EN SR AR NV

Todavía, al menos yo, no puedo adivinar muchas más palabras. ¿Qué más podemos hacer?. Pues lo único que se me ocurre es:

1.- Análisis de frecuencias de bigramas.

2.- Reconstrucción de la tabla de cifrado siguiendo las siguientes reglas conforme al criptosistema de Playfair (seguro que no son las únicas reglas que se pueden obtener):

2.1.- Si "X" cifra (o descifra) como "Y" en cualquier par de letras, "X " e "Y" pertenecen a la misma fila o columna de la tabla. Ejemplo: en nuestro caso, "PA" se cifra como "QE" y, por tanto, "P" y "Q" están en la misma fila o columna, y "A" y "E" están en la misma fila o columna.

2.2.- Si el par de letras "XW" se cifra como "YZ" y "WX" se cifra como "ZY":

2.2.1.- "X" y "W" no pertenecen a la misma fila ni a la misma columna, e "Y" y "Z" no pertenecen a la misma fila ni a la misma columna.

2.2.2.- "X" e "Y" pertenecen a la misma fila, y "W" y "Z" pertenecen a la misma fila.

2.2.3.- "X" y "Z" pertenecen a la misma columna, y "W" e "Y" pertenecen a la misma columna.

Ejemplo: en nuestro caso, como "RE" se cifra como "PT"  y "ER" se cifra como "TP":

- "R" y "E" no están en la misma fila ni en la misma columna, "P" y "T" no están en la misma fila ni en la misma columna.

- "R" y "P" pertenecen a la misma fila, y "E" y "T" pertenecen a la misma fila.

- "R" y "T" pertenecen a la misma columna, y "E" y "P" pertenecen a la misma columna.

2.3.- Si "XY" se cifra como "YZ", entonces "X", "Y" y "Z" están en la misma fila o columna,  y, salvo que se exceda el borde de la fila o columna de la tabla, se encuentran seguidas y su orden en la fila o columna es  "X", "Y" y "Z".

Ejemplo: en nuestro caso, "EN" se cifra como "NG", por lo que todas esas letras están en la misma fila o columna y, salvo que se exceda el borde de la fila o columna de la tabla, se encuentran seguidas y su orden es "E", "N" y "G".

2.4.- Si "X" se cifra como "Y" tanto en "UX" -> "VY" como en "WX" -> "ZY", siendo esas letras que preceden a "X" e "Y" diferentes, entonces: "X" e "Y" están en la misma fila, "U" y "V" están en la misma fila, y "W" y "Z" están en la misma fila.

Ejemplo: en nuestro caso, "A" se cifra como "T" tanto en "RA" -> "QT" como en "ZA" -> "YT". Como las letras que preceden a "A" y "T" son todas diferentes, entonces: "A" y "T" están en la misma fila, "R" y "Q" están en la misma fila, y "Z" e "Y" están en la misma fila.


Dicho todo lo anterior, aunque ya lo sospechaba, del análisis de frecuencias de los bigramas no obtengo mayor información, ya que el criptograma no es muy largo y los bigramas más frecuentes (repetidos 4 y 3 veces) forman parte del texto claro conocido.

Por tanto, sólo me queda intentar reconstruir la tabla de cifrado utilizando las citadas reglas. Intento recoger en una tabla el criptoanálisis realizado:
A partir de aquí y tras bastantes quebraderos de cabeza (nadie dijo que iba a ser fácil), obtengo la tabla empleada en el cifrado:
Y completo el descifrado:

Texto en claroPA RA SU PE RA RE ST ER ET OT EN DR AS QU ER EA LI ZA RU NA TA QU EC ON TE XT OC LA RO CO NO CI DO AU NC RI PT OG RA MA CI FR AD OC ON EL ME TO DO DE PL AY FA IR CO NO BJ ET OD ER EC ON ST RU IR LA TA BL AE MP LE AD AY PO DE RA SI OB TE NE RE LM EN SA JE EN CL AR OX

Es decir, quitando la letra "X" del final (incluida porque el número de caracteres del texto en claro es impar):

Texto en claroPARA SUPERAR ESTE RETO TENDRAS QUE REALIZAR UN ATAQUE CON TEXTO CLARO CONOCIDO A UN CRIPTOGRAMA CIFRADO CON EL METODO DE PLAYFAIR CON OBJETO DE RECONSTRUIR LA TABLA EMPLEADA Y PODER ASI OBTENER EL MENSAJE EN CLARO


Para finalizar, en la pista que puse para facilitar la resolución de este reto, decía que la persona que aparece en el retrato que ilustra ese post y éste no es Lyon Playfair, y preguntaba: ¿Quién es?.

Para averiguarlo buscamos el retrato con "Google Imágenes":
Tras arrastrar la imagen obtenemos lo siguiente:
Es decir, ese retrato es de Charles Wheatstone, quién, tal y como nos cuenta wikipedia, fue realmente el inventor del cifrado de Playfair.

Por lo que esta pista era un atajo para resolver este reto :), ya que si nos fijamos la clave para generar la tabla de cifrado es precisamente el apellido de este científico e inventor británico. Es decir, quitando las letras repetidas la clave es: "WHEATSON".

No hay comentarios:

Publicar un comentario