Informática, perguntado por xxelsurfelias, 6 meses atrás

Codificar a mensagem “Este texto deve ser criptografado” por criptografia simétrica pelo algoritmo elementar XOR utilizando como chave criptográfica o seu RU ou parte dele. Após a obtenção da cifra, decodifica-la, comprovando a eventual reciprocidade do processo.

Soluções para a tarefa

Respondido por neochiai
0

Resposta:

A resposta segue na listagem em linguagem C abaixo.

Explicação:

#include <stdio.h>

#include <stdlib.h>

/* Funcao para criptografar o texto usando a chave passada

* usando um algoritmo XOR simples

*/

char *criptografar(char *texto, char *chave) {

   char *criptografado = (char *)malloc(strlen(texto)+1);

   int tam_chave = strlen(chave);

   for (int i = 0; i < strlen(texto); i++) {

       char a = texto[i];

       char b = chave[i % tam_chave];

       char c = a ^ b; // fazer o xor para o caracter atual

       *(criptografado+i) = c;

   }

   *(criptografado+strlen(texto)) = 0;

   return criptografado;

}

int main()

{

   char *texto = "Este texto deve ser criptografado";

   char *chave = "123456"; // ru ficticio

   char *criptografado = criptografar(texto, chave);

   printf("%s\n", criptografado);

   char *original = criptografar(criptografado, chave);

   printf("%s\n", original);

   printf("Fim\n");

}


leoozinhow: Deu certo essa resposta acima?
Perguntas interessantes