Se le proporciona una cadena encriptada, encriptada utilizando un cifrado de sustitución muy simple.
Problema
No sabe cuál es el cifrado, pero sí sabe que el texto cifrado es el inglés y que las letras más frecuentes en inglés son etaoinshrdlucmfwypvbgkqjxz en ese orden. Los únicos caracteres permitidos son letras mayúsculas y espacios. Puede hacer un análisis básico, comenzando por letras individuales, pero puede migrar a un análisis de varias letras más complejo; por ejemplo, U casi siempre sigue a Q, y solo ciertas letras pueden aparecer dos veces seguidas.
Ejemplos
clear : SUBMARINE TO ATTACK THE DOVER WAREHOUSE AND PORT ON TUESDAY SUNRISE
cipher: ZOQ DUPAEYSRYDSSDXVYSHEYNRBEUYLDUEHROZEYDANYKRUSYRAYSOEZNDMYZOAUPZE
clear : THE QUICK BROWN FOX BEING QUITE FAST JUMPED OVER THE LAZY DOG QUITE NICELY
cipher: TNAEPDHIGEMZQJLEVQBEMAHL EPDHTAEVXWTEODYUASEQKAZETNAERXFCESQ EPDHTAELHIARC
clear : BUFFALO BUFFALO BUFFALO BUFFALO BUFFALO BUFFALO BUFFALO
cipher: HV WRPDHV WRPDHV WRPDHV WRPDHV WRPDHV WRPDHV WRP
Desafíos
Vea si puede descifrar el texto en cada uno de estos cifrados:
SVNXIFCXYCFSXKVVZXIHXHERDXEIYRAKXZCOFSWHCZXHERDXBNRHCXZR RONQHXORWECFHCUH
SOFPTGFIFBOKJPHLBFPKHZUGLSOJPLIPKBPKHZUGLSOJPMOLEOPWFSFGJLBFIPMOLEOPXULBSIPLBP
KBPBPWLIJFBILUBKHPGKISFG
TMBWFYAQFAZYCUOYJOBOHATMCYNIAOQW Q JAXOYCOCYCHAACOCYCAHGOVYLAOEGOTMBWFYAOBFF
ACOBHOKBZYKOYCHAUWBHAXOQW XITHJOV WOXWYLYCU
FTRMKRGVRFMHSZVRWHRSFMFLMBNGKMGTHGBRSMKROKLSHSZMHKMMMMMRVVLVMPRKKOZRMFVDSGOFRW
Tengo las matrices de sustitución y el texto en claro para cada una, pero solo las revelaré si se vuelve demasiado difícil o si alguien no lo resuelve.
La solución que puede descifrar la mayoría de los mensajes con éxito es el ganador. Si dos soluciones son igualmente buenas, se decidirán por recuento de votos.
fuente
Respuestas:
Pitón
He descubierto todas las frases secretas, pero no las publicaré aquí. Ejecute el código si le importa.
El código funciona seleccionando un carácter de espacio, enumerando todas las sustituciones posibles para cada palabra, luego buscando sustituciones compatibles. También permite que algunas palabras fuera del léxico se ocupen de errores ortográficos en texto claro :)
Usé un léxico grande (~ 500K palabras) de http://wordlist.sourceforge.net/ .
fuente
PHP (incompleto)
Esta es una solución PHP incompleta que funciona utilizando la información de frecuencia de letras en la pregunta más un diccionario de palabras emparejadas con expresiones regulares basadas en las letras más confiables en la palabra dada.
En la actualidad, el diccionario es bastante pequeño, pero con la expansión adecuada, anticipo que los resultados mejorarían. He considerado la posibilidad de coincidencias parciales, pero con el diccionario actual esto da como resultado una degradación en lugar de una mejora en los resultados.
Incluso con el pequeño diccionario actual, creo que puedo decir con bastante seguridad qué codifica el cuarto mensaje.
fuente