Aula 2.28 - Exercício sobre como descriptografar uma mensagem simples criptografada com césar.
Continuando nossa série de exercícios, que tal você ler uma mensagem criptografada de um arquivo de texto e imprimir a mensagem descriptografada na tela?
A técnica de criptografia será a de códigos em bloco, que consiste em subdividir a mensagem em blocos de várias letras e embaralhar esses blocos. Antes, porém, será utilizada a cifra de César.
Por exemplo, considere a mensagem AMO LIVROS. Para codificá-la seguiremos os seguintes passos:
- Substituir os espaços pelo símbolo # e completar a mensagem com este mesmo símbolo no final, caso tenha uma quantidade ímpar de letras;
- Substituir cada letra por outra, utilizando a cifra de César com uma rotação à esquerda de três posições;
- Subdividir a mensagem em blocos de n letras (neste caso n=2);
- Refletir cada bloco;
- Permutar os blocos trocando o primeiro com o último, o terceiro com a antepenúltimo, e assim por diante, mas deixando os outros como estão.
Aplicando isto, passo a passo, à mensagem acima, obtemos primeiro:
AMO#LIVROS
Depois usamos a cifra de César:
DPR#OLYURV
Separamos em blocos de 2 letras:
DP-R#-OL-YU-RV
Em seguida:
PD-#R-LO-UY-VR
E, finalmente:
VR-#R-LO-UY-PD
Que nos dá como mensagem codificada:
VR#RLOUYPD.
Use o método explicado para poder decodificar a mensagem contida em um arquivo texto cujo nome será lido da entrada padrão. Para simplificar, foram eliminados acentos e pontuação. As letras maiúsculas e minúsculas do texto deverão ser mantidas.
Mensagem para você colocar no arquivo e testar:
rglfil#drwF#w#udvdgrsdhvkqdi#hpohxhwrpfhp#dudgilvhg#t#qhv#lfhw#u#d#hqhs#r#vhahhgf#uidu#DResultado final:
Tente fazer aí.
~
~~
~~~
~~~~
~~~~~
Resolução:
Recomendo dar zoom na tela para visualizar melhor.
COMENTÁRIOS