Fundamentos básicos da Criptografia

Criptografia e Esteganografia

O primeiro relato histórico sobre escrita secreta foi feito por Heródoto no séc. V a.C. Ele descreve como uma mensagem secreta contando as intenções de Xerxes, líder Persa, foi escrita em um par de tabuletas de madeira que foram cobertas com cera, passando despercebida pelos guardas e chegando intacta a Grécia, onde, por acaso, a cera foi raspada e a mensagem descoberta.

A técnica de simplesmente ocultar a mensagem para que ela não seja vista chama-se esteganografia, nome derivado das palavras gregas steganos, que significa coberto, e graphein, que significa escrever. Depois de Heródoto várias formas de esteganografia foram inventadas, os chineses por exemplo, escreviam mensagens em ceda fina que era amassada e coberta com cera, formando uma pequena bola que era engolida pelo mensageiro. Os romanos rapavam a cabeça do mensageiro e escreviam a mensagem com tinta permanente, depois disso esperavam seu cabelo crescer e enviavam-no ao destino, onde sua cabeça era raspada e a mensagem então, revelada.

A longevidade da esteganografia demonstra que ela oferece certa segurança, embora sofra de uma falha fundamental: se o mensageiro for revelado e a mensagem descoberta, então o conteúdo secreto é imediatamente descoberto.

Em paralelo com o desenvolvimento da esteganografia, houve o surgimento da criptografia, do grego kryptos, que significa oculto. O objetivo da criptografia não é esconder a mensagem, mas seu significado, um processo que se chama encriptação. Esse processo obedece a um protocolo preestabelecido pelo transmissor e receptor. Dessa forma, se a mensagem for interceptada por terceiros o interceptor não saberá do que se trata a mensagem e seu conteúdo continuará secreto.

Transposição e Substituição

Criptografia de transposição se dá quando se pega uma palavra ou frase e rearranjam-se as letras, gerando um anagrama. Para mensagens muito curtas este método tende a ser inseguro pois existe um número limitado de rearranjo das letras. Uma palavra de três letras por exemplo “ema” só pode ser rearranjada de seis formas: ema, eam, aem, mea, mae, ame. Entretanto, à medida que o número de letras cresce o número de arranjos cresce exponencialmente tornando impossível obter a mensagem original a menos que o processo exato de rearranjo das letras seja conhecido. Como exemplo vamos considerar esta frase. Ela contém apenas 35 letras, e, no entanto, existem mais de 50.000.000.000.000.000.000.000.000.000.000 de arranjos distintos. Se uma pessoa pudesse verificar uma disposição por segundo, e se todas as pessoas no mundo trabalhassem dia e noite, ainda assim levaríamos mais de mil vezes o tempo de existência do Universo para checar todos os arranjos possíveis.

A alternativa para a transposição é a substituição, uma das primeiras descrições de uma substituição aparece no Kama-Sutra, escrito no séc. IV pelo estudioso brâmane Vatsyayana, baseado em manuscritos que datam do séc. IV a.C. O Kama-Sutra recomenda que as mulheres devem estudar 64 artes, o número 45 é mlecchita-vikalpa, a arte da escrita secreta, justificada de modo a ajudar as mulheres a esconderem os detalhes de seus relacionamentos.

Uma das técnicas recomendadas envolve o emparelhamento ao acaso das letras do alfabeto, substituindo cada letra por seu par. Usando como base o alfabeto atual, podemos emparelhá-las da seguinte forma:

A  D  H  I  K  M  O  R  S  U  W  Y  Z
V  X  B  G  J  C  Q  L  N  E  F  P  T

Assim, ao invés de escrever encontre-me à meia-noite, a remetente escreveria USMQSZLU-CU V CUGD-SQGZU.

Cifra e Código

Ao contrário do que pensa a maior parte das pessoas, cifra e código não são sinônimos.

Em um código, uma palavra ou frase é substituída por outra palavra, frase ou símbolo, por exemplo, o símbolo “”, pode significar “Ataque pelos flancos” e a palavra “Lampião” pode significar “Resistir”. O uso de códigos vem definhando ao longo dos séculos.

Em uma cifra, cada letra é substituída por outra letra ou símbolo, por exemplo, cada letra de “Resistir sem recuar” pode ser substituída pela próxima no alfabeto, o resultado é “Sftjtujr tfo sfdvbs”. Seu uso é fundamental na criptografia, sendo praticamente o único meio seguro nos dias de hoje.