Академический Документы
Профессиональный Документы
Культура Документы
Departamento
Dissertao de Mestrado
Prof.
Torres Orihuela
Banca examinadora:
como requisito
Ao meu DEUS
Aos meus pes JOSE ALONSO E YOLANDA
Ao (0, 12, 14, 17)
Agradecimentos
.......... Todos fazem parte da minha lenda de vida, nunca os esquecere ......... .
lV
Abstract
Jacobian of
a hyperellptic curve. In this article, Koblitz generalized the algorithm to add points in the
Jacobian presented by Cantor in 1987.
At this dissertaton, we study properties of the hyperellptic curves and its Jacobians,
looking at the mplementation of public-key cryptosystems. Also, we present Cantor's algorthm to add ponts in the Jacoban (This is important to the efficiency of the cryptosystem)
and we show an algorithm to attack the discrete logarithm problem on theses groups (The
intractability of this problem is essential for the security of the cryptosystem).
Resumo
Vl
"
LISTA DE SIMBOLOS
"K
Um corpo de caracterstica p 2: O
,.1(
O fecho algbrico de K
Grupo de Galois de
K/ K
mdc(a, b)
" 'll/n'll
., ('ll/n'll)*
.. lF*q
"p2(K)
" #(S)
Cardinalidade do conjunto S
"E
Curva elptica
E(K)
.. o
Ponto no infinito
6. = t.(E)
.. PeQ
"#E(K)
Funo de Euler
"Q
Logaritmo em base b de x
Conjunto de matrizes invertveis com entradas no anel
"GLd(R)
" det(A)
!C)
\
\
Grupo de automorfismos de
sobre L
Curva hiperelptica
Nmero de pontos racionais de H sobre L
eD
Divisor de H
"deg(D)
Grau de um divisor
" Sup(D)
Suporte de um divisor
"DivL(H)
e Div~(H)
L[H]
sobre
" L(H)
div(r)
"vp(r)
Valorao ou ordem de P E H em r
Jacobiano de H sobre L
Nmero de pontos do Jacobiano de H sobre L
LISTA D
FIGURAS
Diagrama de Comunicao
= x 3 - 4x Soma de P e Q
3.1
Curva Elptica E : y 2
3.2
21
21
4.1
Curva Hperelptica 1 .
32
4.2
Curva Hperelptica 2 .
33
4.3
Curva Hiperelptica 3 .
33
ll1
#'
CONTEUDO
Lista de Smbolos
Lista de Figuras
Introduo
1
Aspectos Gerais
1.1
Criptoanlise
1.2
1.3
11
2.1
Diffie-Hellman .
11
2.2
RSA ..
12
2.3
E!Gamal
15
16
2.3.1
vi
Criptossistemas Elpticos
19
3.1
19
3.2
23
Criptossistemas Hiperelptcos
28
4.1
29
29
Generalidades . . . . . . .
JV
4.1.2
Pontos racionais .
31
4.1.3
Exemplos . . . .
32
4.
4.2
4.3
Divisores sobre H .
4.1
35
4.
36
4.1.8
Divisores principais.
36
4.1.9
Divisores semi-reduzidos
38
39
O Jacobiano de H . . . . .
42
4.2.1
42
4.2.2
4.2.3
Automorfismo de Frobenius ..
49
50
Comentrios
53
Apndice
56
A Preliminares Matemticos
56
B Complexidade Algoritmica
59
62
64
Bibliografia . . . . . . . . .
Introduo
Atravs dos anos a criptografia vem sendo usada para enviar mensagens ocultas com o
jetivo de serem lidas somente por pessoas autorizadas. Entre os problemas que a criptografia
resolve, referentes a segurana em uma comunicao, temos: privacidade, integridade, autenticidade e o no repudio das mensagens. Desde o incio do ltimo sculo, uma fonte
permanente de algoritmos para a implementao de criptossistemas de chave pblica so
provenientes de Variedades Abelianas (veja [8, Milne, Cap. V]), em especial do Jacobiano
de curvas algbricas. Este captulo introdutrio descreve o objetivo do presente trabalho,
assim como a estrutura na qual foram desenvolvidos os demais captulos, com o intuito de
facilitar a compreenso da teoria aqui exposta.
Objetivo
O objetivo desta dissertao o estudo de propriedades das Curvas Hiperelpticas e seus
Jacobianos, visando a construo de criptossistemas de chave pblica. Esta implementao
foi introduzida pela primeira vez por Koblitz [19], baseado na intratabilidade do problema
do Logaritmo Discreto em subgrupos do Jacobiano de curvas hiperelpticas. Aqui, surgem
questes sobre a implementao deste tipo de criptossistemas e sua segurana frente ataques
como o Index-Calculus 2 .
2 Um
ataque para resolver o Problema do Logaritmo Discreto (DLP). No entanto, ser visto com detalhe
na subseo (2.3.1)
Vl
vii
Dados Histricos
Desde a antiguidade, a escrita oculta tem estado presente intrnsecamente no sistema de
escrita hieroglfica dos egpcios. Os romanos, utilizavam-a para comunicar planos de batalha
durante suas
atravs dos anos, a escrita oculta manteve seu maior interesse no mbito
militar e tal o fato que durante a Segunda Guerra Mundial, o exrcto alemo estabelecia comunicaes ocultas via uma mquina, chamada ENIGMA 3 , para orientar suas tropas
contra o exrcito inimigo. Ao tempo, num lugar chamado Bletchley Park na Inglaterra,
um grupo de cientistas, entre os que se encontrava Alan Turing4, trabalhavam no projeto
ULTRA tentando descobrir as mensagens ocultas enviadas pelo exrcito alemo. Como con-
4 (1912-19.54)
viii
Pelas consideraes acima, em 1989, Neal Kobltz [19] introduziu os chamados criptossistemas hipereliptcos pela primeira vez, usando o Jacobiano de curvas hiperelpticas definidas
sobre corpos finitos, baseado na intratabilidade computacional para o (DLP) sobre este
tipo de grupos, isto , baseado em um algoritmo de tempo exponencial para resolver este
problema.
Estrutura da Dissertao
O presente trabalho est dividido da seguinte maneira:
., No captulo 2 apresentamos a teoria elementar de criptografia de chave privada
simtrica) e de chave pblica (ou assimtrica), assim como os tipos de tcnicas usadas para tentar quebrar um criptossistema, fornecendo uma ampla viso no contexto
criptogrfico.
e No captulo 3 estudamos os criptossistemas bsicos de chave pblica e fazemos alguns
exemplos particulares
(no prticos)
Mencionamos mtodos existentes para quebrar os criptossistemas, assim como consideraes a levar na escolha dos parmetros para ter maior segurana.
Tambm
ix
" Finalmente comentamos alguns dos pontos mais relevantes observados ao longo do
trabalho, resultados importantes de outros trabalhos obtidos nesta area, assim como
propostas futuras de pesquisa a continuar.
CAPTULO
Aspectos Gerais
Como foi mencionado na introduo, a criptografia estuda criptossistemas que nada mais
so algoritmos que fornecem segurana e proteo em uma comunicao. Os aspectos da
segurana, esto relacionados com a Privacidade, a Integridade, a Autenticidade e o no
envia c para
necessariamente segura no sentido que um terceiro usurio no autorizado poderia ter acesso
a c. Finalmente,
I
I
II
I Cifragem- s
I
I
lc
c
Usurio
no
autorizodo
n ,,.,
li'
.0
I I -
lm
Usurio A
Usurio B
Figura L 1: Diagrama de Comunicao
(1.1)
em que:
" A um conjunto finito, chamado o alfabeto de entrada; 1
" M um conjunto formado por cadeias finitas de comprimento constante; este conjunto
chamado o espao de mensagens bsicas;
Usualmente A o alfabeto binrio {0, 1}, o alfabeto ingls ou o alfabeto de alguma lngua.
" K um conjunto finito, cada elemento deste conjunto chamado de chave e uma
ferramenta fundamental para manter oculta a informao;
funo
de cifragem;
" 1J o espao das funes d : C --+
de decifragem;
tal que, cada chave k E K determina urna nica funo de cifragem
funo de decifragem dk E 1J tais que dk o
satisfazem
dk
k =
E e uma nica
e dk
1.1
Criptoanlise
1.1
pessoa que faz criptoanlise; vulgarmente conhecida com o nome de intruso, usurio no
autorizado, atacante, pirata ou hacker.
Os ataques que um criptoanalista pode fazer numa comunicao entre os usurios A,
esto classificados como segue:
(1) Ativos: aqui o crptoanalista faz aes indiretas para recuperar a mensagem original:
por exemplo, se faz passar por uma pessoa autorizada ou tenta substituir uma mensagem de
para
criptoanalista.
(2) Passivos: aqui o criptoanalista tenta recuperar a mensagem original m enviada por
A a partir da correspondente mensagem cifrada c (isto tambm pode ser feito se ele
descobre a chave k utilizada por
do alfabeto de uma lngua, para aplicar este ataque se calcula a freqncia mdia com que
cada letra aparece no texto; esta freqncia tende a ser constante para textos com o mesmo
nmero de letras.
A lngua portuguessa tem as seguintes propriedades [9]:
GERAIS
CAP. 1 ,.
a mais freqente;
do
esto aqueles chamados de fora bruta onde o criptoanalista conhece o espao de chaves e
trata de obter a mensagem original aplicando em forma exaustiva todas as possveis funes
de decifrado mensagem cifrada.
1.2
Ek
ou vice-versa. O intere-
ssante de algumas classes de criptossisternas deste tipo somente terica, no entanto, seu
estudo permite entender melhor os criptossistemas de chave pblica [29, p. 25]. A classe
dos criptossistemas mencionada, no tem garantia de segurana em uma comunicao, pois
so fcilmente quebrados, por exemplo, em um computador comum se pode implementar
algoritmos que quebram rapidamente estes criptossistemas. Exemplos de criptossistemas que
pertencem classe mencionada acima so o de Csar (Exemplo Ll), o Vigenere (Exemplo
1.2) e o criptossistema de Hill (Exemplo 1.3).
Para os exemplos a seguir, nosso alfabeto de entrada A ser o ingls que tem 26 elementos. Identificamos este com o grupo finito Z/26Z via a bijeo <P : A
J(A)
O, J(B) = 1, , J(Z)
--+
Z/262.
DE CHAVE PRIVADA
k :
---+
C, x
.~VJ
r--+
=C= K
x
+k
(aqui
+a
operao de soma no
= y- k.
devido a que o caso k = 3 foi usado pelo Imperador
Romano Jlio Csar (45 A.C.) para cornunicar-se com os generais do seu exrcito nas lutas
(ele no confiava em seus mensageiros!) [17].
Exemplo 1
Blaise Vigenere. Sua idia consistiu em fixar uma palana (seqncia finita de elementos do
alfabeto de entrada) e aplicar, em base a esta, o criptossistema de Csar a cada elemento de
M; esta palavra ser um elemento de IC. Neste criptossistema, para um inteiros 2: 2 fixado,
temos:
=C= Z/26Z,
= (Z/26Z)'.
(m~,
... , me), que sero cifrados em mensagens similares como (c1 , ... , ce)
E:k:
M---+ C, Ek(mi)
:=
mi + ki
(mod s)
Ci- ki
(mod s),
respectiva-
(2, 17, 8, 15, 19, 14, 6, 17, O, 5, 8, O) (que significa CRIPTOGRAFIA de acordo a nossa codificao), utilizando a chave (0, 11, 14, 13, 18, 14) (que significa ALONSO). Logo a mensagem cifrada ser (2, 2, 22, 2, 11, 2, 6, 2, 14, 18, O, 14) (que representada no alfabeto ingls
seria CCWCLCGCOSAO).
Observemos agora que no criptossistema de Csar uma letra da mensagem cifrada no
pode corresponder a diferentes letras da respectiva mensagem enviada; no entanto, isto pode
acontecer no crptossistema de Vigenere como se pode ver no exemplo acima. Note que isto
no significa que a funo de cifragem
Ek
presente a posio de cada letra. Para este criptossistema possvel um ataque de anlise
de freqncias por blocos de tamanho s, veja [29, p. 248].
Exemplo 1.3. (Criptossistema de Hll) Os criptossstemas nos exemplos anteriores s foram
melhorados depois de muito tempo. De fato, em 1931 Lester S. Hill introduziu os chamados
criptossistemas lineares ou matriciais [15]; os nomes se devem as correspondentes funes de
CAI'. 1
M =C = (Z/26Z)s,
Observe que
E !C
!C
= {GLs(Z/26Z)}.
K :
--+
:=
elementos
E !C a funo
m K, e conseqentemente a funo de
decifragem dK(c) :C-+ M dada por dK(c) =c K- 1 Para um exemplo numrico, tomemos
s = 2. Queremos enviar a mensagem m := (0, 12, 14, 17) (que significa, de acordo a nossa
(~ ~)
A matriz inversa de K a matriz com linhas (25, 3) e (2, 21). Como os elementos de M
(mensagens bsicas) so vetores 1 x 2, primeiro devemos decidir como particionar em blocos
(de 1 x 2) a mensagem a ser enviada. Usualmente esta partio se faz da esquerda para
direita. Assim, particionamos m em m
:=
(0, 12) e m 2
cifrada ser (m1K, m2K) = (24, 12, O, 7) (que, usando o alfabeto ingls, representa YMAH).
Se o comprimento P. de uma mensagem a cifrar m
= (a 1 , ... , ae)
no mltiplo do
:=
(m, a, ... , a)
(a 1 , ... , ac, a, ... , a). Aqui o smbolo a um elemento previamente fixado do alfabeto de
entrada, e a quantidade de a's o mnimo possvel tal que o comprimento de m seja mltiplo
de s.
A seguir, mostramos um ataque do tipo (2.2) ao criptossistema de Hill.
Exemplo 1.4. No exemplo anterior tomemos s = 3; suponhamos conhecido as mensagens
bsicas m 1
(3, o, 15)
= (8, 1, 12)
= IBM, m 3
= (15, O, 25)
= PAZ, assim
= DAP.
Ento o criptoanalista pode achar a chave K = (kij) do criptossistema mediante a resoluo de sistemas lineares de equaes. De fato, de m;K
de equaes lineares com variveis k1j, k2J, k3J (j = 1, 2, 3). Se pode ver que a chave que est
SEO 1.3
8
3
16
Este ataque do tipo passivo (2.2) e
Exemplo 1.
( Criptossistema DES)
As chaves deste
1.3
GERAIS
Com o objetivo de dar uma maior liberdade na hora de estabelecer uma comunicao
segura e de cobrir as deficincias da criptografia de chave privada mencionadas em (A), (B),
(C) da seo
em
de um
com respeito a
--+
DE CHAVE
10
(3) O clculo em (2) passa a ser computacionalmente fcil sempre que se conhea alguma
informao adicional. A informao adicional chamada o segredo (trapdoor) de
f.
= IF; e
= ax. Esta f
a
propriedade para ser
direcionaL pois o clculo de f (x) obtido em tempo polinomial. Ao respeito da segunda
propriedade, dado y tentar calcular x tal que y =
conhecido como o Problema do
-+
Y dada por
-+
:= pq
e X
f :X
-+
y = f(x) (para y dado) o problema de calcular razes quadrticas mdulo n. [29, p. 115].
Exemplo 1.7. O item (2) do exemplo acima sera uma funo unidirecional com segredo,
pois uma informao adicional para que est satisfaa a condio ( 3) de funo unidirecional
com segredo seria que p e q fossem conhecidos.
CAPTULO 2
Criptossistemas Pblicos Bsicos
2.1
Diffie-Hellman
Como j foi mencionado na Seo (1.3), a criptografia de chave pblica nasceu no primeiro
artigo publicado por Whitfield Diffie e Martin Hellman [lO] em 1976. Em este artigo, Diffie
e Hellamn propuseram um sistema para trocas de chaves criptogrficas entre dois usurios
sobre uma linha de comunicao insegura, no entanto este no um mtodo para cifrar
mensagens.
Para dois usurios A e B que desejam ter uma chave em comum, eles devem de escolher
um nmero primo p e um elemento a, gerador de (Z/pZ)*, que sero parmetros pblicos.
A seguir, os passos que cada usurio deve fazer para compartilhar o segredo.
" A escolhe um nmero aleatrio x entre 1 e p- 2 e envia a B o valor de o:x (mod p).
11
SEO 2.2
12
RSA
e B compartilham o segredo
chaves Diffie-Hellman.
Problema Di.ffie-lfie,llrna.n (DHP) O problema que se enfrenta um atacante interessado em saber o segredo que os usurios A e B compartilham, est relacionado com o Problema
2.2
RSA
Este criptossistema foi criado por Ronald Rivest, Adi Shamir e Leonard Adleman (1978).
O criptossistema pode ser usado para cifrar e assinar mensagens [29, p. 433], [29, p. 204].
O RSA baseia sua segurana na dificuldade de fatorar inteiros grandes. A seguir, os passos
que dois usurios A e B (representados pela letra U) devem fazer para estabelecer uma
comunicao usando o criptossistema RSA.
(1) O usurio U escolhe dois nmeros primos p e q (se recomenda que estes nmeros
tenham entre 200 e 400 algarismos) e calcula nu= pq. Logo, o grupo a ser usado pelo
usurio U ser (Z/nuZ)*. A ordem do grupo calculada usando a funo if; de Euler
if;(nu) = if;(p q)
if;(p) if;(q)
CAP. 2
13
(2) Depois, U escolhe um inteiro ru tal que 1 < ru < 9(nu) seja relativamente primo com
a ordem do grupo.
(3) Usando o algoritmo estendido de
de su; da temos que ru su
~ccucn.cco,
=1
9(nu)) com 1
nmero su: claro que tambm devem de permanecer ocultos os nmeros p, q e 9( nu)
por segurana do criptossistema.
Para o usurio A enviar uma mensagem ao usurio B, usa a chave pblica (nB, rB) de B,
e para cada mensagem bsica mE M =C
Para o usurio
o conjunto JC
= {(rB,sB)
7l X
(mod 9(nB))}. Nem todo elemento de JC serve para usar como chave em um criptossistema,
pois existem ataques eficientes dependendo da escolha dos parmetros p, q e
rB.
Exemplo 2.3. Tomemos o alfabeto ingls codificado como nos exemplos dados no captulo
anterior de criptossistemas de chave privada sendo o alfabeto de entrada. O usurio A deseja
enviar a mensagem m
SB =
(6497, 299),
nB =
676
<
nB
<
17576 = 263 , ento a mensagem bsica dever ter no mximo duas letras. Para enviar
mensagens maiores se divide em blocos de duas letras (completando o ltimo bloco com
1 por
26 + 25 = 686.
2.2
14
RSA
NO= N 26 +O= 13 26 +
Ciframos
c1
m 1 , m2
= 352
= m1
(mod ns)
O 26 2 + 12 26 + 23 = AM X.
AA1X).
que
possa recuperar a
5324
= Cj
AMX
= 335
C2 .
= CSB
1
-
5324 5891
(mod 6497) e
(mod 6497).
(mod
nB) -
= 352 = 13 26 + 14 =NO
m 2
= 494 = 19 26 +O= TA
a<P(n)
=1
(mod n).
11
=1 (mod n). Se
15
BSICOS
!ll.
= [1
alguma
n. O objetivo reduzir ao
2.3
O"n
= 9 [29, p. 290].
ElGamal
Este criptossistema foi criado inicialmente para produzir assinaturas digitais, mas depois
se estendeu para cifrar mensagens. O criptossistema E!Gamal prope um esquema de chave
pblica baseado no problema do logaritmo discreto sobre um grupo (finito e cclico) G fixado;
ver Definio (2.1). Suponha que o usurio A deseja enviar uma mensagem m ao usurio
B, usando este criptossistema; logo A tem que fazer o seguinte:
" Obter os parmetros pblicos de B, a saber, (p, a, ab) onde p um nmero primo
grande e a um gerador do grupo multiplicativo G = (ZjpZ)* dos inteiros mdulo p;
" Escolher aleatriamente um inteiro k tal que 1 ::; k ::; p - 2;
" Representar as mensagens m como inteiros entre {0, 1, ... ,p- 1};
" Calcular
ak
(mod p) e
m(o:b)k
(mod p);
" Enviar o texto cifrado c = (, o) para B. Agora, para o usurio B recuperar a mensagem,
,. Usa sua chave privada para calcular p-l-b = a-kb (mod p);
" Obtm a mensagem m calculando
~fp-l-bo
(mod p).
16
2.3
= (Z/15485863Z)* e um gerador a= 7.
O usurio B escolhe o inteiro b = 21702 e calcula a 6 = 721702 = 8890431 (mod 15485863),
que so suas respectivas chave privada e pblica. Suponhamos que o usurio A deseja enviar
a B a mensagem m =
criptossistema RSA.
JOSE= 9 26 3
+ 14 26 2 + 18. 26 + 4 =
168120
7480-
-I
= m(ci)k
(mod 15485863)
(mod 15485863) e,
=168120 9846598
2272786
(mod 15485863).
12001315
1 265 +O 264
o= 2272786 = 4 26
6 26 3
+ 21 26 2 + 11 26 + 1 = BAGV LB,
+ 25 26 3 + 8 26 2 + 2. 26 + 22 = EZICW.
Portanto a mensagem a enviar a B (BAGVLB,EZICW). Vejamos como o usurio B recupera a mensagem. Primeiro B codifica a mensagem cifrada recebida; ento BAGV LB =
12001315
aa
e EZICW
1
,P- -b
= 2272786 =
= 1200131515464160
Finalmente,
m =
,p-
-b
14823281
o = 168120
(mod 15485863).
(mod 15485863),
assim,
rn
2.3.1
168120 = 9 263
+ 14 26 2 + 18. 26 + 4 =
JOSE.
similar ao mtodo de fatorar nmeros inteiros chamado Base Fator ver [20, p.l48]. A seguir
17
BSICOS
CAP. 2
descreveremos este ataque para um grupo G em geral. Seja G =< g > o grupo base,
#(G) = n e B
passos (1) e (2) se quer achar o logaritmo discreto de cada elemento da base fator em base
Por ltimo, usando a informao obtida construmos um sistema equaes onde os elementos
da base fator apaream, relacionando o elemento a achar o logaritmo discreto. Assim,
igualdades do tipo
r
I1
g t E Z,
=l
ou equivalentemente
r
Laind9 (P;)=t
(modn),
(2.1)
i=l
(2) Uma vez obtidas suficientes equaes da forma (2.1) se calculam os ind9 (P;).
(3) Dado a E G calcular o ind9 (a) o mesmo que resolver o problema do logaritmo discreto.
Se procuro equaes da forma
r
IT Pi"'' = ag"' ,
i=l
.E~=l
Observao 2.5. A eficincia do mtodo est em achar o conjunto B para que existam as
equaes do tipo (2.1).
= IF]'9 e
=3
(mod 18),
=2 3 - 5
ind3(1l) = ind3(2)
= 11 no grupo G. Ento,
(mod 18)
=12
(mod 18).
SEAO 2.3
ELGAMAL
18
Nos ltimos anos tem-se achado algoritmos computacionais cada vez mais eficientes para
resolver os problemas matemticos nos quais estes criptossistemas de chave pblica baseiam
sua segurana, tendo colocado em dvida a confiana depositada nestes, que alguns anos
atrs eram uma
distante, mas devido ao avano tecnolgico isto se faz cada vez mais
CAPTULO 3
Criptossistemas Elpticos
O nome de curvas elpticas devido a que elas foram utilizadas no passado para medir o
permetro de elipses e encontrar o comprimento das rbitas planetrias. Contudo, o nome
no conveniente, pois de fato estas curvas no so elipses.
Nos ltimos anos, o estudo das curvas elpticas tem aumentado por suas diversas aplicaes
em diferentes reas, como por exemplo, na Teoria dos Nmeros e Cincias da Computao;
alm disso, propriedades destas curvas jogam um papel importante na demonstrao do
famoso ltimo Teorema de Fermat. Para mais detalhes sobre a teoria de curvas elpticas
ver [4], [37], [38].
3.1
19
3.1
TEORIA
20
CURVAS
polinmio da forma
so tais que
com
2 '
b1 = a 1 -r 4a2
bz = a 1a3 + 2a 4 ,
b3 =a~+ 4a6
b4 = aia6
+ 4a2a6
reta Z = O em um
O := (O : 1 : O).
Agora, consideramos as funes racionais x
:=
X/Z e y
:=
(3.2)
onde os ais so tomados como em (3.1). Se a caracterstica p de K diferente de 2, por
mdio de mudanas afines de coordenas podemos supor que E est descrita por
(3.3)
onde
c 1,
ainda, p
+ 72clc2c3 #
O. Se mais
(3.4)
onde d~. d2 E K e t::. = -16(4dr
+ 27dD #o.
racionais sobre L da curva E, denotado por E( L), o ponto O junto os pares (x, y) E L x L
que satisfazem a equao (3.2).
1A
21
CAP. 3
definida por uma operao binria 8, que pode ser descrita geometricamente da seguinte
forma. Sejam P, Q E E(K) e L
= Q, L tangente em
.!L
P/:_
1-
2\
/ "'
= x 3 - 4x Soma de P e Q
2\
T+T=O
~
o
__/
2
iL:_
7i
- ;(
X~
P=Q
1
X
\1'
I
P+PI~
3.1
22
DE CURVAS ELPTICAS
Usando a idia geomtrica da soma de pontos na curva eiptica, podemos escrever analiticamente as frmulas para calcular est, da seguinte forma: O elemento identidade vai
estar dado por() e dados P =
b), Q
d) E
temos que
-b- a 1 a- a3 )
+a1.-a2-a-c)
:= -
sendo
=
quando a= c e Q
3a 2 + 2a2a + a4- a 1 b
2b+ a1 a + a3
-P, e
d-b
c- a
=--,
quando a
f.L=
f.L=
bc- ad
c-a
c .
Uma prova de que (E( L), EB) um grupo pode ser vista por exemplo em [37, p. 55]. Para
uma prova intrnseca deste fato ( dizer sem o uso de coordenadas) veja [11, p. 125].
Exemplo 3.2. Seja T = (-2, 0), P = (-1, VS) pertencente a E uma curva elptica definida
pela equao y 2
x3
(25/12, -35VS/72).
Dado um inteiro m, temos uma aplicao [m] : E(L)--+ E(L) definida pela soma de lml
pontos, a saber P
f---7
P E9 ... EB P ou P
>-+ ( - P)
m <O. Esta aplicao a base para realizar as operaes nos criptossistemas baseados em
curvas elpticas (ver Seo 3.2) e pode ser calculada em tempo polinomial. Entretanto, no
se conhee um algoritmo determinstico eficiente para calcular o valor de m dados os pontos
23
CAP. 3 "
que #(L)= q = pr. Uma primeira questo a ser considerada ao trabalhar com este tipo de
corpos sobre o nmero de pontos de E(L). A priori uma cota superior q 2 + 1, que pode
ser melhorada consideravelmente. De fato, Hasse (1933) demonstrou que (veja [37, V. L
i#E(L)- (q
+ 1)1
(3.5)
:':: 2/(j.
onde
e t tais que
" Se
+ 1)
ento existe uma curva elptica E definida sobre lFq tal que #E(lFq) = q + 1- t.
Exemplo 3.4. Considere a curva E com equao afim y 2
x3
7x
+ 2 sobre
Ela tem um nico ponto na sua projetivizao e elptica pois seu discriminante .6.
-64(( -7) 3
Logo t
2 2 ) = 27
oi
O ver (3.4).
-2.
IF2[x]/(x4
+ x + 1)
do polinmio irredutvel x
Consideremos a
4.
de ponto racionais de E sobre JF 24 so: E(IF 24) = {O, (0, 1), (1, o: 5), (1, o) O), (o: 3, o:), (o: 3, o: 9),
(0:5, 1 ), (o:5' 0:10), ( 0:6' o:2), ( 0:6, 0:3), (o:g' o:8)' ( 0:9, 0:12), (0:10' 1), (0:10, 0:5), (0:12, o:4), (o:l2, 0:6)}.
Logo, #(E(JF 24))
= 16 e daqui que t
= 1.
Outra questo fundamental a considerar sobre a estrutura do grupo de (E( L), EB). Este
grupo no necessriamente cclico, mas pode-se mostrar que o produto de dois grupos
cclicos, ver [4, p.].
3.2
Crptossistemas baseados em curvas elpticas foram propostos pela primeira vez e independentemente em 1985 por Victor Miller (IBM) e Neal Koblitz (Universidade de Washington). Estes so implementaes de criptossistemas de chave pblica que baseiam sua
11
Ctn
11
0:2
Ct
et 3 +
Ct
10
a +a+1
Ct3
11
a 3 + a 2 +a
4 et+l
12
13
+a
as+ a2
a 3 +o: 2 +a+l
Ct3 +
+1
a 3 +a+l
15
2
3
24
14 a 3 + 1
1
JF2 [x]/(x4 + x + 1)
discreto
implementao dos criptossistemas de chave pblica sobre uma curva elptica E se faz em
forma natural.
(2.3) sobre curvas elpticas. Os usurios A e B devem de conhecer o corpo L= lFq, a curva
elptica E sobre L e um ponto base2 G E E(L), que sero parmetros de domnio pblico.
Assim, se o usurio A deseja enviar o ponto Pm (associado mensagem m) ao usurio B; este
escolhe um inteiro aletorio kA, e envia para B o par (kAG, Pm 8 kA(rBG)). B recebe esta
mensagem e calcula o ponto rs(kAG) usando a primeira coordenada da mensagem cifrada e
sua chave privada. Logo, subtrai da segunda coordenada este valor e recupera a mensagem
Pm.
2 Este
ser o ponto base sobre o qual se calcula o logaritmo discreto no grupo E( L).
3.2 "
26
cucau,
1}
curva (notemos que como equao tem grau 2 em y, ento esta soluo sempre existe
em lFpn), logo Pm = (x(m),y(m)).
Uma implementao eficiente de um criptossistema baseado em Curvas Elpticas, por
exemplo, pode ver-se em [25]. A seguir mostramos uma forma de implementar o criptossistema E!Gamal baseado em curvas elpticas, com o objetivo de dar uma idia do uso das
curvas elpticas na criptografia.
Exemplo 3.8. Consideramos a curva elptica E definida por Y 2 = X 3
7X
+ 2 definida
sobre o corpo (Z/751Z)* e ponto base G = (741, 152) E E((Z/751Z)*). Para codificar a mensagem identificamos as letras do alfabeto com o conjunto {10, 11, ... , 35}, respectivamente.
R, escolhemos t
mensagem temos:
(501, 53), Py = (581, 283). O usurio B escolhe sua chave privada rs = 7 e calcula o ponto
7G = (739, 164), que ser sua chave pblica. Logo, o usurio A usa a chave pblica de
B para cifrar cada mensagem bsica, por exemplo, o ponto Pc = (241, 372). A escolhe o
nmero k = 3 e calcula 3G, 3 7G e Pc
pontos (kG, Pc
+ krsG)
+ 3 7G
O usurio B recupera a mensagem original multiplicando o primeiro dos nmeros recebidos por sua chave privada, obtendo o valor de rskG = (0, 113) e depois subtrai este dos
outros pontos, i.e., (576, 100)- (0, 113) = (241, 372) = Pc e assim com todos os pontos da
27
mensagem cifrada, por ltimo o usurio B decodifica esta mensagem como foi dito no item
(1).
A seguir, alguns fatos interessantes que esto relacionados com os criptossistemas PlntiPn~
usar curvas elpticas para implementar criptossisternas de chave pblica,
" A proposta
baseados no problema do logaritmo discreto foi motivada pelo avano em ataques, como
o index calculus, feito aos criptossistemas construdos a partir de corpos finitos
Menezes, Okamoto e Vanstone [28], mostram corno dada uma curva
'" Um trabalho
sobre esta curva pode ser reduzido (usando um
elptica E definida sobre lFq, o
algoritmo de tempo polinomial), ao problema do logaritmo discreto sobre o corpo JFq,
onde o valor de k dependia da curva elptica. Isto implica que para valores pequenos
fato acontecia com as curvas elpticas supersingulares. Uma curva elptica E definida
sobre lFq chamada de supersingular se #(E)
1 (mod p).
" Existe outro tipo de curvas elpticas no adequadas para criptografia chamadas de
anmalas, isto , urna curva elptica E definida sobre lFq tal que #(E)= q, pois Satoh
e Araki mostraram um algoritmo de tempo polinomial para o DLP sobre este tipo
particular de curvas elpticas, ver [36].
e O algoritmo mais rpido que se conhee, at hoje, para a multiplicao de pontos
em curvas elpticas definidas sobre corpos finitos de caracterstica 2 da forma JF2= foi
desenvolvido por Julio Lpez e Ricardo Dahab [24].
" Devido existncia de ataques eficientes para certos tipos de curvas elpticas, se faz
necessrio procurar novos grupos onde a resoluo do problema de logaritmo discreto
tenha complexidade de tempo exponenciaL Este o tema que queremos abordar no
prximo captulo, introduzindo os J acobianos de curvas Hiperelptcas.
" Existem algoritmos propostos para gerar os parmetros pblicos para os criptossisternas elpticos, ver [14], [31].
" O passado 24 de Agosto do 2003, a Agncia de Segurana Nacional (NSA) em Maryland, adquiriu os direitos exclusivos a Certicom para usar os Criptossisternas de Curvas
Elpticas, fato que nos leva a pensar na importncia para o estudo deste tipo de criptossistemas.
CAPTULO 4
Criptossistemas Hiperelpticos
28
29
CAP. 4
pera que o DLP tenha complexidade de tempo exponenciaL Para operar os elementos
do Jacobiano, Koblitz melhorou e generalizou o algoritmo de Cantor [7];
Sejam t 2: 1 u= inteiro, a1 , ... , a, E lFq distintos dois a dois e
" Curvas
m1. ... ,
mi
3
os zeros
P Cherdieu, J. Estrada e
Reinaldo implemen-
Cab
K 2 , a saber do tipo
: O:b,oXb
i e a, b so inteiros positivos
O, onde
4.1
Nesta seo, introduzimos a teoria bsica de curvas hiperelpticas e seus Jacobianos com
o fim de propor grupos que sirvam para implementar criptossistemas de chave pblica.
Fixemos K um corpo perfeito de caracterstica p 2: O e seja K seu fecho algbrico e g um
inteiro positivo.
4.1.1
Generalidades
As curvas hiperelpticas so uma classe especial de curvas algbricas e podem ser vistas como
uma generalizao das curvas elpticas.
Definio 4.1. Uma curva hiperelptica H sobre K so os zeros no plano projetivo P 2 (K)
de uma equao da forma
(4.1)
30
CURVAS
SEAO 4.1
onde,
(1)
(2) h E
2g
1;
no mximo g;
p. 196]).
intercepta a reta Z
= O no ponto
O= (O: 1: O),
e assim podemos considerar a
do polinmio:
:=Yz+
Fcilmente se prova que
irredutvel em
Y],
Y 2 + h(X)Y- f(X) =0
2Y +h( X)
h(X)'Y- j'(X) =0
no tenha soluo em K x K. Mais ainda, da equao (4.1) podemos mostrar que H
no singular em O se e somente se g = 1. De fato, des-homogeneizando esta equao com
respeito a Y temos
Z 29 -
Y2
J(X),
r-+
(4.3)
Y - h(X)/2.
i= O.
Demonstrao. Suponha que h(X) = O; derive F com respeito a X e seja x E K uma raz
de J(X)'. Seja y E K raiz de Y 2
y: 1) um ponto
.,
4.1.2
:n
CRIPTOSSISTEMAS
Pontos racionais
De forma anloga ao caso elptico, podemos definir o conjunto de pontos racionais para um
corpo L tal
L= lFqn, seja
nL
E L x L do polinmio
sobre L
em (402)0 Para K
lFq e
sobre L, ento
nL
= qn +
1- :[(ai+
(4.4)
i=l
Jl?i 2
Temos que
(405)
para i= 1, o o o ,g
onde os
h(t) = t 2g
+ a 1 t2g-l
'
-t-o
o o T' Og tg-',
qa 9 _ 1 tg-1
+ q2 a9 _ 2 tg-2 + o o o + qg-1 a 1 t + qg o
(406)
+ 1)0
S; = -
:[Ci3j + 3j),
para i 2: L
j=l
S~,
82
2a2
+ S1a 1,
e em geral temos as
seguintes frmulas de recorrncia (por exemplo, utilizando as frmulas de Newton, ver [39,
Cor, YL17]),
i-1
ia; = S; +
si-jOj
j=l
nmero complexo a chamado um ntero algbrico se este satisfaz um polinmio da forma xrn
am_ 1 xm-l
2 Esta
4.1.3
CONCEITOS
32
DE CURVAS
Exemplos
= 1 e pelo tanto
Temos ()yF(X,
#H(lF2 ).
:=
e n2
n(JF2,) =
+1
se r
+ 1 + 2/2+!
2' + 12
t4
+ 2t 2 +
daqui
(mod 6)
l, 3, 5
se r_ 2,4
(mod 6)
se r_ O
(mod 6)
Exemplo 4.4. As curvas deste exemplo so hiperelpticas como pode ser verificado usando
somente a definio. Todas estas tem gnero dois. Seja a curva H definida por:
~----r'
0.2
0.4
0.4
X
o:e
o.s
33
I
\\
1.S
0.5
definida por
II
I
y
(\
~
~
_)'
\'
\\
4.1
4.1.4
CONCEITOS
34
DE CURVAS
Sobre H e de forma natural est definida uma involuo (}: H--+ H definida por (x, y)
(x, -y- h(x)) e (}(O)
~-->
O se p
> 2.
pontos fixos
caso p > 2 e
corpo considerado.
Exemplo 4.5. Considere a curva H sobre iF 7 definida por:
Y 2 + XY = f(X) := X 5 + 5X 4 + 6X 2 +X+ 3.
Afirmamos
f(X)
2g + 1, o grau de h(X)
:=
Y 2 + XY = f(X) (1), 2Y +X
= O(2),
(1): X 5 +5X 4 +X 2 +X +3
raiz de (5), logo conclumos que a curva definida acima uma curva hiperelptica. Fazendo
a mudana de coordenadas Y
r->
Y + 4X e X
~--+
equaao:
X 5 + 5X 4 + 6X 2 +X+ 3 =O. Este polinmio s tem uma raiz em iF7 , a saber {6}. Da que
o nico ponto especial da curva P
so:
H(iF7) = {O, (1, 1), (1, 5), (2, 2), (2, 3), (5, 3), (5, 6), (6, 4)}.
Exemplo 4.6. Consideremos a curva hiperelptica H definida por Y 2
(X 2
+ X)Y -
(a2o, a29), (o:23, 0), (a23, a4), (a2s,a), (o:2s,o:14), (a21,0), (a27, a2), (o:28,o:7), (o:28,a16), (a29,0),
(o:29, a), (o: 30 , O), (a 30 , o: 16 )}. Os pontos (0,1) e (1, 1) so pontos fixos da curva.
35
CAP. 4 e
4.1.5
Divisores sobre
f O chamado de
suporte de D. O conjunto
de divisores de H ser denotado por Div(H) e este um grupo comutativo com a operao :
D1
K,
:=
>--+
para
todo P E H(L ). O conjunto de tais divisores ser denotado por DivL(H) e este um subgrupo de Div(H). Para dois divisores D 1
Lp vp(D 1 )P, D 2
Lp vp(D 2 )P E DivL(H),
:=
P#O
com deg(mdc(Dr, D2)) =O. Definamos Div~(H) := DivL(H) n Kernel(deg); este conjunto
um subgrupo de DivL(H) e desempenhar um papel relevante no que segue.
4.1.6
Os elementos do anel L[H] := L[X,Y]/(F), onde (F) o ideal de L[X,Y] gerado por F,
podem ser considerados funes polinomiais p: H
--t
de anis L[X]
R( X)
O.
-->
L[H]. R(X)
>--+
Ra
36
CURVAS HIPERELPTICAS
Desta forma, cada elemento de L[H] pode ser reduzido de maneira nica h
A(X) + B(X)y.
Observe que isto significa que L[H] um mdulo livre de posto dois sobre L[X]. Finalmente,
temos que L(H) =L( X, y) pois [L(H) : L( X)]= 2 e [L(H): L(y)] = 2g +L
4.1. 7
ou que r regular em
H, P
S tais que r = R/ S
e S(P)
definio de r(P).
No caso de que r no possa ser definido em P, este ponto dito um plo de r e definimos
r(P) := oo (desta forma r induz uma funo racional H--+ P 1 (K)). Se r est definido em
P e r(P) = O, P chamado de zero de r. Observamos que r
plos e zeros. Com efeito, os zeros P
da forma A(X) + B(X)y, onde A, B E K[X]. Podemos supor mdc(A(X), B(X)) = 1; agora
(A(X)
+ B(X)y)(A(X) -
B(X)(y
+ h(X))
+ B(ap)bp
=O e B(ap)
O (do
4.1.8
Divisores principais.
div(r) :=
vp(r)P,
PEH
37
CAP. 4 '"
(1) vp(rrJ)
(2) vp(r
vp(r)
+ r 1 ) 2:
+ vp(rl);
Para r= RS E K(H), r
=f O,
= (a,
=f O,
valorao ou de ordem em
vp chamada
e Se R 1 (P)
=f
+ B(X)y.
A 1 (X)
+ B 1 (X)y E R[H].
vp(R) := t;
O, obtemos
-BifE
= N(X) =
(4.
Logo vp(R) :=C+ i'r, onde Cr a maior potncia de (X- a) que divide o polinmio
N(X) acima.
=f u(P).
O, 2+3(X -a)
O;
de gnero 1, salvo possvelmente dois valores de a. Logo considerando P = (a, a), temos
vp(y- b)
+ Y-
(X- a) 5 .
Para qualquer valor de a temos que Ha uma curva hiperelptica de gnero 2. Logo considerando P =(a, 1) temos que vp(y- b)
Caso2: O ponto P
R 1 (P)
=f O,
vp(R) :=
vp(y
+ 1) 2: 3.
max{2deg(A(X)), 2deg(B(X))
+ 2g + 1}.
39
CAP. 4 "
onde R P ou cr(P).
Se P = CY(P), e np um inteiro par, temos npP ~ npO; caso contrrio se np = 2n + 1,
~2n0+
[J
4.1.10
O
a um nico
P+
D=
D chamado reduzido se L, P,po v p (D)
vp(D)P- mO.
Seja D 1 um divisor de grau zero; logo pelo Lema 4.8 podemos supor que D 1
P E Sup(D) \ { 0}, P
Para
(ap, bp ), definamos
A
= A(X)
:=
TI (X -
ap )"p(D) E K[X].
+ Bh(X)-
Alm disso, D
f(X) -O (modA).
= div(A, B)
f(X) =O (mod (X
ap )vp(Dl).
tal que vp(A) 2: O. Repetindo este processo por substitues do tipo A= (A-A(P))+A(P),
obtemos uma nica representao para y do tipo
y -_ bp T,
C1
(X
Op),
+ .. T, Cvp(D)-l (v
/>. -
ap )vp(D)-l + (X - ap)'vp(D)R 1 ,
SEO 4.1
40
CURVAS
Cvp(D)-l (X
- ap )"p(D)-l.
segue do fato que y - R
; a propriedade
(mod (X -ap )vp(D)) (observe que vp((R-y)/(x-ap )vp(D)) ::0: Opois R-y
Caso P
= Rp
:=
= (x-ap )vp(D) R 1 ).
bp.
e os
pelo
B(X)
Rp
(mod (X- ap )vp(DJ). Este B claramente satisfaz (1) e (2); (3) devido ao fato de que os
fatores de A so co-primos entre si. A unicidade segue-se da prova. Finalmente mostramos
que D o rndc dos divisores div(A) e div(B- y).
b) tal que P
mostrar que
f(X)
fato vp(B- y)
= 1
consideremos a funo
:=
B 2 + Bh(X)=
1; para isto,
+ Bh(X)'- f(X)'.
Logo
O,
=L
eportanto,omdc(div(A),div(B
y))='L,p,;, 0 npP-mO
D.
y)) semi-reduzido.
f cr(P) e
vp(B- y) = vp(A) + vp(s) onde vp(s) >O, logo vp(B- y) 2 vp(A) e Vu(P)(B- y) =O.
Para P
cr(P) e da condio (3) segue-se (B- y)(P) =O, logo vp(B- y) 2 1. Afirmamos
que vp(B-y) = 1. Dado N(X) = (B- y)(B+y+h) = B 2 +Bh- f; temos que N(ap) =O
e N'(ap) #O, pois P #O no ponto singular da curva.
Teorema 4.11. Existe um nico divisor reduzido D 1 tal que D
D 1.
E= Eo
:=
P1 + ...
+ P9 + 1 - (g + 1)0.
CAP. 4
HIPERELPTICOS
P9 + 1 + Q1 +
D-
... + Q9 -
Fo
41
+ P1 + ... + P9 +l
-y) =
-mO. Logo
=
D- (m- 1)0,
sendo que D 1 pode ser assumido serm-re<lu:01do. Agora a prova de existncia termina por
induo sobre m, pois o grau do novo
Unicidade.
que
Como
deg(D 1 - D 2 ) =O, pelo Lema (4.8), D1- D 2 ~ D 3 onde D 3 o divisor semi-reduzido obtido
da prova do lema. Seja P E H tal que m := vp(D 1 ) =/= n := Vp(D 2 ); considerando D 1 D 2
ou D 2 - D1. podemos supor que m 2: 1 e que algum dos seguintes casos podem ocorrer:
(2) 1 :S n < m;
Logo pela escolha de D3 temos que vp(D3) 2: 1 para todos os casos acima. De fato, nos Casos
(1) e (2) vp(D3) = (m- n) 2: 1; no caso (3) a(P) =/= P; logo da propriedade P + u(P) ~ 20
e da contruo de
D3
+ B(X)y
v0 (r) = min{vo(A(X)), vo(B(X)y}. Temos que v0 (B(X)y) < vo(A(X)), pois do contrrio,
-2deg(B(X)) - (2g + 1) > vo(A(X)) = vo(r) = -d3 2: -2g o qual uma contradio.
Portanto temos, vo(B(X))- (2g + 1) = vo(r) = -d3 e assim d3 2: 2g + 1 + 2deg(B(X)).
Logo r= A(X) com deg(A(X)) 2: 1. Tome Q = (a,b) E
tal que A(a) =O; logo pela
definio de u(Q), temos que Q,u(Q) E Sup(D3 ) o qual contraditrio com a definio de
~.
4.2
4.2
42
O JACOBIANO DE H
O Jacobiano de H
Jacobiano :J =
de H o grupo
J=
/P,
= Pg(H) o
:J sejam compatveis com a estrutura algbrica. Assim, podemos considerar :J como uma
variedade Abeliana.
4.2.1
Em nosso
lFq
um divisor de grau zero definido sobre L. Pelo Teorema (4.11) existe um nico divisor
reduzido D1
L;P vp(D 1 )
=
::;
L;p vp(D1)P tal que D ~ D 1 e pela denifinio de divisor reduzido temos que
g onde g o gnero da curva. Assim, existe um nmero finito de possibilidades
para obter divisores reduzidos, logo obtemos um nmero finito de elementos do Jacobiano;
existem tambm as frmulas explcitas para calcular este. Seja K := lFq, L= lFq" e 11h :=
#:JH(L). Se sabe que 1'h pode-se calcular a partir dos inteiros ai em (4.4). De fato temos
[39, Teorema VL15]
g
NL
(4.8)
HIPERELPTICOS
CAP. 4 *
Exemplo 4.
43
+ 2n + 1
se n -1,5
(2n + 2n/2 + 1)2 se n = 2,4
(mod 6)
(2n- 1)2
se n=3
(mod 6)
(2n/2 _ 1)4
se n
22n
:=
Seja L=
#:JH(L)
Pelo Teorema 4.
(mod 6)
(mod 6)
4.2.2
algoritmos.
a Do.
A seguir os passos a efetuar para cada algoritmo:
Algoritmo 1. Sejam D 1 = div(Ar. Bl) e D 2
a curva
Y2
mdc(Ar, A 2 ) ed1 = e 1 A 1
+ e2A2,
(2) Usando outra vez o algoritmo de Euclides, achamos d, c1 , c2 E K[X] tal que:
44
(4.9)
+ Dz,
=A1Az/d2 ,e
B'
tal que:
(4.
(mod
11)
divide
+ s3(B1B2 +f)
z+
d
s2A2(Bz- B1)- s3(B~
+ B 2h- f)
Pela definio de D2 temos que A 2 divide B~ + B 2h- f, logo B' tambm uma funo
polinomial.
'
s1A1B2
+s
A'
(B' _ y) = s1A1Bz
s 1A 1(Bz
y)
+ szAz(BI -
+s
A'
e como (B'-y)cr(B' -y) = (B' -y)(B' +y+h) = B'2 +B'h- f, ento podemos ver que
para A' dividir B' 2+B'h- f, suficiente mostrar que o produto A1A 2 divide o produto
de s 1A1(Bz y)+s2A2(BI-y)-s3(B1-y)(B2-y) com cr(s 1A 1(Bz-y)+s2A2(B 1-y)s3(B1- y)(B2- y)); isto imediato, pois A 1 divide Bf + B1h- f= (B1- y)cr(Bl- y)
e A 2 divide B5
+ B2h-
CAP. 4 "
CRIPTOSSISTEMAS HIPERELPTICOS
45
Por ltimo, mostramos que D' ~ D 1 + D 2 . Seja P = (a, b) E H( L), temos dois casos
a considerar:
Se P =(a, b)
f O"(P);
O.
(2) Se P = CJ(P);
(2.a) Suponhamos que vp(D 1) = 1 e vp(D2 ) = l. Ento, vp(A 1) 2, vp(A 2 )
2e
vp(dl) = 2. Temos que (B1+Bz+h)(a) = 2b+h(a) O,logovp(B 1+B2 +h) 2:
2 ou (B1 + Bz +h)= O, ento vp(d) = 2 e vp(A') =O. Portanto vp(D') =O
(2.b) Suponhamos que vp(D 1 ) = 1 e vp(D 2 ) =O, logo vp(A. 1 ) = 2, vp(A. 2 ) = O.
Daqui temos vp(d 1) = vp(d) = O e vp(A') = 2. Como vp(A 2 ) = O e da
equao (4.11) temos vp(B'- y) 2: 1. Da equao (4.11) podemos dizer que
vp(szAz + s3(Bz +h+ y)) 2: 1 (ou szAz + s3(B1 + Bz +h) = 0). Isto implica
que da equao (4.9) vp(d) 2: 1, contradio. Logo vp(B'- y) = 1 e portanto
vp(D') = 1
Exemplo 4.13. Consideremos a curva hiperelptica H definida por Y 2 + (X 2 + X)Y =
X 5 + X 3 + 1, de gnero 2 sobre o corpo lF2s = lF 2 [X]/(X 5 + X 2 + 1), ver Exemplo (4.6).
(1) Sejam F= (o:30 ,0), O"(P) = (o: 30 ,o: 16 ), Q 1 = (0,1) e Q2 = (1,1). Definamos os
divisores reduzidos D 1 = P + Q 1
20 e D 2 = CJ(P) + Q2
4.2 ..
46
DEH
.41
+ a 30 )(X + 1)
e B 2 = a 23 X
+ a 12
para
+ a 30
tal que
= d 1 . Ento.
40 , e
3
div(B
1
-
+ Qz +L P,- 50;
y) = div(y + 1) = Ql
i=l
+ Q1 -
20 e D2
+a
30
= X
Q1
),
+ Qz
B 1 = aX
+ 1,
Az = X(X
+ 1) e Bz
= 1. Logo,
obtemos
A 1 = (X+ a 30 )(X
+ 1), e B'
=a
14
+ a 13
(modA').
Daqui,
div(A') = 2Q 2 + P
+ (J(P)- 40, e
div(B'- y)
= Qz + P+
Q 2 ,P,(J(P)eP, E H(IF2)
i=l
portanto, D'
X 5 +5X 4 +
6X 2 +X+ 3, de gnero 2 sobre o corpo JF7 . O conjunto de pontos racionais desta curva :
H(JF1) = {O, (1, 1), ( 1, 5), (2, 2), (2, 3), (5, 3), (5, 6), (6, 4)} ,
onde o ponto (6, 4) um ponto fixo.
CAP. 4
47
CRIPTOSSISTEMAS HIPERELPTICOS
ib = X 2 + 4X + 2 = (X - l)(X + 5), B 2 = 4X +
l. Calculemos o
A1
(X+l)(X+5),eB'=
logo,
div(A') = 2(6, 4) + (2, 2) + (2, 3)- 40, e
2
LP;- 50.
i=l
Portanto D' =
,B') = Q
-20
Al!!:o:rit1mo 2 Seja D' = div(A', B') um divisor semi-reduzido; o procedimento a seguir acha
um divisor D
div(A, B) reduzido e equivalente a D' tal que deg(A) < deg(A'). Aplicando
A= (f
B =(-h- B')
(modA),
(4.12)
(4.13)
(1) Mostremos que deg(A) ::; deg(A'). Sejam= deg(A') e n = deg(B') onde m >nem 2:
g + l.
Logo deg(A)
Sem> g + 1 ento max{2g + 1, 2n} ::; 2(m- 1), logo deg(A) ::; (m- 2) ::; deg(A').
f+ (B + h)h- (B +
D'
L
P,u(P)
npP+
L
P=a(P)
F-mO
4.2 "
48
O JACOBIANO DE H
"L
div(A') =
P;fcr(P)
divW- y) =
"L
npP +
npJ(P)
P;fa(P)
2:::
P=oo(P)
2:::
mpP +
"L
P=oo(P)
mrP + L
Pojo"(P)
temos que:
mpu(P) + L
2P + L
P="(P)
Pop<7(P)
spP +
PEH'
spu(P)- (*)O,
PEH'
tpP +
L
P;f<7(P)
tpu(P) + L
Pojo<Y(P)
PEH'
PEH'
div(B- y)
= L
TpJ(P) + L
P;f"(P)
PEH'
PE
tpJ(P)+ L
Spu(P)-(*)0 ~- L
tpP- L
spP-(*)0 = D-div(B'-y).
Pojoo-(P)
Portanto D
CAP. 4 "
49
CRIPTOSSISTEMAS
Logo,
div(A) = (o:2s,az)
div(B
+I:
I n29
T\~
i=l
= div(A', B = div(X 7 + 2X 6 +
+ 6X 3 + 4X + 5, 5X 6 + 5X 5 + 6X 4 +
A; e 5 2: g =
reduzido. Assim,
D
4.2.3
div(A, B) = div(x 2 + x
+ 5, 4x + 4).
Automorfismo de Frobenius
O automorfismo de Frobenius pode ser eficientemente usado para realizar operaes com os
elementos no Jacobiano. A saber, seja
Teorema 4.17. Seja Dum divisor semi-reduzido de H definido sobre lFqn, ento o divisor D<i>
semi-reduzido e est definido sobre lFq". Alm disso, se D = div(A, B) com A, B E lFqn[X]
ento D1> div(A<~', B<i>).
Demonstrao. Seja D = EP#Ovp(D)P- mO onde m = 'L,p 7wvp(D) um divisor semireduzido definido sobre iF'qn Como tjJ automorfismo e D um divisor semi-reduzido, ento
D<P, isto , D est definido sobre lFqn Seja A(X) = flPESup(D)(X- ap)np
lFq"[X], onde
SEO 4.3
np
50
vp(D) e B(X) o nico polinmio que satisfaz as condies do Lema (4.9) tal que
D9 =
P::f;O
TIPESup(D)(X-
a~)np E Fqn[X] e
= nPESup(D)
a~)np =
que B<P = B. Como deg(B) < deg(A) ento deg(B'P) < deg(A") = deg(), alm disso,
B'P(4) = (B(ap))q = b~ para cada P E Sup(D). Por ltimo, A" divide (B 2 + Bh- f)",
pois A divide B 2
+ Bh- f
sejam A
qn
de lFqn usando Base Normal (ver Apndice A), ento A" e B<i> podem ser determinados
por simples shifting (desplazamento) na representao da base normal de cada coeficiente
ai, bi para calcular D"'. Desta forma o custo para operar elementos do Jacobiano menor,
implicando maior eficincia do algoritmo.
4.3
CAP. 4
51
CRIPTOSSISTEMAS
mB
4.3.1
No 2000, Gaudry, Hess e Smart [12] mostraram como o problema do logaritmo discreto
(DLP) em curvas elpticas definidas sobre lF 2n se podia reduzir ao DLP no Jacobiano de uma
curva hiperelptica H definida sobre um subcorpo de lF2 n. Assim, o estudo dos criptossistemas
hiperelpticos e o HECDLP, poderiam ser usados para atacar os criptossistemas elpticos.
O index-calculus tem sido aplicado satisfatoriamente em vrios problemas criptogrficos
interessantes, incluindo o DLP para corpos finitos (ver Subseo 2.3.1). Esta mesma idia
pode ser usada para o DLP no Jacobiano JH(lFq") de uma curva hiperelptica H de gnero
g definida sobre K
m tal que [D2]
= m[Dr] ou m = logn 1 D 2 .
(1) O primeiro passo computar a estrutura de JH(lF) como soma direta de subgrupos
cclicos e se procuro representaes de D 1 e D 2 sobre esta soma direta, logo para
resolver o DLP simplesmente aplicamos o Teorema Chins dos Restos Generalizado.
Para descrever o mtodo, introduzimos algumas definies .
Definio 4.19. Seja D = div(A, B) um divisor semi-reduzido sobre
Dizemos que
SEO 4.3
Seja
52
+ h(a)Y- f(a)
f
'
em K ,a;.
dito separvel se
O polinmio
no divide f(X) e
+h(X)Y-
Para D E JH(JF") tal que D = div(A,B), podemos escrever este como a soma de
divisores primos da forma Di
{P1 , ... , Pn} a base fator onde F;= div(A;, Bi) so todos os divisores primos
rp : zn
I-+
L ajPj'
j
mento a;= (aiJ, ... ,ain) E Ker(q), e se o conjunto de m relaes forma um sistema completo de geradores do Ker(q), ento JH(!Fq)
= (a~
(Pij) e Q
(qij)
L riP e L
s;P;, ento
CAP. 4 "
53
CRIPTOSSISTEMAS HIPERELPTICOS
D 1 ~ 2:::r:xi e Dz ~ I:S:xi onde (ri, ... ,r~) = p- 1(r1, ... ,rn)T e (s~, ... ,s~)
p- 1(sb ... , snf Finalmente damos as representaes de D 1 = (r~, ... , r~) e Dz
(s~,
... , s~) em 7l/d 17lffi ... ffi'l/dn?l, logo o DLP pode ser resolvido usando o Teorema
(2) O segundo mtodo melhora o primeiro quando #:JH(lFq) conhecido. Como acltmlx,
seja S
igual que t. As relaes so achadas por tentativas para fatorar divisores da forma
rD 1
+ sD 2
sobre S.
+1
camos o mdulo #:!H(lFq) para encontrar uma combinao linear no trivial da forma
A eficincia do mtodo depende bastante da escolha da base fator S, pois seus elementos,
os divisores primos, devem de gerar JH(lFq)
Existem various outros algoritmos apresentados na literatura para atacar o problema do
logaritmo discreto sobre o Jacobiano de curavs hiperelpticas, ver [16].
Comentrios
Esta dissertao teve como objetivo estudar as curvas Hiperelpticas e seus Jacobianos
para o desenvolvimento de criptossistemas de chave pblica que baseiam sua segurana na
resoluo do Problema do Logaritmo Discreto (DLP).
Diante destes estudos observamos que:
Para implementaes criptogrficos se deseja que o nmero de pontos do Jacobiano
#:TH(Fqn)
:=
pontos racionais sobre extenses de F 24, isto , sobre corpos da forma F 24,; mas para que
a curva continue sendo maximal necessrio que o nmero s seja par; desta forma se
tem suficientes pontos racionais para valores grandes de s. Alm disso, se conhece que
a estrutura do Jacobiano para este tipo de curvas da forma JH (Fez) ~ (Z/ (t' + 1)Z) 29 .
Assim, com estas propriedades do grupo para fazer criptografia, estas curvas a priori
so um bom tipo de curvas para implementar criptossistemas. O termo bom tipo, faz
referenda informao que obtemos do nmero de pontos e a estrutura do Jacobiano
a partir destas curvas.
" O gnero g de curvas hperelpticas adequadas para implementaes criptogrficas de
fundamental importncia que seja pequeno (2 e 3), pois para g 2: 4 existe um algoritmo
de tempo sub-exponencial que resolve o Problema do Logaritmo Discreto (DLP) sobre
54
CAP. 4 '"
CRJPTOSSISTEMAS HIPERELPTICOS
que 1/-:JH(TFq) =
L ento o
resolvido [35].
"
uma curva hiperelptica definida sobre um corpo finito lF q, existe uma eficiente
reduo do DLP no JH(lFq) para o DLP no grupo multiplicativo de um corpo de
extenso IFqk onde k o inteiro mais pequeno tal que #:JH(lFq) divide qk- 1, ou o
maior fator primo de #:JH (fi q) que divide qk
1.
55
APENDICE A
Preliminares Matemticos
(b 1 , b2 , b3 ) se
a;= a2fa3 . Logo, podemos identificar o plano projetivo com os pontos (x,y) E K x K do
plano ordinrio (ou afim) junto com os pontos para o qual a 3
O. O conjunto de pontos
= lFq, e nr o
potncias
Z(H/lF; t) = eL?cl nrtr /r.
O seguinte teorema da funo zeta provado por A. Weil a justificativa da equao dada
em (4.4).
Teorema A.l. Seja H uma curva hiperelptica de gnero g definida sobre lFq e Z(HjlFq; t)
"
57
PRELIMINARES
P(t)
1- p,t)(l- {J,t)'
=
=l
onde cada
de
Pi
1071 e !Ji
p,.
D(3fiJ:1i;o A.2.
curva
se o sistema 8(F)/8(X) =O, 8(F)/8(Y) =O, 8(F)/8(Z) =O no tem soluo para qualquer
ponto P E
Mostremos que o polinmio F em ( 4.1) com Z = 1 absolutamente irredutvel em
k[X, Y]. onde g representa o gnero da curva. Suponhamos que o polinmio redutvel,
ento existem G, H E k[X, YJ no constantes tais que F= GH. O grau de Y em G e H 1
e G, H so no constantes, pois do contrrio teramos uma contradio j que o coeficiente
de Y 2 L Ento F= GH
= lFq e
1
)
sobre K.
Teorema A.3. Para qualquer corpo finito K e qualquer extenso finita L de K, existe uma
58
1, tal que
S=
1\Imxn(Z)
o
onde r determina o rango da matriz
APENDICE B
Complexidade Algoritmica
uma breve introduo nas ferramentas formais que permitiro dar resposta a este tipo de
questionamento.
Os criptossistemas de chave pblica esto baseados na Teoria de Complexidade Al-
gortmica, que estuda a forma de construir algoritmos para resolver diferentes problemas.
Entenderemos por algoritmo uma sequncia finita e ordenada de etapas que finalizam em
algum momento e devolve a soluo.
tambm importante que estes sejam rpidos de-se aplicar. Neste sentido, esta teoria nos
da ferramentas para decidir quando um algoritmo melhor que outro.
Na maioria dos casos, o tempo de execuo de um algoritmo depende dos dados de entrada. Por exemplo, para ordenar a sequncia {1, 2, 3, 4, 6, 5} de menor a maior, se necessitam
menos operaes elementares que para ordenar { 6, 5, 3, 2, 4, 1}. Isto nos leva a considerar
trs opes :
" Melhor caso: o nmero de operaes feitas no algoritmo quando os dados esto da
melhor forma possvel. Este caso no prtico, pois o algoritmo pode ter um melhor
caso e os demais no.
59
60
" Pior caso: o nmero de operaes feitas quando a distribuio dos dados de entrada
a mais pessimista. Este nos permitir obter uma cota para o tempo de execuo
necessria do algoritmo.
" Caso mdio: Muitas vezes acontece que os algoritmos no pior dos casos no funcionam
bem, mas na maioria dos outros casos seu comportamento provavelmente efetivo.
lizaremos um tipo de notao assinttica, que nos permitir cotar sua magnitude. Normalmente consideramos o tempo de execuo de um algoritmo como uma funo f(n) E JR+
onde n o tamanho do dado de entrada.
Dada a funo f(n), definimos:
nmero inteiro positivo n 0 tal que O :s; f(n) :s; cg(n) para todo n 2: n 0 .
" Limite inferior assinttico: f(n) = O(g(n)) se existe uma constante positiva c e um
nmero inteiro positivo n 0 tal que O :s; cg( n) :s; f (n) para todo n 2: n 0 .
" Notao o: f(n) = o(g(n)) se para qualquer constante positiva c existe um nmero
inteiro positivo no
f(n)
n-oo
dizemos que
Intuitivamente, f(n) = O(g(n)) significa que f(n) cresce assintticamente mais lento que
g(n) multiplicada por uma constante. Analogamente f(n)
cresce assintticamente no mnimo to rpido como g(n) multiplicada por uma constante.
Definiremos agora algumas propriedades da notao acima:
a) f(n)
b) f(n)
= O(f(n)).
O(g(n)) e f(n) = O(g(n)).
CAP. B
COMPLEXIDADE ALGORITMICA
d) Se f(n)
e) f(n)
O(h(n)) e g(n)
c) Se f(n)
O(h(n)).
O(f(n)).
log c,(n\j
= 8(!nfnli.
\
/'
= 0(2n).
O tempo para executar um algoritmo depende das operaes elementares que envolve
e do comprimento dos dados de entrada. Podemos considerar como operao elementar
aquela que se executa sempre em um tempo constante. Este conceito tambm depende das
caractersticas concretas do computador em que estejamos trabalhando. Por exemplo, um
computador que opera unicamente com nmeros de 16 bits, no pode considerar-se elemental
uma operao com nmeros de 32 bits. Para medir este tempo necessrio uma unidade de
medida, e como o computador faz qualquer calculo como somas binrias elementares, damos
a seguinte definio.
Dizemos que um algoritmo polinomial se o pior caso de execuo de ordem O(nk),
onde n o tamanho de entrada e k uma constante. Alm disso, qualquer algoritmo que
no possa ser cotado por uma funo polinomial, se conhece como exponencial. Em geral, os
algoritmos polinomiais se consideram eficientes, enquanto os que so exponenciais se consideram ineficientes. Um algoritmo se denomina sub-exponencial se no pior dos casos, a funo
de execuo da forma expo(n), onde n o tamanho da entrada. Estes so assintticamente
mais rpidos que os exponenciais puros, no entanto mais lentos que os polinomiais.
= O( eCCc+o(l))(lnn)'(lnlnn)'-'l) .
SEO B.l
CLASSES DE COMPLEXIDADE
62
B.l
Classes de Complexidade
CAP. B "
63
COMPLEXIDADE
casos este tipo de algoritmos pode obter melhores solues em comparao com os algoritmos
determinsticos.
Em geral, o fato de no se conhecer um algoritmo eficiente para resolver um problema no
quer dizer que este no exista; por isso importante a Teoria de Algoritmos para Criptografia.
A contnua reduo do tempo de execuo necessria para resolver certos problemas, dada
pelo aparecimento de algoritmos mais eficientes, junto com o avano dia a dia do computador
na parte de hardware disponvel, impe uma relativa frequncia a atualizar as previses de
segurana dos criptossistemas.
BIBLIOGRAFIA
[1] L. Adleman and J. Marrais: A subexponential a!gorithm for discrete logarithms over
all finite fields. Mathematics of Computation 61, 1993, 1-15.
[3] L. Adleman and M. Huang: Counting Points on Curves and Abelian Varieties over
Finite Fields, Journal Symbolic Computation 32, 2001, 171-189.
[4] I. Blake, G. Seroussi and N. Smart: Elliptic Curves in Cryptgraphy, London Mathematical Society Lecture Notes Series 265, Cambrigde University Press, 1999.
[5] D. Le Brigand: Decoding of codes on hyperelliptic curves, Eurocode '90. Lectures Notes
Computation Science 514, Springer-Verlag, 1991, 126-134.
[10] vV.D. Diffie, M.E. Hellman: New Directions in Cryptography, IEEE Transactions on
fl21 P. Gaudry,
'
'
Hess and
York. 1969.
2002, 9-46.
Mathematics of Computation
decent
[14] GEC 1: "Recommended elliptic curve domain parameters". Standards for Efficient Cryptography Group, September, 1999. Working draft. Available at http:/ jwww.secg.org/.
L.S.
Concerning
N.Y. 1967.
[18] N. Koblitz: Elliptic curve cryptosystems, Mathematical of Computation 48, 1987, 203209.
[19] N. Koblitz: Hyperelliptic cryptosystems, Journal Criptology 1, 1989, 139-150.
[20] N. Koblitz: A Course in Number Theory and Cryptography, Springer-Verlag, New York,
York, 1998.
[22] H.W. Lenstra, J. Pila, and C. Pomerance: A hyperelliptic smoothness test. I, Philos.
vas Elpticas. PhD thesis, Universidade Estadual de Campinas[26] M.J. Lucena Lopez: Criptografia y Seguridad en Computadores. Tercera
cu'"mu,
2003.
Ca
[28]
finite field,
[29] A.J. Menezes, P.C.van Oorschot and S.A.Vanstone: Handbook of applied Cryptography,
CRC Press, 1996.
[30] C. Munuera y J. Tena: Codificacin de la Informacin, Universidad de Valladolid,
Valladolid, 1997.
[31] National Institute of Standards and Technology: Digital Signature Standard, FIPS
Publication 186(2), 2000; available at http:/ /csrc.nist.gov/fips.
[32] A.M. Odlyzko: Discrete logarithms and their cryptographic significance, Advances in
Cryptography, Proceding of Eurocrypt 84, Springer-Verlag, New York, 1985, 224-314.
[33] J. Pelzl, T. Wollinger, J. Guajardo and C. Paar: Hyperelliptic curve cryptosystem Closing the performance gap to elliptc curve (update), Cryptology Print Archive: Report
2003/026, 2003. http:/ jeprint.iacr.org/.
[34] G. Purdy: A high-security log-in procedure, Communications of the ACM 17, 1974,
442-445.
[35] J.E. Sarlabous, E. R. Barreiro, J.A. Pineiro: On the Jacobian Varieties ofPicard Curves,
Addition Law and Algebraic Structure. ICIMAF, Ministry of Sciences, Habana, Cuba,
1996.
66
Araki: Fermat quotients and the polynornial time discrete log algorithrn
for anomalous elliptic curves, Commentarii Mathematici Universitatis Sancti Pauli 47,
1998, 81-92.
Silverman and J.
J:<,.,];n
Heidel-
berg, 1993.
[40] D.R. Stinson: Cryptography (Theory and Practice), CRC Press, 1995.
N. Thrault: Index calculus attack for hyperelliptic curves of small genus, 2003. Available at
67