Você está na página 1de 9

Criptografia simtrica e assimtrica: os principais algoritmos de cifragem

Ronielton Rezende Oliveira, MBA, PMP, ronielton@ronielton.eti.br

Resumo A palavra criptografia provm dos radicais gregos kriptos (oculto) e grapho (escrita) e o nome dado cincia ou arte de codificar mensagens usando uma frmula, que tambm ser utilizada depois para decodificar a mesma mensagem. Na criptografia moderna, esta frmula chamada de algoritmo. Usada h milnios pela humanidade, a criptografia se tornou essencial para garantir a privacidade das comunicaes no mundo atual, principalmente em redes de computadores pblicas como a internet, por onde circulam dados pessoais, comerciais, bancrios e outros. Conhecer, difundir e utilizar algoritmos criptogrficos essencial ao profissional de Tecnologia da Informao que no mundo moderno, entre suas atribuies deve proteger e garantir a privacidade das transaes comerciais realizadas atravs de meios eletrnicos, assim fundamental o entendimento das tcnicas, seus algoritmos, protocolos e finalmente a maneira como estes lidam com a informao a ser mantida segura. Palavras chave: Criptografia; Algoritmo; Segurana.

1. Introduo Quando falamos de informao e transportamos este conceito para o meio digital, particularmente na utilizao das redes pblicas de computao como a internet, e diversos so os servios realizados relevante ao ser humano credibilidade nos sistemas computacionais, estes que inseridos nos fundamentos da segurana da informao, so definidos pela disponibilidade, integridade, controle de acesso, autenticidade, no-repudiao e finalmente a privacidade, os quais devem ser de livre compreenso e facilmente perceptveis ao se efetuar transaes computacionais: Disponibilidade - garantir que uma informao estar disponvel para acesso no momento desejado. Integridade - garantir que o contedo da mensagem no foi alterado. Controle de acesso - garantir que o contedo da mensagem somente ser acessado por pessoas autorizadas. Autenticidade - garantir a identidade de quem est enviando a mensagem. No-repudiao - prevenir que algum negue o envio e/ou recebimento de uma mensagem. Privacidade - impedir que pessoas no autorizadas tenham acesso ao contedo da mensagem, garantindo que apenas a origem e o destino tenham conhecimento.

O exemplo clssico uma compra pela internet, todos os requisitos so encontrados neste processo de troca de informaes: A informao que permite a transao - valor e descrio do produto - precisa estar disponvel no dia e na hora que o cliente desejar efetu-la (disponibilidade), o valor da transao no pode ser alterado (integridade), somente o cliente que est comprando e o comerciante devem ter acesso transao (controle de acesso), o 1

cliente que est comprando deve ser realmente quem diz ser (autenticidade), o cliente tem como provar o pagamento e o comerciante no tm como negar o recebimento (no-repdio) e o conhecimento do contedo da transao fica restrito aos envolvidos (privacidade). Assim fundamental que tcnicas computacionais sejam empregadas para que os requisitos de proteo da informao sejam atendidos. Neste cenrio apresentam-se os dois tipos bsicos de criptografia: a simtrica ou chave privada, e a assimtrica ou chave pblica. 2. Criptografia simtrica ou chave privada O modelo mais antigo de criptografia, em que a chave, isto , o elemento que d acesso mensagem oculta trocada entre duas partes, igual (simtrica) para ambas as partes e deve permanecer em segredo (privada). Tipicamente, esta chave representada por uma senha, usada tanto pelo remetente para codificar a mensagem numa ponta, como pelo destinatrio para decodific-la na outra. Essencialmente, quando a origem (ALFA) cifra uma mensagem, ele utiliza um algoritmo de ciframento para transformar o contedo em claro da mensagem em texto cifrado. Quando o destino (BRAVO) decifra uma mensagem, ele utiliza o algoritmo de deciframento correspondente para converter o texto cifrado de novo em uma mensagem clara. Se um intruso (CHARLIE) conhecer o algoritmo de ciframento, ele poderia decifrar uma mensagem cifrada to facilmente quanto o destino (BRAVO). A soluo no uso da criptografia de chave privada prope que quando a origem (ALFA) cifra uma mensagem, ele utilize um algoritmo de ciframento e uma chave secreta para transformar uma mensagem clara em um texto cifrado. O destino (BRAVO), por sua vez, ao decifrar a mensagem, utiliza o algoritmo de deciframento correspondente e a mesma chave para transformar o texto cifrado em uma mensagem em claro. O intruso (CHARLIE), 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. ela (chave privada) que agora, no lugar do algoritmo, dever ser mantida em segredo pela origem (ALFA) e destino (BRAVO). A principal vantagem a simplicidade, esta tcnica apresenta facilidade de uso e rapidez para executar os processos criptogrficos. Entenda que se as chaves utilizadas forem complexas a elaborao de um algoritmo de chave privada se torna bastante fcil, porm as possibilidades de interceptao so correlatas aos recursos empregados, entretanto sua utilizao considervel no processo de proteo da informao, pois quanto mais simples o algoritmo, melhor a velocidade de processamento e facilidade de implementao. O principal problema residente na utilizao deste sistema de criptografia que quando a chave de ciframento a mesma utilizada para deciframento, ou esta ltima pode facilmente ser obtida a partir do conhecimento da primeira, ambas precisam ser compartilhadas previamente entre origem e destino, antes de se estabelecer o canal criptogrfico desejado, e durante o processo de compartilhamento a senha pode ser interceptada, por isso fundamental utilizar um canal seguro durante o compartilhamento, este independente do destinado comunicao sigilosa, uma vez que qualquer um que tenha acesso senha poder descobrir o contedo secreto da mensagem. Outras lacunas so interpostas a este sistema: Como cada par necessita de uma chave para se comunicar de forma segura, para um uma rede de n usurios precisaramos de algo da ordem de n2 chaves, quantidade esta que dificulta a gerncia das chaves; A chave deve ser trocada entre as partes e armazenada de forma segura, o que nem sempre fcil de ser garantido; 2

A criptografia simtrica no garante os princpios de autenticidade e no-repudiao.


Algoritmo Bits Descrio O Advanced Encryption Standard (AES) uma cifra de bloco, anunciado pelo National Institute of Standards and Technology (NIST) em 2003, fruto de concurso para escolha de um novo algoritmo de chave simtrica para proteger informaes do governo federal, sendo adotado como padro pelo governo dos Estados Unidos, um dos algoritmos mais populares, desde 2006, usado para criptografia de chave simtrica, sendo considerado como o padro substituto do DES. O AES tem um tamanho de bloco fixo em 128 bits e uma chave com tamanho de 128, 192 ou 256 bits, ele rpido tanto em software quanto em hardware, relativamente fcil de executar e requer pouca memria. O Data Encryption Standard (DES) foi o algoritmo simtrico mais disseminado no mundo, at a padronizao do AES. Foi criado pela IBM em 1977 e, apesar de permitir cerca de 72 quadrilhes de combinaes, seu tamanho de chave (56 bits) considerado pequeno, tendo sido quebrado por "fora bruta" em 1997 em um desafio lanado na internet. O NIST que lanou o desafio mencionado, recertificou o DES pela ltima vez em 1993, passando ento a recomendar o 3DES. O 3DES uma simples variao do DES, utilizando o em trs ciframentos suscessivos, podendo empregar uma verso com duas ou com trs chaves diferentes. seguro, porm muito lento para ser um algoritmo padro. O International Data Encryption Algorithm (IDEA) foi criado em 1991 por James Massey e Xuejia Lai e possui patente da sua ASCOM Systec. O algoritmo estruturado seguindo as mesmas linhas gerais do DES. Mas na maioria dos microprocessadores, uma implementao por software do IDEA mais rpida do que uma implementao por software do DES. O IDEA utilizado principalmente no mercado financeiro e no PGP, o programa para criptografia de e-mail pessoal mais disseminado no mundo. Algoritmo desenvolvido por Bruce Schneier, que oferece a escolha, entre maior segurana ou desempenho atravs de chaves de tamanho varivel. O autor aperfeioou o no Twofish. uma das poucas cifras includas no OpenPGP. O Twofish uma chave simtrica que emprega a cifra de bloco de 128 bits, utilizando chaves de tamanhos variveis, podendo ser de 128, 192 ou 256 bits. Ele realiza 16 interaes durante a criptografia, sendo um algoritmo bastante veloz. A cifra Twofish no foi patenteada estando acessvel no domnio pblico, como resultado, o algoritmo Twofish de uso livre para qualquer um utilizar sem restrio. Projetado por Ron Rivest (o R da empresa RSA Data Security Inc.) e utilizado no protocolo S/MIME, voltado para criptografia de e-mail corporativo. Tambm possui chave de tamanho varivel. Rivest tambm o autor dos algoritmos RC4, RC5 e RC6. um algoritmo de cifra de bloco, sendo criado em 1996 por Carlisle Adams e Stafford Tavares. O CAST-128 um algoritmo de Feistel, com 12 a 16 iteraes da etapa principal, tamanho de bloco de 64 bits e chave de tamanho varivel (40 a 128 bits, com acrscimos de 8 bits). Os 16 rounds de iterao so usados quando a chave tem comprimento maior que 80 bits.

