Você recebe uma sequência criptografada, criptografada usando uma cifra de substituição muito simples.
Problema
Você não sabe o que é a cifra, mas sabe que o texto é em inglês e que as letras mais frequentes em inglês são etaoinshrdlucmfwypvbgkqjxz nessa ordem. Os únicos caracteres permitidos são letras maiúsculas e espaços. Você pode fazer análises básicas - começando com letras únicas, mas pode migrar para análises mais complexas com várias letras - por exemplo, U quase sempre segue Q, e apenas determinadas letras podem aparecer duas vezes seguidas.
Exemplos
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
Desafios
Veja se você pode descriptografar o texto em cada uma dessas cifras:
SVNXIFCXYCFSXKVVZXIHXHERDXEIYRAKXZCOFSWHCZXHERDXBNRHCXZR RONQHXORWECFHCUH
SOFPTGFIFBOKJPHLBFPKHZUGLSOJPLIPKBPKHZUGLSOJPMOLEOPWFSFGJLBFIPMOLEOPXULBSIPLBP
KBPBPWLIJFBILUBKHPGKISFG
TMBWFYAQFAZYCUOYJOBOHATMCYNIAOQW Q JAXOYCOCYCHAACOCYCAHGOVYLAOEGOTMBWFYAOBFF
ACOBHOKBZYKOYCHAUWBHAXOQW XITHJOV WOXWYLYCU
FTRMKRGVRFMHSZVRWHRSFMFLMBNGKMGTHGBRSMKROKLSHSZMHKMMMMMRVVLVMPRKKOZRMFVDSGOFRW
Eu tenho as matrizes de substituição e o texto não criptografado de cada uma, mas apenas as revelarei se ficar muito difícil ou se alguém não descobrir.
A solução que pode descriptografar a maioria das mensagens com sucesso é a vencedora. Se duas soluções forem igualmente boas, elas serão decididas pela contagem de votos.
fonte
Respostas:
Pitão
Eu descobri todas as frases secretas, mas não as publicarei aqui. Execute o código se você se importa.
O código funciona escolhendo um caractere de espaço, enumerando todas as substituições possíveis para cada palavra e pesquisando substituições compatíveis. Também permite que algumas palavras fora do léxico lidem com erros de ortografia no texto não criptografado :)
Eu usei um grande léxico (~ 500K palavras) em http://wordlist.sourceforge.net/ .
fonte
PHP (Incompleto)
Esta é uma solução PHP incompleta que funciona usando as informações de frequência das letras da pergunta, além de um dicionário de palavras correspondidas a expressões regulares baseadas nas letras mais confiáveis da palavra especificada.
No momento, o dicionário é bastante pequeno, mas com a expansão apropriada, espero que os resultados melhorem. Eu considerei a possibilidade de correspondências parciais, mas com o dicionário atual isso resulta em degradação, em vez de melhoria nos resultados.
Mesmo com o pequeno dicionário atual, acho que posso dizer com segurança o que a quarta mensagem codifica.
fonte