Powered By Blogger

Total de visualizações de página

Postagens populares

domingo, 13 de julho de 2014

COMO FUNCIONA A CRIPTOANÁLISE E ALGUM DE SEUS CÓDIGOS

Informação é um bem importante. Nações, empresas e pessoas protegem suas informações com codificação, usando uma variedade de métodos que variam de substituir uma letra por outra a um algoritmo complexo para codificar uma mensagem. Do outro lado da equação da informação estão as pessoas que usam uma combinação de lógica e intuição para descobrir informações secretas. Estas pessoas são criptoanalistas, de algo conhecido como criptoanálise.
Código binário é a base para muitos códigos modernos. Uma pessoa que se comunica através de uma escrita secreta é chamada de criptógrafo. Os criptógrafos podem usar códigos, cifras ou uma combinação dos dois para manter mensagens seguras e impedir o acesso por outras pessoas. O que os criptógrafos criam, os criptoanalistas tentam descobrir. Ao longo da história da criptografia, as pessoas que criaram códigos ou cifras estavam normalmente convencidas de que seus sistemas não podiam ser interceptados. Os criptoanalistas provaram que estas pessoas estavam erradas ao confiar em tudo que vinha do método científico para uma adivinhação sortuda. Hoje, ainda que os esquemas de codificação surpreendentemente complexos comuns em transações na internet possam ter uma vida útil limitada - a computação quantum pode tornar fácil as equações difíceis de serem resolvidas. Apesar de achados históricos demonstrarem que diversas civilizações antigas usavam elementos de cifras e códigos em sua escrita, os especialistas em códigos dizem que estes exemplos tinham por finalidade dar um sentido de importância e formalidade à mensagem. A pessoa que escrevia a mensagem tinha a intenção de que seu público pudesse ler. Os gregos foram uma das primeiras civilizações a usar cifras para comunicar em sigilo. Um estudioso grego chamado Polybius propôs um sistema para codificar mensagens onde o criptógrafo representava cada letra com um par de números variando de um a cinco usando um quadrado de 5-por-5 (as letras I e J compartilhavam um quadrado). O quadrado de Polybius (algumas vezes chamada de tabuleiro de dama) parece-se com a figura abaixo:
Um criptógrafo escreveria a letra "B" como "12". A letra O é "34". A cifra da frase "How Stuff Works (Como tudo funciona)", o criptógrafo escreveria "233452 4344452121 5234422543". Porque ele substitui cada letra com dois números, é difícil para alguém não familiarizado com o código determinar o que a mensagem significa. O criptógrafo poderia fazer de forma ainda mais difícil misturando a ordem das letras ao invés de escrevê-las alfabeticamente. Júlio César inventou uma cifra antiga - uma que era muito simples e que mesmo assim confundia seus inimigos. Ele criou mensagens codificadas alterando a ordem do alfabeto por certo número de letras. Por exemplo, se você tivesse que alterar o alfabeto em inglês diminuindo em três lugares, a letra "D" representaria a letra "A", enquanto a letra "E" significaria a letra "B" e assim por diante. Você pode visualizar este código escrevendo dois alfabetos um abaixo do outro com o texto simples e cifra correspondentes, assim:
Observe que a alfabeto em cifra volta para o "A" depois de alcançar o "Z". Usando este sistema de cifra, você pode codificar a frase "How Stuff Works (Como tudo funciona)" como "KRZ VWXII ZRUNV".Esses dois sistemas, o quadrado de Polybius e a troca de César, formaram a base de muitos outros sistemas de cifras. Decifrando a linguagem Codificar uma mensagem significa substituir as letras no texto com o alfabeto substituto. A mensagem que pode ser lida é chamada de texto simples. O criptógrafo converte o texto simples em uma cifra e a envia. O receptor da mensagem usa uma técnica apropriada, chamada chave, para decifrar a mensagem, alterando de uma cifra de volta para o texto simples. O QUADRO DE TRIMETHIUS Após a queda do Império Romano, o mundo ocidental entrou no que hoje chamamos de "Idade das Trevas". Durante este período, houve um declínio na educação e não foi diferente com a criptografia. Isso até o Renascimento, quando a criptografia começou a se tornar popular. O Renascimento não foi apenas um período de intensa criatividade e aprendizado, mas também de intrigas, políticas, guerra e decepção. Os criptógrafos começaram a buscar novas formas de codificar mensagens. A troca de César era fácil demais para ser descoberta - com tempo e paciência suficientes, quase toda pessoa poderia descobrir o texto simples por trás do texto cifrado. Reis e padres contratavam estudiosos para chegar a novas maneiras de enviar mensagens secretas. Até que um estudioso chamado Johannes Trimethius, propôs disponibilizar o alfabeto em uma matriz, ou quadro. A matriz tinha 26 linhas e 26 colunas. A primeira linha continha o alfabeto como é normalmente escrito. A próxima linha usava uma troca de César para mover o alfabeto sobre um espaço. Cada linha alterava o alfabeto em um outro ponto para que a linha final iniciasse com "Z" e terminasse em "Y". Você poderia ler o alfabeto normalmente olhando pela primeira linha ou pela primeira coluna. É assim que se parece:
Como você pode ver, cada linha é uma troca de César. Para codificar uma letra, o criptógrafo escolhe uma linha e usa a linha de cima como guia de texto simples. Um criptógrafo usando a 10ª linha, por exemplo, codificaria a letra de texto simples "A" como "J". Trimethius não parou por aí - ele sugeriu que os criptógrafos codificassem mensagens usando a primeira linha para a primeira letra, a segunda linha para a segunda letra e assim por diante até o final do quadro. Após 26 letras consecutivas, o criptógrafo iniciaria novamente a primeira linha e trabalharia novamente até ter codificado a mensagem toda. Utilizando esse método, ele poderia codificar a frase "How Stuff Works (Como tudo funciona)" como "HPY VXZLM EXBVE." O quadro de Trimethius é um bom exemplo de uma cifra polialfabética. A maioria das cifras antigas eram monoalfabéticas, o que significa que um alfabeto em cifra substitui um alfabeto de texto simples. Uma cifra polialfabética usa múltiplos alfabetos para substituir o texto simples. Apesar das mesmas palavras serem usadas em cada linha, as letras dessa linha tem um significado diferente. Um criptógrafo codifica um texto simples "A" na linha três como um "C," porém um "A" na linha 23 é um "W". O sistema de Trimethius, no entanto, usa 26 alfabetos - um para cada letra no alfabeto normal. A CIFRA DE VIGENERE No final do ano de 1500, Blaise de Vigenere propôs um sistema polialfabético que é particularmente difícil de decifrar. Seu método usou uma combinação do quadro de Trimethius e uma chave. A chave determinou quais alfabetos na tabela o decifrador de códigos deveria usar, porém não era necessariamente parte da mensagem. Vamos rever o quadro de Trimethius. Vamos supor que você está codificando uma mensagem usando a palavra-chave "CIFRA." Você codificaria a primeira letra usando a linha "C" como guia, usando a letra encontrada na interseção da linha "C" e a coluna da letra do texto simples correspondente. Para a segunda letra, você usaria a linha "I", e assim por diante. Uma vez que você usa a linha "R" para codificar uma letra, você reiniciaria "C". Usando esta palavra-chave e este método, você poderia codificar a frase "How Stuff Works (Como tudo funciona)" da seguinte forma:
A mensagem que você codificou ficaria assim, "JWL ZXLHN LVVBU". Se você quisesse ler uma mensagem mais longa, você continuaria repetindo a chave para codificar seu texto simples. O receptor de sua mensagem precisaria saber a chave antes para poder decifrar o texto. Vigenere sugeriu um esquema ainda mais complexo que usava uma letra primária seguida da própria mensagem como chave. A letra primária designava a linha que o criptógrafo usava primeiro para começar a mensagem. Tanto o criptógrafo como o receptor sabiam antecipadamente qual era a letra primária. Este método fez com que o descobrir das cifras fosse extremamente difícil, porém exigia tempo, e um erro na mensagem poderia alterar todo o resto. Enquanto o sistema era seguro, a maioria das pessoas o achou complexo demais para usar com eficiência. Eis um exemplo do sistema de Vigenere - neste caso a letra primária é "D":
Para decifrar, o receptor primeiro olharia a primeira letra da mensagem codificada, um "K" nesse caso, e usaria a tabela de Trimethius para descobrir onde o "K" ficou na linha "D" - lembre-se de que tanto o criptógrafo como o receptor sabiam antes que a primeira letra da chave será sempre o "D", independente do que o restante da mensagem dizia. A letra no topo da coluna é "H". O "H" torna-se a próxima letra na chave da cifra, então o receptor olharia na próxima linha "H" e encontraria a próxima letra na cifra - um "V" nesse caso. Isso daria ao receptor um "O". Seguindo este método, o receptor poderia decifrar a mensagem toda, ainda que demorasse um pouco. O sistema mais complexo de Vigenere não foi popular até o ano de 1800, porém ainda é usado em máquinas de codificação modernas [fonte: Kahn]. FONTE:hsw.uol.com.br/cracker.htm

Nenhum comentário: