PROGRAMAÇÃO CRIPTOGRAFAR e DESCRIPTOGRAFAR
Por: mat141299 • 30/9/2019 • Trabalho acadêmico • 361 Palavras (2 Páginas) • 128 Visualizações
CRIPTOGRAFIA:
O seguinte método é utilizado para transmitir despachos diplomáticos de forma criptografada. O
processo consiste em duas fases: CRIPTOGRAFAR e DESCRIPTOGRAFAR.
CRIPTOGRAFAR: Ler uma mensagem e criptografá-la.
Primeira Etapa – Trocar o caractere ‘o’ por ‘0’ (zero) e o caractere ‘a’ por ‘@’. Se possuir o
caractere ‘0’ (zero), então trocar por ‘o’. Se tiver o caractere ‘@’, então trocar por ‘a’.
Segunda Etapa – Obter todos os caracteres da mensagem que estão em posições
ímpares e colocar em uma string (string1). Obter todos os caracteres da mensagem que estão
em posições pares, mas na ordem inversa, e colocar em outra string (string2).
Considere todos os tipos de caracteres, como pontuação, espaços em branco e qualquer
símbolo que aparecer.
Terceira Etapa – Intercalar os elementos da string1 com os elementos da string2 para
formar a mensagem criptografada. Primeiro pegue o primeiro elemento da string1 seguido do
primeiro da string2, depois o segundo da string1 com o segundo da string2 e assim
sucessivamente. Se uma das duas strings terminar, continue pegando apenas da outra string, até
que todos os elementos tenham sido intercalados.
EXEMPLO: Considere a mensagem: Problemas Hiper-Interessantes com 0 (zero) e @.
Primeira etapa: Pr0blem@s Hiper-Interess@ntes c0m o (zer0) e a.
Após a segunda etapa:
P0lmsHprItrs@tscmo(e0 . (posições ímpares – string1)
ae)rz 0 enseen-ei @ebr (posições pares de forma inversa – string2)
Após a terceira etapa, a frase resultante é:
Pa0el)mrszH p r0l ternss@etesnc-meoi( e@0e b r. (mensagem criptografada)
DESCRIPTOGRAFAR: Ler a mensagem criptografada e formar a mensagem original. Para
descriptografar, basta seguir as mesmas etapas acima, mas começando com a mensagem
criptografada. Por exemplo:
Mensagem criptografada: Pa0el)mrszH p r0l ternss@etesnc-meoi( e@0e b r.
Primeira etapa: P@oel)mrszH p rol ternssaetesnc-me0i( eaoe b r.
Após a segunda etapa:
PolmsHprItrsatscm0(eo . (posições ímpares – string1)
rbea ie-neesne o zr)e@ (posições pares de forma inversa – string2)
Após a terceira etapa, a frase resultante é:
Problemas Hiper-Interessantes com 0 (zero) e @. (mensagem original)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int passo1(char mensagem[]){
int cont,i;
cont= strlen(mensagem);
for(i=0; i<cont; i++){
if((mensagem[i]== 'o') ||( mensagem[i]=='O')){
mensagem[i]= '0';
}
else if((mensagem[i]== 'a' )|| (mensagem[i]=='A')){
mensagem[i]= '@';
}
else if(mensagem[i]=='@'){
mensagem[i]= 'a';
}
else if(mensagem[i]== '0'){
mensagem[i]= 'o';
}
}
}
int passo2(char mensagem[],char str1[],char str2[],char strinvertida[]){
int i,cont;
cont = strlen(mensagem);
int x = 0,y = 0,z = 0;
for(i=0;i<cont;i++){
...