Baixe a planilha grátis e criptografe mensagens usando três métodos tradicionais: RC4, Vigenère e César.
Criptografia de mensagens em Excel
Como funciona a criptografia RC4
O algoritmo RC4 foi desenvolvido em 1987 por Ronald Rivest para a empresa RSA Data Security e foi o algoritmo mais usado pela indústria da Informática por vários anos. É um algoritmo de chave simétrica, ou seja, a mesma chave é usada para codificar e decodificar. Além disso, é reversível, pois se a mensagem codificada for passada novamente pelo algoritmo gera a mensagem plana original. A seguir, veja a sequência para implantar uma versão simplificada do algoritmo no Excel.
O primeiro passo do processo é converter cada caractere da mensagem e da chave em um número entre 1 e 256. Na planilha adotamos uma tabela própria de conversão com 256 caracteres imprimíveis mais comuns. O algoritmo RCA tem duas etapas conhecidas como KSA e PRGA.
Etapa KSA
Na primeira etapa são geradas duas matrizes (T e S) cada uma com 256 células. A matriz T é gerada preenchendo sequencialmente as células com a chave já convertida em números. Veja o exemplo a seguir onde aplicamos a chave “misterio” na matriz T primeiro em texto e depois com códigos numéricos.
Definida a matriz T, o próximo passo é gerar a matriz S. Inicialmente, essa matriz é preenchida com uma sequência ordenada de números de 0 a 255 como se vê na tabela a seguir.
Os números da matriz S serão embaralhados de forma pseudo aleatória. Como assim? Vamos trocar os números de lugar dois a dois, mas essa permuta de posições depende da matriz T.
A permuta de posições é feita em uma rotina de 256 ciclos. Começa na posição 1 e vai até a posição 256. No primeiro ciclo fazemos a permuta de valores da célula 1 com o valor de outra célula que é definida pela fórmula a seguir:
j = (j + S[i] + T[i])mod 256
Lemos assim: No ciclo i, a posição j é igual à posição j anterior somada com o conteúdo da célula i da matriz S mais o conteúdo da célula i da matriz T. O resultado da soma é dividido por 256 e consideramos o resto da divisão.
Com esse algoritmo geramos a matriz S final que é única para cada chave usada. Essa matriz pseudo aleatória ajudará na segunda parte do algoritmo onde efetivamente ocorre a criptografia. Veja como fica a matriz S final embaralhada pela chave “misterio”.
Etapa PRGA
Essa é a etapa em que a mensagem é codificada. Os “ingredientes” do algoritmo são a mensagem plana e a matriz S final. O algoritmo é executado k vezes onde k é o número de caracteres da mensagem.
Nessa etapa também ocorre permuta de posições na matriz S. A cada ciclo a célula i é permutada com a célula j.
i e j são iniciados com valor zero.
i = (i + 1) mod 256
j = (j + S(i)) mod 256
Em seguida, é definida uma posição t pela fórmula:
t =( S(i) + S(j)) mod 256
O valor encontrado na posição t será usado no último passo do algoritmo. Faremos a operação lógica XOR binário entre S(t) e o caractere plano da mensagem. A tabela abaixo mostra um exemplo da operação.
A operação XOR (OU exclusivo) realizada sobre os números convertidos para binários é que garante a reversibilidade do algoritmo. Veja que no exemplo caractere plano 85 é substituído pelo caractere 233 codificado. Se passarmos o caractere 233 novamente pelo algoritmo RC4 chegaremos na última etapa com as posições invertidas: 233 na segunda linha e 85 na terceira.