Tabela 1 - Principais algoritmos de chave privada ou criptografia simtrica

AES

128

DES

56

3DES

112 ou 168

IDEA

128

Blowfish

32 a 448

Twofish

128

RC2

8 a 1024

CAST

128

3. Criptografia assimtrica ou chave pblica Modelo de criptografia criado na dcada de 1970 - pelo matemtico Clifford Cocks que trabalhava no servio secreto ingls, o GCHQ - na qual cada parte envolvida na comunicao usa duas chaves diferentes (assimtricas) e complementares, uma privada e outra pblica. Neste caso, as chaves no so apenas senhas, mas arquivos digitais mais complexos (que eventualmente at esto associados a uma senha). A chave pblica pode ficar disponvel para qualquer pessoa que queira se comunicar com outra de modo seguro, mas a chave privada 3

dever ficar em poder apenas de cada titular. com a chave privada que o destinatrio poder decodificar uma mensagem que foi criptografada para ele com sua respectiva chave pblica. Para entender o conceito, basta pensar num cadeado comum protegendo um determinado bem. A mensagem este bem, e o cadeado, que pode ficar exposto, a chave pblica. Apenas quem tiver uma chave particular (privada) que consiga abrir o cadeado poder acessar a mensagem. A principal vantagem deste mtodo a sua segurana, pois no preciso (nem se deve) compartilhar a chave privada. Por outro lado, o tempo de processamento de mensagens com criptografia assimtrica muitas vezes maior do que com criptografia simtrica, o que pode limitar seu uso em determinadas situaes. Essencialmente, o destino (BRAVO) e todos os que desejam comunicar-se de modo seguro geram uma chave de ciframento e sua correspondente chave de deciframento. Ele mantm secreta a chave de deciframento, esta chamada de sua chave privada. Ele torna pblica a chave de ciframento, esta chamada de sua chave pblica. A chave pblica realmente condiz com seu nome. Qualquer pessoa pode obter uma cpia dela. O destino (BRAVO) inclusive encoraja isto, enviando-a para seus amigos ou publicando-a na internet. Assim, O intruso (CHARLIE) no tem nenhuma dificuldade em obt-la. Quando a origem (ALFA) deseja enviar uma mensagem ao destino (BRAVO), precisa primeiro encontrar a chave pblica dele. Feito isto, ela cifra sua mensagem utilizando a chave pblica do destino (BRAVO), despachando-a em seguida. Quando o destino (BRAVO) recebe a mensagem, ele a decifra facilmente com sua chave privada. O intruso (CHARLIE), que interceptou a mensagem em trnsito, no conhece a chave privada do destino (BRAVO), embora conhea sua chave pblica. Mas este conhecimento no o ajuda a decifrar a mensagem. Mesmo a origem (ALFA), que foi quem cifrou a mensagem com a chave pblica do destino (BRAVO), no pode decifr-la agora. A grande vantagem deste sistema permitir a qualquer um enviar uma mensagem secreta, apenas utilizando a chave pblica de quem ir receb-la. Como a chave pblica est amplamente disponvel, no h necessidade do envio de chaves como feito no modelo simtrico. A confidencialidade da mensagem garantida, enquanto a chave privada estiver segura. Caso contrrio, quem possuir acesso chave privada ter acesso s mensagens. O bice deste sistema a complexidade empregada no desenvolvimento dos algoritmos que devem ser capazes de reconhecer a dupla de chaves existentes e poder relacionar as mesmas no momento oportuno, o que acarreta num grande poder de processamento computacional.
Tabela 2 - Principais algoritmos de chave pblica ou criptografia assimtrica Algoritmo Descrio O RSA um algoritmo assimtrico que possui este nome devido a seus inventores: Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT. Atualmente, o algoritmo de chave pblica mais amplamente utilizado, alm de ser uma das mais poderosas formas de criptografia de chave pblica conhecidas at o momento. O RSA utiliza nmeros primos. A premissa por trs do RSA consiste na facilidade de multiplicar dois nmeros primos para obter um terceiro nmero, mas muito difcil de recuperar os dois primos a partir daquele terceiro nmero. Isto conhecido como fatorao. Por exemplo, os fatores primos de 3.337 so 47 e 71. Gerar a chave pblica envolve multiplicar dois primos grandes; qualquer um pode fazer isto. Derivar a chave privada a partir da chave pblica envolve fatorar um grande nmero. Se o nmero for grande o suficiente e bem escolhido, ento ningum pode fazer isto em uma quantidade de tempo razovel. Assim, a segurana do RSA baseia se na dificuldade de fatorao de nmeros grandes. Deste modo, a fatorao representa um limite superior do tempo necessrio para quebrar o algoritmo. Uma chave RSA de 512 bits foi quebrada em 1999 pelo Instituto Nacional de Pesquisa da Holanda, com o apoio de cientistas de mais 6 pases. Levou cerca de 7 meses e foram utilizadas 300 estaes de trabalho para a quebra. No Brasil, o RSA utilizado pela ICP-Brasil, no seu sistema de emisso de certificados digitais, e a partir do dia 1 de janeiro de 2012, as chaves utilizadas pelas autoridades certificadoras do pas, passam a serem emitidas

