Você está na página 1de 47

CENTRO PAULA SOUZA

FACULDADE DE TECNOLOGIA DE TAQUARITINGA CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS

CRIPTOGRAFIA

X X X

Taquaritinga, SP 2010

CRIPTOGRAFIA

CAIO FELIPE DE SOUZA FELIPE CAPOVILLA THIAGO CASTRO ELEOTRIO

Este trabalho foi desenvolvido Faculdade de Tecnologia de Taquaritinga, como parte dos requisitos de avaliao na matria de SI (Seminrios de Informtica). Orientador: Joo de Lucca Filho

Taquaritinga, SP 2010

SUMRIO
1INTRODUO............................................................................................................................................................6 2HISTORIA DA CRIPTOGRAFIA............................................................................................................................8 CRIPTOGRAFIA NA ANTIGUIDADE................................................................................................................................8 A CRIPTOGRAFIA NA IDADE MDIA...........................................................................................................................10 A CRIPTOGRAFIA NA IDADE MODERNA E CONTEMPORNEA..........................................................................................12 3SUBSTITUIO.......................................................................................................................................................18 MONOGMICAS......................................................................................................................................................18 POLIGMICAS.........................................................................................................................................................18 TRANSPOSIO ......................................................................................................................................................18 TRANSPOSIES COLUNARES E LINEARES SIMPLES......................................................................................................19 TRANSPOSIES GEOMTRICAS COLUNARES................................................................................................................19 TRANSPOSIES GEOMTRICAS LINEARES....................................................................................................................20 TRANSPOSIES COLUNARES COM CHAVE NUMRICA..................................................................................................20 CIFRAS DE BLOCO..................................................................................................................................................21 ECB - ELECTRONIC CODEBOOK ..............................................................................................................................22 CIPHER-BLOCK CHAINING.........................................................................................................................................23 CFB - CIPHER FEEDBACK E OFB - OUTPUT FEEDBACK.............................................................................................24 CIFRAS DE FEISTEL.................................................................................................................................................26 4ALGORITMOS E SISTEMAS CRIPTOGRFICOS..........................................................................................28 CHAVES SIMTRICAS...............................................................................................................................................28 IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM )...........................................................................................29 4.1.2 RC (RON'S CODE OU RIVEST CIPHER)............................................................................................................29 DES (DATA ENCRYPTION STANDARD).....................................................................................................................29 CRIPTOGRAFIA ASSIMTRICA ...................................................................................................................................33 ALGORITMO RSA..................................................................................................................................................34 FUNCIONAMENTO DE RSA......................................................................................................................................34 ASSINATURA DIGITAL.............................................................................................................................................35 FUNO HASHING..................................................................................................................................................36 MD5...................................................................................................................................................................38 SHA-1................................................................................................................................................................38 CERTIFICADO DIGITAL............................................................................................................................................39 5CRIPTOGRAFIA QUNTICA...............................................................................................................................41 DISTRIBUIO QUNTICA DE CHAVES (QKD)...........................................................................................................41 PROTOCOLO QUNTICO BB84.................................................................................................................................41 ENVIO DE FTONS..................................................................................................................................................42 A CHAVE INICIAL..................................................................................................................................................43 ESTIMATIVA DE ERRO.............................................................................................................................................44 6CONCLUSO............................................................................................................................................................45 7REFERENCIAS.........................................................................................................................................................46

LISTA DE ILUSTAES
ILUSTRAO 1 - CIFRAGEM MODO ELECTRONIC CODEBOOK - ECB................................................22 ILUSTRAO 2 - DECIFRAO MODO ELECTRONIC CODEBOOK ECB...........................................22 ILUSTRAO 3 - ECB..............................................................................................................................................23 ILUSTRAO 4 - CIFRAGEM NO MODO CIPHER-BLOCK CHAINING - CBC.......................................23 ILUSTRAO 5 - DECIFRAO MODO CIPHER-BLOCK CHAINING CBC.........................................24 ILUSTRAO 6 - CIFRAGEM MODO CIPHER FEEDBACK - CFB..............................................................25 ILUSTRAO 7 - DECIFRAO MODO CIPHER FEEDBACK CFB........................................................25 ILUSTRAO 8 - CIFRAGEM MODO OUTPUT FEEDBACK - OFC............................................................25 ILUSTRAO 9 - DECIFRAO MODO OUTPUT FEEDBACK - OFB.......................................................26 ILUSTRAO 10 - CIFRAS DE FEISTEL.............................................................................................................27 ILUSTRAO 11 - PERMUTAO.......................................................................................................................30 ILUSTRAO 12 - DIAGRAMA DE ITERAES..............................................................................................31 ILUSTRAO 13 - S-BOXES...................................................................................................................................32 ILUSTRAO 14 - EXEMPLIFICANDO A CHAVE PUBLICA.......................................................................33 ILUSTRAO 15 - EXEMPLIFICANDO A ASSINATURA DIGITAL............................................................36 ILUSTRAO 16 - ASSINATURA UTILIZANDO HASHING..........................................................................37 ILUSTRAO 17 - VERIFICANDO VALIDADE DA ASSINATURA FEITA EM HASH............................38 ILUSTRAO 18 - HIERARQUIA DAS AUTORIDADES CERTIFICADORAS...........................................39 ILUSTRAO 19 - EXEMPLO DE CERTIFICADO DIGITAL.........................................................................40 ILUSTRAO 20 - ENVIO DE FTONS DE ALICE..........................................................................................42 ILUSTRAO 21 - ENVIO DE FTONS DE BOB..............................................................................................43 ILUSTRAO 22 - CHAVE INICIAL (RAW KEY) ENTRE ALICE E BOB...................................................43

SOUZA, C. F.; CAPOVILLA, F.; ELEOTRIO, T. C.; Criptografia. Faculdade de Tecnologia de Taquaritinga, Centro Estadual De Educao Tecnolgica Paula Souza, Taquaritinga, 2010.

RESUMO
Atualmente com a crescente popularizao da internet como meio para realizar os mais diferentes tipos de servios, de transaes financeiras e corporativas at o armazenamento de arquivos pessoais, nota-se a necessidade de maneiras de proteger a integridade de contedo e destino de dados dos mais variados tipos. A soluo mais utilizada para essa questo a criptografia, uma rea de estudo muito antiga. Neste trabalho iremos abordar Criptografia desde suas origens at o estado da arte atual, passando por sua histria, explicando seu funcionamento, termos tcnicos, algoritmos de implementao e como milhes de usurios utilizam diariamente a criptografia na execuo de suas tarefas. Palavras-Chave: Criptografia, Substituio, Transposio e Algoritmos.

1 INTRODUO
A escrita cifrada uma "mania" muito antiga. Foi s o homem inventar o alfabeto e comear a escrever que logo surgiu a vontade de escrever textos secretos. Os mtodos ou cdigos utilizados para criar uma mensagem cifrada evoluram lentamente. No incio, havia poucas pessoas que sabiam escrever e pouca necessidade de esconder o contedo de qualquer mensagem. "Cripto" vem do grego krypts e significa oculto, envolto, escondido. Tambm do grego, graphos significa escrever, logos significa estudo. Da, CRIPTOLOGIA o estudo da escrita cifrada e se ocupa com a CRIPTOGRAFIA, a escrita secreta, e a CRIPTOANLISE, a quebra do segredo. A criptologia, como cincia, existe h apenas 20 anos. Antes disso era considerada como arte. A International Association for Cryptologic Research (IACR) a organizao cientfica internacional que mantm a pesquisa nesta rea. Hoje em dia a criptografia voltou a ser muito utilizada devido evoluo dos meios de comunicao, facilidade de acesso a estes meios e ao volume muito grande de mensagens enviadas. Telefone fixo e celular, fax, e-mail, etc. so amplamente utilizados e nem sempre os usurios querem que o contedo seja pblico. Devido a isto, a criptografia evoluiu muito nos ltimos tempos. A criptografia a cincia de escrever mensagens que ningum deveria poder ler, exceto o remetente e o destinatrio. A criptoanlise a cincia de "quebrar" o mtodo utilizado, decifrar e ler estas mensagens cifradas. As palavras, caracteres ou letras da mensagem original inteligvel constituem a Mensagem ou Texto Original, tambm chamado de Mensagem ou Texto Claro. As palavras, caracteres ou letras da mensagem cifrada so chamados de Texto Cifrado, Mensagem Cifrada ou Criptograma. O processo de converter Texto Claro em Texto Cifrado chamado de composio de cifra ou cifragem e o inverso chamado de decifrao. Na prtica, qualquer mensagem cifrada o resultado da aplicao de um SISTEMA GERAL (ou algoritmo criptogrfico), que

invarivel, associado a uma CHAVE ESPECFICA, que pode ser varivel. bvio que tanto o remetente quanto o destinatrio precisam conhecer o sistema e a chave.

2 HISTORIA DA CRIPTOGRAFIA
A criptografia est presente na vida do ser humano desde a antiguidade. O homem sempre teve a necessidade de ocultar informaes de modo a proteger vantagem estratgica na busca de um objetivo, podendo ser esse militar, poltico ou at mesmo de produo. A seguir veremos fatos relevantes da histria da criptografia, desde seus primeiros indcios at o momento atual.

Criptografia na Antiguidade
A histria acontece numa vila egpcia perto do rio Nilo chamada Menet Khufu. No tmulo de Khnumhotep II, homem de grande importncia, alguns hierglifos foram substitudos por outros mais "importantes e bonitos". Kahn considera este fato como o primeiro exemplo documentado de escrita cifrada. Em 1500 a.C. a criptografia da Mesopotmia ultrapassou a egpcia, chegando a um nvel bastante avanado. O primeiro registro do uso da criptografia nesta regio est numa frmula para fazer esmaltes para cermica. O tablete de argila que contm a frmula tem apenas cerca de 8 cm x 5 cm e foi achado s margens do rio Tigre. Usava smbolos especiais que podem ter vrios significados diferentes. (Kahn). Nesta poca, mercadores assrios usavam intaglios, que so peas planas de pedra com inscries de smbolos que os identificavam. O moderno comrcio com assinaturas digitais estava inventado. 600 a 500 a.C. Escribas hebreus, escrevendo o Livro de Jeremias, usaram a cifra de substituio simples pelo alfabeto reverso conhecido como ATBASH. As cifras mais conhecidas da poca so o ATBASH, o ALBAM e o ATBAH, as chamadas cifras hebraicas. (Kahn). Se que realmente existiu, o scytalae espartano ou basto de Licurgo era um basto de madeira ao redor do qual se enrolava firmemente uma tira de couro ou pergaminho, longa e estreita. Escrevia-se a mensagem no sentido do comprimento do basto e, depois, desenrolavase a tira com as letras embaralhadas.

No sculo 400 a.C. Textos gregos antigos, de Enas, o Ttico, descrevem vrios mtodos de ocultar mensagens. Este cientista militar e criptgrafo inventou um telgrafo hidrotico, um sistema de comunicao distncia. Dois grupos, separados por uma distncia em que ainda era possvel reconhecer a luz de uma tocha e que quisessem enviar mensagens deviam possuir dois vasos iguais. Os vasos tinham um abertura no fundo, fechada por uma rolha, e eram preenchidos com gua. Um basto, que tinha mensagens inscritas, era colocado em p dentro do vaso. Ao sinal de uma tocha, as rolhas eram retiradas simultaneamente. Quando o nvel da gua estivesse na altura da mensagem que se queria transmitir, outro sinal luminoso era enviado para que as rolhas fossem recolocadas. 300 a.C. Artha-sastra, um livro atribudo a Kautilya, foi escrito na ndia. Cita diversas cifras criptogrficas e recomenda uma variedade de mtodos de criptoanlise (o processo de quebrar cdigos) para obter relatrios de espionagem. Os processos so recomendados para diplomatas. Euclides de Alexandria, matemtico grego que viveu aproximadamente de 330 a.C. a 270 a.C., compilou e sistematizou o que havia na poca sobre geometria e teoria dos nmeros. o famoso texto "Elementos", o livro mais publicado na histria da humanidade (no a Bblia, como se costuma dizer). Euclides nem de longe poderia imaginar a tremenda influncia que sua obra teria nos dias da moderna criptologia feita por computador. Erasttenes de Cirene, filsofo e gemetra grego, viveu de 276 a.C. a 194 a.C. Conhecido como criador de um mtodo para identificar nmeros primos, chamado de crivo de Erasttenes, e por ter calculado o dimetro da Terra com surpreendente preciso. 200 a.C. Polbio, um historiador grego nascido em Megalpolis e que viveu de 204 a.C. a 122 a.C., escreveu vrios livros sobre o Imprio Romano. Descreveu tambm uma cifra de substituio que converte os caracteres da mensagem clara em cifras que, apesar de no ser da sua autoria, ficou conhecida como Cdigo de Polbio. 130 a.C. Em Uruk, na regio do atual Iraque, era comum os escribas transformarem seus nomes em nmeros dentro do emblema que identificava seus trabalhos. A prtica, provavelmente, era apenas para divertir os leitores e no estava relacionada segurana. 50 a.C. O imperador romano Jlio Csar usou uma cifra de substituio para aumentar a segurana de mensagens governamentais. Csar alterou as letras desviando-as em trs posies - A se tornava D, B se tornava E, etc. s vezes, Csar reforava sua cifragem substituindo letras latinas por letras gregas.

O Cdigo de Csar o nico da Antiguidade que continua sendo usado at hoje. Atualmente denomina-se qualquer cifra baseada na substituio cclica do alfabeto de Cdigo de Csar. 79 d.C. A frmula Sator ou quadrado latino encontrado em escavaes feitas em Pompia, inscrito numa coluna. Ocorre tambm num amuleto de bronze, originrio da sia Menor, datado do sculo V. As palavras rotas arepo tenet opera sator parecem ter o efeito mgico de nunca desaparecem... persistem at hoje como um enigma de transposio. 200 d.C. O Papiro de Leiden, um texto que detalha como fazer poes especiais, possui texto cifrado nos trechos cruciais das receitas. Exemplos destas "receitas mgicas" so as que supostamente fazem com que um homem ame uma mulher ou que provoquem uma doena de pele incurvel.

A Criptografia na Idade mdia


718-786 - al-Khali , cujo nome completo era Abu Abd al-Rahman al-Khalil ibn Ahmad ibn Amr ibn Tammam al Farahidi al-Zadi al Yahmadi, escreveu o livro Kitab al Mu'amma (O livro das mensagens criptogrficas), em grego, para o imperador bizantino. Infelizmente este livro foi perdido. Alm disso, al-Khalil decifrou um criptograma bizantino muito antigo. Sua soluo baseou-se no incio do texto original, que ele sups corretamente como sendo "Em nome de Deus" - modo comum de comear qualquer texto naquela poca. Este mtodo criptanaltico, conhecido como mtodo da palavra provvel, tornou-se padro. Foi usado at na decifrao de mensagens cifradas pela mquina Enigma, durante a Segunda Guerra Mundial. (Pommerening) 801-873 - al-Kindi, cujo nome completo era Abu Yusuf Yaqub ibn Is-haq ibn as Sabbah ibn 'omran ibn Ismail Al-Kindi, escreveu Risalah fi Istikhraj al Mu'amma (Escritos sobre a decifrao de mensagens criptogrficas). Este livro est conservado, sendo o mais antigo sobre criptologia. 855 - Abu Bakr Ahmad ben Ali ben Wahshiyya an-Nabati publicou vrios alfabetos cifrantes, os quais eram tradicionalmente usados para mgicas. (Kahn) 1000 - O Emirado Ghaznavida foi fundado por Sebk-Tigin, um governador de Ghazni, no Afeganisto. Revoltando-se contra o Emirado Samanida, ele estabeleceu um estado que controlava o Afeganisto, partes da Prsia e do norte da ndia. O emirado existiu de 977 at 1186. Alguns documentos com textos cifrados do governo Ghaznavida na Prsia conquistada sobrevivem e um cronista relata que altos oficiais recebiam cifras pessoais antes de serem 10

enviados para ocupar novos postos. Mas a falta de continuidade dos estados islmicos e a consequente falha em desenvolver um servio civil e em criar embaixadas permanentes em outros pases acabou por restringir o uso da criptografia." (Kahn) 1119-1311 - O Templo era uma ordem de monges combatentes fundada em 1119 pelos cavaleiros Ugo dei Pagani e Geoffrey de Saint-Omer para proteger os peregrinos na Terra Santa. Logo aps a fundao da ordem em Jerusalm, Balduno II, imperador de Constantinopla, concedeu-lhe um palcio nas proximidades do templo de Salomo, donde se originou o nome Templrios. A ordem enriqueceu rapidamente graas a numerosas doaes e se tornou uma organizao internacional que, por muito tempo, teve uma influncia notvel, rivalizando com a do rei da Frana e a do prprio Papa. A organizao cifrava suas letras de crdito utilizando um mtodo prprio. Em 1291, os templrios foram obrigados a abandonar a Terra Santa, fugindo para a ilha de Chipre. Em 1311, a ordem dos templrios foi dissolvida por Felipe, o belo. Em srias dificuldades financeiras, Felipe mandou prender e torturar os templrios, fazendo com que lhe entregassem suas riquezas. Um ano mais tarde, em 1312, um decreto do Conclio de Viena aboliu a ordem. 1187-1229 Ibn DUNAINIR ou Ibrahim ibn Mohammad ibn Dunainir, autor do livro redescoberto em 1987, Maqasid al-Fusul al-Mutarjamah an Hall at-Tarjamah (Explicaes claras para a soluo de mensagens secretas). O livro contm uma inovao importante: cifras algbricas, ou seja, a substituio de letras por nmeros que podem ser transformados aritmeticamente. (Pommerening) Em 1226, uma criptografia poltica discreta apareceu nos arquivos de Veneza, onde "pontos e cruzes substituam as vogais em algumas palavras esparsas". (Kahn) 1250 O frade franciscano ingls Roger Bacon (1214-1294), conhecido como "Doctor mirabilis", possua vastos conhecimentos lingusticos, sobre fsica e as cincias naturais. Corrigiu o calendrio Juliano, aperfeioou diversos instrumentos de tica e antecipou vrias invenes modernas, tais como mquinas a vapor, telescpios, microscpios, aeroplanos, etc. Descreveu sete mtodos de cifras e escreveu: "Um homem louco se escrever um segredo de qualquer outra forma que no seja a de o dissimular do vulgar." (Kahn) 1300 Abd al-Rahman Ibn Khaldun escreveu o Muqaddimah, um importante relato da histria que cita o uso de "nomes de perfumes, frutas, pssaros ou flores para indicar letras, ou [...] sobre formas diferentes das formas das letras aceitas" como um cdigo usado entre escritrios militares e de controle de impostos. (Kahn)

11

1312-1361 Ibn AD-DURAIHIM, cujo nome completo era Taj ad-Din Ali ibn Muhammad ibn Abdul'aziz ibn ad-Duraihim, autor do livro redescoberto em 1987, Miftah alKunuz fi Idah al-Marmuz (Chaves para a elucidao de mensagens secretas) que contm uma classificao das cifras, anlises de frequncia em vrias lnguas, uma tabela e grades de transposio. Em 1378, depois do Cisma de Avignon, Clemente VII decidiu unificar o sistema de cifras da Itlia Setentrional, designando Gabriele Lavinde para coordenar a tarefa. Lavinde compilou uma coleo de cifras num manual, do qual o Vaticano conserva uma cpia de 1379. Com seu alfabeto de substituio combinada (cdigo/cifra), Lavinde uniu a cifra de substituio a um cdigo com listas de palavras, slabas e nomes equivalentes. Este sistema foi amplamente utilizado por diplomatas e alguns civis europeus e americanos por mais de 450 anos. (Kahn) 1401 Simeone de Crema usou uma chave na qual cada vogal do texto original possua vrios equivalentes. Isto comprova silenciosamente que, nesta poca, o ocidente conhecia a criptanlise. No pode haver outra explicao para o aparecimento destes mltiplos substitutos ou homfonos. O fato dos homfonos serem aplicados a vogais, e no apenas indiscriminadamente, indica, no mnimo, o conhecimento do esboo de uma anlise de frequncia. (Kahn) 1411 Michele Steno, doge de Veneza, nos d um dos primeiros exemplos de cifras homofnicas: escolhia um dos muitos smbolos para cada caractere, alm de utilizar nulos e caracteres especiais para certas palavras de uso frequente.

A criptografia na Idade Moderna e Contempornea


1901 Guglielmo Marconi (1874-1937), Prmio Nobel de Fsica em 1909, inicia a era da comunicao sem fio. Apesar da vantagem da comunicao de longa distncia sem o uso de fios ou cabos, o sistema aberto e aumenta o desafio da criptologia. Inicialmente a telegrafia sem fio utilizava apenas o cdigo Morse, acessvel a todos que captassem os sinais. Impunha-se a necessidade de codificaes que garantissem o sigilo das mensagens. 1913 O capito Parket Hitt reinventou o cilindro cifrante, desta vez em forma de fita. 1916 O major Joseph Oswald Mauborgne (1881-1971) passou a cifra de fita de Hitt novamente para a forma de cilindro, fortaleceu a construo alfabtica e produziu o dispositivo que se transformaria no M-94. 1917 William Frederick Friedman (1891-1969), o homem que criou o termo "criptoanlise" e que posteriormente ser chamado de "pai da criptoanlise dos EUA", comea a 12

trabalhar como criptoanalista civil no Riverbank Laboratories, que tambm presta servios ao governo dos EUA. Mais tarde, Friedman cria uma escola de criptoanlise militar, inicialmente no Riverbank e depois em Washington. Um funcionrio da AT&T, Gilbert Sandford Vernam (1890-1970), inventa uma mquina de cifragem polialfabtica capaz de usar uma chave totalmente randmica e que nunca se repete. Esta mquina foi oferecida ao governo dos EUA para ser usada na Primeira Guerra Mundial, porm foi rejeitada. Foi colocada no mercado comercial em 1920. Vernam desenvolveu uma cifra inviolvel, baseada na cifra de Vigenre, e que leva seu nome. 1918 - Os alemes comeam a usar o sistema ADFGVX no final da Primeira Guerra Mundial. Era uma cifra baseada em substituio, fracionamento e depois na transposio das letras fracionadas. Foi quebrada pelo criptoanalista francs, tenente Georges Painvin. Arthur Scherbius (1878-1929) patenteia uma mquina de cifragem e tenta vend-la ao exrcito alemo, mas a mquina Enigma rejeitada. Mais tarde, com algumas modificaes, ser a mais temida mquina de cdigos, o grande desafio na Segunda Guerra Mundial. 1919 Hugo Alexander Koch patenteia na Holanda uma mquina cifrante baseada em rotores. Em 1927, passa os direitos de patente para Arthur Scherbius, inventor e distribuidor da mquina Enigma desde 1923. Arvid Gerhard Damm requer uma patente na Sucia para uma mquina cifrante com rotores mecnicos. Esta mquina, sob a orientao de Boris Caesar Wilhelm Hagelin (1892-1983), evoluu para uma famlia de mquinas cifrantes. frente dos negcios, Hagelin foi o nico criptgrafo comercial do seu tempo que teve sucesso no seu empreendimento. Aps a guerra, uma lei sueca que permitia ao governo apropriar-se de inventos que considerasse importantes e que deveriam ser defendidos, fez com que Hagelin se mudasse para Zug, na Suia, onde sua firma foi incorporada pela Crypto AG. 1921 Edward Hugh Hebern funda a Hebern Electric Code, uma empresa produtora de mquinas eletros-mecnica de cifragem baseadas em rotores, que giram no estilo de hodmetros, a cada caractere cifrado. 1924 - Alexander von Kryha produz sua "mquina codificante" que foi utilizada at os anos 1950, inclusive pelo Corpo Diplomtico alemo. Entretanto, era criptograficamente fraca porque possua um espao de chaves muito pequeno. Um criptograma de teste, de 1135 caracteres, foi decifrado em 2 horas e 41 minutos pelos criptoanalistas Friedman, Kullback, Rowlett e Sinkov. Mesmo assim, a mquina continuou sendo comercializada e usada, um sucesso de vendas, mas um risco e uma lio para os consumidores de dispositivos criptogrficos.

13

1929 Lester S. Hill publica seu livro Cryptography in an Algebraic Alphabet, no qual um bloco de texto claro cifrado atravs de uma operao com matrizes. 1927 a 1933 O uso da criptografia no estava restrito a banqueiros, aficionados ou pesquisadores. Cada vez mais os criminosos, especialmente os contrabandistas, usam a criptografia para os seus propsitos. Kahn diz que "A maior era de contrabando internacional criou a maior era de criptografia criminosa". "Um comandante da Marinha Real, tenente aposentado, inventou os sistemas para as operaes no Pacfico da Consolidated Exporters. Seus grupos do Golfo e do Atlntico, contudo, desenvolveram sistemas prprios. Seu nome era desconhecido, porm sua capacidade criptogrfica era evidente. Os sistemas dos contrabandistas tornaram-se gradativamente mais complexos." (Kahn) "Alguns dos sistemas so de uma complexidade nunca antes aplicada por qualquer governo nas suas comunicaes mais secretas", escreveu Elizebeth Smith Friedman num relatrio em meados da dcada de 1930. Cabe a Elizabeth Smith Friedman, esposa de William Friedman, decifrar os cdigos dos contrabandistas de rum na vigncia da lei seca. O problema persiste e, segundo Kahn, "Em nenhum momento durante a Segunda Guerra Mundial, quando os mtodos de comunicao secreta alcanaram seu maior desenvolvimento, foram usadas ramificaes to intrincadas quanto s encontradas em algumas correspondncias dos navios que transportavam rum na costa oeste". Anos 1930 A mquina SIGABA (M-134-C) inventada nos EUA por William F. Friedman. Deavours atribui a idia a Frank Rowlett, um dos primeiros contratados por Friedman. Os rotores de Hebern e Scherbius foram aperfeioados usando escalonamentos pseudo-randmicos de mltiplos rotores em cada passo da cifragem. Alm disso, usava 15 rotores no lugar dos 3 ou 4 rotores da Enigma. A mquina inglesa TYPEX era uma imitao da Enigma comercial adquirida pelos britnicos em 1920 para estudos. Era uma mquina de 5 rotores, dos quais os dois primeiros eram estticos cuja funo era a mesma do painel de conectores da Enigma alem. 1933 a 1945 A mquina Enigma no foi um sucesso comercial, porm foi aperfeioada at se transformar na ferramenta criptogrfica mais importante da Alemanha nazista. O sistema foi quebrado pelo matemtico polons Marian Rejewski, que se baseou apenas em textos cifrados interceptados e numa lista de trs meses de chaves dirias obtidas atravs de um espio. Alan Turing, Gordon Welchman e outros, em Bletchley Park, Inglaterra, deram continuidade criptoanlise do sistema Enigma. 1937 A Mquina Prpura dos japoneses foi inventada a partir das revelaes feitas por Herbert O. Yardley. Seu sistema foi quebrado por uma equipe liderada por William Frederick 14

Friedman. A Mquina Prpura usava rels telefnicos escalonados ao invs de rotores, apresentando, portanto, permutaes totalmente diferentes a cada passo ao invs das permutaes relacionadas a um rotor em diferentes posies. Os japoneses no foram capazes de quebrar os cdigos dos EUA e imaginavam que seu prprio cdigo tambm fosse inquebrvel. 1943 Colossus, um computador para quebrar cdigos, posto em ao no Bletchley Park, o centro de estudos criptolgicos da Inglaterra. 1943 a 1980 O projeto criptogrfico Venona, conduzido pela NSA (National Security Agency) dos EUA, o mais duradouro dos projetos deste tipo. 1948 Claude Elwood Shannon (1916-2001), um dos primeiros criptlogos a introduzir a matemtica na criptologia, publica seu livro A Communications Theory of Secrecy Systems. 1960 Dr. Horst Feistel (1915-1990), liderando um projeto de pesquisa no IBM Watson Research Lab, desenvolve a cifra Lcifer. Alguns anos mais tarde, esta cifra servir de base para o DES e outros produtos cifrantes, criando uma famlia conhecida como "cifras Feistel". 1969 James Ellis desenvolve um sistema de chaves pblicas e chaves privadas separadas. Em 1974 a IBM apresenta a cifra Lucifer ao National Bureau of Standards o qual, aps avaliar o algoritmo com a ajuda da National Security Agency, introduz algumas modificaes e adota a cifra como padro de encriptao de dados para os EUA, o FIPS PUB46, conhecido hoje como DES (Data Encryption Standard). Na ocasio, Diffie e Hellman lanaram dvidas quanto segurana do DES, apontando que no seria impossvel obter a chave atravs da "fora bruta", o que acabou acontecendo 20 anos mais tarde a um custo 100 vezes inferior ao inicialmente estimado. 1977 Inspirados no texto publicado por Diffie e Hellman e apenas principiantes na criptografia, Ronald L. Rivest, Adi Shamir e Leonard M. Adleman comearam a discutir como poderiam criar um sistema de chave pblica que fosse prtico. Ron Rivest acabou tendo uma grande idia e a submeteu apreciao dos amigos: era uma cifra de chave pblica, tanto para confidencialidade quanto para assinaturas digitais, baseada na dificuldade da fatorao de nmeros grandes. Foi batizada de RSA, de acordo com as primeiras letras dos sobrenomes dos autores. Confiantes no sistema, em 4 de Abril de 1970 os trs entregaram o texto para Martin Gardner, para que fosse publicado na revista Scientific American. O artigo apareceu na edio de Setembro de 1977 e inclua a oferta de enviar o relatrio tcnico completo para qualquer um que mandasse um envelope selado com o prprio endereo. Foram recebidos milhares de pedidos provenientes dos quatro cantos do mundo. Algum da NSA contestou a distribuio 15

deste relatrio para estrangeiros e, durante algum tempo, os autores suspenderam a correspondncia. Como a NSA no se deu ao trabalho de informar a base legal desta proibio, solicitada pelos autores, os trs voltaram a enviar os relatrios solicitados. 1990 Xuejia Lai e James Massey publicam na Suia A Proposal for a New Block Encryption Standard (Uma Proposta para um Novo Padro de Encriptao de Bloco), o que viria a ser o IDEA (International Data Encryption Algorithm), para substituir o DES. O IDEA utiliza uma chave de 128 bits e emprega operaes adequadas para computadores de uso geral, tornando as implementaes do software mais eficientes. Charles H. Bennett, Gilles Brassard e colaboradores publicam seus resultados experimentais sobre Criptografia Quntica, a qual usa ftons nicos para transmitir um fluxo de bits chave para uma posterior cifragem Vernam da mensagem. Considerando as leis que a mecnica quntica possui, a Criptografia Quntica no s oferece a possibilidade do segredo como tambm uma indicao positiva caso ocorra uma interceptao e uma medida do nmero mximo de bits que possam ter sido interceptados. Uma desvantagem que a Criptologia Quntica necessita de um cabeamento de fibra tica entre as partes que se comunicam. 1991 Phil Zimmermann torna pblica a primeira verso de PGP (Pretty Good Privacy) como resposta ao FBI, o qual invoca o direito de acessar qualquer texto claro trocado entre cidados. O PGP oferece uma segurana alta para as pessoas comuns e, como tal, pode ser encarado como um concorrente de produtos comerciais. Entretanto, o PGP especialmente notvel porque foi disponibilizado como freeware e, como resultado, tornou-se um padro mundial, enquanto que seus concorrentes continuaram absolutamente desconhecidos. 1994 O professor Ron Rivest, autor dos algoritmos RC2 e RC4 includos na biblioteca de criptografia BSAFE do RSADSI, publica a proposta do algoritmo RC5 na Internet. Este algoritmo usa rotao dependente de dados como sua operao no linear e parametrizado de modo que o usurio possa variar o tamanho do bloco, o nmero de estgios e o comprimento da chave. Ainda cedo para se avaliar corretamente os parmetros em relao fora desejada. O algoritmo Blowfish, uma cifra de bloco de 64 bits com uma chave de at 448 bits de comprimento, projetado por Bruce Schneier. Em novembro de 1994, David Wheeler e Roger Needham, da Universidade de Cambridge, Inglaterra, lanam o TEA Tiny Encryption Algorithm, uma cifra de bloco do tipo Feistel com chaves de 128 bits que rivaliza com o IDEA pela velocidade de processamento, pela simplicidade da implementao e por ser de domnio pblico.

16

1995 O SHA-1 (Secure Hash Algorithm - Algoritmo Hash Seguro) aprovado pelo governo dos EUA para ser usado por todos os departamentos e agncias federais na autenticao de documentos digitais. 1997 O PGP 5.0 Freeware amplamente distribudo para uso no comercial. O padro de encriptao DES de 56 bits, base da criptografia dos EUA, quebrado por uma rede de 14.000 computadores. Depois que a criptoanlise detectou fragilidades no algoritmo TEA, Needham e Wheeler aperfeioaram o algoritmo descrevendo duas novas variaes: o XTEA e o BlockTEA. No XTEA as sub-chaves so tratadas de forma diferente e o BlockTEA opera em blocos de tamanhos variveis. 1998 O padro de encriptao DES de 56 bits quebrado em 56 horas por pesquisadores da Electronic Frontier Foundation - EFF do Vale do Silcio. Wheeler e Needham divulgam mais um aperfeioamento do TEA (e do XTEA e BlockTEA) - o XXTEA usa uma funo de arredondamento mais elaborada. 1999 O padro de encriptao DES de 56 bits quebrado em apenas 22 horas e 15 minutos usando a mquina da EFF, chamada de Deep Crack, associada computao distribuda. O governo dos EUA, sem sada, parte para o Triple-DES. 2000 O algoritmo Rijndael selecionado para substituir o DES e denominado AES Advanced Encryption Standard.

17

3 SUBSTITUIO
Uma tabela de substituio contm os caracteres que sero substitudos e os caracteres de substituio. Esta tabela tambm conhecida como cifrante ou alfabeto cifrante.

Monogmicas
Como cada um dos caracteres do texto claro substitudo por outro, o comprimento da mensagem cifrada igual ao comprimento da mensagem original e a frequncia de ocorrncia das letras do criptograma a mesma que a frequncia de ocorrncia das letras da lngua usada no texto claro. Este sistema chamado de monoalfabtico porque apenas um alfabeto cifrante aplicado e classificado como substituio monogmica porque cada caractere tratado individualmente. As cifras de substituio Monoalfabticas monogmicas mais antigas so o Atbash e o Cdigo de Csar. Na criptografia contempornea, que usa computadores, substituem-se blocos de bits ao invs de caracteres. O princpio, porm, o mesmo.

Poligmicas
A substituio Monoalfabtica Poligmica possui as mesmas caractersticas da substituio simples, com a diferena de que se substituem grupos de caracteres do texto original por um ou mais caracteres. Portanto, o comprimento da mensagem cifrada nem sempre o mesmo da mensagem original.

Transposio
As transposies preservam todas os caracteres de uma mensagem, apenas os mudam de lugar. So baseadas no princpio matemtico da permutao. Existem diversos tipos de transposio, entre elas as geomtricas. So chamadas de geomtricas porque usam uma figura geomtrica, geralmente um quadrado ou retngulo, para orientar a transposio.

18

A transposio chamada de simples quando o sistema usar apenas um processo, e de dupla quando usar dois processos distintos de transposio. A maioria dos sistemas rearranjam o texto letra por letra, mas existem tambm os que rearranjam grupos de letras. Existem ainda as transposies com grades ou grelhas, como a transposio de Fleissner e as transposies por itinerrio

Transposies Colunares e Lineares Simples


Nas transposies que usam quadrados ou retngulos, o texto claro colocado nas figuras geomtricas e retirado de uma forma diferente da entrada. Nas transposies colunares a entrada de texto feita por linhas e a retirada por colunas, nas lineares a entrada de texto feita por colunas e a retirada por linhas.

Transposies Geomtricas colunares


Nas transposies simples por coluna escreve-se o texto horizontalmente numa matriz predefinida, obtendo-se o texto cifrado atravs das colunas verticais. O destinatrio, usando o processo inverso, volta a obter o texto claro. Apesar de muito simples, serviu de base para o algoritmo alemo ADFGFX, que foi utilizado durante a Primeira Guerra Mundial. Acompanhe o exemplo abaixo onde utilizada uma matriz de 6 colunas para o texto "A transposio eficiente": O resultado APOIT OERS ENAIF TNIE SC se a matriz for deixada incompleta ou APOIT OERS ENAIF TNIE SCX se for completada, por exemplo, com X.

A T R A N S P O S I C

O E F I I E N T E

19

Transposies geomtricas lineares


Nas transposies simples por itinerrio escreve-se o texto verticalmente numa matriz predefinida, obtendo-se o texto cifrado atravs das linhas horizontais. O destinatrio, usando o processo inverso, volta a obter o texto claro. O resultado ANSOI NTSI CTRP EIEAO FE se a matriz for deixada incompleta ou ANSOI NTSI CTRP EIEAO FEX se for completada, por exemplo, com X. Estes dois sistemas so extremamente simples porque basta descobrir o nmero de colunas ou linhas usadas na matriz para quebrar a cifra.

A N S O I T S I

C T E

R P E I

A O F E X

Transposies Colunares com Chave Numrica


Este tipo de transposio bem mais segura que a transposio colunar simples. No possvel quebr-la apenas determinando o nmero de colunas da matriz. Este processo de transposio semelhante ao usado para obter sequncias mistas de transposio. A chave numrica geralmente baseada numa palavra ou frase chave. Diferentemente das chaves usadas para obter transposies mistas, esta pode ter letras repetidas. Para produzir uma chave numrica a partir da chave, as letras so numeradas em ordem alfabtica e as letras repetidas so numeradas em sequncia da esquerda para a direita. Por exemplo, a palavra chave BANANA resultar na chave numrica 415263 Como nas transposies colunares simples, a matriz pode ou no ser preenchida completamente:

BANANA 4 1 5 2 6 3 20

O resultado ser TADQC ELACA ANOUE ou, se preenchidos os vazios, em duas verses: TADQC XELXA CAANO UEX ou simplesmente TADQC ELACA ANOUE.

BANANA 4 1 5 2 6 3 AT AQUE CANCE L ADO

Cifras de Bloco
Com o advento do computador foi possvel trabalhar com nmeros ao invs de letras ou outros caracteres grficos, um diferencial importante no cenrio da criptologia. O trabalho incrivelmente entediante e extremamente susceptvel a erros quando feito manualmente foi passado para as mquinas - os humanos, agora, apenas criam funes e observam os resultados. Nos anos da dcada de 1970, a primeira cifra de bloco que ficou conhecida mundialmente foi a DES (Data Encryption Standard). Representou uma importante evoluo na criptografia. Evoluo significa melhorar alguns processos j conhecidos com a adio de novas capacidades. As cifras de blocos, baseadas nos processos clssicos da substituio e da transposio, operam em blocos de tamanho fixo, geralmente de 64 ou 128 bits. Para cifrar mensagens cujo comprimento ultrapasse o tamanho do bloco, existem vrios modos de operao. A maioria apenas confere confidencialidade, mas algumas proporcionam confidencialidade e autenticao. Apresentaremos um resumo dos principais modos de operao das cifras de bloco.

21

ECB - Electronic Codebook


O modo de operao mais simples o Electronic Codebook. A mensagem clara fracionada em blocos de tamanho fixo e cada bloco cifrado isoladamente. No final, a mensagem cifrada obtida pela concatenao dos blocos cifrados.

Ilustrao 1 - Cifragem modo Electronic Codebook - ECB

Ilustrao 2 - Decifrao modo Electronic Codebook ECB

A desvantagem deste mtodo que blocos de texto claro iguais produzem tambm blocos cifrados iguais, ou seja, o mtodo no esconde o padro dos dados. Este modo de operao no acrescenta nada confidencialidade proporcionada pela cifra. A comparao do resultado da aplicao de uma cifra de bloco nos dados de uma imagem grfica, usando diversos modos de operao, mostra de forma clara a contribuio confidencialidade proporcionada pelos modos de operao.

22

Imagem original

Imagem com ECB


Ilustrao 3 - ECB

Imagem no ECB

A imagem da direita mostra o aspecto da imagem original cifrada com CBC, CTR ou qualquer outro modo de operao mais seguro. Estes modos fazem com que a imagem cifrada no guarde resqucios da imagem original porque introduzem distrbios de forma aleatria. Esta aparncia, no entanto, no garante que o mtodo de cifragem aplicado seja seguro. Mesmo uma cifra de baixssima segurana pode introduzir rudo.

Cipher-block chaining
No modo de operao Cipher-block chaining - CBC (corrente de blocos) feita uma operao XOR entre cada novo bloco de texto claro com o bloco cifrado obtido na etapa imediatamente anterior. Desta forma, cada um dos blocos cifrados depende de todos os blocos de texto claro anteriores.

Ilustrao 4 - Cifragem no modo Cipher-block Chaining - CBC

23

Ilustrao 5 - Decifrao modo Cipher-block Chaining CBC

O CBC um dos modos de operao mais utilizados. Sua maior desvantagem ser sequencial. Como no pode ser usado em paralelo, pois sempre depende do resultado anterior, seu uso dificulta o processamento de blocos em paralelo, o que melhoraria o desempenho do mtodo.

CFB - Cipher Feedback e OFB - Output Feedback


O modo Output Feedback (OFB) transforma uma cifra de bloco num gerador de nmeros pseudo-aleatrios. O texto cifrado realimenta a cifra de bloco e este processo repetido para produzir um fluxo de bits pseudo-randmicos. O fluxo de bits totalmente determinado pelo algoritmo, pela chave, por um vetor de inicializao e pelo nmero de bits que realimentam a cifra em cada etapa. O fluxo de bits pode ento servir para fazer uma operao XOR com o texto claro a fim de produzir o texto cifrado, transformando efetivamente a cifra de bloco numa cifra de fluxo. O modo Cipher Feedback (CFB) difere do OFB apenas porque o texto cifrado (depois da etapa XOR) realimenta o mtodo ao invs da sada da cifra de bloco (antes da etapa XOR). Uma cifra de bloco operando no modo CFB no pode ser usada como um gerador de nmeros randmicos. Com o Cipher Feedback um bloco de fluxo de chave calculado cifrando-se o bloco de texto cifrado anterior.

24

Ilustrao 6 - Cifragem modo Cipher Feedback - CFB

Ilustrao 7 - Decifrao modo Cipher Feedback CFB

O modo Output Feedback gera o prximo bloco de fluxo de chave cifrando o bloco de fluxo de chave anterior:

Ilustrao 8 - Cifragem modo Output Feedback - OFC

25

Ilustrao 9 - Decifrao modo Output Feedback - OFB

Cifras de Feistel
O diagrama a seguir mostra a estrutura genrica de uma cifra de Feistel, um esquema usado na grande maioria das cifras de bloco modernas. A entrada quebrada em dois blocos de mesmo tamanho, geralmente chamados de esquerdo (L - left) e direito (R - right), que so repetidamente ciclados atravs do algoritmo. Em cada ciclo, uma funo hash (f) aplicada no bloco direito e na chave, e o resultado do hash usado para fazer um XOR com o bloco esquerdo. Depois disto, os blocos so trocados. O resultado do XOR torna-se o novo bloco direito e o bloco direito inalterado torna-se o bloco esquerdo. O processo ento repetido algumas vezes.

26

Ilustrao 10 - Cifras de Feistel

A funo hash apenas um embaralhador de bits. A operao correta do algoritmo se baseia apenas na propriedade determinstica da funo hash, ou seja, se processar exatamente as mesmas entradas o resultado ser sempre o mesmo. Na decifrao, o texto cifrado dividido nos blocos esquerdo e direito. A chave e o bloco direito so submetidos funo hash para se obter o mesmo resultado hash usado no ltimo ciclo da cifragem (observe que o bloco direito permanece inalterado no ltimo ciclo da cifragem). Depois disto feito um XOR entre o hash e o bloco esquerdo para reverter o ltimo ciclo da cifragem e o processo repetido at que todos os ciclos tenham sido revertidos. A segurana de uma cifra de Feistel depende essencialmente do tamanho da chave e da irreversibilidade da funo hash.

27

4 ALGORITMOS E SISTEMAS CRIPTOGRFICOS


A criptologia se preocupa basicamente com a segurana de informaes. A segurana da informao pode ser obtida vrias formas, de acordo com a situao e as necessidades. At recentemente, informaes importantes eram escritas, autenticadas, armazenadas e transmitidas utilizando-se papel e tinta. Com a chegada dos computadores, dos meios magnticos de armazenamento e das telecomunicaes, a possibilidade de se produzir milhares de documentos idnticos faz com que fique muito difcil (ou at mesmo impossvel) distinguir as cpias do original. A identificao, validao e autorizao de um documento eletrnico exigem tcnicas especiais para isso foram criados vrios algoritmos criptogrficos para utilizaes em ambiente computacional, assegurando assim a integridade das informaes transmitidas.

Chaves Simtricas
Quando a origem criptografa uma mensagem, ela utiliza um algoritmo de criptografia para transformar o contedo original da mensagem em um texto criptografado. Quando o destinatrio decifra essa mensagem, ele utiliza o algoritmo de decriptao correspondente para converter o texto criptografado para sua forma original. Antigamente, a segurana da criptografia estava baseada no sigilo do algoritmo criptogrfico. Se um intruso conhecesse o algoritmo sem chave, poderia decifrar facilmente uma mensagem cifrada. Pode-se contornar este problema utilizando o segundo componente bsico da criptografia de mensagens: a chave. Uma chave uma cadeia aleatria de bits utilizada em conjunto com um algoritmo. Cada chave distinta faz com que o algoritmo trabalhe de forma ligeiramente diferente. Embora existam algoritmos que dispensem o uso de chaves, sua utilizao oferece duas importantes vantagens: permite a utilizao do mesmo algoritmo criptogrfico para a comunicao com diferentes receptores, apenas trocando a chave; permite trocar facilmente a chave no caso de uma violao, mantendo o mesmo algoritmo. O nmero de chaves possveis depende do tamanho (nmero de bits) da chave. Por exemplo, uma chave de 8 bits permite uma combinao de no mximo 256 chaves (2 elevado a 28

8). Quanto maior o tamanho da chave, mais difcil quebr-la, pois se est aumentando o nmero de combinaes possveis. Um intruso, por no possuir a chave secreta, mesmo conhecendo o algoritmo, no conseguir decifrar a mensagem. A segurana do sistema passa a residir no mais no algoritmo e sim na chave empregada. Agora a chave, ao invs do algoritmo, quem dever ser mantida em segredo pelo remetente e destinatrio da mensagem.

IDEA (International Data Encryption Algorithm)


Criado em 1991 por James Massey e Xuejia Lai, o IDEA um algoritmo que faz uso de chaves de 128 bits e que tem uma estrutura semelhante ao DES.

4.1.2 RC (Ron's Code ou Rivest Cipher)


Criado por Ron Rivest na empresa RSA Data Security, esse algoritmo muito utilizado em e-mails e faz uso de chaves que vo de 8 a 1024 bits. Possui vrias verses: RC2, RC4, RC5 e RC6. Essencialmente, cada verso difere da outra por trabalhar com chaves maiores.

DES (Data Encryption Standard)


O DES foi criado em 1977, sendo largamente usado desde ento. Foi adotado pelo National Bureau of Standards, atualmente conhecido como National Institute of Standards and Technology. Seu funcionamento bsico consiste na criptografia de blocos de 64 bits de entrada com uma chave de 56 bits, gerando blocos de 64 bits como sada. Para obter o texto original novamente, reverte-se o processo usando a mesma chave. Devido ao pequeno tamanho desta, esse algoritmo j no considerado seguro, pois ele poderia ser quebrado com certa facilidade pela fora bruta, ou seja, pelo teste de todas as chaves existentes at que se ache aquela que foi usada para criptografar o documento. Outro ponto que gera certa apreenso o fato de existirem blocos internos ao DES cujo critrio de arquitetura no foi explicitado, levando muitos a crer que existiriam falhas internas no reveladas pelo autor. A figura a seguir mostra um esquema genrico do funcionamento do DES. O texto cifrado gerado a partir de 16 interaes entre as permutaes do texto inicial e da chave.

29

Ilustrao 11 - Permutao

A permutao inicial mostrada na figura feita de acordo com uma tabela que indica o novo posicionamento dos 64 bits aps a permutao.

30

O diagrama de como so feitas as interaes mostrado a seguir:

Ilustrao 12 - Diagrama de Iteraes

Olhando primeiramente para o lado esquerdo da figura, nota-se que o texto plano foi dividido em dois blocos de 32 bits. O Bloco de 32 bits de sada da esquerda ser igual ao bloco de entrada da direita. J o bloco de sada da direita corresponder a uma srie de processos utilizando os blocos da direita, os da esquerda e tambm a chave. Primeiramente, feita uma expanso e, em seguida, uma permutao no bloco da direita, segundo uma tabela prdeterminada. Aps este passo, feito um XOR entre um subproduto da chave, e, em seguida, o resultado dessa operao enviado para as S-Boxes. Logo depois, feita uma nova permutao, segundo uma outra tabela, que juntamente com o bloco da direita entrar em um novo XOR, resultando no bloco da direita final. De Li=Ri-1 Ri-1=Li-1 XOR f(Ri-1, Ki) 31 forma mais genrica, essas operaes podem ser descritas como:

O funcionamento das S-boxes explicado pelo esquema a seguir:

Ilustrao 13 - S-Boxes

O primeiro e o ltimo bits de entrada de cada caixa Si formam um nmero binrio de dois bits, o qual seleciona uma linha particular da tabela das S-boxes, enquanto os 4 bits intermedirios formam um nmero que ir selecionar alguma coluna. O nmero que estiver na clula que possui essas coordenadas ser convertido para uma representao de 4 bits que ser dada como sada. Devido a sua estrutura, e tambm a permutao que existe em seguida, qualquer pequena mudana na sada de uma das interaes geraria uma sada ao final do algoritmo muito modificada, pois um pequeno erro seria multiplicado e propagado pelas 16 interaes. Dessa forma, o DES possui uma imensa capacidade de proteger a informao, apesar de no se saber qual foi o critrio de criao das S-Boxes. Quanto chave, primeiramente, ela permutada segundo uma tabela. O resultado dessa permutao passa a ser tratado ento como dois grupos de 28 bits, intitulados de Ci e Di. Em cada interao feita uma rotao dos bits, para a direita ou esquerda segundo uma outra tabela, na qual o nmero de bits a serem rodados varia de acordo com o nmero da interao. Os valores obtidos servem tanto como a entrada correspondente a chave na prxima interao 32

quanto como entrada para um segundo processo, que far uma permutao aliada a uma contrao que gerar a subchave que entra no XOR.

Criptografia Assimtrica
A maneira de contornar os problemas da criptografia simtrica a utilizao da criptografia assimtrica ou de chave pblica. A criptografia assimtrica est baseada no conceito de par de chaves: uma chave privada e uma chave pblica. Qualquer uma das chaves utilizada para cifrar uma mensagem e a outra para decifr-la. As mensagens cifradas com uma das chaves do par s podem ser decifradas com a outra chave correspondente. A chave privada deve ser mantida secreta, enquanto a chave pblica pode ser disponibilizada livremente. De uma maneira mais simples o sistema funciona desta maneira:

Ilustrao 14 - Exemplificando a Chave Publica

33

A pessoa que deseja se comunicar de maneira segura (vamos cham-lo de Z) gera uma chave de criptografia (pblica) e a sua correspondente chave de decriptao (privada), aps isso disponibiliza para os Sites A, B e C. O Site C que deseja se comunicar com Z, mas para isso precisa encontrar a chave pblica gerada por Z e criptografar a mensagem utilizando esta chave. Quando Z receber a mensagem criptografada do Site C ele decriptar utilizando a sua chave privada (Que s ele possui). Caso um intruso (vamos cham-lo de Joo) intercepte a mensagem criptografada, no poder fazer nada com ela pois ele no possui a chave privada e, portanto, no conseguir decriptar. Nem mesmo o Site C, que gerou a mensagem criptografada, ser capaz de recompor a mensagem original, pois ele tambm no possui a chave privada. A grande vantagem deste sistema permitir que qualquer pessoa possa enviar uma mensagem, bastando para tanto ser conhecedor da chave pblica de quem ir receber a mensagem. Como a pessoa que gerou a chave pblica ir torn-la amplamente disponvel, no h necessidade do envio de chaves como feito no modelo de criptografia simtrica. Enquanto a chave privada estiver segura, a mensagem estar resguardada de possveis intrusos.

Algoritmo RSA
O primeiro algoritmo de codificao com chave pblica foi desenvolvido por R. Merckle e M.Hellman em 1977. Ficou rapidamente obsoleto graas aos trabalhos de Shamir, Zippel e de Herlestman, famosos criptoanalistas. Em 1978, o algoritmo com chave pblica de Rivest, Shamir, e Adelman (da o nome RSA) aparece. Este algoritmo servia ainda em 2002 para proteger os cdigos nucleares do exrcito americano e russo.

Funcionamento de RSA
O funcionamento do RSA baseado na dificuldade de factorao de grandes inteiros. Tomemos dois nmeros primos p e q, e d um inteiro de modo a que d seja primeiro com (p-1) * (q-1)). O trio (p, q, d) constitui assim a chave privada. A chave pblica ento o par (n,e) criado com a ajuda da chave privada pelas transformaes seguintes: n=p*q 34

e = 1/d mod((p-1)(q-1)) Suponhamos que M a mensagem a enviar. necessrio que a mensagem M seja primo com a chave n. Com efeito, a decodificao assenta no teorema de Euler que estipula que se M e n forem primos entre eles, ento: Mphi(n) = 1 mod(n) Phi(n) o indicador de euler, e valendo no caso presente (p-1)*(q-1). , por necessrio que M no seja um mltiplo de p, de q, ou de n. Uma soluo consiste em recortar a mensagem M em pedaos Mi de modo a que o nmero de nmeros de cada Mi seja estritamente inferior ao de p e q. Isto supe, ento, que p e q sejam grandes, que o caso na prtica, dado que todo o princpio de RSA reside na dificuldade em encontrar num tempo razovel p e q que conhecem n., o que supe p e q grandes. Como exemplo vamos supor que um utilizador (chamado Bob) deseja enviar uma mensagem M a uma pessoa (chamem-lhe Alice), ele s tem que arranjar e a chave pblica (n,e) desta ltima e seguidamente calcular a mensagem codificada c: c = Me mod(n) Bob envia, seguidamente, a mensagem codificada c a Alice, que capaz de decifr-la com a ajuda da sua chave privada (p, q, d): M = Me*d mod(n) = cd mod(n)

Assinatura Digital
Um recurso conhecido por certificao digital muito utilizado com chaves pblicas. Trata-se de um meio que permite, por exemplo, provar que um certo documento eletrnico foi mesmo emitido por uma determinada entidade ou pessoa. O receptor da informao usar a chave pblica fornecida pelo emissor para se certificar da origem. Alm disso, a chave fica integrada ao documento de forma que qualquer alterao por terceiros imediatamente a invalide. Por exemplo, suponha que Alice (origem) queira comunicar o nascimento de sua filha para todos os seus amigos, mas queira garantir aos mesmos que a mensagem foi enviada realmente por ela. E, embora no se importe com o sigilo da mensagem, deseja que a mesma chegue integra aos destinatrios. 35

Alice ento cifra a mensagem com sua chave privada e a envia, em um processo denominado de assinatura digital. Cada um que receber a mensagem dever decifr-la, ou seja, verificar a validade da assinatura digital, utilizando para isso a chave pblica de Alice. Como a chave pblica de Alice apenas verifica a validade de mensagens cifradas com sua chave privada, fica garantida assim a autenticidade e integridade da mensagem. Pois se algum modificar um bit do contedo da mensagem ou se outra pessoa assin-la ao invs de Alice, o sistema de verificao no ir reconhecer a assinatura digital de Alice como sendo vlida. importante perceber que a assinatura digital, como descrita no exemplo anterior, no garante a confidencialidade da mensagem. Qualquer um poder acess-la e verific-la, mesmo um intruso, apenas utilizando a chave pblica de Alice. Para obter confidencialidade com assinatura digital, basta combinar os dois mtodos. Alice primeiro assina a mensagem, utilizando sua chave privada. Em seguida, ela criptografa a mensagem novamente, junto com sua assinatura, utilizando a chave pblica de Bob. Este, ao receber a mensagem, deve, primeiramente, decifr-la com sua chave privada, o que garante sua privacidade. Em seguida, verificar sua assinatura utilizando a chave pblica de Alice, garantindo assim sua autenticidade.

Ilustrao 15 - Exemplificando a Assinatura Digital

Funo Hashing
A utilizao da criptografia assimtrica, ou chave publica, na assinatura digital infelizmente no pode ser empregada, na prtica, devido lentido dos algoritmos assimtricos, 36

em media cerca de 1.000 vezes mais lentos do que os simtricos. Diante desta situao a funo Hashing se faz necessrio. Portanto, devido a prtica invivel e contraproducente utilizando puramente algoritmos de chave pblica para assinaturas digitais, que podem levar preciosos minutos ou mesmo horas para serem integralmente "cifradas". E empregada uma funo Hashing, que gera um valor pequeno, de tamanho fixo, derivado da mensagem que se pretende assinar, de qualquer tamanho. Assim, a funo Hashing oferece agilidade nas assinaturas digitais, alm de integridade confivel. Tambm denominada Message Digest, One-Way Hash Function, Funo de Condensao ou Funo de Espalhamento Unidirecional, a funo Hashing funciona como uma impresso digital de uma mensagem gerandom a partir de uma entrada de tamanho varivel, um valor fixo pequeno: o digest ou valor hash. Este valor est para o contedo da mensagem assim como o dgito verificador de uma conta-corrente est para o nmero da conta ou o checksum est para os valores que valida. Serve, portanto, para garantir a integridade do contedo da mensagem que representa. Assim, aps o valor hash de uma mensagem ter sido calculado atravs do emprego de uma funo hashing, qualquer modificao em seu contedo, mesmo em apenas um bit da mensagem, ser detectada, pois um novo clculo do valor hash sobre o contedo modificado resultar em um valor hash bastante distinto.

Ilustrao 16 - Assinatura utilizando Hashing

37

Ilustrao 17 - Verificando validade da assinatura feita em Hash

MD5
uma funo de espalhamento unidirecional inventada por Ron Rivest, do MIT, que tambm trabalha para a RSA Data Security. A sigla MD significa Message Digest. Este algoritmo produz um valor hash de 128 bits, para uma mensagem de entrada de tamanho arbitrrio. Foi inicialmente proposto em 1991, aps alguns ataques de criptoanlise terem sidos descobertos contra a funo Hashing prvia de Rivest: a MD4. O algoritmo foi projetado para ser rpido, simples e seguro. Seus detalhes so pblicos, e tm sido analisados pela comunidade de criptografia. Foi descoberta uma fraqueza em parte do MD5, mas at agora ela no afetou a segurana global do algoritmo. Entretanto, o fato dele produzir uma valor hash de somente 128 bits o que causa maior preocupao, pois prefervel uma funo Hashing que produza um valor maior.

SHA-1
O Secure Hash Algorithm, uma funo de espalhamento unidirecional inventada pela NSA, gera um valor hash de 160 bits, a partir de um tamanho arbitrrio de mensagem. O funcionamento interno do SHA-1 muito parecido com o observado no MD4, indicando que os estudiosos da NSA basearam-se no MD4 e fizeram melhorias em sua segurana. De fato, a fraqueza existente em parte do MD5, citada anteriormente, descoberta aps o SHA-1 ter sido proposto, no ocorre no SHA-1. Atualmente, no h nenhum ataque de criptoanlise conhecido contra o SHA-1. Mesmo o ataque da fora bruta torna-se impraticvel, devido ao seu valor hash 38

de 160 bits. Porm, no h provas de que, no futuro, algum no possa descobrir como quebrar o SHA-1.

Certificado Digital
O Certificado Digital uma credencial que identifica uma entidade, seja ela empresa, pessoa fsica, mquina, aplicao ou site na web. Documento eletrnico seguro, permite ao usurio se comunicar e efetuar transaes na internet de forma mais rpida, sigilosa e com validade jurdica. O arquivo gerado pelo Certificado Digital contm um conjunto de informaes que garante a autenticidade de autoria na relao existente entre uma chave de criptografia e uma pessoa fsica, jurdica, mquina ou aplicao. As Autoridades Certificadoras emitem, suspendem, renovam ou revogam certificados, vinculando pares de chaves criptogrficas ao respectivo titular. Essas entidades devem ser supervisionadas e submeter-se regulamentao e fiscalizao de organismos tcnicos. No meio fsico, para que uma credencial de identificao seja aceita em qualquer estabelecimento, a mesma dever ser emitida por um rgo habilitado pelo governo. No meio digital ocorre o mesmo - devemos apenas aceitar Certificados Digitais que foram emitidos por Autoridades Certificadoras de confiana.

Ilustrao 18 - Hierarquia das Autoridades Certificadoras

39

Tecnicamente, um certificado digital um conjunto de dados, assinado digitalmente pela autoridade certificadora e contendo tipicamente informaes como: Chave Publica do Certificado; Nome e endereo de e-mail do dono do certificado; Nome e Assinatura digital da Autoridade Certificadora; Privilgios de acesso a sites seguros; Dentre outras.

Ilustrao 19 - Exemplo de Certificado Digital

40

5 CRIPTOGRAFIA QUNTICA
Apesar do nome Criptografia Quntica j ter se tornado comum no meio cientfico, na realidade ela engloba apenas a troca segura de chaves, utilizando para isso, princpios da Mecnica Quntica, mais precisamente, a natureza quntica dos ftons. preciso, portanto, utilizar mtodos clssicos para a troca da mensagem propriamente dita. Devido a isso, a Criptografia Quntica tambm conhecida como Distribuio Quntica de Chaves ou QKD (Quantum Key Distribution).

Distribuio Quntica de Chaves (QKD)


Uma das propriedades mais importantes da Mecnica Quntica a impossibilidade de cpia da informao (estado) quntica, segundo o teorema da No-Clonagem. Por outro lado, no se pode medir ou obter informao de um estado quntico genrico, do qual no se tenha conhecimento inicialmente, sem que se perturbe o sistema. A idia da Criptografia Quntica est justamente na utilizao destas propriedades qunticas. Desse modo, se algum espio tentar ler a informao que est sendo enviada atravs de um canal quntico, ir modific-la, sendo possvel perceber sua presena. A informao quntica representada pelo qubit (quantum bit), em oposio ao bit clssico. Um exemplo de realizao para um qubit o estado de polarizao de um fton. Os ftons podem estar polarizados verticalmente, representando o 1, ou horizontalmente, representando o 0.

Protocolo Quntico BB84


O primeiro protocolo de Criptografia Quntica foi proposto em 1984 por Bennett e Brassard [BB84]. Ele utilizado para estabelecer uma chave entre Alice e Bob para ser usada em um protocolo de Criptografia Clssica, permitindo detectar se Eva est espionando a comunicao. H dois canais utilizados: o quntico, onde sero transmitidos os ftons, e o pblico, onde ser feito todo o resto da comunicao. E Eva pode estar monitorando os dois. Inicialmente, Alice e Bob escolhem dois alfabetos para representar os bits 0 e 1, que so duas 41

bases: a retilnea e a diagonal. O protocolo parte do princpio que o canal pblico autenticado: cada um dos envolvidos sabe e tem garantia da identidade do outro. A base retilnea consiste nos estados de polarizao horizontal (0, representado

por ) e vertical (90, representado por | ), valores de 0 e 1, respectivamente. Assim, se Alice deseja enviar um "0" a Bob, ela envia um fton no estado polarizado , se deseja enviar um "1", envia o estado | . A base diagonal consiste tambm em dois estados ortogonais

sendo um estado polarizado em 45 (representado por / ) e o outro polarizado em 135 (representado por / ), valendo 0 e 1 respectivamente. Assim, se Alice deseja enviar um "0" a Bob, ela envia um fton no estado polarizado e se deseja enviar um "1", envia o estado.

Envio de Ftons
Na primeira parte do protocolo, Alice deve enviar uma seqncia aleatria de bits para Bob atravs do canal quntico. Para isso: 1. Alice gera uma seqncia aleatria de bits que ser usada para construir a chave secreta entre ela e Bob. 2. Para cada bit da seqncia gerada

Ilustrao 20 - Envio de Ftons de Alice

Primeiramente Alice escolhe aleatoriamente entre as duas bases do alfabeto. Assim, ela gera os ftons polarizados de acordo com sua seqncia de bits e de bases, e os envia a Bob. 3. Ao receber os ftons de Alice, Bob no sabe quais as bases ela escolheu para gerlos. Assim, ele gera uma seqncia aleatria de bases escolhendo entre as duas do alfabeto.

42

Ilustrao 21 - Envio de Ftons de Bob

4. Bob utiliza essas bases para medir os ftons recebidos. Ao medi-los, Bob nem sempre obtm a informao correta, isto , se a base que ele escolheu coincidir com a de Alice, ele obtm o valor correto do bit, caso contrrio, ele obter um bit de valor aleatrio. Na mdia, em 50% das vezes, Bob vai errar. No final da medio, Bob e Alice tero, cada um, uma seqncia de bits.

A Chave Inicial
O canal de comunicao a partir de agora o canal pblico, e nessa segunda parte do protocolo, Alice e Bob iro extrair uma chave inicial: 1. Bob comunica a Alice as bases que ele usou para fazer a medio dos ftons. 2. Alice ento, as compara com as bases que ela utilizou, e diz a Bob quais as bases que ele usou corretamente, isto , quais medies coincidiram. 3. Com isso ambos eliminam os bits para os quais eles usaram bases incompatveis, resultando ento numa chave inicial, comumente chamada raw key.

Ilustrao 22 - Chave Inicial (raw key) entre Alice e Bob

43

As seqncias obtidas por cada um devem coincidir em 100%, a menos que a Eva tenha tentado escutar a comunicao realizada no canal quntico ou o mesmo seja ruidoso. Assumiremos que o canal no introduz rudo, logo toda perturbao ser causada devido presena de um espio. No caso acima, no havia espio, ento a chave inicial no contm erro. Suponha ento que Eva estivesse no canal, e interceptasse os ftons que Alice enviou, medindo-os e depois os enviando a Bob. Como ela tambm no saberia quais bases Alice utilizou, ela iria escolher suas bases tambm aleatoriamente, acertando-as 50% das vezes. Logo, quando Bob fosse medir os ftons, ele tambm iria introduzir erro, e por fim, o erro introduzido pelo espio seria de 25%.

Estimativa de Erro
De posse da chave inicial, Alice e Bob devem calcular a taxa de erro da comunicao para saber se Eva est ou no espionando. Para calcular a taxa de erro R, eles comparam pequenos trechos de suas chaves, por exemplo, eles retiram das suas chaves os bits das posies pares formando um bloco para comparao, e anunciam esses bits publicamente. No final da comparao, eles obtm a taxa de erro R como sendo a proporo entre os erros encontrados e o tamanho do bloco. Assim, se essa taxa R ultrapassar a taxa de erro mxima Rmax, estipulada por eles como sendo o nvel de segurana requerido, a comunicao no segura e Eva est espionando o canal. Eles devem ento, reiniciar o protocolo, com Alice enviando novos ftons a Bob. De posse de uma chave secreta, eles podem iniciar agora um algoritmo clssico de troca de mensagens e conseguem, teoricamente, uma comunicao 100% segura na troca de mensagens, dado que suas chaves compartilhadas so secretas.

44

6 CONCLUSO
A Criptografia deixou a muito de se coisa de espio. Embora ainda seja fundamental em aplicaes de carter estratgico e/ou blico, hoje a criptografia esta muito mais focada em aplicaes de telecomunicaes e segurana da informao. Problemas que precisam de alta segurana, como bancos, compras on-line, correio eletrnico, etc. se valem desses mtodos de uma maneira muito corriqueira. Hoje, supostamente, estaramos diante de um problema resolvido, pois quebrar uma chave criptografia de um sistema assimtrico de chave publica apresentaria uma complexidade matemtica e computacional que supercomputadores no superariam em tempo hbil. O problema comea a surgir conforme novas tecnologias comeam a se pronunciar. Com a computao quntica, a base de muitos algoritmos criptogrficos estariam abaladas: o tempo para quebrar a chave. Tomemos como exemplo o RSA, que trabalha sobre a premissa de que encontrar divisores primos muito grandes de um numero uma tarefa extremamente demorada. Entretanto, isso no ser mais verdade quanto os Computadores Qunticos forem uma realidade. Mas nem tudo est perdido. Como a criptografia uma necessidade da qual no se pode abrir mo, h ainda pesquisas na rea, e uma das sadas pode ser justamente a Criptografia Quntica que citamos aqui. A Lio que levamos disso tudo que em se tratando de criptografia, o que seguro ou no depende dos recursos que se tm disponveis para torn-lo inseguro. Como tais recursos so crescentes, proporcionalmente surge a necessidade de pesquisa constante na rea, para que mtodos mais seguros surjam e possamos continuar a usufruir dos servios tecnolgicos de forma segura.

45

7 REFERENCIAS
Criptografia. InfoWester. 2010. Disponvel em http://www.infowester.com/criptografia.php Acesso em 31 de Outubro de 2010. Definies de Criptografia. Clube do Hardware. 2010. Disponvel em http://www.clubedohardware.com.br/artigos/667 Acesso em 01 de Novembro de 2010. Criptografia. UOL. 2010. Disponvel em http://informatica.hsw.uol.com.br/criptografia.htm Acesso em 02 de Novembro de 2010 Criptografia. Numa Boa. 2010. Disponvel em http://www.numaboa.com/criptografia Acesso em 01 de Novembro de 2010 Introduo a Criptografia. Entrust. 2010. Disponvel em http://www.entrust.com/resources//pdf/cryptointro.pdf Acesso em 03 de Novembro de 2010 Segredos da Criptografia. Mhavila. 2010. Disponvel em http://www.mhavila.com.br/aulas/seguranca/material/segredes03.pdf Novembro de 2010 Acesso em 02 de

Criptografia. UFLA. 2010. Disponvel em http://graduacao.dcc.ufla.br/~alexandreabreu/criptografia.pdf Acesso em 03 de Novembro de 2010 Criptografia. EFG2. 2010. Disponvel em http://www.efg2.com/Lab/Library/Delphi/MathFunctions/Cryptography.htm Acesso em 02 de Novembro de 2010 Criptografia. RNP. 2010. Disponvel em http://www.rnp.br/wrnp2/2001/palestras_middleware/pal_middl_02.pdf Acesso em 02 de Novembro de 2010 Criptografia e a Certificao Digital. Imasters. 2010. Disponvel em http://imasters.com.br/artigo/1209/dotnet/_criptografia_e_certificacao_digital/ Acesso em 02 de Novembro de 2010 Criptografia. Livraria Cultura. 2010. Disponvel em http://www.livrariacultura.com.br/imagem/capitulo/3171404.pdf Acesso em 02 de Novembro de 2010 Criptografia. UCB. 2010. Disponvel em http://www.ucb.br/programar/eda/eda_espalham.html Acesso em 01 de Novembro de 2010

46

Criptografia. ITI. 2010. Disponvel em http://www.iti.gov.br/twiki/pub/Certificacao/CartilhasCd/brochura01.pdf Acesso em 03 de Novembro de 2010 Infra Estrutura de Chave Publica. Certisign. 2010. Disponvel em http://www.certisign.com.br/certificacao-digital/infra-estrutura-de-chave-publica/icp-brasil Acesso em 01 de Novembro de 2010 Criptografia. Training. 2010. Disponvel em http://www.training.com.br/lpmaia/pub_seg_cripto.htm Acesso em 03 de Novembro de 2010 Fundamentos da Criptografia. ITA. 2010. Disponvel em http://www.bibl.ita.br/ixencita/artigos/FundDanielNobuo.pdf Acesso em 02 de Novembro de 2010 Criptografia Quntica. Artigonal. 2010. Disponvel em http://www.artigonal.com/informatica-artigos/criptografia-quantica-1227856.html Acesso em 02 de Novembro de 2010 Criptografia Quntica. Ly Freitas. 2010. Disponvel em http://www.lyfreitas.com/artigos_mba/artcriptoquantica.pdf Acesso em 01 de Novembro de 2010

47

Você também pode gostar