Cfra de Vgenère Técncas de Data Mnng para Crptoanálse Mestrado em Sstemas de Dados e Processamento Analítco Segurança e Prvacdade em Sstemas de Armazenamento e Transporte de Dados Joel Tago Rbero Introdução Pretende-se com este trabalho combnar técncas exstentes de data mnng com os tradconas métodos de crptoanálse da cfra de Vgenère. O resultado desta combnação deve ser uma aplcação onde seja possível complementar a metodologa exstente, no ntuto de se obter melhores resultados e desempenhos. Crptologa Crptologa Crptografa Códgos Cfras Transposção Substtução Esteganografa Crpto-análse Fgura 1 Crptografa Crptologa é a dscplna centífca que reúne e estuda os conhecmentos (matemátcos, computaconas, pscológcos, flológcos, etc.) e técncas necessáros à crptoanálse (solução de crptogramas) e à crptografa (escrta codfcada). [http://pt.wkpeda.org/wk/crptologa]
Crptografa Crptografa (Do Grego kryptós, "esconddo", e gráphen, "escrever") é geralmente entendda como sendo o estudo dos prncípos e das técncas pelas quas a nformação pode ser transformada da sua forma orgnal para outra legível, a menos que seja conhecda uma "chave secreta", o que a torna dfícl de ser lda por alguém não autorzado. Assm sendo, só o receptor da mensagem pode ler a nformação com facldade. [http://pt.wkpeda.org/wk/crptografa] Crptoanálse Crptoanálse é o ramo da crptologa que estuda formas de descodfcar uma mensagem sem conhecer a chave secreta. A técnca de crptoanálse é responsável por quebrar o códgo da mensagem cfrada, e não em decfra-lo. [http://pt.wkpeda.org/wk/crptoan%c3%a1lse] Códgos Os códgos podem ser protocolos de comuncação, ou seja, um "conjunto de convenções que rege o tratamento e, especalmente, a formatação de dados num sstema de comuncação". Exstem códgos abertos (como o códgo Morse) e códgos secretos. Códgos também podem ser um conjunto de substtutos para letras, palavras ou frases nteras. Geralmente são colocados em lvros, os chamados lvros de códgos ou nomenclaturas, como duas lstas em ordem alfabétca. Numa delas o texto claro está em ordem alfabétca (para facltar a cfragem), segudo dos substtutos. Na outra, os códgos estão em ordem alfabétca (para facltar a decfragem), segudos do texto lmpo correspondente. [http://www.numaboa.com/content/category/11/130/136/] Estenografa Estenografa é o estudo e uso das técncas para ocultar a exstênca de uma mensagem dentro de outra. [http://pt.wkpeda.org/wk/esteganografa] O termo estenografa vem do grego e sgnfca "escrta coberta". É um ramo partcular da crptologa que consste, não em fazer com que uma mensagem seja nntelgível, mas em camuflá-la, mascarando a sua presença. Ao contráro da crptografa, que procura esconder a nformação da mensagem, a estenografa procura esconder a exstênca da mensagem. [http://www.numaboa.com/content/category/11/65/102/]
Cfras de Transposção As cfras de transposção msturam as letras do texto orgnal de acordo com uma qualquer regra reversível. Por outras palavras, o texto cfrado é obtdo através da permutação do texto orgnal. [http://www.numaboa.com/content/category/11/121/124/] Cfras de Substtução Fgura 2 Classfcação das cfras de substtução As cfras de substtução produzem crptogramas nos quas as letras do texto orgnal, tratadas ndvdualmente ou em grupos de comprmento constante, são substtuídas por outras letras, fguras, símbolos ou uma combnação destes de acordo com um sstema predefndo e uma chave. [http://www.numaboa.com/content/vew/624/209/] Monoalfabétcas O sstema que substtu cada um dos caracteres de um texto lmpo usando outros caracteres (letras, números, símbolos, etc) conforme uma tabela de substtução preestabelecda é o sstema mas antgo que se conhece. As tabelas de substtução contêm os caracteres que serão substtuídos e os caracteres substtutos e são conhecdas como alfabeto. Quando apenas um alfabeto é aplcado, a substtução é chamada de monoalfabétca. [http://www.numaboa.com/content/vew/624/209/]
Monogâmcas Como cada um dos caracteres do texto lmpo é substtuído por outro, o comprmento da mensagem cfrada é gual ao comprmento da mensagem orgnal. Da mesma forma a frequênca de ocorrênca das letras (números ou símbolos) do crptograma também é a mesma que a frequênca de ocorrênca das letras da língua usada no texto claro. Este sstema é chamado de monoalfabétco porque é aplcado apenas um alfabeto (ou tabela de substtução) e classfcado como substtução monogâmca (ou monográfca) porque cada caracter é tratado ndvdualmente. A substtução monogâmca também é conhecda como unlteral (un = uma e lteral = letra). [http://www.numaboa.com/content/vew/330/210/] Polgâmcas A substtução monoalfabétca polgâmca tem as mesmas característcas da substtução smples (ou monoalfabétca monogâmca), com a dferença de que se substtu grupos de caracteres do texto orgnal por um ou mas caracteres. Portanto, o comprmento da mensagem cfrada nem sempre é o mesmo da mensagem orgnal. [http://www.numaboa.com/content/vew/330/210/] Tomogâmcas Os sstemas tomográfcos, também conhecdos como tomogâmcos, são aqueles nos quas cada letra é substtuída por um grupo de duas ou mas letras ou números. Assm sendo, o comprmento do crptograma será necessaramente maor do que o do texto orgnal. [http://www.numaboa.com/content/vew/330/210/] Polalfabétcas Quando mas de um alfabeto é utlzado para cfrar um texto lmpo, o método é denomnado de substtução polalfabétca. [http://www.numaboa.com/content/vew/624/209/] Os alfabetos não precsam necessaramente ter orgens dferentes, por exemplo, um alfabeto latno e outro crílco. O smples facto de alterar a ordem na sequênca das letras já caracterza um "novo" alfabeto. Por exemplo, b-c-d-...-y-z-a é um alfabeto de substtução; c-d-e-f-... é um alfabeto de substtução dferente. Se ambos forem utlzados para cfrar uma mesma
mensagem, substtundo as letras orgnas, então o método utlzado é uma substtução polalfabétca. [http://www.numaboa.com/content/vew/625/211/] Cfra de Vgenère A cfra de Vgenère é um método de encrptação que usa dferentes séres da cfra de César baseadas nas letras de uma palavra-chave. Esta é uma forma smples de uma cfra de substtução polalfabétca. [http://en.wkpeda.org/wk/vgen%c3%a8re_cpher] Fgura 3 Dsco de Vgenère Os processos de cfragem e decfragem da cfra de Vgenère podem ser defndos pelas seguntes equações: Cfragem ( Texto Chave ) mod 26 Cfra = + Decfragem Texto = ( Cfra Chave ) mod 26
De forma análoga, pode-se usar a matrz representada na fgura 4. Assm sendo, o processo de cfragem será defndo pela equação Cfra M [ Texto ; Chave ] corresponde, na matrz, ao valor da lnha x e da coluna y. =, onde c [ x y] M c ; Fgura 4 Matrz de Vgenère Exemplo Neste ponto pretende-se apresentar um pequeno exemplo do processo de cfragem e decfragem da cfra de Vgenère, usando as equações apresentadas no ponto anteror. Cfragem Fgura 5 Exemplo do Processo de Cfragem
Decfragem Fgura 6 Exemplo do Processo de Decfragem Análse à Cfra de Vgenère A análse à cfra de Vgenère começa pela determnação do tamanho da palavra-chave, através da dentfcação de padrões repetdos na cfra. Numa fase segunte, sabendo o número de letras que consttuem a chave e as frequêncas das letras da cfra e da respectva lnguagem, é possível prever potencas valores da palavra-chave. [http://slab.oregonstate.edu/koc/ece575/02project/mun+lee/vgenerecpher.html] Data Mnng O conceto data mnng pode ser defndo como a extracção não trval de nformação mplícta, desconhecda, e potencalmente útl, a partr de um conjunto de dados. [W. Frawley and G. Patetsky-Shapro and C. Matheus. "Knowledge Dscovery n Databases: An Overvew". AI Magazne: pp. 213-228. ISSN 0738-4602] Possíves abordagens para crptoanálse Neste ponto pretende-se ntroduzr algumas técncas de data mnng que podem ser útes em processos de crptoanálse. Sequence Mnng Bascamente, esta técnca é usada para pesqusar padrões estatstcamente relevantes (Motfs) em sequêncas de dados tpcamente séres temporas, com valores dscretos. [http://en.wkpeda.org/wk/sequence_mnng] Na crptoanálse, a técnca de sequence mnng poderá ser partcularmente útl na pesqusa de padrões de letras que se repetem ao longo da cfra, permtndo determnar o tamanho da chave com mas precsão.
Modelos de Prevsão Os modelos de prevsão consttuem o tpo de data mnng mas conhecdo e usado. Estes modelos são usados para prever o valor de um atrbuto, a partr de um conjunto de outros atrbutos conhecdos. Assm sendo, podem ser usados modelos de prevsão como classfcadores Nave Bayes, árvores de decsão, entre outros, para se prever as palavras a decfrar. A dea é, consderando que algumas letras da palavra-chave estão erradas, consegur encontrar as palavras correctas através de métodos de prevsão. Graph Mnng Recorrendo a grafos, é possível representar o relaconamento entre as dversas palavras, e pontuações, de uma qualquer lnguagem. Assm sendo, é possível fazer a reconstrução de um texto, cujas pontuações, acentuações e espaços foram omtdos facto que acontece na cfra de Vgenère, e com eventuas erros. Concetos Neste ponto pretende-se ntroduzr alguns concetos usados na área de data mnng e que podem ser útes em processos de crptoanálse. Top K O Top K pode ser defndo como sendo uma estrutura de dados onde é possível armazenar um máxmo de K elementos. Nesta, o crtéro de selecção consste num valor de rankng dos elementos, permanecendo na estrutura um máxmo de K elementos, ordenados por rankng. Assm sendo, exstem para o efeto dos vectores ordenados, um para os valores de rankng dos elementos, e outro para os própros elementos. Sempre que um elemento é nserdo ou empurrado para a posção K + 1, será elmnado. Fgura 7 Exemplo de uma aplcação do Top K
Aplcação: Vgenère Cpher Um dos objectvos deste trabalho prendeu-se com a defnção e desenvolvmento de uma aplcação de crptoanálse à cfra de Vgenère. Objectvo Dada uma palavra-chave e uma cfra, pretende-se dentfcar quas as letras da chave que estão ncorrectas, sugerndo a sua correcção. Estruturas de Dados Neste ponto pretende-se descrever as estruturas de dados mplementadas na aplcação Vgenère Cpher. Hstograma Será mplementado um hstograma para representar as frequêncas das letras de uma qualquer lnguagem. Através desta estrutura será possível dentfcar quas as letras com mas probabldade de ocorrênca, não só na lnguagem mas também na chave. Árvore n-ára Será mplementada uma árvore n-ára para representar as palavras, letra a letra. Através desta estrutura será possível dentfcar se uma qualquer palavra pertence à lnguagem, mesmo que algumas das suas letras estejam trocadas. Grafo Será mplementado um grafo para representar o relaconamento das palavras e pontuações de uma determnada lnguagem. Através desta estrutura será possível reconstrur frases, ou dentfcar as palavras ou pontuações que possam surgr depos de uma dada palavra. Algortmo Neste ponto pretende-se descrever o algortmo da aplcação Vgenère Cpher, que pode ser dvddo nas fases de treno e de prevsão. Fase de Treno (Aprendzagem) A fase de treno consste em construr, a partr de um conjunto de textos dado pelo utlzador, o hstograma, a árvore n-ára, e o grafo.
Fase de Prevsão A fase de prevsão começa com a execução dos processos tradconas de crptoanálse da cfra de Vgenère, ou seja, o cálculo do tamanho da chave e a determnação dos possíves valores da chave. Usando um dos valores da chave determnados, começa-se por decfrar a cfra. Através do resultado da decfragem e do grafo, serão determnados os seus Top 10 textos mas smlares. Para fnalzar, usando estes textos, reconstró-se cada letra da chave calculando o seu score (grau de certeza). Demonstração Neste ponto pretende-se demonstrar as funconaldades da aplcação Vgenère Cpher. Codfcação/Descodfcação Esta funconaldade permte ao utlzador cfrar e decfrar um qualquer texto, usando a cfra de Vgenère. Fgura 8 Vgenère Cpher: Codfcação/Descodfcação Fase de treno Esta funconaldade permte ao utlzador executar a fase de treno. Como já fo referdo, esta fase consste na construção, através de um conjunto de textos dados pelo utlzador, do hstograma, da árvore n-ára, e do grafo.
Fgura 9 Vgenère Cpher: Fase de Treno Análse tradconal Esta funconaldade permte ao utlzador executar os tradconas métodos de análse da cfra de Vgenère. Assm sendo, ao utlzador é possível determnar os Top K tamanhos de chave e os respectvos valores. Fgura 10 Vgenère Cpher: Análse Tradconal
Análse recorrendo a técncas de data mnng Esta funconaldade permte ao utlzador executar a análse à cfra de Vgenère, recorrendo a técncas de data mnng. Assm sendo, ao utlzador é possível determnar quas as letras da chave ntroduzda que estão potencalmente erradas. É anda apresentado ao utlzador o grau de certeza de cada uma das letras (Score) e de toda a chave (Best Match). Fgura 11 Vgenère Cpher: Análse recorrendo a técncas de data mnng Conclusões Neste ponto pretende-se, em jeto de conclusão, dentfcar os pontos fracos e fortes da abordagem sugerda e mplementada na aplcação Vgenère Cpher. Pontos Fortes Identfcam-se os seguntes pontos fortes: A boa capacdade de resposta para cfras pequenas. O facto do algortmo ser adaptatvo, ou seja, consegue automatcamente adaptar os seus parâmetros no sentdo de mnmzar o seu espaço de pesqusa. Pontos Fracos Identfcam-se os seguntes pontos fracos: O facto desta abordagem depender da fase de treno (aprendzagem). Os resultados obtdos não são exactos, podendo haver casos onde não seja possível encontrar a palavra-chave correcta.
Trabalho Futuro Sugere-se como trabalho futuro: Implementação de outras funconaldades como por exemplo a reposção de espaços, pontuações e acentuações. Implementação de outros métodos como por exemplo a prevsão do valor da palavra-chave através de métodos baseados na força bruta, usando como referênca o grau de certeza da chave (Best Match). Teste ao desempenho e efcáca para comparar a abordagem sugerda aos métodos tradconas.