RSA

ElGamal

DiffieHellman

Curvas Elpticas

com o comprimento de 4.096bits, em vez dos 2.048bits atuais. O ElGamal outro algoritmo de chave pblica utilizado para gerenciamento de chaves. Sua matemtica difere da utilizada no RSA, mas tambm um sistema comutativo. O algoritmo envolve a manipulao matemtica de grandes quantidades numricas. Sua segurana advm de algo denominado problema do logaritmo discreto. Assim, o ElGamal obtm sua segurana da dificuldade de calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da fatorao. Tambm baseado no problema do logaritmo discreto, e o criptosistema de chave pblica mais antigo ainda em uso. O conceito de chave pblica, alis foi introduzido pelos autores deste criptosistema em 1976. Contudo, ele no permite nem ciframento nem assinatura digital. O sistema foi projetado para permitir a dois indivduos entrarem em um acordo ao compartilharem um segredo tal como uma chave, muito embora eles somente troquem mensagens em pblico. Em 1985, Neal Koblitz e V. S. Miller propuseram de forma independente a utilizao de curvas elpticas para sistemas criptogrficos de chave pblica. Eles no chegaram a inventar um novo algoritmo criptogrfico com curvas elpticas sobre corpos finitos, mas implementaram algoritmos de chave pblica j existentes, como o algoritmo de Diffie-Hellman, usando curvas elpticas. Assim, os sistemas criptogrficos de curvas elpticas consistem em modificaes de outros sistemas (o ElGamal, por exemplo), que passam a trabalhar no domnio das curvas elpticas, em vez de trabalharem no domnio dos corpos finitos. Eles possuem o potencial de proverem sistemas criptogrficos de chave pblica mais seguros, com chaves de menor tamanho. Muitos algoritmos de chave pblica, como o Diffie-Hellman, o ElGamal e o Schnorr podem ser implementados em curvas elpticas sobre corpos finitos. Assim, fica resolvido um dos maiores problemas dos algoritmos de chave pblica, o grande tamanho de suas chaves. Porm, os algoritmos de curvas elpticas atuais, embora possuam o potencial de serem rpidos, so em geral mais demorados do que o RSA.

