comunicação de dados - criptografia baseada nas curvas elípticas - cícero hildenberg lima de...

Upload: guimanol

Post on 07-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    1/45

    UNIVERSIDADE FEDERAL DO PARANSETOR DE TECNOLOGIADEPARTAMENTO DE ELETRICIDADE

    MESTRADO EM TELECOMUNICAES

    Comunicao de Dados

    Criptografia Baseada nas Curvas Elpticas

    Ccero Hildenberg Lima de Oliveira

    CURITIBA PR Outubro 2001

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    2/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 2

    Por

    Ccero Hildenberg Lima de Oliveira

    Avaliao apresentada ao Prof. Dr.

    Eduardo Parente Ribeiro, como

    requisito avaliativo para a

    disciplina TE727 Comunicao deDados.

    CURITIBAPR SETEMBRO 2001

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    3/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 3

    .... very little do we have and inclose which we can call our own in the deep sense of theword. We all have to accept and learn, either from our predecessors or from ourcontemporaries. Even the greatest genius would not have achieved much if he had wishedto extract everything from inside himself. But there are many good people, who do notunderstand this, and spend half their lives wondering in darkness with their dreams oforiginality. I have known artists who were proud of not having followed any teacher and ofowing everything only to their own genius. Such fools!

    [Goethe, Conversations with Eckermann, 17.2.1832]

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    4/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 4

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    5/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 5

    Introduo

    A historia da Criptografia longa e fascinante. A criptografia uma das profissesmais antigas, com cerca de 4000 anos. Os egpcios j utilizavam a criptografia para cifraralguns de seus hierglifos, Os romanos utilizavam cdigos secretos para comunicar planos

    de batalha. O mais interessante que a tecnologia de criptografia no mudou muito atmeados deste sculo, existe tambm o barro de Phaistos (1600 a.c) que ainda no foidecifrado. Depois da Segunda Guerra Mundial, com a inveno do computador, a rearealmente floresceu incorporando complexos algoritmos matemticos. Durante a guerra, osingleses ficaram conhecidos por seus esforos para decifrao de cdigos. Na verdade, essetrabalho criptogrfico formou a base para a cincia da computao moderna.

    A proliferao de computadores e sistemas de comunicaes nos anos 60 trouxecom isto uma demanda do setor privado para meios de proteger informaes que circulamem forma digital e para promover os servios de segurana. Comeando com o trabalho deFeistel a IBM em meados dos anos 70 e culminando em 1977 com a adoo como umPadro de processamento de informao Federal norte-americano por codificar informaono classificada, DES (Data Encryption Standard), os Dados Padro de Encriptao, omecanismo mais mais famoso criptao da histria. Permanece os meios standards porafianar comrcio eletrnico para muitas instituies financeiras ao redor do mundo.Themost desenvolvimento notvel na histria de cryptographycame em 1976whenDiffie eHellman publicou Direes.

    Com o aumento vertiginoso das redes de computadores e seu proporcional uso pororganizaes para viabilizar e controlar os seus negcios e principalmente a afirmao cadavez mais da Internet, ao mesmo tempo se criou a suprema necessidade de proteger melhoras informaes, pois no mercado competitivo, elas so muito valiosas, melhorando osmecanismos para implantar e proporcionar meios de segurana mais edificveis econfiveis.

    Uma forma de proteger e com isso evitar o acesso imprprio s informaessigilosas por meio da codificao ou cifragem da informao, conhecida comocriptografia, fazendo com que apenas as pessoas s quais estas informaes so destinadas,consigam compreend-las. A criptografia fornece tcnicas para codificar e decodificardados, tais que os mesmos possam ser armazenados, transmitidos e recuperados sem suaalterao ou exposio. Em outras palavras, tcnicas de criptografia podem ser usadascomo um meio efetivo de proteo de informaes suscetveis a ataques, estejam elasarmazenadas em um computador ou sendo transmitidas pela rede. Seu principal objetivo prover uma comunicao segura, garantindo servios bsicos de autenticao, privacidade eintegridade dos dados.

    A palavra criptografia tem origem grega (Gr. krypts, oculto + graph, r. degraphein, escrever, grafia) e define a arte ou cincia de escrever em cifras ou em cdigos,utilizando um conjunto de tcnicas que torna uma mensagem incompreensvel, chamadacomumente de texto cifrado, atravs de um processo chamado cifragem, permitindo queapenas o destinatrio desejado consiga decodificar e ler a mensagem com clareza, noprocesso inverso, a decifragem.

    Criptografia a arte de escrever em cifra ou em cdigo, composto de tcnicas quepermitem tornar incompreensvel, com observncia e normas especiais consignadas numacifra ou num cdigo, o texto e uma mensagem escrita com clareza. A definio mais clarapara criptografia, em nosso tempo moderno, o estudo de tcnicas matemticas relacionado

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    6/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 6

    a aspectos de informao segurana como confidncia, integridade de dados, autenticaode entidade, e origem de dados autenticao.

    Com o advento da informtica, com a sua alta velocidade de processamento, asfunes de criptografia ficaram mais complexas.

    Encriptao e Desencriptao

    Dados que podem ser lidos e compreendidos sem qualquer medida especial chamado Texto plano ou texto limpo. O mtodo de disfarar o texto de tal modo que seesconda a sua substncia lgica chamada encriptao. O resultado do texto quando omesmo cifrado uma geringona ilegvel chamado texto Encriptado ou texto cifrado.Usamos a encriptao para assegurar o contedo da informao. O processo de reverter otexto encriptado para o texto normal chamado decriptao.

    There are two kinds of cryptography in this world: cryptography that will stop your kidsister from reading your files, and cryptography that will stop major governments fromreading your files. This book is about the latter.

    --Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C.

    Exemplo:

    Suponha que marcos S. e Suzana L. so dois agentes secretos que querem secomunicar usando um cdigo, pois suspeitam que seus telefones esto grampeados e quesuas cartas esto sendo interceptadas. Em particular, Marcos quer mandar a seguintemensagem para Suzana.

    ENCONTRO AMANHUsando o esquema de substituio dado acima, Marcos envia a seguinte mensagem:

    5 14 3 15 14 20 18 15 1 13 1 14 81 14(Onde o foi substitudo por AN). Um cdigo desse tipo pode ser quebrado sem muitadificuldade por uma srie de tcnicas, incluindo a anlise de freqncia de letras. Paradificultar a quebra do cdigo, os agentes procedem seguinte maneira: em primeiro lugar, aoaceitar a misso, eles escolheram uma matriz 3x3,

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    7/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 7

    =

    210

    211

    321

    A

    Marcos, ento, separa a mensagem em cinco vetores (caso isso no fosse possvel,

    adicional letras extras).

    3R

    Temos, ento, os vetores

    .

    14

    1

    8

    ,

    14

    1

    13

    ,

    1

    15

    18

    ,

    20

    14

    15

    ,

    3

    14

    5

    Marcos, agora, usa a transformao linear dada por , de modo que amensagem fica:

    33: RRL AxxL =)(

    =

    =

    =

    =

    54

    69

    103

    20

    14

    15

    ,

    20

    25

    42

    3

    14

    5

    AA

    =

    =

    =

    =

    29

    42

    57

    14

    1

    13

    ,

    17

    35

    51

    1

    15

    18

    AA

    Portanto, Marcos envia a mensagem

    42 25 20 103 69 54 51 35 17 57 42 29 5237 29

    Suponha, agora, que Marcos recebe a seguinte mensagem de Suzana:

    43 30 14 101 67 53 96 61 55 83 58 43 4025 24 90 56 53

    que ele quer decodificar com a matriz A dada acima. Para decodifica-la, Marcos divide amensagem em seis vetores em :3R

    53

    56

    90

    ,

    24

    25

    40

    ,

    43

    58

    83

    ,

    55

    61

    96

    ,

    53

    67

    101

    ,

    14

    30

    43

    e resolvendo a equao

    11

    14

    30

    43

    )( AxxL =

    =

    para . Como A invertvel,1x

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    8/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 8

    =

    =

    =

    1

    12

    16

    14

    30

    43

    111

    122

    110

    14

    30

    431

    1 Ax

    Analogamente,

    =

    =

    =

    =

    =

    =

    =

    =

    19

    14

    1

    52

    53

    86

    ,

    12

    16

    8

    40

    48

    76

    ,

    20

    156

    55

    6196

    ,

    19

    1514

    53

    67101

    15

    14

    13

    12

    AxAx

    AxAx

    Usando a correspondncia entre letras e nmeros, Marcos recebeu a seguinte mensagem:

    Planos Fotogrficos

    Criptoanlise

    A Criptoanlise, do grego: "krypts" (oculto) e "analyein" (desfazer), a cinciaque abrange os princpios, mtodos e meios para se chegar a decriptao de umcriptograma, sem prvio conhecimento dos cdigos ou cifras empregados na produo dotexto cifrado. A Criptografia e a Criptoanlise, compem a Criptologia ("krypts" + "lgos" palavra).

    Existem vrias tcnicas de criptoanlise que podem ser usadas para quebrar sistemascriptografados. Uma delas, o ataque da fora bruta (busca exaustiva da chave), consiste na

    mdia do teste da metade de todas as chaves possveis de serem usadas.Outra tcnica a criptoanlise diferencial uma potente tcnica de criptoanlise. Aidia bsica consiste em estipular textos planos e criptograf-los. Ela analisa o efeito dediferenas particulares em pares de textos planos com as diferenas de pares de textoscifrados resultantes. Estas diferenas usam probabilidades para s possveis chaves, deforma a localizar a chave mais provvel.

    As mensagens que legveis so chamadas de texto plano ou limpo. E as ilegveis,so chamadas de texto cifrado.

    Encriptar significa que a mensagem legvel (texto plano) ser transformada em umamensagem ilegvel (texto cifrado). A funo de decriptar o processo inverso daencriptao, a partir de um texto cifrado, obtm-se o texto plano. Para a criptografia detextos planos, utiliza-se uma chave(senha), que junto com o algoritmo de criptografia, ircodificar e decodificar os textos. A mesma chave simtrica serve para criptografar edecriptografar.

    A criptografia utiliza conceitos matemticos para a construo de seus algoritmoscriptogrficos. Assim, na figura acima esto representados os smbolos matemticos queso adotados.

    Um texto cifrado fica representado da seguinte maneira:

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    9/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 9

    Y = EK(X), ou seja um texto plano (X) encriptado por um algoritmo que contm umachave (senha) K;X = DK(Y), para a obteno do texto plano inicial, deve-se submeter o texto cifrado (Y) aomesmo algoritmo e a mesma chave (K).

    Onde:X - Texto PlanoY - Texto CifradoE - EncriptarD - DecriptarK - ChaveY = EK(X)X = DK(Y)

    Um sistema para afianar um mnimo de segurana, ele deve fornecer os seguintes servios:

    Confidencialidade ou sigilo: garantia de que somente as pessoas ou organizaesenvolvidas na comunicao possam ler e utilizar as informaes transmitidas de formaeletrnica pela rede;Integridade: garantia de que o contedo de uma mensagem ou resultado de uma consultano ser alterado durante seu trfego;Autenticao: garantia de identificao das pessoas ou organizaes envolvidas nacomunicao;No-Repdio (No recusa): garantia que o emissor de uma mensagem ou a pessoa queexecutou determinada transao de forma eletrnica, no poder, posteriormente negar suaautoria.

    Mtodos

    O mtodo de Esteganografia consiste na existncia de uma mensagem escondidadentro de outra mensagem. Por exemplo, uma seqncia de letras de cada palavra podeformar a palavra de uma mensagem escondida.

    Algumas formas de esteganografia:Marcao de caracteres: utilizao de uma tinta com composto diferente que ao coloca-ladefronte a luz estes caracteres ficam de forma diferente, compondo a mensagem secreta.Tinta invisvel: pode-se utilizar uma tinta invisvel para a escrita da mensagem em cima deoutra pr-existente, aonde, somente com produtos qumicos poderamos obter o contedo.Outra forma seria a utilizao de furos no papel em letras selecionadas, habitualmente

    visvel somente quando colocada defronte uma lmpada.A moderna Esteganografia utiliza o uso de bits no significativos que soconcatenados a mensagem original e faz uso tambm de rea no usada.

    O princpio de Kerckhofss consiste em retirar o segredo do algoritmo e passar parauma chave. Essa chave programa o algoritmo. ela de seleciona qual das possveistransformaes ser usada.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    10/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 10

    Sistemas Criptogrficos

    Criptossistemas podem ser tanto quando assimtricos. Num criptossistema simtricoa encriptao e a decriptao so feitas com uma nica chave, ou seja, tanto o remetentequanto o destinatrio usam a mesma chave. Num sistema assimtrico, ao contrrio, duas

    chaves so empregadas. Em criptossistemas de uma chave, como por exemplo o DES (DataEncription Standart), ocorre o chamado "problema de distribuio de chaves". A chave temde ser enviada para todos os usuarios autorizados antes que mensagens possam ser trocadas.Isso resulta num atraso de tempo e possibilita que a chave chegue a pessoas noautorizadas.

    Criptossistemas assimtricos, ou de dua chaves, contormam o problema dadistribuio de chaves atravs do uso de chaves pblicas. A criptografia de chaves pblicasfoi inventada em 1976 por Whitfield diffie e Martin Hellman a fim de resolver o problemada distribuio de chaves. No novo sistema, cada pessoa tem um par de chaves chamadas :chave pblica e chave privada. A chave pblica divulgada enquanto que a chave privada edeixada em segredo. Para mandar uma mensagem privada, o transmissor encripta amensagem usando a chave pblicado destinatrio pretendido.

    Segue um exemplo de como o sistema funciona.Quando Ana quer mandar uma mensagem para Carlos, ela procura a chave pblica

    dele em um diretrio, a usa para encriptar a mensagem, e a envia. Carlos ento usa a suachave privada para decriptar a mensagem e l-la. Este sistema tambm permite aautenticao digital de mensagens , ou seja possvel prover certeza ao receptor sobre aidentidade do transmissor e sobre a integridade da mensagem. Quando uma mensagem encriptada com uma chave privada, ao invs da chave pblica; o resultado uma assinaturadigital, ou seja, uma mensagem que s uma pessoa poderia produzir, mas que todos possamverificar. Normalmente autenticao se refere ao uso de assinaturas digitais : a assinatura um conjunto inforjvel de dados assegurando o nome do autor ou funcionando como umaassinatura de documentos , ou seja, que determinada pessoa concordou com o que estavaescrito. Isso tambm evita que a pessoa que assinou a mensagem depois possa se livrar deresponsabilidades, alegando que a mensagem foi forjada. Um exemplo de criptossistema dechave pblica o RSA (Rivest-Shamir-Adelman) . Sua maior desvantagem a suacapacidade de canal limitada, ou seja, o nmero de bits de mensagem que ele podetransmitir por segundo. Enquanto um chip que implementa o algortmo de uma chave DESpode processar informao em alguns milhes de bits por segundo, um chip RSA consegueapenas na ordem de mil bits por segundo.

    Ento vejamos , sistemas de uma chave so bem mais rpidos, e sistemas de duaschaves so bem mais seguros. Uma possvel soluo combinar as duas, fornecendo assimum misto de velocidade e segurana. Simplesmente usa-se a encriptao de uma chavepara encriptar a mensagem, e a chave secreta transmitida usando a chave pblica dodestinatrio. importante no confundir chave privada com chave secreta.A primeira mantida em segredo, enquanto que a segunda enviada para as pessoas que efetivaro acomunicao

    Criptografia Convencional

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    11/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 11

    Tcnicas Clssicas

    O elemento fundamental da criptografia so as Chaves simtricas para criptografartextos, sendo elas utilizadas para fornecer segurana {Burwick99}.

    A prtica de uma chave (segredo) tem como utilizao a criptao e a descriptao,

    sendo que ela mesma deve ser de poderio tanto do emissor quanto do receptor da mesma.Em cifradores simtricos, o algoritmo de criptografia e decriptografia so os mesmos,muda-se apenas a forma como so utilizadas as chaves.

    Na corrente tcnica existe duas chaves, sendo que so as mesmas, que servem paracriptografar e decriptografar o texto, que, por conseguinte, as mesmas devem ser deconhecimento tanto do emissor quanto de receptor na qual a mensagem se direciona. Oscifradores simtricos possuem o seu algoritmo de criptografia e decriptografia iguais,invertendo somente como as mesmas so usadas em funo da chave.

    Criptografia forte

    PGP tambm sobre o tipo posterior de criptografia.Criptografia pode ser forte ou fraca, como explicado acima. A fora da Criptografia medida pelo tempo e recursos exigidos para recuperar o texto. O resultado de criptografiaforte um texto encriptado de difcil decifrao, sem posse da ferramenta de decodificaoapropriada, quase impossvel a desencriptao. Dado todo o poder da computao quetemos hoje em dia, e se tivssemos a nossa disponibilidade um bilho de computadorespara fazerem um bilho de checagens por segundo ainda no possveis decifrar oresultado da criptografia forte antes do fim do universo. A pessoa pensaria, ento, aquelacriptografia forte se atrasaria bastante bem contra at mesmo um extremamentedeterminado cryptanalyst. Quem realmente dizer? No a pessoa provou que o encryptionmais forte alcanvel hoje se atrasar debaixo do poder de computao de amanh. Porm,a criptografia forte empregado por PGP o melhor disponvel hoje. Vigilncia econservantismo vo porm, proteja voc melhora que reivindicaes de impenetrabilidade.

    Como criptografia trabalha?

    Um algoritmo de criptografia, uma funo matemtica usada dentro do processo deencriptao e desencriptao. Um algoritmo de criptografia trabalha dentro de combinaescom as palavras e da chave em conjunto com um nmero. O mesmo texto codifica o textoencriptado de diferente modos com chaves diferentes. A segurana dos dados codificadosso completamente dependente de duas coisas: a fora do algoritmo de criptografia e osegredo da chave. Um algoritmo de criptografia, junto a todas as possveis chaves e todosos protocolos que faa trabalhar esta includo em um sistema de criptografia. PGP umexemplo de criptografia.

    A mensagem enviada encriptada por Alice, com uma chave K que de seuconhecimento. A mensagem enviada para Bob atravs de algum meio eletrnico. Porm

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    12/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 12

    para Bob conseguir decifrar esta mensagem, ele deve ter a mesma chave K utilizada porAlice. Esta chave K ento enviada por um canal seguro para Bob. Com este modelo pode-se garantir a confidencialidade da mensagem, porque somente Alice e Bob tmconhecimento da chave K.

    A criptoanlise tentar descobrir qual foi chave utilizada para cifrar a mensagem e

    qual a mensagem cifrada.O texto cifrado no sofre alterao quanto ao seu tamanho. importante salientartambm que o texto cifrado no contm qualquer parte da chave.Uma encriptao dita computacionalmente segura se atende estes dois critrios:

    O custo para quebrar o cifrador excede ao valor da informao encriptada. O tempo requerido para quebrar o cifrador excede o tempo de vida til da

    informao.

    Criptografia Convencional - Tcnicas Modernas

    Os principais modos de criptografia convencional moderna so:

    DES Simplificado Princpios dos Cifradores de BlocoDES Criptanlise Diferencial e Linear Projeto dos Cifradores de Bloco Modos de Operao Funes Bent

    As tcnicas de Encriptao mais usadas

    DES ("Data Encryption Standard")

    O DES um mecanismo de cifragem tradicional ("simtrico) desenvolvido nos anossetenta, utiliza uma chave de 56 bits que aplicada a blocos de dados com 64 bits, oobjectivo destes algoritmos que seja muito dificil calcular a chave K, mesmo conhecendoo algoritmo DES, uma mensagem cifrada C e uma mensagem original M: C = DES(K,M)

    O algoritmo usado algo complexo: A mensagem de 64 bits dividida em duas partes de 32 bits cada. A chave de 56 bits usada para gerar 16 chaves de 18 bits cada.

    aplicado sucessivamente 16 vezes um algorimo, usando as chaves geradas.

    Devido as suas caracteristicas pequenas alteraes na mensagem original provocamgrandes alteraes na mensagem cifrada, isto dificulta as tentativas de conhecer a chave,mesmo que se possa cifrar aquilo que se pretende.

    Embora seja dificil de implementar em "software" de uma forma eficinte, foidesenvolvido "hardware" capaz de implementar este algoritmo de forma eficinte.

    A aplicao de "fora bruta" para descobrir a chave, obriga a aplicar o algoritmo ummximo de 256vezes, ou seja cerca de 72 000 000 000 000 000 vezes.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    13/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 13

    Este nmero no contudo demasiado tranquilizante, este algoritmo implementado de forma mais eficiente em "hardware", para "quebrar" uma chave DES usa-se um "chip" apropriado que pode ser montado de forma a trabalhar em paralelo com outrossemelhantes. O custo depende do tempo em que se pretende quebrar a chave, em 1993 por1 milho de dolares podia-se montar uma mquina capaz de descobrir chaves DES em 3

    horas e meia. O documento "Efficient DES key search" contm planos detalhados para aimplementao desse tipo de mquina.Para fortalecer o DES seria necessrio aumentar o nmero de bits da chave, contudo

    o algoritmo exige um valor fixo de 56 bits, a aplicao sucessiva de duas chaves no soluo pois apenas duplica o nmero de aplicaes do algoritmo necessrias para quebrara chave (tcnica "meet-in-the middle"), corresponde por isso a aumentar apenas um bit.

    O triplo DES utiliza duas chaves, mas o algoritmo aplicado trs vezes segundo aseguinte equao:

    C = DES( K1 , DES-1( K2 , DES( K1 , M ) ) ), onde DES-1( representa o algoritmoinverso (decifragem).

    O triplo DES corresponde utilio de uma chave de 90 bits, tem ainda a vantagemde poder ser usado para DES simples, basta que K1=K2.Alm da "fora bruta", existem outras abordagem para descobrir chaves:

    Cripto-anlise diferencialPara usar esta tcnica necessrio que se possa cifrar as mensagens que se pretende,

    em funo de alteraes nessas mensagens e resultados na mensagem cifrada, no caso doDES simples possivel reduzir as chaves a 247.

    Cripto-anlise linearTenta definir a chave por aproximao linear em funo da informao recolhida de

    pares (M,C), no caso do DES simples reduz o nmero de chaves a 243.

    RC5O RC5 uma tcnica mais recente e mais flexivel, tal como o DES uma tcnica de

    criptao simtrica (a mesma chave usada para cifrar e para decifrar), tambm umatecnica de blocos, mas ao contrrio do DES no est limitada a blocos de dimenso fixa,igualmente a chave no tem uma dimenso fixa.

    Tal como o DES utiliza a aplicao sucessiva de um algoritmo, contudo o nmerode aplicaes no fixo, deste modo pode obter-se um maior grau de segurana usando ummaior nmero de aplicaes.

    O RC5 como se pode deduzir muito flexivel, estando sujeito a uma serie deparmetros que devem ser ajustados s necessidades particulares de cada caso.

    A mensagem original fornecida ao algoritmo sob a forma de dois blocos de wbits,correspondendo ao alinhamento mais conveniente para o sistema em causa, os valorestipicos para wso: 16, 32 e 64. A mensagem cifrada possui forma idntica.

    Outro parmetro importante o nmero de aplicaes do algoritmo (r), pode variarde 1 a 255. Para aplicar rvezes o algoritmo, vai ser gerada apartir da chave uma tabela comt = 2.(r+1)blocos de wbits.

    A chave especificada pelos parmetros b e k, b especifica o nmero de bytes(octetos) que constitui a chave e k a chave propriamente dita.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    14/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 14

    habitual usar a notao RC5-w/r/b para especificar uma implementao particularRC5. Podemos dizer que o RC5-32/16/7 equivalente ao DES.

    O documento "The RC5 Encryption Algorithm" contm grandes detalhes sobre oRC5, incluido uma implementao em C.

    Aplicao das tcnicas de cifragem em blocoAs tcnicas de cifragem em bloco (Ex: DES e RC5) podem ser aplicadas dediversos modos a mensagens de comprimento diferente do tamanho de bloco.A tcnica mais simples conhecida por ECB ("Electronic Code Book"), consiste emdividir a mensagem em blocos de tamanho adequado, cifrar os blocos em separado econcatenar os blocos cifrados na mesma ordem. O grande inconveniente desta tcnica queblocos de mensagem original idnticos vo produzir blocos cifrados idnticos, isso podeno ser desejvel.

    A tcnica CBC ("Cipher Block Chaining") evita este inconveniente, realiza aoperao xorentre o bloco a cifrar Mie o bloco anteriormente cifrado Ci, s depois aplicao algoritmo de cifragem:

    Ci= cifragem( chave, Mixor C(i-1))

    Na decifragem obtm-se Mixor C(i-1), como xor-1= xor, utiliza-se:

    Mi= decifragem( chave, Ci) xor C(i-1)Como para o primeiro bloco no existe mensagem anterior, utiliza-se um bloco

    aleatrio conhecido por IV ("Initialization Vector").Esta tcnica pouco favorvel sob o ponto de vista da propagao de erros, uma vez

    que um erro na transmisso de um bloco cifrado Civai inutilizar tanto o bloco Micomo oseguinte M(i+1).

    Nas tcnicas CFB ("Cipher FeedBack") e OFB ("Output FeedBack") amensagem no directamente cifrada, existe um vector de inicial (IV) ao qual aplicado oalgoritmo de cifragem, aplica-se ento a operao xorentre o vector cifrado e a mensagem.

    A operao xorentre o vector cifrado e a mensagem realizada do seguinte modo:Pegam-se nos n bits da esquerda do vector cifrado e realiza-se a operao xor com os nseguintes da mensagem.Realiza-se o "shift" para a esquerda de nbits do vector cifrado.Injectam-se nbits no vector original, realizando o "shift" para a esquerda.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    15/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 15

    No caso do CFB utilizam-se os nbits resultantes da operao xor.No caso do OFB utilizam-se os nbits retirados do vector cifrado.Quando esgotam os bits do vector cifrado aplica-se novamente o algoritmo de cifragem aovector original.

    As figuras seguintes ilustram as duas tcnicas: CFB ( esquerda) e OFB ( direita):

    Os valores mais comuns para n so 1, 8 ou 64. Devido ao seu funcionamento atecnica OFB, tambm conhecida por OFM ("Output Feedback Mode") apenas produz umbloco de mensagem errado quando ocorre um erro na transmisso de um bloco cifrado.

    Quando o comprimento da mensagem no multiplo do tamanho do bloco necessrio recorrer a tcnicas de enchimento ("padding"), uma tcnica habitual adicionarum bit 1 seguido dos bits 0 necessrios.

    Distribuio de chavesO DES e o RC5 so cifragens simtricas: bsicamente a decifragem o inverso da

    cifragem, usando a mesma chave que por razes obvias deve ser secreta, isto apenas doconhecimento da entidade de origem e entidade de destino.

    O primeiro problema levantado pela criptografia de chave secreta a distribuio dechaves, poderiam ser enviadas por um sistema paralelo como correio ou "fax", mas o maisconveniente seria usar a rede de comunicao, para tal a chave deveria ser cifrada usandouma chave anterior.

    Para estabelecer uma comunicao segura entre uma aplicao cliente e umaaplicao servidora, o ideal seria que o servidor e o cliente trocassem entre s as chaves naaltura do estabelecimento da conexo.

    Para se conseguir uma situao deste tipo existem duas solues:Manter a criptografia de chave secreta e usar uma tcnica especial para enviar a chave, porexemplo "puzzles".Utilizar criptografia de chave pblica que veio alterar radicalmente o modo de ver acriptografia.

    "Puzzles"Para fornecer a chave secreta enviado um conjunto de "puzzles", geralmente na

    ordem das dezenas de milhar. Tomando o exemplo DES, cada "puzzle" constituido por120 bits zero, seguido do nmero do "puzzle" com 16 bits e finalmente uma chave, DES de

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    16/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 16

    56 bits. Todos os "puzzles" so cifrados com chaves DES em que os ltimos 22 bits sozero.

    O cliente escolhe um "puzzle" sorte e quebra a cifra usando fora bruta, tem detentar "apenas" 234chaves, quando obtm 120 zeros no inicio sabe que consegui decifrar o"puzzle" e portanto possiu j a chave DES que escolheu (ltimos 56 bits do "puzzle"

    decifrado). Tem agora de indicar qual o "puzzle" que escolheu, envia ento uma mensagemcom o nmero do "puzzle" cifrado com a chave DES escolhida, destinatrio (ex.:servidor)conhece as chaves que iam nos "puzzles" e o respectivo nmero de "puzzle" e podefacilmente descobrir qual foi a chave escolhida.

    O tempo mdio que um intruso necessita para descobrir a chave situa-se na ordemdos anos e pode ser ajustado por variao do nmero de "puzzles" em jogo.

    Criptografia de chave pblicaA criptografia de chave pblica utiliza algoritmos de cifragem e decifragem que no

    esto diretamente relacionados, passam a existir duas chaves, uma de cifragem e outra dedecifragem.

    Tipicamente a chave de cifragem pblica ( divulgada a todos os utilizadores), achave de decifragem secreta. Quando uma entidade A pretende enviar entidade B umamensagem cifra-a com a chave pblica de B antes do envio. Ninguem, nem sequer aentidade A capaz de decifrar, apenas a entidade B que possui a chave secreta adequada.

    Alm de resolver definitivamente o problema da distribuio de chaves, acriptografia de chave pblica facilita significativamente a implementao de mecanismosde autenticao de mensagens e assinatura digital.

    Embora tenham sido propostos outros algoritmos, actualmente o RSA o maisslido, o algoritmo "Merkle-Hellman Knapsacks" demorou quatro anos a ser quebrado porAdi Shamir, uma segunda verso, supostamente mais slida, demorou dois anos a serquebrada.

    RSAEste algoritmo devido a Ron Rivest, Adi Shamir e Len Adleman (RSA), baseina-

    se no seguinte: simples arranjar dois nmeros primos grandes, mas muitocomplicado (moroso) factorizar o seu produto. O RSA tem aguentado todas as investidasdos cripto-analistas, contudo temos que atender ao facto de ser um problema matemtico,existe sempre o risco de descoberta de uma tcnica para resolver o problema de formaeficinte.Gerao das chaves:

    Escolhem-se dois nmero primos grandes ae b.Calcula-se n = a x b.Calcula-se (n) = (a-1) x (b-1).

    Escolhe-se um nmero pequeno pque seja primo relativo de (n)e < (n), calcula-se s tal que (p x s) mod (n) = 1, onde mod o operador "resto da diviso inteira"(aritmtica modulo (n)).(Dois nmeros so primos relativos se o maior divisor comum 1)

    O par (n,p)constitui a chave pblica, d a chave secreta.Aplicao:Cifragem: C = Mpmod nDecifragem: M = Csmod n

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    17/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 17

    , onde Me C so respectivamente a mensagem original e mensagem cifrada, ambas comvalores possiveis de zero a n-1.

    Uma propriedade interessante do RSA a possibilidade de inverso das chaves,pode-se cifrar uma mensagem com a chave s, para decifrar ser agora necessria a chavepblica: utilizvel para autenticao e assinatura digital.

    Para efeitos de exemplificao tomem-se os nmeros primos a=7 e b=17:n = a x b = 119(n) = (a-1) x (b-1) = 96como primo relativo de (n) podemos escolher p=5ento para obter p x s mod 96 = 1, podemos usar s = 77pois 5 x 77 = 385, 385 mod 96 = 1A chave pblica (5;119) e a chave secreta 77Exemplos de aplicao:Para evitar perdas de dados torna-se necessrio aplicar a seguinte propriedade da aritmticamodular:(a x b) mod n = ((a mod n) x (b mod n)) mod n

    Para cifrar o nmero 2com a chave pblica temos C = 25mod 119 = 32 mod 119 = 32Para decifrar utiliza-se M = 3277mod 119, para usar uma calculadora, sem perder dados podemos usar 11 parcelas:((327mod 119) x ... x (327mod 119)) mod 119, obtemos ento 2511mod 119, podemos agora aplicar ((511mod 119) x (511mod 119)) mod119 , obtemos agora 452mod 119 = 2Tambm se pode cifrar o nmero 2com a chave secreta temos C = 277mod 119, para usar uma calculadora, sem perder dados podemos usar 11 parcelas:((27mod 119) x ... x (27mod 119)) mod 119 = 911mod 119 = 32Para decifrar utiliza-se M = 325mod 119 = 2

    Para cifrar o nmero 3com a chave pblica temos C = 35mod 119 = 243 mod 119 = 5Para decifrar utiliza-se M = 577mod 119, para usar uma calculadora, sem perder dados podemos usar 7 parcelas:((511mod 119) x ... x (511mod 119)) mod 119, obtemos ento 457mod 119 = 3

    Como se pode verificar as operaes a realizar na decifragem no so simples,especialemente se atendermos a que os nmeros ae bdevem ser grandes.

    Para os valores 0 e 1 a messagem e o resultado da cifragem coincidem, contudo istono muito grave, os valores usados para n so muito elevados (na ordem de 10200), otamanho mais comum para as mensagens a cifrar (M) de 512 bits (que representanmeros at mais de 10154), para este nmero de bits no so vulgares os valores 0 e 1, dequalquer modo isto pode ser resolvido pela adio de duas unidades a M antes de entrar noalgoritmo de cifragem e subtrao de duas unidades depois de sair do algoritmo dedecifragem.

    Gerar chaves RSA no uma operao simples, o primeiro problema arranjar doisnmeros primos ae bcom uma ordem de grandeza de 10100, usar os algoritmos tradicionaisde gerao de nmeros primos impossivel, a soluo usar testes eliminatrios, estestestes permitem saber se um nmero no primo, ou qual a probabilidade de ser primo, se

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    18/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 18

    um dado nmero depois de testado intensivamente no eliminado ser adoptado. Asegunda questo prende-se com a determinao de um primo relativo de (n), p ou s e deseguida necessrio determinar outro nmero para verificar a relao (p x s) mod (n) = 1.O algoritmo RSA serve de base a muitos sistemas de segurana actuais, tais como o PGP("Pretty Good Privacy").

    Sob o ponto de vista de cripto-anlise e devido ao nmero de bits das chaves aaplicao de fora bruta (tentar todas as chaves secretas possveis) est excluida. Aabordagem tentar obter os dois factores primos de n. Contudo tal extremamentecomplexo para a ordem de grandeza usada para n, o tempo necessrio cresceexponencialmente com o valor de n.

    Distribuio de chaves pblicasEmbora a criptografia de chave pblica resolva o problema da distribuio de

    chaves existe ainda a questo do modo como as chaves pblicas sero obtidas por quemdelas necessita.

    As chaves pblicas destinam-se a ser divulgadas, mas esta divulgao deve serrealizada de tal modo que no possa ser forjada por terceiros, as consequncias seriamobvias.

    O correio electrnico ou sistemas de news no so de todo adequados, uma melhorsoluo ser a sua colocao na pgina WWW pessoal.

    Uma opo mais segura definir uma autoridade de chaves pblicas, quando Apretende enviar uma mensagem a B realiza as seguintes operaes: contacta a autoridade Cenviando-lhe um pedido com etiqueta temporal C responde enviando uma mensagemcifrada com a sua chave secreta (assim A sabe que a mensagem veio de C), onde constachave pblica de B e a mensagem original. Quando B recebe a primeira mensagem de Ater de realizar o mesmo procedimento para obter a chave de B e lhe poder responder.

    Apesar de mais seguro a existencia de autoridades de chave pblica coloca algunsproblemas em termos de quantidade de comunicaes necessrias, uma alternativa aemisso de "certificados de chave pblica". Cada entidade contacta a autoridade de chavepblica que lhe fornece um certificado contendo: uma etiqueta temporal; a identificao daentidade; a chave pblica da entidade. O certificado encontra-se cifrado com a chavesecreta da autoridade, este facto atesta a sua origem. As diversas entidades podem agoratrocar directamente entre si estes certificados, o facto de estarem cifrados pela autoridadeatesta a sua veracidade.

    Distribuio de chaves secretas (criptografia simtrica)A criptografia de chave pblica pode ser usada para obviar um dos grandes

    problemas da criptografia tradicional: a distribuio de chaves secretas. A motivao ofacto de a criptografia tradicional ser substancialmente mais rpida nas operaes decifragem e decifragem, proporcionando assim dbitos de dados mais elevados.

    A utilizao mais direta consistiria no seguinte: A aplicao Aenvia aplicao Buma mensagem com a chave publica da A. A aplicao B gera uma chave secreta convencional (simtrica) e envia-a a A

    cifrada com a respectiva chave publica.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    19/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 19

    A aplicao Adecifra a mensagem com a sua chave secreta e obtm a chave secretaconvencional.

    Este mecanismo pode ser contudo furado por uma entidade C com controlo sob astransmisses:

    Ccaptura a primeira mensagem de Ae fica a conhecer a chave pblica de A.

    C envia para Buma cpia da mensagem de A, mas substitui a chave pblica pelasua. Ccaptura a resposta de Be fica a conhecer a chave secreta convencional.

    para que Ano note nada Cenvia a Aa resposta que recebeu de B, cifrada com a chavepublica de A.

    Cpassa ento a actuar de modo passivo, limitando-se a decifrar a conversao entreAe B.

    O problema pode ser resolvido se previamente for usado um mecanismo seguro dedistribuo de chaves publicas e forem tomadas diversas precaues quanto aconfidencialidade e autenticao:

    Aenvia a Buma mensagem com a sua identificao e um identificador de transao

    I1(nmero que identifica a transao em curso), cifrada com a chave pblica de B. Benviar a Auma mensagem com I1e um novo identificador I2, cifrada com a chave

    pblica de A. Atem a certeza que a mensagem veio de Bdevido presena de I1, envia ento a B

    I2, cifrado com a chave pblica de B. Agera a chave secreta convencional, cifra-a com a sua chave secreta e de A, cifra-a

    com a chave pblica de B, e envia-a a B.B recebe a mensagem e decifra-a aplicando primeiro a sua chave secreta e de seguida achave publica de A.

    Algoritmos

    Algoritmos de Chave nica ou Secretas (Simtricos)O exemplo mais difundido de cifrador computacional de chave nica o DES (Data

    Encryption Standard), desenvolvido pela IBM e adotado como padro nos EUA em 1977.O DES cifra blocos de 64 bits (8 caracteres) usando uma chave de 56 bits mais 8 bits deparidade (o que soma 64 bits).O algoritmo inicia realizando uma transposio inicial sobreos 64 bits da mensagem, seguida de 16 passos de ciftagem e conclui realizando umatransposio final, que a inversa da transposio inicial.Para os 16 passos de ciftagemusam-se 16 sub-chaves, todas derivadas da chave original atravs de deslocamentos etransposies.

    Um passo de cifragem do DES, tem dois objetivos bsicos: a difuso e a confuso.

    A difuso visa eliminar a redundncia existente na mensagem original, distribuindo-a pelamensagem cifrada. O propsito da confuso tomar a relao entre a mensagem e a chaveto complexa quanto possvel.O DES pode ser quebrado pelo mtodo da fora bruta,tentando-se todas as combinaes possveis de chave. Como a chave tem 56 bits, tem-se umtotal de 2 exp 56 chaves possveis.

    Existem diversos algoritmos de cifragem de blocos de chave nica, entre eles: Triple-DES: O DES aplicado 3 vezes, com sequncias de cifragem e decifragem,

    combinando a utilizao de 2 chaves.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    20/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 20

    WLucifer: precursor do DES. Madryga: trabalha com 8 bits, usando ou-exclusivo e deslocamento de bits. NewDES: blocos de 64 bits e chave de 120 bits. FEAL-N: baseado no DES, pode-se especificar o nmero de passos da cifragem,

    fraco se utiliza-se menos de 8 passos.

    LOKI: bloco e chave de 64 bits. Khufu e Khafre: trabalham de forma semelhante ao DES, usam tabelas desubstituio de 256 posies de 32 bits - contra as de 6 posies de 4 bits do DES -usam chaves de 512 bits e um nmero de passos flexveis, mltiplo de 8.

    IDEA: blocos de 64 bits com chave de 128 bits. MMB: blocos e chave de 128 bits. Skipjack: chave de 80 bits e 32 passos de processamento.

    Estes e outros algoritmos podem ser encontrados em :ftp://ftp.funet.fi:/pub/crypt/cryptography/symmetric

    Algortmos de Chave Pblica (Assimtricos)A chave de ciframento pblicada ou tornada acessvel aos usurios, sem que haja

    quebra na segurana. Dessa forma cada usurio tem uma chave de ciframento, deconhecimento pblico, e outra de deciframento, secreta. Se um usurio A deseja mandaruma mensagem para um usurio B, ele utiliza a chave de ciframento pblica PB e envia amensagem para B, este de posse de sua chave de deciframento secreta SB decodifica amensagem.

    Um exemplo desse sistema o RSA, anacronico de seus autores Rivest, Shamir eAdleman. Sua seguranca baseia-se na intrabilidade da fatoraao de produtos de doisprimos. Um usurio B para determinar seu par (PB,SB), procede da seguinte maneira:escolhe ao acaso dois primos grandes "p" e "q" e computa o seu produto (n=p*q), e o

    nmero f(n)=(p-1)*(q-1); B escolhe ao acaso um nmero "c" relativamente primo com f(n)(ou seja, c e f(n) no possuem fatores em comum) e determinara "d" tal que c*d (mdulof(n)). Finalmente, o usurio B pblica sua chave pblica PB(c,n) e mantm secretos p, q,f(n) e d. A chave secreta SB(d,n) deve ser mantida em sigilo completo.

    Cifragem de BlocosUm algoritmo que realiza cifragem sobre blocos pode operar de diversas maneiras

    distintas. As mais conhecidas so:1 - Modo do livro de Cdigos (Electronic Code Book - ECB)

    Cada bloco da mensagem original individual e independentemente cifrado paraproduzir os blocos da mensagem cifrada. O bloco tpico tem 64 bits, o que produz um livro

    de cdigos de 2 exp 64 entradas. E note-se que para cada chave possvel existe um livro decdigos diferentes. A vantagem do mtodo sua simplicidade e a independncia entre osblocos. A desvantagem que um criptoanalista pode comear a compilar um livro decdigos, mesmo sem conhecer a chave. Um problema mais grave a chamada repetio debloco, onde um atacante ativo pode alterar parte de uma mensagem criptografada sem sabera chave e nem mesmo o contedo que foi modificado. Pode-se por exemplo interceptar umatransao bancria de transferncia de saldo de qualquer pessoa, a seguir pode-se realizaruma transferncia de saldo de uma conta para a conta do atacante e interceptar a mensagem,

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

    ftp://ftp.funet.fi/pub/crypt/cryptography/symmetricftp://ftp.funet.fi/pub/crypt/cryptography/symmetric
  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    21/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 21

    assim pode-se identificar os blocos correspondentes ao destinatrio e dessa forma substituirem todas as mensagens o destinatrio pelo atacante.

    2 - Modo de Encadeamento de Blocos (Cipher Block Chaining - CBC) CBC realimenta a cifragem do bloco atual com o resultado das cifragens dos blocos

    anteriores. A operao mais utilizada o ou-exclusivo com o bloco anterior, dessa forma osblocos iguais serao normalmente cifrados de forma diferente, desde que no mnimo um dosblocos anteriores seja diferente da mensagem. Entretanto 2 mensagens iguais seraomapeadas para os mesmos blocos. E duas mensagens com incio igual sero cifradas damesma forma at que ocorra a diferena. A maneira empregada para evitar esse problema a utilizacao de um vetor de inicializaao distinto para cada mensagem.

    3 - Modo da Realimentao de Cifra (Cipher Feedback - CFB) Quando h necessidade de enviar-se mensagens que possuem tamanho menor que

    um bloco usa-se o mtodo CFB, que trabalha com grupos (8 bits por exemplo - 1 caracter),neste caso a realimentacao feita sobre o grupo, utilizando-se tambm o ou-exclusivo.

    4 - Cifras de SubstituioTroca cada caracter ou grupo de caracteres por outro, de acordo com uma tabela de

    substituio.Pode-se quebrar este mtodo analisando-se a frequncia de cada caracter notexto cifrado e comparando-se estas frequncias com aquelas que normalmente aparecemem um determinado idioma.As vogais tm maior frequncia que as consoantes e algunscaracteres possuem frequncia baixssima em relao aos demais. Para amenizar afrequncia de caracteres, podemos utilizar vrias tabelas para a cifragem de um texto. Parauma substituio monoalfabtica podemos ter 261 Tabelas de Substituio. Tem-se umachave que diz qual das tabelas ser usada para cada letra do texto original. Portanto, quantomaior a chave mais seguro o mtodo. Entretanto, suficiente descobrir o tamanho dachave k e analisar blocos de k caracteres no texto, verificando a frequncia de repetio doscaracteres.

    4.1 - Substituio Monoalfabtica

    Cada letra do texto original trocada por outra de acordo com uma tabela ecom sua posio no texto. A Substituio de Csar um exemplo de substituiomonoalfabtica que consiste em trocar cada letra por outra que est 3 letras adiantena ordem alfabtica. Ex: A=D. Pode-se usar outros valores ao invs de 3, o queconstitui a chave de ciframento. Existem apenas 26 chaves, por isso um mtodoque visa proteger textos com pequeno grau de sigilo.

    4.2 - Substituio por Deslocamentos

    A chave indica quantas posies deve-se avanar no alfabeto para substituircada letra. Diferente da substituio de Csar, as letras no so trocadas sempre poruma letra n posies a frente no alfabeto. Ex: Chave:020813, A primeira letra trocada pela letra que est 2 posies a frente no alfabeto, a segunda pela que est 8posies a frente, e assim por diante, repetindo a chave se necessrio. (P AI=RIV).

    4.3 - Substituio Monofnica

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    22/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 22

    Como a anterior, mas agora cada caracter pode ser mapeado para um ouvrios caracteres na mensagem cifrada. Isso evita a linearidade da substituio.

    4.4 - Substituio Polialfabtica

    A combinao no uso de vrias substituies monoalfabticas, usadas emrotao de acordo com um critrio ou chave. Por exemplo, poderiam ser utilizadas 4tabelas, usadas em alternncia a cada 4 caracteres. Substituio por Polgramos:utiliza grupo de caracteres ao invs de um caracter individual. Se fossemconsiderados trigramas, por exemplo, ABA poderia ser substitudo por RTQ ouKXS,

    5 - Cifras de TransposioTroca-se a posio dos caracteres na mensagem. Por exemplo, pode-se rescrever o

    texto percorrendo-o por colunas. Ou ento definir o tamanho para um vetor de trocas etambm uma ordem em que as trocas sero feitas. Pode-se usar chave para isso. Ex: em umvetor de tamanho 6 pode-se trocar o primeiro caracter pelo terceiro, o segundo pelo quinto eo quarto pelo sexto.Se a frequncia dos caracteres for a mesma do idioma, temossubstituio por transposio. Se for diferente, temos por substituio.Tambm possvelcombinar substituio e transposio, ou vice-versa.

    6 - Mquinas de CifragemUm cdigo trabalha com grupos de caracteres de tamanho varivel, ao contrrio da

    cifra. Cada palavra substituida por outra. Quebrar um cdigo equivale a quebrar umagigantesca substituio monoalfabtica onde as unidades so as palavras e no oscaracteres. Para isso deve-se usar a gramtica da lngua e analisar a estrutura das frases.Mquinas de cifragem baseiam-se em engrenagens que tem tamanhos diferentes e quegiram a velocidades diferentes, obtendo um substituio polialfabtica com chave de 26n,onde n o nmero de engrenagens.

    Chaves secretas

    Funes UnidirecionaisPodemos dizer que uma uma funo unidirecional se for vivel comput-la e

    computacionalmente invivel computar a sua inversa. Imagine que temos dois nmerosprimos da ordem de 10 exp lOO: multiplic-los uma questo de segundos com atecnologia atual, no entanto, dado o seu produto da ordem de 10 exp 200, o melhoralgoritmo conhecido leva hoje l bilho de anos para fatorar o produto dado. Assim a funoproduto de dois primos unidirecional. Uma funcao unidirecional com segredo se existeuma informao que torna a computao da sua inversa possvel. A funao produto de doisprimos unidirecional sem segredo.

    H casos em que uma funo unidirecional sem segredo til, um exemplo tpico na proteo de senhas, apresenta as senhas cifradas por uma funo unidirecional semsegredo (e de invivel deciframento). Quando o usurio inicia sua sesso, fornece a senhaque ento ciftada e comparada com a senha cifrada armazenada. Desta maneira, exige-seapenas a integridade do arquivo de senhas, no mais exigindo controle de acesso aoarquivo.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    23/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 23

    Ao selecionar uma funo unidirecional como funo de ciframento, o projetistadeve supor que:

    o algoritmo de ciframento de domnio pblico; o espio, atravs de escuta, tem acesso ao texto cifrado.Diz-se ento que a criptoanlise de texto cifrado conhecido.

    Protocolo para a Distribuio de Chaves SecretasQuando se adota o mtodo de chaves secretas, recomendvel no utilizar por

    muito tempo a mesma. Quando ideal a cada nova sesso uma nova chave sejaestabelecida. Mas como estabelecer a chave ao incio de cada sesso? Como evitar asescutas? Cifrar a mensagem? Com que chave? Aqui apresenta-se uma soluo para ilustraro conceito de funes unidirecionais. A funo a ser usada a exponencial mdulo de umnmero, isto , dados os inteiros 'a', 'x' e 'n', seja ~x)=aAx mod n (n>O, x>=O). Assim, ftx) o resto da diviso de aAx por n. O clculo desta funo vivel. O procedimento abaixomostra uma maneira de calcular esta funo :Procedimento expomod (a,x,n,r:inteiro); {r possui o resultado da funo}

    declare y, c : tipo inteiroinicior:= l;y:=x;c:=a mod n;

    enquanto y>O faa iniciose mpar(y) ento

    r=r*c mod n;y=y div 2;C=C 2 mod n;

    fim;fim;Suponha que dois usurios A e B desejam manter uma conversa sigilosa atravs de chave

    secreta. As duas partes escolheram um nmero primo grande , p' da ordem de 10A 100, e jconcordaram tambm em utilizar uma base , a'. Preferivelmente deve ser uma raiz primitivade p, de modo que ffx)=aAx mod p uma b~eo sobre o conjunto 1..p-l dos naturais x taisque l

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    24/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 24

    Assinatura Digital

    Nos sistemas com chave pblica, qualquer pessoa pode cifrar uma mensagem, massomente o destinatrio da mensagem pode decifr-la. Invertendo-se o uso das chavespodemos ter uma que s pode ser cifrada por uma pessoa e decifrada por qualquer um,

    obtendo-se assim umefeito de personalizao do documento, semelhante a uma assinatura.Um sistema desse tipo denominado assinatura digital. Assim para personalizar umamensagem, um determinado usurio A codifica uma mensagem utilizando sua chavesecreta e a envia para o destinatrio. Somente a chave pblica de A permitir adecodificao sua chave secreta e a envia para o da mensagem, portanto a prova de que Aenviou a mensagem. A mensagem assim pode ser decodificada por qualquer um que tenhaa chave pblica de A. Para garantir o sigilo deve-se a primeira utilizando a prpria chavesecreta (para fazer a criptografia duas vezes a mensagem: a chave pblica do destinatrio,para que somente este possa ler a mensagem.Propriedades1 - a assinatura autntica: quando um usurio usa a chave pblica de A para decifrar umamensagem, ele confirma que foi A e somente A quem enviou a mensagem;2 - a assinatura no pode ser forjada: somente A conhece sua chave secreta:3 - o documento assinado no pode ser alterado : se houver qualquer alterao no textocriptografado este no poder ser restaurado com o uso da chave pblica de A;4 - a assinatura no reutilizvel: a assinatura uma funo do documento e no pode sertransferida para outro documento;5 - a assinatura no pode ser repudiada: o usurio B no precisa de nenhuma ajuda de Apara reconhecer sua assinatura e A no pode negar ter assinado o documento.

    Certificado digitalCertificado de Identidade Digital, tambm conhecido como Certificado Digital,

    associa a identidade de um titular a um par de chaves eletrnicas (uma pblica e outraprivada) que, usadas em conjunto, fomecem a comprovao da identidade. uma versoeletrnica (digital) de algo parecido a uma Cdula de Identidade - serve como prova deidentidade, reconhecida diante de qualquer situao onde seja necessria a comprovao deidentidade. Certificado Digital pode ser usado em uma grande variedade de aplicaes,como comrcio eletrnico, groupware (Intranet's e Internet) e transferncia eletrnica defundos (veja o exemplo recente do Banco Bradesco S.A. na implantao do seu servioInternet - o BradescoNet). Dessa forma, um cliente que compre em um shopping virtual,utilizando um Servidor Seguro, solicitar o Certificado de Identidade Digital deste Servidorpara verificar, a identidade do vendedor e o contedo do Certificado por ele apresentado.De forma inversa, o servidor poder solicitar ao comprador seu Certificado de IdentidadeDigital, para identific-lo com segurana e preciso. Caso qualquer um dos dois apresenteum Certificado de Identidade Digital adulterado, ele ser avisado do fato, e a comunicaocom segurana no ser estabelecida. O Certificado de Identidade Digital emitido eassinado (chancelado) por uma Autoridade Certificadora Digital(Certificate Authority),como a Thawte (certificadora da ArtNET), que emite o Certificado. Para tanto, estaautoridade usa as mais avanadas tcnicas de criptografia disponveis e de padresinternacionais (norma ISO X.509 para Certitncados Digitais), para a emisso e chanceladigital dos Certificados de Identidade Digital.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    25/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 25

    Um certificado contem trs elementos:

    1 - Informao de atributoEsta a informao sobre o objeto que certificado. No caso de uma pessoa, isto

    pode incluir seu nome, nacionalidade e endereo e-mail, sua organizao e o departamento

    desta organizao onde trabalha.2 - Chave de informao pblicaEsta a chave pblicada entidade certificada. O certificado atua para associar a

    chave pblica informao de atributo, descrita acima. A chave pblica pode ser qualquerchave assimtrica, mas usualmente uma chave RSA.3 - Assinatura da Autoridade em Certificao (CA)

    A CA assina os dois primeiros elementos e, ento, adiciona credibilidade aocertificado.Quem recebe o certificado verifica a assinatura e acreditar na informao deatributo e chave pblicaassociadas se acreditar na Autoridade em Certificao.

    Selo Cronolgico DigitalO Servico de Selo Cronolgico Digital gera selos cronolgicos que associam a data

    e a hora a um documento digital em uma forma de criptografia forte. O selo cronolgicodigital pode ser usado futuramente para provar que um documento eletrnico existia na dataalegada por seu selo cronolgico.

    Por exemplo, um fsico que tenha uma idia brilhante pode descrev-la usando umprocessador de textos e selar este documento com o selo cronolgico digital.O selocronolgico e o documento, juntos, podem mais tarde comprovar que este cientista omerecedor do Prmio Nobel, mesmo que um rival publique essa idia primeiro.

    Exemplo de uso do sistema: suponha que Paulo assine um documento e queira sel-lo cronologicamente. Ele calcula o resumo da mensagem usando uma funo de hashingseguro e, ento, envia este resumo (no o documento) para o DTS, que enviar de volta umseio cronolgico digital consistindo do resumo da mensagem, da data e da hora em que foirecebida pelo DTS e da assinatura do DTS. Como o resumo da mensagem no revelaqualquer informao a respeito do contedo do documento, o DTS no tem condies desaber o contedo do documento que recebeu o selo cronolgico digital. Mais tarde, Paulopode apresentar o documento e o selo cronolgico, juntos, para provar a data em que estefoi escrito. Aquele que vai comprovar a autenticidade do documento calcula o resumo damensagem, verifica se as mensagens calculada e apresentada so iguais, e observa ento aassinatura do DTS no selo cronolgico. Para ser confivel, o selo cronolgico no pode serfalsificvel. Considere os requisitos para um DTS como descrito a seguir.

    O DTS deve ser proprietrio de uma chave longa (1.024 bits), se este desejar que osselos cronolgicos sejam seguros por muitas dcadas. A chave privativa do DTS deve serarmazenada em um local de mxima segurana, como, por exemplo, um cofre inviolvelem um local seguro. A data e a hora vm de um relgio que no possa ser alterado, (NIST)Deve ser impossvel criar selos cronolgicos sem usar um mecanismo que s aceite esterelgio.

    O uso do DTS parece ser extremamente importante, se no essencial, para manter avalidade de documentos atravs dos anos. Suponha um contrato de leasing de vinte anosentre um proprietrio de terras e um arrendatrio. As chaves pblicas usadas para assinar ocontrato expiram aps um ano. Solues, como reafirmar as chaves ou reassinar o contratoa cada ano, com novas chaves, requerem a cooperao de ambas as partes durante vrios

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    26/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 26

    anos enquanto durar o contrato. Se uma das partes se torna insatisfeita com o contrato, elapode recusar-se a cooperar. A soluo registrar o contrato com o DTS na data da primeiraassinatura deste. Ambas as partes recebem ento uma cpia do selo cronolgico, que podeser usada anos mais tarde para comprovar a autenticidade do contrato original.

    No futuro, o provvel que o DTS ser usado para tudo, desde a assinatura de

    contratos a longo prazo at dirios pessoais e cartas. Hoje, se um historiador descobriralgum manuscrito e atribu-lo a um escritor famoso (j falecido), sua autenticidade poderser comprovada por meios fsicos. Mas, se um achado semelhante ocorrer adqui a 100 anos,provavelmente ser em arquivos de computador (disquetes ou fitas). Talvez a nica formade comprovar sua autenticidade seja atravs do selo cronolgico digital.

    Site seguroUm site seguro constitudo por programas de computador que so executados em

    um servidor seguro para atender solicitaes feitas pelos usurios finais, atravs de seusprprios programas (clientes seguros). Dotado de caractersticas que tornam as transaeseletrnicas confidenciais, mediante criptografia, o servidor seguro utiliza-se de umprotocolo especial de comunicao que o SSL ((" Secure Socket Layer" - desenvolvidooriginalmente pela Netscape), que utiliza criptografia de chave assimtrica, tornando acomunicao entre as partes virtualmente inviolvel. Desta forma, se houver interceptaodas informaes trafegadas entre o cliente e o servidor por parte de pessoas noautorizadas, estas informaes sero de utilidade zero, j que seria necessrio oconhecimento prvio das chaves privadas de criptografia.

    Para que o sigilo e a inviolabilidade da comunicao realmente existam, necessrio um Certificado de Identidade Digital vlido.

    Formas de Pagamento Virtualara se comprar coisas pela internet necessrio arranjar uma forma adequada de

    efectuar o pagamento. No mundo real existem muitas maneiras de de pagar: dinheiro,cartes bancrios, cartes de crdito, cheque, senhas, etc... Da mesma forma na internetforam criados vrios sistemas de pagamento.

    Cartes de Crdito

    Uma das primeiras formas de pagamento na internet foi o uso de cartes de crdito.Trata-se de um sistema que j existe no mundo real, que usado por milhes de pessoas eque permite efetuar compras em qualquer parte do mundo, desde que seja aceite pelocomerciante. Existem vrios tipos de cartes, mas todos funcionam da mesma forma: opossuidor do carto efetua um pagamento, as informaes do carto sao dadas e o dinheiro movimentado do possuidor para o fornecedor dos servios.

    Assim o seu uso na internet simples: basta ter um carto de crdito, este ser aceitepelo fornecedor de servios e enviar informaes sobre o carto para o fornecedor. Oproblema reside em questes de segurana : como garantir que o comprador mesmo odono do carto? Para contornar este obstculo existem vrias formas. Uns usam sistemas decriptografia e autorizaao do carto online. Outros preferem o uso da confirmao pelotelefone ou e-mail.

    Dinheiro Virtual

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    27/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 27

    Como pagar para quem no possui ou no gosta de usar cartes de crdito? Aresposta reside no dinheiro virtual. O dinheiro foi uma invenco espantosa pois antes todosistema comercial se baseava em trocas. Para obter um bem era necessrio troc-lo poroutro bem, o que tinha e nmeros inconvenientes. No entanto o dinheiro s tem valorporque se lhe reconhecido esse valor (pelo estado, entidades bancrias, ...). No incio

    muitas pessoas prefiriam continuar com o sistema de trocas. Levou algum tempo para queos mais precavidos reconhececem o valor do dinheiro. Foram as vantagens deste (menorpeso e volume) assim como uma interveno por parte da entidade emissora queconduziram ao seu uso generalisado .

    A criao de dinheiro virtual torna-se o passo seguinte nesta evoluo financeira. Odinheiro virtual tem muitas vantagens: no ocupa espao, no tem custos de emisso , nose desgasta e no se pode perder Mas para ser bem sucedido o dinheiro virtual precisa deser seguro, rpido e simples de usar vrios sistemas de dinheiro virtual foram criados, cadaum tem as suas vantagens e no claro qual ser aceito. Como exemplo destes sistemastemos o NetCash, o Netbill, o Netchex, o Netcheque, o Netmarket e o Magic Money.

    ecash

    De momento o candidato mais provvel o ecash da empresa holandesa Digicash.Existe um banco emissor que d o ecash aos utilizadores em troca de dinheiro real. Outilizador gasta quanto ecash quiser. Mais tarde o fornecedor de servios pode trocar oecash (se o quiser) depois (no tal banco) por dinheiro. Mais tarde o fomecedor de Odinheiro real. Em cada transao so usadas assinaturas digitais pblicas para mantersegurana. software cliente, usado pelos clientes para encriptar a transao, gratuito egarante anonimato.Somente as lojas e servios participantes tm de pagar uma pequenataxa e declarar todas transaes (para evitar fugas ao fisco ou lavagem de dinheiro). Devidoa ser um sistema simples o ecash tem bastantes probabilidades de ser bem sucedido.

    NetCheque

    O NetCheque, desenvolvido pela Universidade da Califrnia do Sul , usa-se damesma forma que os cheques tradicionais. Os NetCheques so e-mails assinados pelopagador autorizado com uma assinatura eletrnica (cdigo criptogrfico) e enviados para oreceptor. Este processo protegido pelo sistema de kerberos. A assinatura do utilizador criao cheque enquanto que o endosso da pessoa a quem se paga o transforma numa ordem parao computador do banco.

    LETSystem

    Trata-se de um sistema mais ambicioso e complexo. Funciona na base de dinheirolocal, tipos de unidades monetrias vagas e usadas em certas comunidades. Como exemplodesta unidades temos o Stroud, xxxx e pedras. Um utilizador nunca passa a dever dinheiromas fica antes comprometido, i.e., devendo um servio comunidade. Este tipo de sistemadepende bastante da confiana de todos que o usam.

    PGPPGP um criptsistema hbrido que combina algortmos de chaves pblicas

    (assimtricas) com algortmos convencionais (simtricos), com a vantagem de utilizar avelocidade da criptografia convencional e a seguranca da criptografia por chaves pblicas.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    28/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 28

    As chaves pblicas so mantidas em arquivos que contm a identificao do usurio (i.e. onome da pessoa), a hora (timestamp) da gerao do par de chaves e as chaves propriamenteditas. So usados dois arquivos (key rings) diferentes, um para chaves pblicas e outro paraas secretas, que podem conter uma ou mais chaves cada um.

    As chaves pblicas so internamente referenciadas por uma Key JD, que uma

    abreviao dessa chave (os 64 bits menos significativos). Enquanto muitas chaves podemter a mesma identificao do usurio (User JD), nenhuma chave pode ter a mesma Key JD.PGP faz uso de "message digest para realizar as assinaturas. "Message digest o nome quese d a um conjunto de 128 bits fortemente cifrados, funo da mensagem. algo anlogoao checksum ou ao CRC, que um cdigo verificador de erros, e representacompactamente a mensagem, usada para detectar mudanas em seu contedo.Diferentemente do CRC, entretanto, computacionalmente impraticvel a qualquer pessoadescobrir uma outra mensagem que produza uma mesma " message digest", que ainda criptografada pela chave secreta para formar a assinatura digital.

    Os documentos so autenticados por um prefixo que contm o Key JD da chavesecreta que foi usada para assin-lo, o " message digest" do documento devidamentecriptografado pela chave secreta doremetente e a hora (timestamp) de quando foi realizadaa assinatura. O Key ID utilizado pelo destinatrio para relacion-lo com a chavepblicado remetente, afim de checar a assinatura. O software automaticamente procura achave pblica e a identificao do usurio remetente no arquivo de chaves pblicas.

    Arquivos cifrados so prefixados pelo Key ID da chave pblica usada para cifr-la.O receptor usa essa informao para relacionar a correspondente chave secreta que decifraa mensagem. Da mesma forma, o software do destinatrio automaticamente localiza essachave secreta no arquivo de chaves secretas.Esses dois tipos de arquivos so o principalmtodo de armazenamento e gerenciamento das chaves pblicas e privadas.

    VulnerabilidadesNenhum sistema de segurana impenetrvel. PGP pode ser enganado de vrias

    formas diferentes. Em qualquer sistema de segurana, temos que nos perguntar se ainformao que escondemos mais valiosa para um eventual agressor do que o custo queeste teria para burlar o sistema de proteo. Isto ajudaria a nos proteger de ataques de baixocusto sem nos preocuparmos com meios mais sofisticados e caros de espionagem.

    l - Comprometimento da passphrase e chave secreta:

    Provavelmente o modo mais simples de quebrar o sistema escrever em algumlugar sua passphrase. Se algum a achar e tambm conseguir copiar seu arquivo de chavesecreta, pode tranquilamente ler suas mensagens e enviar outras tantas com a suaassinatura, fazendo com que todos pensem que foi voc o autor das tais mensagens.

    No usar passwords simples que possam ser facilmente descobertas como os nomesde esposa ou filhos j ajuda. Se voc fizer de sua passphrase uma nica palavra (tornando-se uma pas,S.word), ela poder ser descoberta por um computador que teste todas aspalavras do dicionrio. Por isso uma passphrase melhor do que uma password claro queum agressor mais sofisticado poderia ter em seu computador um banco de dados com frasesfamosas para tentar achar sua passphrase. Uma passphrase fcil de lembrar e difcil de sedescobrir poderia ser construda por alguns dizeres criativos sem sentido algum oureferncias literrias obscuras.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    29/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 29

    2 - Falsificao da chave pblica:

    Este pode ser o ponto mais vulnervel de um criptossistema de chave pblica,principalmente porque a maioria dos novatos na rea no percebem a falsificaoimediatamente. Quando voc usar a chave pblicade de algum, esteja certo de que no foi

    falsificada. S podemos confiar na chave pblica de uma pessoa se a obtivermosdiretamente dessa pessoa, ou se a recebemos em uma mensagem assinada por algum emquem confiamos. Mantenha um controle fisico de seus arquivos de chave pblica e secreta,mais preferivelmente em seu computador pessoal do que naqueles ligados em rede comacesso remoto.Tenha sempre uma cpia de ambos os arquivos.

    3 - Arquivos no apagados completamente do disco:

    Outro problema potencial causado pelo modo de deleo de arquivos da maioriados sistemas operacionais. Quando voc criptografa um arquivo e apaga o texto original, osistema operacional no destri fisicamente o contedo do texto original. Ele apenas marcaque aqueles blocos foram apagados do disco, permitindo que esse espao seja reutilizadoposteriormente. Esses blocos marcados ainda contm o texto original que queramosdestruir, e que ser realmente apagado apenas quando outros dados forem gravados porcima. Se o agressor tiver acesso aos blocos marcados antes que eles sejam regravados, elepode recuperar o texto original ou pelo menos parte dele, o que pode ser facilmenterealizado com programas especializados.

    De fato isto poderia at acontecer acidentalmente, se por alguma razo alguma coisader errado na estrutura lgica de armazenamento de dados do disco e alguns arquivos foremacidentalmente apagados ou corrompidos. Programas de recuperao podem ser utilizadospara tentar reaver os arquivos danificados, mas isto frequentemente faz com que arquivospreviamente deletados sejam ressucitados junto com os arquivos que realmente interessam.Da, aquele arquivo confidencial que voc achava ter sumido para todo o sempre podereaparecer e ser lido pela pessoa que estava tentando consertar seu disco. Mesmo quandovoc est escrevendo sua mensagem com um processador de textos,o editor estar gerandovrias cpias temporrias do seu texto no disco, apenas porque texto ele trabalhainternamente. Essas cpias temporrias so apagadas pelo prprio assim processadorquando o finalizamos, mas os seus fragmentos ficam no disco, em algum lugar.

    A nica forma de se ter certeza que nossos textos originais no reaparecero de umahora pra outra, , de algum jeito, apagar fisicamente do disco o contedo da mensagem. Amenos que voc tenha certeza de que todos os blocos marcados como apagados seroreutilizados brevemente, pode-se tomar providncias para reescrev-los, e assim, destruirqualquer vestgio do texto sigiloso deixado pelo seu editor de textos favorito. Pode-se faz-lo utilizando qualquer programa especializado disponvel no mercado, como por exemplo oNorton Utilities para DOS (WIPEINFO.EXE).

    Mesmo tomadas todas as providncias descritas acima, tavez ainda seja possvelrecuperar o conteUdo original do texto por algum cheio de recursos. Resduos magnticosdos dados originais ficam no disco mesmo aps serem regravados. Algum hardwaresofisticado de recuperao de dados pode algumas vezes ter utilidade para reaver os dados(mais a j demais).

    4 - Vroses e Cavalo de Tria:

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    30/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 30

    Outro tipo de ataque poderia envolver um vrus especial que infectaria o PGP ou oseu sistema operacional. Este vrus hipottico seria projetado para capturar sua passphraseou chave secreta, e grav-la em algum arquivo no disco ou envi-la via rede para o'proprietrio' do referido vrus. Ele poderia at alterar o comportamento do PGP para que asassinaturas no sejam checadas corretamente, por exemplo.

    Defender-se desse tipo de ataque nada mais do que evitar contaminao por virusem geral. PGP no tem defesas contra vrus, ele assume que a sua mquina est livre devermes, o que pode ser pelo menos tentado por verses atualizadas de produtos anti-vrusdisponveis no mercado. Se por acaso um vrus especial contra PGP aparecer, esperamosque todos tomemos conhecimento logo.

    Outra forma de espionagem envolveria uma cpia do PGP parecida visualmentecom a original, mas alterada para que no ftlncionasse a contento. Por exemplo, algumpoderia deliberadamente alter-lo para que no checasse as assinaturas corretamente,permitindo a falsificao das mesmas. Esta verso tipo "Cavalo de Tria" no seria difcilde ser desenvolvida, pois o cdigo fonte do PGP amplamente divulgado. Para evitar taisproblemas, deve-se confiar na fonte de onde foi adquirida a cpia do PGP, ou peg-la devrias fontes independentes e compar-las com um utilitrio destinado para esse fim.

    5 - Falha de segurana fsica:

    Uma descuido do prprio usurio poderia permitir a algum adquirir seus arquivosoriginais ou mensagens impressas. Um oponente determinado poderia utilizar meios taiscomo roubo, vasculhamento de lixo, sequestro, suborno, chantagem ou infiltrao entre osfuncionrios.

    No se iluda com a falsa sensao de segurana s porque voc tem uma ferramentade criptografia. As tcnicas criptogrficas protegem a informao somente quando elasesto criptografadas, violaes fisicas de segurana podem compromet-las.

    6 - Espionagem "Tempest".

    Outra forma de espionagem tem sido utilizada por oponentes muito bem equipadosque conseguem detectar os sinais eletromagnticos emitidos pelo computador. Este tipo deataque caro e de intensa monitorao pode ser realizado por um caminho suprido damaquinaria necessria, estacionado prximo ao seu local de trabalho e remotamentecaptando todos os seus toques de teclado, assim como os textos jogados na tela, podendocomprometer seus passwords, mensagens, etc. Este tipo de ataque, conhecido comotempest, poderia ser evitado blindando-se computadores e cabos de rede, de modo queesses sinais no sejam mais emitidos.

    7 - Anlise de trfico :

    Mesmo que no seja possvel ler o contedo das mensagens criptografadas, algumainformao til ainda poderia ser deduzida observando-se de onde as mensagens chegam epara onde elas vo, o tamanho das mesmas e a hora em que foram enviadas. a mesmacoisa que olhar para uma conta telefnica de longa distncia e ver para onde voc ligou,quando e por quanto tempo ficou conversando, mesmo que o contedo da conversa sejadesconhecido para um possvel espio. A isto chamamos de anlise de trfico. Para resolvereste tipo de problema, precisaramos de protocolos de comunicao especialmentedesenvolvidos para reduzir exposio dessas anlises, possivelmente com algumaassistncia criptogrfica.

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    31/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 31

    8 - Exposio em sistemas multi-usurio:

    PGP foi originalmente projetado para rodar em mquinas MSDOS mono-usurias,sob seu controle fsico direto. Mas agora exitem verses do PGP que tambm rodam emsistemas multi-usurios como UNIX e VAXlVMS. Nesses sistemas, os riscos de

    descobrirem seus passwords, chaves secretas ou mensagens so maiores. Um intrusoesperto o suficiente ou o prprio administrador de rede poderiam ter acesso aos seusarquivos originais, ou talvez utilizar-se de algum programinha especial para monitorarconstantemente a digitao ou ver o que est aparecendo em sua tela. Os riscos reais desegurana dependem de cada situao em particular Alguns sistemas multi-usurios podemser considerados seguros porque todos os usurios so confiveis, ou porque no hinteresse suficiente em espionar algum. De qualquer modo, recomenda-se rodar o PGP deuma mquina isolada, em um sistema mono-usurio, diretamente sob seu controle fsico.

    Sistemas Criptogrficos baseados em Curvas Elpticas

    Introduo

    Em 1985, Koblitz [1] e Miller [2] sugeriram, independentemente, que curvaselpticas poderiam ser usadas para esquemas de criptografia de chave pblica. Desde entoum grande esforo tem sido feito em busca de caminhos que tornem eficiente a suacomputao. A matemtica associada a curvas elpticas, entretanto, mais antiga. H maisde 100 anos esta matria vem sendo estudada em teoria dos nmeros e geometria algbrica.Pretende-se, neste trabalho, abordar, de maneira introdutria, sistemas baseados em curvaselpticas e demonstrar que estes sistemas proporcionam blocos de tamanho relativamentepequenos, permitem implementaes em hardware e software de alta velocidade e oferecema maior resistncia a ataques por bit de chave (strength-per-key-bit) dentre os esquemasconhecidos de chave pblica.

    Curvas Elpticas sobre Nmeros ReaisPara melhor entendimento do conceito matemtico das curvas elpticas, iniciemos

    nosso estudo no campo dos reais. A equao abaixo mostra a forma de Weierstrass deuma curva elptica:

    (1)As variveis x e y situam-se no plano. Na verdade, x e y podem ser complexos,

    reais, inteiros, base polinomial, base cannica ou qualquer outro tipo de elemento de corpo.Mas, consideremos nmeros reais sobre o plano dos reais, que nos mais familiar. Umaforma simples da equao (1) :

    (2)Como exemplo, vamos representar o grfico da curva para a4= -7, a6= 5comxey

    no conjunto dos nmeros reais:nmeros reais:

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    32/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 32

    Figura 1 - Grfico da curva elpticay2=x3-7x+5Nossa inteno definir uma lgebra para curvas elpticas. Assim, devemos

    encontrar uma maneira de definir adio de dois pontos da curva, cuja soma seja outroponto da curva. Alm disso, devemos definir o elemento identidade da soma O, ponto quesomado com qualquer outro da curva, resulte no prprio ponto:

    P + O= P (3)Este ponto tambm chamado de ponto no infinito.Para a lgebra funcionar, o negativo do ponto de interseo definido como a

    soma elptica (veja figura 2). Matematicamente:R = P + Q(4)

    Figura 2 Adio de pontos de uma curva elptica sobre nmeros reaisAdicionar um ponto a ele mesmo um caso especial. A linha usada a tangente curva noponto considerado.

    Curvas Elpticas sobre Corpos Finitos Primos

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    33/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 33

    Para utilizao em criptografia interessa-nos estudar a matemtica de curvaselpticas aplicadas a corpos finitos. Analisaremos, inicialmente, corpos finitos gerados porgrandes primos. Ou seja, analisaremos curvas elpticas sobreZp,pprimo maior que 3.

    Uma curva elptica EsobreZppode ser definida pela mesma equao (2) estudadano item anterior:

    onde a4, a 6 Zp e 4a 43+ 27a6

    2 0. O conjunto E(Zp) composto, ento, por todos ospontos (x,y),xZp,yZp, que satisfazem a equao de definio, juntamente com o ponto

    no infinito O.Por exemplo: sejap = 23e considere a curva elptica E: y2= x3+ x + 1, definidasobre Z23. Note que 4a4

    3+ 27a6

    2= 4 + 4 = 8 0, entoE uma curva elptica. Os pontos

    emE(Z

    23)so Oe os seguintes:(0, 1) (0, 22) (1, 7) (1, 16) (3, 10) (3, 13) (4, 0) (5, 4) (5, 19)(6, 4) (6, 19) (7, 11) (7, 12) (9, 7) (9, 16) (11, 3) (11, 20) (12, 4)(12, 19) (13, 7) (13, 16) (17, 3) (17, 20) (18, 3) (18, 20) (19, 5) (19, 18)

    Vejamos a regra para adicionar dois pontos em uma curva elptica E(Zp) pararesultar em um terceiro ponto da curva. Junto com esta operao de adio, o conjunto depontos E(Zp) forma um grupo, com O servindo como sua identidade. este grupo que utilizado na construo de sistemas de criptografia baseados em curvas elpticas. A regra de

    adio apresentada abaixo como uma seqncia de frmulas algbricas:

    1.P + O= O+ P = Ppara todoP E(Zp)2. SeP = (x, y) E(Zp), ento (x, y) + (x, -y) =O. (O ponto (x, -y) representado por

    Pe chamado negativo deP. Observe queP, tambm, um ponto na curva.)3. SejaP = (x1,y1) E(Zp)e Q = (x2,y2) E(Zp), ondeP -Q. EntoP + Q = (x 3,y3),

    onde:

    (5)

    (6)e

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    34/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 34

    (7)

    (8)

    Vamos ver um exemplo de adio de curva elptica. Considere a curva elpticadefinida no exemplo anterior.

    1. SejaP = (3, 10)e Q = (9, 7). EntoP + Q = (x3, y3) calculado como segue:

    x3= 112 - 3 - 9 = 6 - 3 - 9 = -6 17 (mod 23), ey3= 11(3 - (-6)) -10 = 11(9) -10 = 89 20 (mod 23).

    Portanto,P + Q = (17,20).

    2. SejaP = (3,10). Ento 2P = P + P = (x3, y3) calculado como segue:

    x3= 62 - 6 = 30 7 (mod 23), ey3= 6 (3 -7) -10 = -24 -10 = -11 12 (mod 23).

    Portanto, 2P = (7,12).

    Curvas Elpticas sobre Corpos Finitos de Caracterstica Dois.

    Os corpos finitos de caracterstica dois, GF(2m), interessam especialmente, poispermitem implementaes eficientes da aritmtica de curvas elpticas. Neste caso, asconstantes so nmeros de base polinomial ou cannica. No podemos, neste caso, utilizara verso simplificada da equao (1).

    Menezes [3] afirma que necessrio uma das duas verses abaixo:

    (9)

    (10)

    A equao (9) da forma supersingular e, embora possa ser computada

    rapidamente, suas propriedades no a tornam indicadas para o uso em criptografia.As curvas da equao (10) so chamadas nonsupersingular. No existe nenhum mtodode ataque conhecido de complexidade menor que exponencial para estas curvas.Certamente, a escolha dos coeficientes fundamental, a fim de que se obtenha a mximavantagem da segurana.Para que a equao (10) seja vlida, a6precisa ser diferente de 0. Contudo, a2pode ser 0.Valem aqui as mesmas regras de adio vistas para corpos primos. As frmulas, contudo,so um pouco diferentes para adio de dois pontos sobre GF(2n), segundo Schroeppel et

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    35/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 35

    al.[4]:

    SeP Q:

    (12)

    13

    11

    SeP = Q:

    (14)

    (15)

    (16)

    Multiplicao sobre Curvas ElpticasA multiplicao sobre curvas elpticas se refere, ao contrrio da idia intuitiva de se

    multiplicar dois pontos da curva, ao produto de um escalar por um ponto da curva:Q = kP (17)

    Onde Qe P so pontos sobre uma curva elptica e k um inteiro. O que a multiplicaorealmente significa a soma dePa ele mesmo kvezes. Como a prpria curva elptica isto, os pontos sobre ela forma um corpo, o inteiro kno deve ser maior que a ordem doponto P. Caso no se saiba a ordem do ponto, o clculo no ser to eficiente quantopoderia ser.Exemplo: suponha que desejamos calcular Q = 15P. Podemos expandir como:

    Q = 15P = P + 2(P + 2(P + 2P))Observe que este o mesmo algoritmo utilizado para exponenciao modular.

    Outro mtodo para o clculo da multiplicao a expanso balanceada, propostapor Koblitz [5]. O algoritmo converte uma string de bits 1 em uma string de bits 0seguido de 1. Por exemplo, calculemos Q = 15P:

    15P = (16-1)P11112P = (1000-1)2PQ = (2P)2 * 2 * 2 - P

    Temos, assim cinco operaes, ao invs de seis, como no caso anterior.Outro exemplo: Q = 10045P = 100111001111012P. O ltimo bit na cadeia de 1

    substitudo por 1, todos os outros bits so substitudos por 0 e o primeiro 0 substitudo por 1. Assim, a representao balanceada fica:

    C.H CICEROHILDENBERG [email protected] TE 727 C. DE DADOS

  • 7/21/2019 Comunicao de Dados - Criptografia Baseada nas Curvas Elpticas - Ccero Hildenberg Lima de Oliveira .pdf

    36/45

    UNIVERSIDADE FEDERAL DO PARAN MESTRADO EM TELECOMUNICAES 36

    10100-101000-101Q = (((((2P * 2 + P)2 * 2 * 2 P)2 * 2 + P)2 * 2 * 2 *2 P)2 * 2 + P

    Ordem da CurvaO nmero de pontos de uma curva elptica sobre um corpo finito deve satisfazer o

    teorema de Hasse. Dado um campo, GF(q), a ordem da curva N dever satisfazer estaequao:

    (18)Ou, de outra forma:

    (19)Ento, o nmero de pontos de uma curva , aproximadamente, o tamanho do corpo.

    CriptografiaUma vez introduzida a matemtica de curvas elpticas sobre corpos finitos,

    analisaremos como aplic-la criptografia. A idia bsica para a implementao de

    sistemas de criptografia de chaves secretas e pblicas converter dados em pontos dacurva.Duas questes fundamentais a serem respondidas por quem pretende utilizar curvas

    elpticas em criptografia so:Quantos bits so necessrios?Quanto trabalho deve ser realizado?

    A deciso sobre a primeira ques