Anda di halaman 1dari 24

Um passeio pelo mundo secreto das curvas el pticas

Rodrigo Salom ao Janeiro/2011

Conteudo

CAP TULO 1

o Introduc a
o de mensagens se faz necess es A codicac a aria quando precisamos transmitir informac o sigilosas de forma segura, mesmo que esta esteja sendo observada por intrusos. Por muito o se baseou no princ tempo, esta codicac a pio que ambas as partes possu am uma chave secreta. O compositor utilizava a chave para criptografar a mensagem enquanto o receptor utilizava a chave para descriptografar a mensagem. Teoricamente, um intruso observador n ao tem conhecimento desta chave e, portanto, n ao pode descobrir o conte udo da mensagem. Este m etodo chamado de sistema de criptograa de chave privada. Sua desvantagem se d e a pela necessidade de ambas as partes terem que combinar previamente qual ser a a chave secreta antes de es. comec arem a trocar informac o es que n Na d ecada de 70 surgiu ent ao um novo m etodo de trocar informac o ao necessitava desta combinac ao pr evia: o sistema de criptograa de chave p ublica. Este sistema consiste, resumidamente, na seguinte ideia. Suponhamos que Bob queira mandar uma mensagem para Alice, que possui duas chaves: uma chave p ublica, que todos t em acesso, e uma chave privada, de uso pessoal e secreto de Alice. Ent que e ao, Bob utiliza a chave p ublica para codicar a ` Alice, que por sua vez, e au nica que pode decodicar a mensagem com mensagem e enviar a sua chave privada. que n A vantagem do sistema de criptograa de chave p ublica e ao h a a necessidade de Bob e Alice se conhecerem para que eles possam trocar mensagens. Por outro lado, a diculdade da o deste sistema o torna menos eciente que o sistema de criptograa de chave privada. elaborac a Desta forma, se o Bob deseja mandar uma mensagem longa para Alice, ent ao o mais indicado que ele envie a chave privada para Alice, via o sistema de criptograa de chave p e ublica, e depois codique a mensagem utilizando esta chave. constru Basicamente, o sistema de criptograa de chave p ublica e do utilizando problemas de matem atica dif ceis de serem resolvidos, mas que se tornam menos dif ceis se adicionarmos es extras. O objetivo destas notas e de apresentar um destes problemas, denominado informac o por problema do logaritmo discreto, no contexto espec co das curvas el pticas. Neste sentido, iremos descrever, no Cap tulo 1, estes sistemas de criptograa e dar um pouco mais de nfase no sistema de criptograa de chave publica. J e a no Cap tulo 2 construiremos os corpos nitos. Por m, no Cap tulo 3, introduziremos as curvas el pticas, bem como a estrutura de grupo de uma c ubica lisa e estudaremos o problema do logaritmo discreto no grupo da c ubica lisa sobre corpos nitos.

CAP TULO 2

Aritm etica Modular


1. Congru encias Um exemplo t pico da aritm etica modular no nosso cotidiano vem da contagem das horas. Suponhamos que o rel ogio esteja marcando onze horas da manh a e voc e tenha combinado de almoc ar com uns colegas uma hora da tarde. Ent ao, se algu em perguntar para voc e quantas horas faltam para o tal almoc o, voc e ir a responder duas horas. De certa forma, a conta que voc e : est a fazendo e 11 + 2 = 1 ou 1 11 = 2. apenas um caso parApesar desta contar parecer n ao ter o m nimo sentido, veremos que ela e ticular do que chamaremos de aritm etica modular. Seja m > 1. Dizemos que dois inteiros a e b s ao congruentes m odulo m, quando m divide a b. Usamos o seguinte s mbolo para denotar isto. a b mod m Note que a conta que zemos nas horas pode ser interpretada como uma conta congru encia m odulo 12, pois: 11 + 2 = 13 1 mod 12. Exemplo 1. Temos as seguintes congru encias: 4 2 mod 3 pois 4 2 = 6 = 2 3; 3 0 mod 3 pois 3 0 = 3 = 1 3; 2 1 mod 3 pois 2 1 = 3 = 1 3; 1 2 mod 3 pois 1 2 = 3 = 1 3; 4 1 mod 3 pois 4 1 = 3 = 1 3; 5 2 mod 3 pois 5 2 = 3 = 1 3; 6 0 mod 3 pois 6 0 = 6 = 2 3; 7 1 mod 3 pois 7 1 = 6 = 2 3; 8 2 mod 3 pois 8 2 = 6 = 2 3; 9 0 mod 3 pois 9 0 = 9 = 3 3; 10 1 mod 3 pois 10 1 = 9 = 3 3; natural intuir, pelo exemplo acima, que um n E umero inteiro n sempre ser a congruente a 0, 1 ou 2 m odulo 3. De fato, pelo teorema da divis ao Euclidiana, enunciado abaixo, temos que , r = 0, 1 ou 2. Portanto, n 0 ou n 1 ou n 2 e um m n = 3 q + r, com 0 r < 3, isto e ultiplo de 3. Teorema 1 (Divis ao Euclidiana). Dados a e b 0 inteiros, ent ao existem inteiros q e r, unicamente determinados, satisfazendo as seguintes propriedades a = q b + r e 0 r < b. Em geral, se xarmos m > 1 inteiro, ent ao cada n inteiro ser a congruente a um dos inteiros de 0 at e m 1, tamb em pelo teorema da divis ao Euclidiana.
5

2. ARITMETICA MODULAR

Desta forma, faz sentido em separar os n umeros inteiros nas seguintes classes: 0 1 2 3 . . . := := := := {n Z | n 0 mod m} {n Z | n 1 mod m} {n Z | n 2 mod m} {n Z | n 3 mod m} . . . = = = = {n Z | n = q m para algum q Z}; {n Z | n = q m + 1 para algum q Z}; {n Z | n = q m + 2 para algum q Z}; {n Z | n = q m + 3 para algum q Z}; . . .

m 1 := {n Z | n m 1 mod m} = {n Z | n = q m + (m 1) para algum q Z}; O conjunto destas classes Zm := {0, 1, 2, . . . , m 1} ser a chamado de anel dos inteiros m odulo m. o 1. Para cada inteiro k, tamb Observac a em podemos denir k := {n Z | n k mod m} = {n Z | n k = q m para algum q Z} Mas, pelo teorema da divis ao Euclidiana, temos que k = m q + r com 0 r < m. Portanto, temos para cada n Z que n k = q m para algum q Z n = q m + r para algum q Z. Consequentemente, temos que k=r para algum r {0, 1, . . . , m 1}. No que segue, iremos explicar o motivo da palavra anel. Para isso, vamos ver, primeiramente, que faz sentido somar e multiplicar dentrodas congru encias. Exemplo 2. Sabemos que 15 3 mod 4 e que 2 6 mod 4. Agora, 15 + 2 = 17 1 mod 4 e 15 2 = 30 2 mod 4. Por outro lado, 3 + 6 = 9 1 mod 4 e 3 6 = 18 2 mod 4. Portanto, 15 + 2 1 3 + 6 mod 4 15 2 2 3 6 mod 4 De modo geral, estas propriedades ainda s ao vericadas, como podemos ver na seguinte o. proposic a o 1. Seja m > 1. Se a1 a2 mod m e b1 b2 mod m, ent Proposic a ao valem as seguintes congru encias. a1 + b1 a2 + b2 mod m a1 b1 a2 b2 mod m Prova: Escrevemos a1 a2 = m n1 e b1 b2 (a1 + b1 ) (a2 + b2 ) = = = e (a1 b1 ) (a2 b2 ) = = = = = m n2 . Ent ao, (a1 a2 ) + (b1 b2 ) m n1 + m n2 m (n1 + n2 )

(a1 b1 ) (a2 b1 ) + (a2 b1 ) (a2 b2 ) (a1 a2 ) b1 + a2 (b1 b2 ) m n1 b1 + a2 m n2 m (n1 b1 + a2 n2 )

2. CORPOS FINITOS

o, faz sentido denir uma operac o no anel dos inteiros m Com esta proposic a a odulo m, da seguinte forma. Sejam a e b em Zm . Denimos, ent ao: a + b := classe no qual a + b pertence = a + b a b := classe no qual a b pertence = a b Exemplo 3. o e do produto em Z3 : (1) Vamos fazer a tabela da adic a 2 2 0 1 0 1 2 + 0 1 0 0 0 0 0 0 1 1 0 1 2 1 1 2 2 0 2 1 2 2 0 o e do produto em Z4 : (2) Vamos fazer a tabela da adic a 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 + 0 1 2 3 0 0 1 2 3 1 1 2 3 0

2 2 3 0 1

3 3 0 1 2

dif es de soma e produto em Zm satisfazem as seguintes N ao e cil de vericar que as operac o propriedades: Propriedades da Soma: [A1] [A2] [A3] [A4] [P1] [P2] [P4] 0 + a = a + 0 = a para cada a Zm ; a + a = a + a = 0 para cada a Zm ; a + (b + c) = (a + b) + c para cada a, b, c Zm ; a + b = b + a para cada a, b Zm ; 1 a = a 1 = a para cada a Zm ; a (b c) = (a b) c para cada a, b, c Zm ; a b = b a para cada a, b Zm ; a (b + c) = (a b) + (a c) para cada a, b, c Zm ;

Propriedades do Produto:

Propriedades da Soma e do Produto:

2. Corpos Finitos o anterior, ainda vamos observar Al em destas propriedades no anel Zm , evidenciadas na sec a primo ou n outras duas propriedades, que distinguem o caso em que m e ao. muito parecida com o que estamos habituados no conjunto dos inteiros, que A primeira, e n diz que o produto de dois elementos n ao nulos e ao nulo. Quando isto for satisfeito, iremos um dom dizer que Zm e nio de integridade. um dom Exemplo 4. Vimos no exemplo anterior que Z3 e nio de integridade, mas Z4 n ao, j a que, 2 2 = 0. De forma mais geral, ainda temos o seguinte resultado. o 2. Seja m > 1 inteiro. Ent um dom Proposic a ao Zm e nio de integridade se, e s o se, m for primo. o, temos que a b e Prova: Suponhamos que m = p seja primo e que a b = 0. Por denic a o em Z, que p deve estar na divis vel por p. Sendo p primo, temos, pela unicidade da fatorac a o de a ou de b, isto e , p divide a ou b. Logo, a = 0 ou b = 0. fatorac a

2. ARITMETICA MODULAR

Agora, se mn ao for primo, digamos m = a b com a e b inteiros positivos distintos de 1, ent ao a 0 ou b 0, j a que, 1 < a < m e 1 < b < m. Al em disso, a b = m nos diz que a b = 0. es de certas equac es Para destacar a segunda propriedade de Zm , precisamos estudar as soluc o o envolvendo congru encia m odulo. o 3. Sejam m > 1 e a inteiros. Ent Proposic a ao existe b Z tal que ab 1 mod m se, e s o se, mdc(a, m) = 1. , ab qm = 1. Prova: Se ab 1 mod m, ent ao ab 1 = qm para algum q inteiro, isto e um divisor comum entre a e m, ent ltima igualdade temos que d divide 1. Agora, se d e ao pela u Portanto, temos que mdc(a, m) = 1. Por outro lado, se mdc(a, m) = 1, ent ao pelo algoritmo Euclidiano estendido (ver pr oximo o nas vari Teorema) temos que a equac a aveis X e Y aX + mY = 1 es inteiras, digamos X = b e Y = q, isto e , ab 1 = qm. Logo, ab 1 mod m. possui soluc o Teorema 2 (Algoritmo Euclidiano Estendido). Sejam a e b inteiros positivos. Ent ao a o nas vari equac a aveis X e Y aX + bY = mdc(a, b) es inteiras, digamos X = u0 e Y = v0 . Al es s possui soluc o em disso, todas as suas soluc o ao da forma bk ak X = u0 + e Y = v0 mdc(a, b) mdc(a, b) com k Z. Ao inv es de fazermos a prova do caso geral, iremos descrever o algoritmo em um exemplo. o 3. Para consultar o caso geral, ver [?] Cap tulo 5, Sec a Exemplo 5. Consideremos a = 12 e b = 125. Como a = 22 3 e b = 53 temos que mdc(a, b) = 1. Agora procedemos com as divis oes Euclidianas abaixo: 125 12 5 2 = = = = 12 10 + 5 52+2 22+1 12+0 o acima; Dividimos o divisor 12pelo resto 5da equac a o acima; Dividimos o divisor 5pelo resto 2da equac a o acima. Dividimos o divisor 2pelo resto 1da equac a Obtemos resto zero. Ent ao paramos!!!

exatamente o mdc(12, 125). Isolando os restos n Repare que o resto da pen ultima divis ao e ao nulos em cada uma das divis oes acima obtemos: 5 = 125 12 10 2 = 12 5 2 1 = 522 , de baixo para cima, substituir os restos isolados na equac o de O que temos que fazer agora e a , baixo. Isto e 1 = 522 o acima; = 5 (12 5 2) 2 Substitu mos o pen ultimo resto na equac a = 5 (5) + 12 (2) Isolamos a=12 e o antepen ultimo resto 5; = (125 12 10) (5) + 12 (2) Substitu mos o antepen ultimo resto 5. = 125 (5) + 12 (52) Isolamos a=12 e b=125

3. A ESTRUTURA DE GRUPO

o para a equac o 12X + 125Y = 1 e X = 52 e Y = 5. Portanto, uma soluc a a importante observar que este processo, descrito no exemplo e chamado o 2. E Observac a de algoritmo Euclidiano estendido, serve inicialmente para encontrar o m aximo divisor comum entre dois n umeros inteiros. Agora vamos utilizar estas propriedades descritas acima para evidenciar uma estrutura peculiar que Zm possui para certos inteiros m. dito invert Um elemento a 0 em Zm e vel quando existe b Zm tal que a b = 1. dif unicamente determinado pela proNeste caso, n ao e cil ver que o elemento b Zm e chamado de inverso multiplicativo de a e e denotado por priedade a b = 1. Este elemento e 1 a . o em Z3 e Z4 que zemos em um exemplo anterior Exemplo 6. Pelas tabelas da multiplicac a temos: (1) Em Z3 , temos que 1 e 2 s ao invert veis, pois 1 1 = 1 e 2 2 = 1; invert (2) Em Z4 , temos que 1 e 3 s ao invert veis, pois 1 1 = 1 e 3 3 = 1. Mas 2 n ao e vel pois 2 2 = 0, 2 3 = 2. o, temos que um a igualdade a b = 1 equivale a dizer que o resto da Note que, pela denic a 1. Em outras palavras, que a b 1 mod m. Portanto, pela proposic o divis ao de a b por m e a anterior, temos que: invert ae vel em Zm mdc(a, m) = 1. o do primeiro Esta equival encia nos fornece a seguinte generalizac a tem do exemplo anterior. o 4. Seja p > 1 primo. Ent invert Proposic a ao, todo elemento n ao nulo de Z p e vel. claro que p n o de cada elemento do conjunto Prova: E ao aparece na fatorac a {1, 2, . . . , p 1}. Portanto, mdc(a, p) = 1 para cada a {1, 2, . . . , p 1}. um dom Como Z p , com p primo, e nio de integridade e todos os seus elementos s ao in um corpo. vert veis, ent ao dizemos que Z p e 3. A estrutura de grupo o Um conjunto G munido com uma operac a : GG G (a, b) a b dito um grupo quando a operac o satisfaz: e a Existe um elemento e G, chamado de elemento neutro de G, tal que a e = e a = a para todo a G; nico a1 G, chamado de inverso de a, tal que a a1 = Para cada a G existe um u a1 a = e; a (b c) = (a b) c para todo a, b, c G. dito comutativo ou abeliano quando a b = b a para todo AL em disso, o grupo G e a, b G . dito nito quando o conjunto G e nito. Neste caso, a quantidade de elementos Um grupo e chamada de ordem de G e denotada por |G|. de G e

10

2. ARITMETICA MODULAR

o de adic o, e um grupo de Exemplo 7. O conjunto dos n umeros inteiros, com a operac a a ordem innita e com elemento neutro 0. o de produto, n um grupo Exemplo 8. O conjunto dos n umeros inteiros, com a operac a ao e pois o inverso de um elemento diferente de 1 n ao est a em Z. o de adic o, e um grupo Exemplo 9. O conjunto Zm dos inteiros m odulo m, com a operac a a a classe 0. de ordem m, cujo elemento neutro e Exemplo 10. Seja p > 0 um n umero primo. Vimos que se multiplicarmos dois elementos n ao nulos em Z p , ent ao o resultado ser a n ao nulo. Al em disso, vimos que todo elemento n ao nulo de Z p possui um inverso multiplicativo. Portanto o conjunto Z p := {a Z p | a 0}

o do produto, e um grupo de ordem p 1, cujo elemento neutro e a classe 1. com a operac a Agora observamos duas propriedades que nos permite introduzir a ordem, n ao s o para grupos, mas tamb em para elementos do grupo. Seja G um grupo e a G. Consideremos ainda o subconjunto < a >= {. . . , a3 , a2 , a1 , e, a, a2 , a3 , . . .} se n > 0; a a a n vezes e se n = 0; an := 1 1 1 a a a se n < 0; -n vezes o tamb um grupo. Neste caso dizemos que < a > e Note que < a > com a operac a em e desta forma, e chamado de grupo c um subgrupo de G. Um grupo, que e clico. c Exemplo 11. Seja m > 1. O grupo aditivo Zm e clico e gerado por 1. o de adic o, e um grupo Exemplo 12. O conjunto dos n umeros inteiros Z, com a operac a a c clico, gerado por 1. poss Al em deste exemplo e vel observar outros que s ao mais dif ceis de serem justicados. Neste sentido enunciamos o seguinte resultado. c Teorema 3. Seja F um corpo nito. Ent ao o grupo F e clico. o deste fato, j N ao nos preocuparemos com a demonstrac a a que, necessitar amos desenvolver mais sobre a teoria de grupos e, consequentemente, ir amos perder o foco na problem atica prin o. cipal. Por em, mencionamos [?], p ag. 177 Corol ario 1.10, como refer encia para a demonstrac a Como consequ encia deste teorema temos: c primo. Exemplo 13. O grupo multiplicativo Z clico, onde p > 0 e p e Seja G um grupo e a G. Suponhamos que exista um inteiro positivo d tal que ad = e. o, o menor inteiro positivo o(a) satisfazendo esta proEnt ao, a ordem de a ser a, por denic a innita. priedade. Caso n ao exista um tal d diremos que a ordem de a e o 5. Seja G um grupo nito e a G. Ent Proposic a ao, a tem ordem nita e am = e implica que o(a) divide m. de G, onde

3. A ESTRUTURA DE GRUPO

11

nito, ent o Prova: Como {e, a, a2 , a3 , . . . , an , . . .} G, que e ao teremos que ter uma repetic a n m mn , a neste conjunto. Assim, existem inteiros positivos n < m tais que a = a , isto e = e. Desta o, que a ordem de a e nita. forma, temos pela denic a Agora, seja n a ordem de a. Dividindo m por n, obtemos m = qn + r com 0 r < n. Como e = am = aqn+r = anq ar = e ar = ar , temos pela minimalidade de n que r = 0. o 6 (Caso particular do Teorema de Lagrange). Seja G um grupo nito e comutaProposic a tivo e seja a G. Ent ao a ordem de a divide a ordem de G. Prova: Escrevendo G = {g1 , . . . , gn }, com n = |G|, temos que o conjunto {a g1 , . . . , a gn } um subconjunto de G, que possui n elementos distintos dois a dois. Como este conjunto e tamb em possui n elementos, temos que G = {a g1 , . . . , a gn }. Sendo G comutativo, temos a seguinte igualdade. a g1 . . . a gn = g1 . . . gn an g1 . . . gn = g1 . . . gn . Multiplicando esta igualdade pelo inverso de g1 . . . gn , em ambos os lados, obtemos an = e. o anterior. Portanto, o resultado segue da proposic a rio 1 (Pequeno Teorema de Fermat). Seja p > 0 primo e a Z Corola ao, p . Ent a p1 = 1. Equivalentemente,

CAP TULO 3

Criptograa
Ao longo deste cap tulo explicaremos e exemplicaremos os dois tipos de sistemas de criptograa: o de chave privada e o de chave p ublica.

1. Sistema de criptograa de chave privada Existem diversas formas de trocar mensagens codicadas quando ambas as partes combinam uma chave secreta que tanto serve para codicar a mensagem, quanto serve para a decodicar. Estas formas s ao chamadas de sistemas de criptograa de chave privada. Vamos apresentar dois exemplos. Exemplo 14. O primeiro exemplo que vamos apresentar foi utilizado por J ulio C esar na poca do imp es sobre estrat e erio Romano para transmitir informac o egias nas batalhas. A tabela abaixo identica em cada coluna a letra da primeira linha com a letra da segunda linha. a b c d e f g h i j k l m n o p q r s t u v x y w z f g h i j k l m n o p q r s t u v x y w z a b c d e Desta forma, estamos identicando cada letra com a quinta letra posterior a esta, na or claro que, para identicar as u ltimas cinco letras, estamos considerando o dem do alfabeto. E , ap alfabeto c clico, isto e os a letra zvem a letra a, de novo. Portanto se a mensagem nsnrnltxjhzfsitchega para J ulio C esar, ent ao ele utiliza o quadro acima para decodicar a mensagem, como podemos ver na tabela abaixo: n s n r n l t x j h z f s i t i n i m i g o r e c u a n d o Com isso ele entenderia a mensagem: inimigo recuando. interessante pois reduz a codicac o de menO segundo exemplo que apresentaremos e a o de n importante para a implementac o do sagens a codicac a umeros. Isto, por sua vez, e a o seguinte. sistema de criptograa de chave p ublica, que veremos na sec a Exemplo 15. O C odigo Padr ao Americano para o Interc ambio de Informa ca o (American o das letras (mai Standard Code for Information Interchange) associa uma numerac a usculas e o min usculas), n umeros e s mbolos que utilizamos para compor mensagens e uma identicac a o com um s dos n umeros desta ordenac a mbolo bin ario. Isto pode ser visto nas tabelas a seguir.
13

14

3. CRIPTOGRAFIA

Bin ario Decimal S mbolo 00100000 33 espac o 00100001 33 ! 00100010 34 00100011 35 00100100 36 $ 00100101 37 00100110 38 00100111 39 00101000 40 ( 00101001 41 ) 00101010 42 * 00101011 43 + 00101100 44 , 00101101 45 00101110 46 . 00101111 47 / 00110000 48 0 00110001 49 1 00110010 50 2 00110011 51 3 00110100 52 4 00110101 53 5 00110110 54 6 00110111 55 7 00111000 56 8 00111001 57 9 00111010 58 : 00111011 59 ; 00111100 60 < 00111101 61 = 00111110 62 > 00111111 63 ?

1. SISTEMA DE CRIPTOGRAFIA DE CHAVE PRIVADA

15

Bin ario Decimal S mbolo 01000000 64 @ 01000001 65 A 01000010 66 B 01000011 67 C 01000100 68 D 01000101 69 E 01000110 70 F 01000111 71 G 01001000 72 H 01001001 73 I 01001010 74 J 01001011 75 K 01001100 76 L 01001101 77 M 01001110 78 N 01001111 79 O 01010000 80 P 01010001 81 Q 01010010 82 R 01010011 83 S 01010100 84 T 01010101 85 U 01010110 86 V 01010111 87 W 01011000 88 X 01011001 89 Y 01011010 90 Z

16

3. CRIPTOGRAFIA

Bin ario Decimal S mbolo 01011011 91 [ 01011100 92 \ 01011101 93 ] 01011110 94 01011111 95 01100000 96 ` 01100001 97 a 01100010 98 b 01100011 99 c 01100100 100 d 01100101 101 e 01100110 102 f 01100111 103 g 01101000 104 h 01101001 105 i 01101010 106 j 01101011 107 k 01101100 108 l 01101101 109 m 01101110 110 n 01101111 111 o 01110000 112 p 01110001 113 q 01110010 114 r 01110011 115 s 01110100 116 t 01110101 117 u 01110110 118 v 01110111 119 w 01111000 120 x 01111001 121 y 01111010 122 z 01111011 123 { 01111100 124 01111101 125 } 01111110 126