4. Certificado digital Com um sistema de chave pblica, o gerenciamento de chaves passa a ter dois novos aspectos: primeiro, deve-se previamente localizar a chave pblica de qualquer pessoa com quem se deseja comunicar e, segundo, deve-se obter uma garantia de que a chave pblica encontrada seja proveniente daquela pessoa. Sem esta garantia, um intruso pode convencer os interlocutores de que chaves pblicas falsas pertencem a eles. Estabelecendo um processo de confiana entre os interlocutores, o intruso pode fazer-se passar por ambos. Deste modo, quando um emissor enviar uma mensagem ao receptor solicitando sua chave pblica, o intruso poder intercept-la e devolver-lhe uma chave pblica forjada por ele. Ele tambm pode fazer o mesmo com o receptor, fazendo com que cada lado pense que est se comunicando com o outro, quando na verdade esto sendo interceptados pelo intruso, ento este pode decifrar todas as mensagens, cifr-las novamente ou, se preferir, at substitu-las por outras mensagens. Atravs deste ataque, um intruso pode causar tantos danos ou at mais do que causaria se conseguisse quebrar o algoritmo de ciframento empregado pelos interlocutores. A garantia para evitar este tipo de ataque representada pelos certificados de chave pblica, comumente chamados de certificado digital, tais certificados consistem em chaves pblicas assinadas por uma pessoa de confiana. Servem para evitar tentativas de substituio de uma chave pblica por outra. O certificado contm algo mais do que sua chave pblica, ele apresenta informaes sobre o nome, endereo e outros dados pessoais, e assinado por algum em quem o proprietrio deposita sua confiana, uma autoridade de certificao (certification authority - CA). Assim, um certificado digital pode ser definido como um documento eletrnico, assinado digitalmente por uma terceira parte confivel. No Brasil, o rgo da autoridade certificadora raiz o ICP-Brasil (AC-Raiz), ele o executor das polticas de certificados e normas tcnicas e operacionais aprovadas pelo Comit Gestor da ICP-Brasil. So autoridades certificadoras no pas: Serpro (AC-SERPRO), Caixa Econmica Federal (AC-CAIXA), Serasa Experian (AC-SERASA), Receita Federal do Brasil 5

(AC-RFB), Certsing (AC-Certisign), Imprensa Oficial do Estado de So Paulo (AC-IOSP), Autoridade Certificadora da Justia (AC-JUS), Autoridade Certificadora da Presidncia da Repblica (AC-PR) e Casa da Moeda do Brasil (AC-CMB). Assim, a AC-Raiz tem autoridade de emitir, expedir, distribuir, revogar e gerenciar os certificados das autoridades certificadoras de nvel imediatamente subsequente ao seu, sendo tambm encarregada de emitir a lista de certificados revogados e de fiscalizar e auditar as autoridades certificadoras, autoridades de registro e demais prestadores de servio habilitados na ICP-Brasil. Alm disso, verifica se as autoridades certificadoras (ACs) esto atuando em conformidade com as diretrizes e normas tcnicas estabelecidas pelo Comit Gestor. 5. Assinatura digital O sistema de criptografia assimtrica ou de chave pblica tambm utilizado como um meio de assinatura digital. A pessoa que assina usa sua chave privada para criptografar uma mensagem conhecida, e o texto cifrado pode ser decifrado por qualquer um usando a chave pblica desta pessoa, assim como uma assinatura em papel, consiste em um bloco de informao adicionado mensagem que comprova a identidade do emissor, confirmando quem ele diz ser. O processo se baseia em uma inverso do sistema, onde o funcionamento da assinatura digital pode ser descrito como: o emissor cifra (ou seja, atesta autenticidade) a mensagem com sua chave privada e a envia, em um processo denominado de assinatura digital. Cada um que receber a mensagem dever verificar a validade da assinatura digital, utilizando para isso a chave pblica do emissor, reconhecendo de fato, que a mensagem no foi adulterada. Como a chave pblica do emissor apenas decifra (ou seja, verifica a validade) mensagens cifradas com sua chave privada, obtm-se a garantia de autenticidade, integridade e norepudiao da mensagem, o que apoiado pela funo hashing, pois se algum modificar um bit do contedo da mensagem ou se outra pessoa assin-la ao invs do prprio emissor, o sistema de verificao no ir reconhecer a assinatura digital dele como sendo vlida. importante perceber que a assinatura digital, como descrita, no garante a confidencialidade da mensagem. Qualquer um poder acess-la e verific-la, mesmo um intruso, apenas utilizando a chave pblica do emissor, assim, ao empregar o uso da tcnica de assinatura digital o que se busca a garantia de autenticidade, integridade e no-repudiao da mensagem.
Tabela 3 - Principais algoritmos de assinatura digital Algoritmo RSA Descrio Como j mencionado, o RSA tambm comutativo e pode ser utilizado para a gerao de assinatura digital. A matemtica a mesma, h uma chave pblica e uma chave privada, e a segurana do sistema baseia se na dificuldade da fatorao de nmeros grandes. Como o RSA, o ElGamal tambm comutativo, podendo ser utilizado tanto para assinatura digital quanto para gerenciamento de chaves; assim, ele obtm sua segurana da dificuldade do clculo de logaritmos discretos em um corpo finito. Inventado pela NSA e patenteado pelo governo americano, o Digital Signature Algorithm (DSA), unicamente destinado a assinaturas digitais, foi proposto pelo NIST em agosto de 1991, para utilizao no seu padro Digital Signature Standard (DSS). Adotado como padro final em dezembro de 1994, trata de uma variao dos algoritmos de assinatura ElGamal e Schnorr.

