Solución al reto 11: ¿quién entiende a los bebés?

Ha costado pero parece que, después de unas semanas, vamos a saber por fin que dice mi bebé ;)
Vamos con ello...

Primero observamos que por una parte tenemos el texto claro y por otra el texto cifrado:

Texto claro:

¡Hola bebé!
pa-pá-pa-pá...
¿qué quiere mi bebé?
¿quieres jugar con papi?
ajooo...
¿qué te pasa?
¿quieres el chupete?

Texto cifrado:

¡Fqdm puxé!
bs-lá-xy-lá...
¿uké wqyedy ok tqhé?
¿awycrqc vyskr gof lslo?
qpwoy...
¿awé bw xymu?
¿awycrqw gv shihkbw?

Con ésto y si habéis hecho algo de criptoanálisis seguro que os suena el ataque con texto claro conocido: se dispone de un texto en claro y su correspondiente texto cifrado, lo que permite reducir el espacio de búsqueda de claves u obtener estadísticas que pueden usarse para hacer deducciones en otros textos cifrados. Es decir, intentaremos encontrar la clave para descrifrar el segundo bloque de texto cifrado:

So kycsé...
¡zatg za jaukr qf rsvna i sáefoqso qm cl xyñiz!

Para ello utilizaremos la fantástica herramienta CrypTool que, en su parte de análisis, dispone de dos opciones para texto claro conocido: Hill y Transposición de columna simple.


Copiamos cada texto en un fichero (claro y cifrado) y los abrimos para probar primero con Hill, un cifrado por sustitución poligráfico completamente líneal (de ahí su debilidad). Hill fue inventado en 1929 por Lester S. Hill y, a grandes rasgos, codifica los caracteres con números, lo divide en bloques de n elementos que son tratados como vectores de n dimensiones y los multiplica por una matriz clave de n x n inversible en Z_26. Veamos a ver si hay suerte:


Como podemos observar, para encontrar una clave de dimensión 9 o 10 necesitaríamos más texto, así que rebajamos nuestras pretensiones a 8:


Ahora nos aparece un mensaje que nos dice que no se puede encontrar la clave debido a un conflicto (aquí se ha quedado mucha gente atascada). Ok, investigemos las opciones de Hill en la herramienta (Cifrar/Descifra / Simétrico (clásico) / Hill... / Botón Opciones Hill) y cambiemos que el primer caracter del alfabeto corresponde a "1" en lugar de "0":


A continuación volvemos a probar:


...y ¡bingo! obtenemos la Matriz de Clave de Hill (no olvidéis marcar el primer caracter del alfabeto como "1").

Después copiamos la clave y procedemos a descifrar el segundo bloque de texto cifrado (Cifrar/Descifrar / Simétrico (clásico) / Hill... / Botón Descifrar):


Para finalmente obtener el texto claro y, ahora sí, entender que dice mi bebé:

Por último sólo me queda felicitar al ganador: apokalypsiz de Perú, y dar las gracias a todos aquellos que os habéis peleado con el reto. ¡Nos vemos en el próximo!

Comentarios