2. O PROBLEMA DO LOGARITMO DISCRETO

17

o, a mensagem abaixo (que foi quebrada para caber na p Com esta codicac a agina): 01100011011101010111001001110110011000010111001100100000 011001010110110001101001011100000111010001101001011000110110000101110011 signica:
01100011 99 c 01100101 101 e 01110101 117 u 01101100 108 l 01110010 114 r 01101001 105 i 01110110 118 v 01110000 112 p 01100001 97 a 01110100 116 t 01110011 115 s 01101001 105 i 00100000 32 01100011 99 c 01100001 97 a 01110011 115 s

, curvas elipticas. Isto e relevante observar que, em ess E encia, o segundo exemplo difere levemente do primeiro. Isto se d a, pelo fato que no primeiro existe um prop osito de n ao revelar a mensagem enviada. o universal para converter J a o segundo possui o objetivo de criar um esquema de codicac a de extrema import mensagens, dos mais variados tipos, em sequ encias de n umeros. Isto e ancia para o sistema de criptograa de chave privada, como veremos mais para frente. 2. O problema do logaritmo discreto Em 1976, Whiteld Die a Martin Hellman publicaram um artigo [?] que mudou o rumo es, que foi sugestivamente intitulado por New directions in cryda dos sistemas de codicac o ptography. Neste artigo foi denido o sistema de criptograa de chave p ublica e os objetos a func o de associados em que este sistema se baseia. Um exemplo de um destes objetos e a o, isto e , uma func o invert uma direc a a vel, f acil de ser computada, cuja inversa j a se torna dif cil de ser encontrada, a menos que seja dadas hip oteses extras. Basicamente, este sistema e o destes tipos de func es que possuem esta propriedade. Neste sentido, constru do na elaborac a o vamos introduzir o problema do logaritmo discreto, que nos possibilita de construir estas es. Entretanto, iremos abordar uma vers func o ao levemente mais geral deste problema, para que possamos construir variados exemplos de sistemas de criptograas de chave p ublica. o ser Seja G um grupo, cuja operac a a denotada por . O problema do logaritmo discreto de determinar, para dois elementos g, h G xados, um inteiro x satisfazendo: em G e g x = h. claro, que em alguns grupos este problema pode n o. E ao ter soluc a o de adic o, e xarmos g = 2 e Exemplo 16. Se consideramos o grupo Z4 , com a operac a a ao n ao existe x inteiro tal que x 2 = 3, j a que, h = 3, ent x2= par; 0 se x e 2 se x e mpar.

