Adivinhador César - GregorioFornetti/CriPython GitHub Wiki
Vídeo tutorial
Caso goste de assistir vídeos tutorias, clique aqui para assistir um vídeo sobre o adivinhador cesar
Adivinhador da cifra de César
Abaixo há uma imagem do "menu: adivinhador césar" com algumas regiões demarcadas com um retângulo vermelho:

Explicando cada área demarcada, temos:
1 - Escolha o modo da cifra de césar que você deseja tentar traduzir. OBS: caso a mensagem encriptada tenha mais letras do que caracteres especiais, é mais interessante utilizar o modo "apenas letras". Caso a mensagem tenha vários caracteres especiais, a melhor opção é "vários caracteres".
2 - Nessa região você deve digitar a mensagem encriptada
3 - Após escolher o modo desejado e escrever a mensagem encriptada, clique em "executar" para que o programa tente achar a melhor tradução possível para essa mensagem. O resultado será mostrado nessa área.
Funcionamento
Essa implementação tentará descobrir a melhor tradução possível para uma mensagem encriptada pela cifra de César. Para isso, o programa tentará traduzir a mensagem com todas as chaves possíveis ("apenas letras": 26 chaves; "vários caracteres": 667 chaves) e analisará cada uma das mensagens traduzidas. Essa análise leva em conta a frequência de uso das letras do alfabeto do idioma configurado em seu programa, e a mensagem traduzida que chegar mais perto dessa frequência será a mensagem mostrada pelo programa após a execução.
OBS 1: Mensagens longas podem demorar um longo tempo para serem analisadas.
OBS 2: O modo "vários caracteres" é mais demorado que o "apenas letras" já que mais chaves precisaram ser testadas.
OBS 3: Caso tenha curiosidade em saber a frequência de ocorrências das letras em português, há uma tabela com essas frequências logo abaixo:
| Letra | Frequência |
|---|---|
| A | 14,63% |
| B | 1,04% |
| C | 3,88% |
| D | 5,01% |
| E | 12,57% |
| F | 1,02% |
| G | 1,3% |
| H | 1,28% |
| I | 6,18% |
| J | 0,4% |
| K | 0,02% |
| L | 2,78% |
| M | 4,74% |
| N | 5,05% |
| O | 10,73% |
| P | 2,52% |
| Q | 1,2% |
| R | 6,53% |
| S | 7,81% |
| T | 4,34% |
| U | 4,63% |
| V | 1,67% |
| W | 0,01% |
| X | 0,21% |
| Y | 0,01% |
| Z | 0,47% |
OBS 4: A frequência de letras utilizada pelo programa varia com o idioma selecionado. Por exemplo, se você escolher o idioma inglês, a frequência de letras será da língua inglesa.