ElGamal

DSA

6. Funo hashing A assinatura digital obtida atravs do uso da criptografia assimtrica ou de chave pblica infelizmente no pode ser empregada, na prtica, de forma isolada, necessrio o emprego de

um mecanismo fundamental para o adequado emprego da assinatura digital. Este mecanismo a funo hashing. Assim, na prtica invivel e contraproducente utilizar puramente algoritmos de chave pblica para assinaturas digitais, principalmente quando se deseja assinar grandes mensagens, que podem levar preciosos minutos ou mesmo horas para serem integralmente cifradas com a chave privada de algum, ao invs disso, empregada uma funo hashing, que gera um valor pequeno, de tamanho fixo, derivado da mensagem que se pretende assinar, de qualquer tamanho, para oferecer agilidade nas assinaturas digitais, alm de integridade confivel. Serve, portanto, para garantir a integridade do contedo da mensagem que representa, por isto, 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.
Tabela 4 - Principais funes hashing Funes Descrio O Secure Hash Algorithm (SHA-2) por outro lado significativamente difere da funo hash SHA1, desenhado pelo NSA uma famlia de duas funes hash similares, com diferentes tamanhos de bloco, conhecido como SHA-256 e SHA-512. Eles diferem no tamanho, o SHA-256 utiliza 256 bits e o SHA-512 utiliza 512 bits. H tambm verses truncadas de cada padro, conhecidos como SHA-224 e SHA-384. O ICP-Brasil em suas mudanas anunciadas adotadas para o novo padro criptogrfico do sistema de certificao digital, esta implantando em 2012, o uso do SHA-512 em substituio ao seu antecessor, o SHA-1. Um novo padro proposto de funo de hash ainda est em desenvolvimento, pela programao do NIST a competio que apresentar esta nova funo hash tem previso de termino, com a seleo de uma funo vencedora, que ser dado o nome de SHA-3, ainda em 2012. O Secure Hash Algorithm (SHA-1), 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, descoberta aps o SHA-1 ter sido proposto, no ocorre no SHA-1. Em 2005, falhas de segurana foram identificados no SHA-1, ou seja, que uma fraqueza matemtica pode existir, o que indica que o uso de uma funo hash mais forte recomendvel, o que motiva o uso preferencial de SHA-2. 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; prefervel uma funo hashing que produza um valor maior. O MD4 o precursor do MD5, tendo sido inventado por Ron Rivest. Aps terem sido descobertas algumas fraquezas no MD4, Rivest escreveu o MD5. O MD4 no mais utilizado. O MD2 uma funo de espalhamento unidirecional simplificada, e produz um hash de 128 bits. A segurana do MD2 dependente de uma permutao aleatria de bytes. No recomendvel sua utilizao, pois, em geral, mais lento do que as outras funes hash citadas e acredita-se que seja menos seguro.

SHA-2

SHA-1

MD5

MD2 e MD4

7. Sistemas hbridos Em resumo, os algoritmos criptogrficos podem ser combinados para a implementao dos trs mecanismos criptogrficos bsicos: o ciframento, a assinatura e o hashing. Estes mecanismos so componentes dos protocolos criptogrficos, embutidos na arquitetura de segurana dos produtos destinados ao comrcio eletrnico. 7