o para o problema do logaritmo discreto g x = h, ent Por outro lado, quando existe soluc a ao o x := logg (h). denominamos x por logaritmo discreto de h na base g e utilizamos a notac a o 3. Note que este s Observac a mbolo n ao est a bem denido como um n umero inteiro, j a a ordem de g, ent uma soluc o para o problema do logaritmo que, se n e ao x + n tamb em e a discreto g x = h. De fato, g x+n = g x gn = h e = h. es do problema g x = h, ent Por outro lado, se x1 e x2 s ao soluc o ao n divide x1 x2 , j a que, x1 x2 x1 x 2 1 1 g = g (g ) = h h = e. Portanto, x1 = x2 em Zn e, consequentemente, o s mbolo

18

3. CRIPTOGRAFIA

logg (h) est a bem denido como elemento de Zn . Al em disso, o s mbolo logg (h) tamb em est a bem denido com um n umero inteiro entre 0 e n 1. Inicialmente, Die e Hellman introduziram este problema para os conjuntos Z p , com p o seja bem complicada. O que assegurava a eles sobra a primo bem grande, para que a soluc a es do problema do logaritmo discreto e o seguinte teorema. exist encia de soluc o um primo e g Z p e tal que Z Como vimos pelo Exemplo 13, se p e ao temos p =< g >, ent um isomorsmo do grupo multiplicativo Z no grupo aditivo Z : p 1 p logg : Z p Z p1 . Exemplo 17. Por simplicidade vamos considerar p = 13, g = 2. Fazemos uma tabela com as pot encias de g: n 1 2 3 4 5 6 7 8 9 10 11 12 gn 2 4 8 3 6 12 11 9 5 10 7 1 h logg (h) 1 0 2 1 3 4 4 2 5 9 6 5 7 11 8 3 9 8 10 10 11 7 12 6

