AES - Advanced Encryption Standard

Diogo Ventura Nomiya

Princípios de Criptografia

 

                 Do grego “kryptós”, escondido, e “gráphein”, escrita, a criptografia foi desenvolvida para que dois indivíduos possam se comunicar de forma segura. Assim, a criptografia consiste em cifrar a informação enviada pelo remetente de forma que, caso esta informação seja interceptada por algum intruso, ele não seja capaz de entendê-la.

                 O conceito de criptografia é antigo – existem relatos de hieroglifos não convencionais encontrados em túmulos de faraós, o que parece ter sido para confundir os leitores, mais do que cifrar uma mensagem.

 

Código de César

 

                 De qualquer forma não é preciso voltar tanto, conta-se que o próprio Júlio César utilizava um código nas mensagens enviadas a seus generais. O Código de César, como ficou conhecido era um sistema simples de substituição, no qual cada letra da mensagem original era trocada pela letra que se situa três posições à sua frente. Desta forma, a letra A era trocada por D, B por E, e assim por diante. Na prática, qualquer código que substitua uma letra por outra deslocada de uma distância fixa é considerado um Código de César. Como o alfabeto possui 26 letras, é possível cifrar a mensagem de 26 maneiras diferentes segundo este código, onde uma delas (a de deslocamento zero) deixa a mensagem cifrada igual à original.

                 Exemplo:

 

Decifrando

 

                 Não se sabe o quão efetivo era o Código de César naquela época, mas uma vez que muitos de seus inimigos eram analfabetos e outros não conheciam sua língua, acredita-se que o código passava um mínimo de segurança.

                 Agora suponha que uma das mensagens de César tenha sido interceptada e que o inimigo saiba sua língua. Se ele não souber que tipo de codigificação foi usada, fica bastante difícil decifrar a mensagem. Mas se por algum motivo ele desconfiar que foi utilizado o Código de César, sem saber qual o valor do deslocamento, fica bem fácil decifrar a mensagem. Uma vez que existem apenas 26 valores para o deslocamento (25 se for excluído o deslocamento nulo), o inimigo poderia fazer uso da força bruta sem muitas dificuldades.

                 Suponha que a mensagem cifrada seja “Fyfhfw”. Uma boa maneira de decifrar a mensagem por força bruta seria escrever o alfabeto embaixo de cada letra da mensagem, na vertical, cada coluna começando por cada letra da mensagem:

                 Feito isso, basta analisar as linhas e ver qual que possui algum sentido. Claramente o código foi feito com deslocamento de 5 posições e a mensagem é “Atacar”.

 

Cifra monoalfabética

 

                 Uma forma de melhoria do código de César seria, ao invés de trocar cada letra segundo um deslocamento fixo, trocar cada letra por qualquer outra, sem seguir nenhum padrão - este é o princípio da cifra monoalfabética. A seguir temos um exemplo desta cifra:

 

                 Desta forma, existem 26! combinações (permutação de 26 letras) possíveis. Contudo, nem todas essas combinações seriam úteis (os casos em que muitas das letras são cifradas por elas mesmas), mas claramente esta cifra inviabiliza o uso da força bruta (manual) para a obtenção da mensagem original.

 

Decifrando

 

                 Para decifrar a mensagem, seria necessário uma técnica mais elaborada, como no caso da análise estatística da linguagem. Poderia-se comparar as letras mais freqüentes na mensagem com as letras mais freqüentes na linguagem utilizada para escrevê-la. No caso da mensagem ser muita curta, o uso desta técnica ficaria debilitado.

                 Se por algum motivo, o intruso souber que certas palavras estão presentes na mensagem (os nomes do remente e do destinatário por exemplo), ele poderia ser capaz de achar sem tantas dificuldades as substituições correspondentes às letras dessas palavras. Sendo assim, as combinções possíveis seriam reduzidas de forma significativa, podendo até viabilizar o uso força bruta a partir daí.

 

UFRJ—Redes de Computadores