Implementações da Cifra de César e Polialfabética
Duas implementações simples, utilizando a excelente ferramenta Streamlit.
A cifra de César tem esse nome por ter sido extensamente utilizada pelo grande Júlio César, para troca de mensagens secretas.
Ela é muito simples. Consiste em deslocar uma quantidade de letras do alfabeto, codificar nesta base e depois decodificar utilizando a mesma lógica ao contrário.
Quando chega ao fim do alfabeto, retornar ao início.
No link ( https://cesarsimples.streamlit.app/), implementei uma cifra de César simples. Você escolhe a chave (de 1 a 26), digita a mensagem e tem a mesma codificada.
Note que acentuação é ignorada, e o código passa tudo para minúsculo.
Porém, a cifra de César é muito fácil de ser quebrada. Basta uma contagem e análise de frequências. Teve um conto de Sherlock Holmes, o dos dançarinos, em que ele decifrou um código desses.
Já a cifra Polialfabética é uma evolução da cifra de César.
A ideia também é simples. Divido a mensagem em blocos, para cada bloco aplico a cifra de César com uma chave diferente. Repito a lógica do início, quantas vezes for necessário.
Fiz uma implementação no streamlit, no link https://polialfa01py-bdaxz4f6ehzi38ehcg8ndp.streamlit.app/
Infelizmente, esta cifra também é frágil. Basta fazer a mesma análise de frequências de letras. Para uma mensagem longa, vai dar para perceber blocos de padrões. Com paciência suficiente, dá para quebrar a cifra.
Bem, de qualquer forma, é um bom exercício de programação.
bué b xkuvd!
Originally published at https://ideiasesquecidas.com on July 6, 2024.