cifra de vigenere

Upload: desouzaeverton

Post on 12-Jul-2015

492 views

Category:

Documents


3 download

TRANSCRIPT

Cifra de Vigenre Tcnicas de Data Mining para CriptoanliseMestrado em Sistemas de Dados e Processamento Analtico Segurana e Privacidade em Sistemas de Armazenamento e Transporte de Dados

Joel Tiago Ribeiro

IntroduoPretende-se com este trabalho combinar tcnicas existentes de data mining com os tradicionais mtodos de criptoanlise da cifra de Vigenre. O resultado desta combinao deve ser uma aplicao onde seja possvel complementar a metodologia existente, no intuito de se obter melhores resultados e desempenhos.

Criptologia

Criptologia Criptografia Cdigos Cifras Transposio Substituio Esteganografia Cripto-anliseFigura 1 Criptografia

Criptologia a disciplina cientfica que rene e estuda os conhecimentos (matemticos, computacionais, psicolgicos, filolgicos, etc.) e tcnicas necessrios criptoanlise (soluo de criptogramas) e criptografia (escrita codificada).[http://pt.wikipedia.org/wiki/Criptologia]

CriptografiaCriptografia (Do Grego krypts, "escondido", e grphein, "escrever") geralmente entendida como sendo o estudo dos princpios e das tcnicas pelas quais a informao pode ser transformada da sua forma original para outra ilegvel, a menos que seja conhecida uma "chave secreta", o que a torna difcil de ser lida por algum no autorizado. Assim sendo, s o receptor da mensagem pode ler a informao com facilidade.[http://pt.wikipedia.org/wiki/Criptografia]

CriptoanliseCriptoanlise o ramo da criptologia que estuda formas de descodificar uma mensagem sem conhecer a chave secreta. A tcnica de criptoanlise responsvel por quebrar o cdigo da mensagem cifrada, e no em decifra-lo.[http://pt.wikipedia.org/wiki/Criptoan%C3%A1lise]

Cdigos Os cdigos podem ser protocolos de comunicao, ou seja, um "conjunto de convenes que rege o tratamento e, especialmente, a formatao de dados num sistema de comunicao". Existem cdigos abertos (como o cdigo Morse) e cdigos secretos.

Cdigos tambm podem ser um conjunto de substitutos para letras, palavras ou frases inteiras. Geralmente so colocados em livros, os chamados livros de cdigos ou nomenclaturas, como duas listas em ordem alfabtica. Numa delas o texto claro est em ordem alfabtica (para facilitar a cifragem), seguido dos substitutos. Na outra, os cdigos esto em ordem alfabtica (para facilitar a decifragem), seguidos do texto limpo correspondente.[http://www.numaboa.com/content/category/11/130/136/]

Estenografia Estenografia o estudo e uso das tcnicas para ocultar a existncia de uma mensagem dentro de outra.[http://pt.wikipedia.org/wiki/Esteganografia]

O termo estenografia vem do grego e significa "escrita coberta". um ramo particular da criptologia que consiste, no em fazer com que uma mensagem seja ininteligvel, mas em camufl-la, mascarando a sua presena. Ao contrrio da criptografia, que procura esconder a informao da mensagem, a estenografia procura esconder a existncia da mensagem.[http://www.numaboa.com/content/category/11/65/102/]

Cifras de Transposio As cifras de transposio misturam as letras do texto original de acordo com uma qualquer regra reversvel. Por outras palavras, o texto cifrado obtido atravs da permutao do texto original.[http://www.numaboa.com/content/category/11/121/124/]

Cifras de Substituio

Figura 2 Classificao das cifras de substituio

As cifras de substituio produzem criptogramas nos quais as letras do texto original, tratadas individualmente ou em grupos de comprimento constante, so substitudas por outras letras, figuras, smbolos ou uma combinao destes de acordo com um sistema predefinido e uma chave.[http://www.numaboa.com/content/view/624/209/]

Monoalfabticas O sistema que substitui cada um dos caracteres de um texto limpo usando outros caracteres (letras, nmeros, smbolos, etc) conforme uma tabela de substituio preestabelecida o sistema mais antigo que se conhece. As tabelas de substituio contm os caracteres que sero substitudos e os caracteres substitutos e so conhecidas como alfabeto. Quando apenas um alfabeto aplicado, a substituio chamada de monoalfabtica.[http://www.numaboa.com/content/view/624/209/]

Monogmicas Como cada um dos caracteres do texto limpo substitudo por outro, o comprimento da mensagem cifrada igual ao comprimento da mensagem original. Da mesma forma a frequncia de ocorrncia das letras (nmeros ou smbolos) do criptograma tambm a mesma que a frequncia de ocorrncia das letras da lngua usada no texto claro. Este sistema chamado de monoalfabtico porque aplicado apenas um alfabeto (ou tabela de substituio) e classificado como substituio monogmica (ou monogrfica) porque cada caracter tratado individualmente. A substituio monogmica tambm conhecida como uniliteral (uni = uma e literal = letra).[http://www.numaboa.com/content/view/330/210/]

Poligmicas A substituio monoalfabtica poligmica tem as mesmas caractersticas da substituio simples (ou monoalfabtica monogmica), com a diferena de que se substitui grupos de caracteres do texto original por um ou mais caracteres. Portanto, o comprimento da mensagem cifrada nem sempre o mesmo da mensagem original.[http://www.numaboa.com/content/view/330/210/]

Tomogmicas Os sistemas tomogrficos, tambm conhecidos como tomogmicos, so aqueles nos quais cada letra substituda por um grupo de duas ou mais letras ou nmeros. Assim sendo, o comprimento do criptograma ser necessariamente maior do que o do texto original.[http://www.numaboa.com/content/view/330/210/]

Polialfabticas Quando mais de um alfabeto utilizado para cifrar um texto limpo, o mtodo denominado de substituio polialfabtica.[http://www.numaboa.com/content/view/624/209/]

Os alfabetos no precisam necessariamente ter origens diferentes, por exemplo, um alfabeto latino e outro cirlico. O simples facto de alterar a ordem na sequncia das letras j caracteriza um "novo" alfabeto. Por exemplo, b-c-d-...-y-z-a um alfabeto de substituio; c-d-e-f-... um alfabeto de substituio diferente. Se ambos forem utilizados para cifrar uma mesma

mensagem, substituindo as letras originais, ento o mtodo utilizado uma substituio polialfabtica.[http://www.numaboa.com/content/view/625/211/]

Cifra de VigenreA cifra de Vigenre um mtodo de encriptao que usa diferentes sries da cifra de Csar baseadas nas letras de uma palavra-chave. Esta uma forma simples de uma cifra de substituio polialfabtica.[http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher]

Figura 3 Disco de Vigenre

Os processos de cifragem e decifragem da cifra de Vigenre podem ser definidos pelas seguintes equaes:

Cifragem

Cifrai =(Textoi + Chavei ) mod 26 Decifragem

Textoi =(Cifrai Chavei ) mod 26

De forma anloga, pode-se usar a matriz representada na figura 4. Assim sendo, o processo de cifragem ser definido pela equao

Cifra i = M c [Textoi ; Chavei ] , onde M c [x; y ]

corresponde, na matriz, ao valor da linha x e da coluna y.

Figura 4 Matriz de Vigenre

ExemploNeste ponto pretende-se apresentar um pequeno exemplo do processo de cifragem e decifragem da cifra de Vigenre, usando as equaes apresentadas no ponto anterior.

Cifragem

Figura 5 Exemplo do Processo de Cifragem

Decifragem

Figura 6 Exemplo do Processo de Decifragem

Anlise Cifra de VigenreA anlise cifra de Vigenre comea pela determinao do tamanho da palavra-chave, atravs da identificao de padres repetidos na cifra. Numa fase seguinte, sabendo o nmero de letras que constituem a chave e as frequncias das letras da cifra e da respectiva linguagem, possvel prever potenciais valores da palavra-chave.[http://islab.oregonstate.edu/koc/ece575/02Project/Mun+Lee/VigenereCipher.html]

Data MiningO conceito data mining pode ser definido como a extraco no trivial de informao implcita, desconhecida, e potencialmente til, a partir de um conjunto de dados.[W. Frawley and G. Piatetsky-Shapiro and C. Matheus. "Knowledge Discovery in Databases: An Overview". AI Magazine: pp. 213-228. ISSN 0738-4602]

Possveis abordagens para criptoanliseNeste ponto pretende-se introduzir algumas tcnicas de data mining que podem ser teis em processos de criptoanlise. Sequence Mining Basicamente, esta tcnica usada para pesquisar padres estatisticamente relevantes (Motifs) em sequncias de dados tipicamente sries temporais, com valores discretos .[http://en.wikipedia.org/wiki/Sequence_mining]

Na criptoanlise, a tcnica de sequence mining poder ser particularmente til na pesquisa de padres de letras que se repetem ao longo da cifra , permitindo determinar o tamanho da chave com mais preciso.

Modelos de Previso Os modelos de previso constituem o tipo de data mining mais conhecido e usado. Estes modelos so usados para prever o valor de um atributo, a partir de um conjunto de outros atributos conhecidos. Assim sendo, podem ser usados modelos de previso como classificadores Naive Bayes, rvores de deciso, entre outros , para se prever as palavras a decifrar. A ideia , considerando que algumas letras da palavra-chave esto erradas, conseguir encontrar as palavras correctas atravs de mtodos de previso. Graph Mining Recorrendo a grafos, possvel representar o relacionamento entre as diversas palavras, e pontuaes, de uma qualquer linguagem. Assim sendo, possvel fazer a reconstruo de um texto, cujas pontuaes, acentuaes e espaos foram omitidos facto que acontece na cifra de Vigenre , e com eventuais erros.

ConceitosNeste ponto pretende-se introduzir alguns conceitos usados na rea de data mining e que podem ser teis em processos de criptoanlise. Top K O Top K pode ser definido como sendo uma estrutura de dados onde possvel armazenar um mximo de K elementos. Nesta, o critrio de seleco consiste num valor de ranking dos elementos, permanecendo na estrutura um mximo de K elementos, ordenados por ranking. Assim sendo, existem para o efeito dois vectores ordenados, um para os valores de ranking dos elementos, e outro para os prprios elementos. Sempre que um elemento inserido ou empurrado para a posio K + 1, ser eliminado.

Figura 7 Exemplo de uma aplicao do Top K

Aplicao: Vigenre CipherUm dos objectivos deste trabalho prendeu-se com a definio e desenvolvimento de uma aplicao de criptoanlise cifra de Vigenre.

ObjectivoDada uma palavra-chave e uma cifra, pretende-se identificar quais as letras da chave que esto incorrectas, sugerindo a sua correco.

Estruturas de DadosNeste ponto pretende-se descrever as estruturas de dados implementadas na aplicao Vigenre Cipher.

Histograma Ser implementado um histograma para representar as frequncias das letras de uma qualquer linguagem. Atravs desta estrutura ser possvel identificar quais as letras com mais probabilidade de ocorrncia, no s na linguagem mas tambm na chave.

rvore n-ria Ser implementada uma rvore n-ria para representar as palavras, letra a letra. Atravs desta estrutura ser possvel identificar se uma qualquer palavra pertence linguagem, mesmo que algumas das suas letras estejam trocadas.

Grafo Ser implementado um grafo para representar o relacionamento das palavras e pontuaes de uma determinada linguagem. Atravs desta estrutura ser possvel reconstruir frases, ou identificar as palavras ou pontuaes que possam surgir depois de uma dada palavra.

AlgoritmoNeste ponto pretende-se descrever o algoritmo da aplicao Vigenre Cipher, que pode ser dividido nas fases de treino e de previso.

Fase de Treino (Aprendizagem) A fase de treino consiste em construir, a partir de um conjunto de textos dado pelo utilizador, o histograma, a rvore n-ria, e o grafo.

Fase de Previso A fase de previso comea com a execuo dos processos tradicionais de criptoanlise da cifra de Vigenre, ou seja, o clculo do tamanho da chave e a determinao dos possveis valores da chave.

Usando um dos valores da chave determinados, comea-se por decifrar a cifra. Atravs do resultado da decifragem e do grafo, sero determinados os seus Top 10 textos mais similares. Para finalizar, usando estes textos, reconstri-se cada letra da chave calculando o seu score (grau de certeza).

DemonstraoNeste ponto pretende-se demonstrar as funcionalidades da aplicao Vigenre Cipher. Codificao/Descodificao Esta funcionalidade permite ao utilizador cifrar e decifrar um qualquer texto, usando a cifra de Vigenre.

Figura 8 Vigenre Cipher: Codificao/Descodificao

Fase de treino Esta funcionalidade permite ao utilizador executar a fase de treino. Como j foi referido, esta fase consiste na construo, atravs de um conjunto de textos dados pelo utilizador, do histograma, da rvore n-ria, e do grafo.

Figura 9 Vigenre Cipher: Fase de Treino

Anlise tradicional Esta funcionalidade permite ao utilizador executar os tradicionais mtodos de anlise da cifra de Vigenre. Assim sendo, ao utilizador possvel determinar os Top K tamanhos de chave e os respectivos valores.

Figura 10 Vigenre Cipher: Anlise Tradicional

Anlise recorrendo a tcnicas de data mining Esta funcionalidade permite ao utilizador executar a anlise cifra de Vigenre, recorrendo a tcnicas de data mining. Assim sendo, ao utilizador possvel determinar quais as letras da chave introduzida que esto potencialmente erradas. ainda apresentado ao utilizador o grau de certeza de cada uma das letras (Score) e de toda a chave (Best Match).

Figura 11 Vigenre Cipher: Anlise recorrendo a tcnicas de data mining

ConclusesNeste ponto pretende-se, em jeito de concluso, identificar os pontos fracos e fortes da abordagem sugerida e implementada na aplicao Vigenre Cipher. Pontos Fortes Identificam-se os seguintes pontos fortes: A boa capacidade de resposta para cifras pequenas. O facto do algoritmo ser adaptativo, ou seja, consegue automaticamente adaptar os seus parmetros no sentido de minimizar o seu espao de pesquisa. Pontos Fracos Identificam-se os seguintes pontos fracos: O facto desta abordagem depender da fase de treino (aprendizagem). Os resultados obtidos no so exactos, podendo haver casos onde no seja possvel encontrar a palavra-chave correcta.

Trabalho FuturoSugere-se como trabalho futuro: Implementao de outras funcionalidades como por exemplo a reposio de espaos, pontuaes e acentuaes. Implementao de outros mtodos como por exemplo a previso do valor da palavra-chave atravs de mtodos baseados na fora bruta, usando como referncia o grau de certeza da chave (Best Match). Teste ao desempenho e eficcia para comparar a abordagem sugerida aos mtodos tradicionais.