3. Um sistema de criptograa de chave publica O primeiro sistema de criptograa de chave p ublica foi o RSA, inventado por Rivest, Shamir e Adleman em 1978. Por em, o sistema que mais se aproxima das id eias de Die e Hellman, este u ltimo que abordamos anteriormente, foi elaborado por Taher ElGamal em 1985. Como e ele que sistema que nos possibilita introduzir um an alogo, utilizando curvas el pticas, ent ao e iremos discutir aqui. Citamos [?] e [?] como refer encias para ler sobre o RSA. Vamos descrever o sistema de criptograa de chave p ublica ElGamal em passos. Supon codicada em um hamos que Bob queira enviar uma mensagem a Alice. Esta mensagem e poss n umero m, como j a vimos que e vel. Passo 1. Bob e Alice combinam inteiros p > m (primo grande) e g e compartilham por um canal o. Al n ao seguro de comunicac a em disso, Bob escolhe um inteiro k somente par codicar a mensagem m e que ser a descartado ap os isto. Por este motivo, denominamos k por chave ef emera; Passo 2. Alice escolhe um inteiro secreto a e envia para Bob o inteiro A ga mod p; Passo 3. Ent ao, Bob calcula os dois inteiros: c1 gk e c2 mAk mod p enviado para Alice; e a mensagem codicada ser a o par (c1 , c2 ), que e