Estes protocolos criptogrficos, portanto, provm os servios associados criptografia que viabilizam o comrcio eletrnico: disponibilidade, sigilo, controle de acesso, autenticidade, integridade e no-repdio, usualmente apoiado por sistemas hbridos.
Tabela 5 - Protocolos com Sistemas Hbridos Protocolo Descrio Padro de protocolos criptogrficos desenvolvidos para o IPv6. Realiza tambm o tunelamento de IP sobre IP. composto de trs mecanismos criptogrficos: Authentication Header (define a funo hashing para assinatura digital), Encapsulation Security Payload (define o algoritmo simtrico para ciframento) e ISAKMP (define o algoritmo assimtrico para gerncia e troca de chaves de criptografia). Criptografia e tunelamento so independentes, e permite Virtual Private Network (VPN) fim-a-fim. Oferecem suporte de segurana criptogrfica para os protocolos NTTP, HTTP, SMTP e Telnet. Permitem utilizar diferentes algoritmos simtricos, message digest (hashing) e mtodos de autenticao e gerncia de chaves (assimtricos). O Pretty Good Privacy (PGP), foi inventado por Phil Zimmermman em 1991, um programa criptogrfico famoso e bastante difundido na internet, destinado criptografia de e-mail pessoal. Algoritmos suportados: hashing: MD5, SHA-1 - simtricos: CAST-128, IDEA e 3DES assimtricos: RSA, Diffie-Hellman e DSS. O Secure Multipurpose Internet Mail Extensions (S/MIME) consiste em um esforo de consrcio de empresas, liderado pela RSADSI e Microsoft, para adicionar segurana a mensagens eletrnicas no formato MIME. Apesar do S/MIME e PGP serem ambos padres para a internet, o S/MIME tem sua maior utilizao no mercado corporativo, enquanto o PGP utilizado em e-mail pessoal. O SET um conjunto de padres e protocolos, para realizar transaes financeiras seguras, como as realizadas com carto de crdito na internet. Oferece um canal de comunicao seguro entre todos os envolvidos na transao. Garante autenticidade X.509v3 e privacidade entre as partes. Recomendao ITU-T, a especificao X.509 define o relacionamento entre as autoridades de certificao. Faz parte das sries X.500 de recomendaes para uma estrutura de diretrio global, baseada em nomes distintos para localizao. Utilizado pelo S/MIME, IPSec, SSL/TLS e SET. Baseado em criptografia com chave pblica (RSA) e assinatura digital (com hashing).

IPSec

SSL e TLS

PGP

S/MIME

SET

X.509

8. Concluso Qual o modelo de criptografia que devemos utilizar, simtrico ou assimtrico? A resposta simples, devemos utilizar os dois, em um modelo denominado hbrido. Um exemplo de combinao de emprego encontrado ao utilizar o PGP, que combina um sistema de chave pblica (Diffie-Hellmam ou RSA) com um sistema de chave privada (CAST, IDEA ou 3DES). O algoritmo simtrico, por ser muito mais rpido, utilizado no ciframento da mensagem em si, enquanto o algoritmo assimtrico, cerca de 1.000 vezes mais lento, permite implementar a distribuio de chaves e a assinatura digital, permitindo garantir a autenticidade de quem envia a mensagem, associada integridade do seu contedo, complementado com a utilizao do mecanismo de hashing para assegurar a integridade da assinatura digital.
Tabela 6 Quadro comparativo Criptografia simtrica ou chave privada Rpida Gerncia e distribuio das chaves complexa No oferece assinatura digital Criptografia assimtrica ou chave pblica Lenta Gerncia e distribuio das chaves simples Oferece assinatura digital

Em sntese, proteger a informao uma mxima que persiste a cada instante quando se incrementa diariamente o nmero de transaes comerciais e financeiras realizadas atravs de meios eletrnicos, em particular atravs da internet, neste contexto necessrio o emprego de meios e recursos para que os dados sigilosos estejam a salvo de intrusos, por isto a 8

importncia de conhecer as ferramentas e tcnicas oferecidas pela criptografia, afinal desde os primrdios dos tempos o homem vem trabalhando de maneira persistente na elaborao de rotinas, que se transformaram em algoritmos poderosos, e bem empregados propiciam a proteo desejada informao, aumentando a segurana dos dados e minimizando o impacto dos ataques submetidos s informaes que trafegam atravs das redes de computadores, pelos seus inmeros dispositivos conectados e muitas vezes vulnerveis. 9. Referncias Bibliogrficas COSTA, Celso Jos da e FIGUEIREDO, Luiz Manoel Silva de. Criptografia Geral. 2 ed. Rio de Janeiro : UFF / CEP - EB, 2006. 192p. (Curso de Criptografia e Segurana em Redes). FIGUEIREDO, Luiz Manoel Silva de. Nmeros primos e criptografia de chave pblica. Rio de Janeiro : UFF / CEP - EB, 2006. 180p. (Curso de Criptografia e Segurana em Redes). OLIVEIRA, Ronielton Rezende. Criptografia tradicional simtrica de chave privada e criptografia assimtrica de chave pblica: anlise das vantagens e desvantagens. Niteri : Trabalho da ps-graduao Criptografia e Segurana em Redes da UFF, 2006. 20p.