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:
- Criptograma: QE 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:
- 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 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:
- 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 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:
- 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 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:
- 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 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 claro: 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 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 claro: PARA 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 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".
******** PRÓXIMO RETO
Reto 23: "BAPHOMET".
"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:
- Criptograma: QE 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:
- 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 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:
- 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 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:
- 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 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:
- 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 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:
Y completo el descifrado:
- Texto en claro: 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 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 claro: PARA 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 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".
******** PRÓXIMO RETO
Reto 23: "BAPHOMET".
Comentarios
Publicar un comentario