3. UM SISTEMA DE CRIPTOGRAFIA DE CHAVE PUBLICA

19

Passo 4. Para decifrar a mensagem de Bob, primeiro Alice calcular


1 x ca 1 e x mod p.

Note que s o Alice pode calcular x, j a que, s o ela conhece o inteiro a ; ltimo, observamos que basta Alice calcular Passo 5. Por u c2 x1 m mod p.
1 c2 = (gak )1 (mAk ) = (gak )1 (m(ga )k ) = m mod p. De fato, x1 c2 = (ca 1)

o 4. Agora, podemos ver o qu o, e o problema Observac a ao importante, para esta construc a do logaritmo discreto. De fato, se um intruso tiver acesso aos dados enviados entre Alice e Bob, , p, g, A = ga , c1 e c2 , e, se al isto e em disso, ele ainda souber resolver o problemas do logaritmo discreto g x = A em Z p , ent ao ele poder a descobrir a. Consequentemente ele poder a descobrir m, seguindo os passos listados acima. claro que, se utilizarmos n E umeros pequenos, ent ao as chances de resolver o problema do recomenlogaritmo discreto s ao muito grandes. Desta forma, para haver uma seguranc a real e dado que o primo escolhido seja aproximadamente 21000 e que a ordem de g deva ser prima e sobre a deva ser aproximadamente p/2. Neste sentido, uma quest ao natural para ser abordada e o de primos muito grandes. construc a se este m Uma quest ao natural que surge, e etodo de criptograa n ao carrega junto uma forma uma primeira, e fundamental, quest abordada sempre que f acil de ser decifrado. Esta e ao que e o secreta. se tenta denir um meio de comunicac a sobre o tempo necess Uma segunda quest ao importante, e ario para que um ataque possa medido pela quantidade de operac es que um quebrar este sistema. Em geral, este tempo e o o da soluc o intruso necessita para decifrar a mensagem. E interessante observar que a obtenc a a do problema do logaritmo discreto varia de diculdade conforme variamos o grupo envolvido. relevante tentar construir sistemas de criptograa de chave publica, baseada no Desta forma, e exatamente o objeproblema do logaritmo discreto, com outros grupos al em do Z p . Este e tivo que teremos daqui por diante. Construiremos um grupo associado a uma curva el ptica e deniremos um an alogo deste sistema ElGamal para este grupo. Acredita-se que o problema do logaritmo discreto no grupo associado a curvas el pticas possui uma diculdade maior de ser resolvido que o problema em Z . Como refer e ncia sobre o estudo do n vel de diculdade da p quebrado problema do logaritmo discreto indicamos [?], Cap tulo 2.

CAP TULO 4

Curvas El pticas
1. O modelo de Weierstrass

2. A estrutura de grupo 3. O problema do logaritmo discreto para curvas el pticas 4. Um modelo de criptograa com curves el pticas

21

Bibliograa
o Matem [C] S. C. Coutinho, N umeros inteiros e criptograa RSA, IMPA/SBM, S erie de Computac a atica (2000) [DH] W. Die and M. E. Hellman, New directions in cryptography, IEEE Trans. Information Theory, IT22(6):644654 (1976) [E] T. ElGamal, A public key cryptosystem and a signature scheme based on discrete logarithms, IEEE Trans. Information Theory, 31(4):469472 (1985) o Matem [H] A. Hefez, Curso de Algebra, Volume 1, IMPA, Colec a atica Universit aria (1993) [HPS] J. Hostein, J. Pipher, J. H. Silverman, An introduction to mathematical Cryptography, Undergraduate Texts in Mathematics, Springer (2008) [L] S. Lang, Algebra, Undergraduate Texts in Mathematics, Springer (2008)

23

Anda mungkin juga menyukai