Desafío Críptico

5-Ⅺ-2012: Según las bases que acompañaban al planteamiento de esta actividad; el premio del concurso ha quedado atribuido al participante que aparece a continuación, que ha sido el primero en enviar la respuesta exacta:

Cristóbal Camarero Coterillo

Felicitamos igualmente a Jesús Fernández Sainz, que también ha descifrado el texto.

Para resolver el problema era razonable comenzar identificando el criptosistema utilizado —el cifrado homofónico—, que constituye una solución clásica para evitar los ataques al cifrado de sustitución simple que utilizan el análisis de las frecuencias de aparición de caracteres. Sin embargo, el sistema empleado es vulnerable a métodos de criptoanálisis ligeramente más sofisticados, que se basan en las frecuencias típicas de dígrafos u otras estructuras. Basta atender a los pares de caracteres consecutivos para automatizar el criptoanálisis de esta cifra (o al menos la obtención de una buena aproximación que refinar manualmente), como muestra el método de tipo «hill climbing» explicado en este artículo de A. Dhavare, R. M. Low y M. Stamp. La programación de algún algoritmo similar es un ejercicio interesante que pretendíamos motivar. Una variante que mejora significativamente su rendimiento es el uso de un diccionario para evaluar las claves provisionales que se van obteniendo. Cabía no obstante el recurso práctico de utilizar alguna implementación disponible, como zkdecrypto, que localizó (fuera de concurso) Luis Felipe Tabera Alonso y que nos deja en un periquete a pocos pasos de la meta.

Agradecemos su esfuerzo a los participantes y, en general, la atención prestada por todos quienes se han interesado por el concurso, que esperamos haya resultado didáctico. En última instancia, nos damos por satisfechos con la promoción de la criptología —cuya etapa artesanal tiene de encanto lo que le falta de eficacia— y de la codificación UTF-8.