Professional Documents
Culture Documents
Escuela de Matemticas
Universidad Industrial de Santander
Vol. 24, No. 1, 2006, pg. 3150
Criptograa usando curvas hiperelpticas
Alonso Seplveda Castellanos
Y f
(X) =0
no tenha soluo em
K
K. Da equao (1) temos que a curva H
intercepta a reta Z = 0 no ponto
O = (0 : 1 : 0) ,
e assim podemos considerar a H como sendo a unio deste ponto com os
zeros (X, Y )
K
K do polinmio
F = F(X, Y ) := Y
2
+h(X)Y f(X) . (2)
Se a caracterstica p maior que dois, ento o polinmio da equao
(2) pode ser considerado como F = Y
2
f(X) fazendo a mudana de
variveis: Y Y h(X)/2, com f(X) um polinmio mnico de grau
2g + 1.
Seja L um corpo tal que K L
K. O conjunto H(L) de pontos
racionais de Hsobre L est formado pelo ponto O e os zeros (x, y) LL
[Revista Integracin
Criptograa usando curvas hiperelpticas 33
do polinmio F em (2). Para K = F
q
e L = F
q
n, denotamos por n
L
o
nmero de pontos racionais de H sobre L; ento
n
L
= q
n
+ 1
g
i=1
(
i
+
i
) , (3)
onde os
i
, i = 1, . . . , g, so inteiros algbricos tal que |
i
| = q
n/2
. Temos
que
i
=
n
i
, para i = 1, . . . , g, (4)
onde os
i
e seus conjugados so razes de um polinmio com coecientes
em Z[t] da forma
h(t) = t
2g
+a
1
t
2g1
+. . .+a
g
t
g
+qa
g1
t
g1
+q
2
a
g2
t
g2
+. . .+q
g1
a
1
t+q
g
.
(5)
De (3) obtemos a chamada cota de Hasse-Weil para H(L), a saber,
|n
L
(q
n
+ 1)| 2
q
n
g .
Agora seja S
i
:= #H(F
q
i ) (q
i
+ 1). De (3) e (4) aplicados com n = i,
temos
S
i
=
g
j=1
(
n
i
+
n
i
) , para i 1 .
Assim por exemplo, da Equao (5), a
1
= S
1
, 2a
2
= S
2
+ S
1
a
1
, e em
geral temos as seguintes frmulas de recorrncia utilizando as frmulas
de Newton (ver [6, Cor. V.1.17]):
ia
i
= S
i
+
i1
j=1
S
ij
a
j
.
Vemos ento que o polinmio h(t) em (5) se determina completamente
se conhecemos S
i
para i = 1, . . . , g. Em particular, com esta informao
podemos calcular #H(F
q
i ) para i g + 1.
Sobre H est denida uma involuo : H H denida por (x, y)
(x, y h(x)) e (O) = O. Este automorsmo ser essencial para deter-
minar os divisores reduzidos sobre a o Jacobiano da curva.
Um divisor D sobre H uma soma formal de pontos de H, D =
P
v
P
(D)P, onde cada v
P
(D) um inteiro e diferente de zero somente
para um nmero nito de pontos. O conjunto sup(D) dos pontos P onde
v
P
(D) = 0 chamado de suporte de D. O conjunto de divisores de H
ser denotado por Div(H).
Vol. 24, No. 1, 2006]
34 Alonso Seplveda Castellanos
O grau de um divisor D est denido por deg(D) :=
P
v
P
(D). Para um
corpo L tal que K L
K, dizemos que D est denido sobre L, se para
todo automorsmo de Hdenido sobre L temos que D
= D. Para dois
divisores D
1
=
P
v
P
(D
1
)P, D
2
=
P
v
P
(D
2
)P Div
L
(H), denimos
mdc(D
1
, D
2
) :=
P=O
min{v
P
(D
1
), v
P
(D
2
)}P mO,
com deg(mdc(D
1
, D
2
)) = 0. Denamos
Div
0
L
(H) := Div
L
(H) Kernel(deg);
este conjunto um subgrupo de Div
L
(H).
1.2. Corpo de funes racionais
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 g : H P
1
(
K)
com g(P) = se e somente se P = O. Sendo F absolutamente irre-
dutvel, L[H] um domnio de integridade, e portanto est denido seu
corpo quociente L(H); este chamado o Corpo de Funes Racionais de
H sobre L. Para R L[X, Y ], denotemos por
R a sua classe em L[H].
Podemos identicar cada constante a L con a e X com
X. Seja y :=
Y .
Ento tomando classes, temos que F(X, y) = 0, isto ,
y
2
+h(X)y f(X) = 0 .
Desta forma, cada elemento de L[H] pode ser reduzido de maneira nica
para polinmios da forma
A(X) +B(X)y .
Observe que isto signica 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 + 1.
Seja L =
K. Seja r
K(H), P H, P = O. Dizemos que r est denida
em P ou que r regular em P, se existem funes polinomiais R, S tais
que r = R/S e S(P) = 0; neste caso r(P) := R(P)/S(P).
No caso de que r no possa ser denido em P, este ponto dito um plo
de r, e denimos r(P) := . Se r est denido em P e r(P) = 0, P
chamado de zero de r. Observamos que r = 0 tem um nmero nito de
polos e zeros. Com efeito, os zeros P = (a
P
, b
P
) de r so os zeros de uma
[Revista Integracin
Criptograa usando curvas hiperelpticas 35
funo polinomial da forma A(X)+B(X)y, onde A, B
K[X]. Podemos
supor mdc(A(X), B(X)) = 1, logo
(A(X) +B(X)y)(A(X) B(X)(y +h(X)))
uma funo polinomial em X e portanto o nmero de coordenadas a
P
para P nito. Como A(a
P
) + B(a
P
)b
P
= 0 e B(a
P
) = 0 (do contrrio
(X a
P
) ser um divisor de A(X) e B(X)), ento b = A(a
P
)/B(a
P
).
O mesmo raciocnio serve para os plos.
1.3. Divisores principais
A cada funo racional no nula r associamos um divisor de grau zero
sobre H, chamado de divisor principal:
div(r) :=
PH
v
P
(r)P ,
onde P sup(div(r)) se e somente se P um zero ou P um polo de
r. Para P H e r = 0, v
P
(0) := +. Em
K(H) \ {0} temos que v
P
satisfaz as seguintes propriedades:
(1) v
P
(rr
1
) = v
P
(r) +v
P
(r
1
);
(2) v
P
(r + r
1
) min{v
P
(r), v
P
(r
1
)} (e temos a igualdade se v
P
(r) =
v
P
(r
1
)).
Neste caso v
P
chamada de valorao ou de ordem em P. Para r =
R/S
K(H), r = 0, v
P
(r) ser por denio v
P
(R) v
P
(S). Denotamos
o conjunto destes divisores por P
K
(H) e dizemos que dois divisores D
1
e
D
2
sobre Hso linearmente equivalentes, escrevemos D
1
D
2
, se D
1
D
2
um divisor principal.
1.4. Divisores semi-reduzidos
Um divisor de grau zero D =
P=O
v
P
(D)PmO, onde m 0, v
P
(D)
0 para todo P, chamado semi-reduzido se:
Para P tal que (P) = P, se P sup(D) ento (P) sup(D);
Se (P) = P, comP = O, v
P
(D) = 1.
Vol. 24, No. 1, 2006]
36 Alonso Seplveda Castellanos
Lema 1.2. Todo divisor de grau zero linearmente equivalente a um
divisor semi-reduzido.
Demonstrao. Temos
D =
PH
v
P
(D)P =
P,P=(P)
v
P
(D)P +
P=O,(P)=P
v
P
(D)P mO.
Seja P = (P) e denamos m
P
:= min{v
P
(D), v
(P)
(D)}. Logo
v
P
(D)P +v
(P)
(D)(P) 2m
P
O + (max{v
P
(D), v
(P)
(D)} m
P
)R,
onde R P ou (P).
Se P = (P), e n
P
:= v
p
(D) um inteiro par, temos n
P
P n
P
O; caso
contrrio se n
P
= 2n + 1, n
P
P 2nO +P.
1.5. Divisores reduzidos
Fixemos D um divisor semi-reduzido,
D =
P=(P),P=O
P +
P=(P)
v
P
(D)P mO.
D chamado reduzido se
P=O
v
P
(D) = m g, onde g o gnero de H.
Teorema 1.3. Existe um nico divisor reduzido D
1
tal que D D
1
.
A seguir mostraremos um lema que ser de grande utilidade na demons-
trao do teorema acima. Assim, seja D
1
um divisor de grau zero, pelo
lema (1.2) podemos supor que D
1
D. Para P sup(D) \ {O}, P =
(a
P
, b
P
), denamos
A = A(X) :=
P
(X a
P
)
v
P
(D)
K[X] .
Lema 1.4. Existe um nico polinmio B = B(X)
K[X] tal que:
(1) deg(B) < deg(A);
(2) Para P sup(D) \ {O}, B(a
P
) = b
P
;
(3) B
2
+Bh(X) f(X) 0 (mod A).
[Revista Integracin
Criptograa usando curvas hiperelpticas 37
Alm disso, D = div(A, B) := mdc(div(A), div(B y)). Para r
K(H),
observamos que a notao r 0 (mod A) signica que r = As onde
v
P
(s) 0.
Demonstrao. Primeiro mostramos uma verso local do lema.
Armao: Para P sup(D), P = O, existe um nico polinmio
R = R
P
(X) tal que
(i) deg(R) < v
P
(D), (ii) R(a
P
) = b
P
,
(iii) R
2
+Rh(X) f(X) 0 (mod (X a
P
)
v
P
(D)
).
Caso P = (P). Como v
P
((y b
P
)/(x a
P
)) 0, y = b
P
+ (X
a
P
)A, com nico A
K(H) tal que v
P
(A) 0. Repetindo este processo
por substitues do tipo A = (A A(P)) + A(P), obtemos uma nica
representao para y do tipo
y = b
P
+c
1
(X a
P
) +. . . +c
v
P
(D)1
(X a
P
)
v
P
(D)1
+(X a
P
)
v
P
(D)
R
1
,
onde v
P
(R
1
) 0. Logo denimos
R = R
P
(X) := b
P
+c
1
(X a
P
) +. . . +c
v
P
(D)1
(X a
P
)
v
P
(D)1
.
Este polinmio claramente satisfaz (i), (ii) e a propriedade (iii) segue
do fato que y R (mod (X a
P
)
v
P
(D)
) (observe que v((R y)/(x
a
P
)
v
P
(D)
0 pois R y = (x a
P
)
v
P
(D)
)R
1
).
Caso P = (P). Aqui v
P
(D) = 1, e temos que R = R
P
:= b
P
. Para
demonstrar a forma global do teorema, aplicamos o Teorema Chins dos
Restos em A e os R
P
, e da obtemos que existe um nico polinmio B =
B(X) tal que deg(B) < deg(A) e B(X) R
P
(mod (Xa
P
)
v
P
(D)
). 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 mdc dos divisores div(A) e div(B y).
Seja P = (a, b) tal que P = (P); temos que v
P
(B y) 1 por (2) e
que v
P
(A) = 2. Para mostrar que de fato v
P
(B y) = 1, consideremos a
funo
N = N(X) := B
2
+Bh(X) f(X) = (B y)(B +y +h);
logo (2) implica v
P
(N) 1. Armamos que v
P
(N) = 1; para isto bastar
mostrar que N
(a) = 0. Temos N
(X) = 2BB
+B
h(X)+Bh(X)
f(X)
.
Logo, avaliando em P, usando (2) e o fato que b = b h(a), obtemos
N
(a) = bh
(a) f
P=O
v
P
(D)P mO = D.
Observao 1.5. Sejam A e B dois polinmios satisfazendo as condies
(1) e (3) do lema anterior. Ento o divisor D := mdc(div(A), div(By))
semi-reduzido.
Demonstrao. Seja P = (a
P
, b
P
) sup(div(A)). Para P = (P) e de
(3) temos que v
P
(By) = v
P
(A)+v
P
(s) onde v
P
(s) 0, logo v
P
(By)
v
P
(A) e v
(P)
(B y) = 0. Para P = (P) e da condio (3) segue-se
(B y)(P) = 0, logo v
P
(B y) 1. Armamos que v
P
(B y) = 1.
Dado
N(X) = (B y)(B +y +h) = B
2
+Bh f,
temos que N(a
P
) = 0 e N
(a
P
) = 0, pois P = O no ponto singular da
curva.
Demonstrao do Teorema 1.3. Primeiro mostramos a existncia de
este tipo de divisores. Podemos supor que D = D
0
:= D
0
0
mO um
divisor semi-reduzido do Lema 1.2 tal que
P=O
v
P
(D
0
) g +1, onde g
o gnero de H. Assim, podemos escolher P
1
, . . . , P
g+1
do suporte de D
(no necessariamente diferentes) e considerar o divisor semi-reduzido
E = E
0
:= P
1
+. . . +P
g+1
(g + 1)O.
Pelo lema anterior, existem polinmios A = A
0
e B = B
0
tal que
div(B y) = P
1
+. . . +P
g+1
+Q
1
+. . . +Q
g
(2g + 1)O.
Seja D = F
0
+P
1
+. . . +P
g+1
mO. Logo
Ddiv(By) = F
0
Q
1
. . .Q
g
(m2g1)O D
1
:= D
1
0
(m1)O,
sendo que D
1
pode ser assumido semi-reduzido. Agora a prova de existn-
cia termina por induo sobre m, pois o grau do novo divisor construdo,
no mnimo diminui em 1.
Para mostrar a unicidade destes divisores, escolhemos D
1
, D
2
divisores
reduzidos tal que D D
1
e D D
2
. Como deg(D
1
D
2
) = 0, pelo
Lema 1.2, D
1
D
2
D
3
, onde D
3
o divisor semi-reduzido obtido da
prova do lema. Seja P H tal que m := v
P
(D
1
) = n := v
P
(D
2
);
considerando D
1
D
2
ou D
2
D
1
, podemos supor que m 1 e que
algum dos seguintes casos podem ocorrer:
[Revista Integracin
Criptograa usando curvas hiperelpticas 39
(1) n = 0 e v
(P)
(D
2
) = 0;
(2) 1 n < m;
(3) 1 v
(P)
(D
2
) m.
Logo pela escolha de D
3
temos que v
P
(D
3
) 1 para todos os casos
acima. De fato, nos Casos (1) e (2) v
P
(D
3
) = (m n) 1 e no caso
(3) (P) = P; da propriedade P + (P) 2O e da construo de D
3
segue a armao. Agora como D
3
0, existe r
K(H) tal que D
3
=
div(r); pela denio de D
3
, o nico polo de r O e assim r = A(X) +
B(X)y, onde A(X), B(X)
K[X]. Para i = 1, 2, 3 escrevamos D
i
=
P=O
v
P(i)
(D
i
)P d
i
O, onde d
i
:=
P=O
v
P(i)
(D
i
). Pela denio de
divisor reduzido, d
1
g e d
2
g, pelo tanto ca claro que d
3
2g.
Mostraremos que B(X) = 0. Suponhamos que B(X) = 0; como
v
O
(A(X)) = v
O
(B(X)y), ento v
O
(r) = min{v
O
(A(X)), v
O
(B(X)y}.
Daqui temos que v
O
(B(X)y) < v
O
(A(X)), pois do contrrio
2deg(B(X)) (2g + 1) v
O
(A(X)) = v
O
(r) = d
3
2g,
o qual falso. Assim temos,
v
O
(B(X)) (2g + 1) = v
O
(r) = d
3
e da d
3
2g + 1 + 2deg(B(X)), o que no verdade; portanto r = A(X)
com deg(A(X)) 1. Tome Q = (a, b) H tal que A(a) = 0, logo pela
denio de (Q), temos que Q, (Q) sup(D
3
), o qual contraditrio
com a denio de D
3
. Logo conclumos que D
1
= D
2
.
2. O Jacobiano de H
O Jacobiano J = J
H
de H o grupo quociente
Div
0
/P ,
onde Div
0
= Div
0
H
o grupo de divisores de grau zero sobre H e P = P
H
o subgrupo de divisores principais de Div
0
.
2.6. Pontos racionais do Jacobiano
Para aplicaes criptogrcas usando o mtodo Die-Hellman ou ElGa-
mal, de interesse o estudo de subgrupos nitos do Jacobiano da curva
Vol. 24, No. 1, 2006]
40 Alonso Seplveda Castellanos
hiperelptica escolhida. Em nosso caso, consideraremos subgrupos nitos
do Jacobiano da curva denida sobre K = F
q
. um fato que J est
tambm denido sobre K. Seja L uma extenso nita de K e D um divi-
sor denido sobre L. Pelo Teorema 1.3 existe um nico divisor reduzido
D
1
=
P
v
P
(D
1
)P tal que D D
1
, e pela deninio de divisor reduzido
temos que
P
v
P
(D
1
) g, onde g o gnero da curva. Assim, existe
um nmero nito de possibilidades para obter divisores reduzidos, logo
obtemos um nmero nito de elementos do Jacobiano. Seja K := F
q
,
L = F
q
n e N
L
:= #J
L
(H). Se sabe que N
L
pode-se calcular a partir dos
inteiros
i
em (3). De fato temos [6, Theorem. V1.15]
N
L
=
g
i=1
(1
i
)(1
i
) . (6)
Logo, usando que |
i
| = q
n/2
, se obtm:
(q
n/2
1)
2g
N
L
(q
n/2
+ 1)
2g
.
Exemplo 2.1. Consideremos a curva H denida pelo polinmio
F(X, Y ) := Y
2
+Y X
3
X = 0, ento para L = F
n
q
temos que:
N
L
:= #J
L
(H) =
2
2n
+ 2
n
+ 1 se n 1, 5 (mod 6),
(2
n
+ 2
n/2
+ 1)
2
se n 2, 4 (mod 6),
(2
n
1)
2
se n 3 (mod 6),
(2
n/2
1)
4
se n 0 (mod 6).
Seja L =
K. Pelo Teorema 1.3, a cada classe [D] J
K
lhe corresponde
um nico divisor reduzido D
R
. De fato o mapa [D] D
R
dene um
sistema completo de representantes para os elementos de J
K
(H).
2.7. Soma de Divisores no Jacobiano
Aqui apresentaremos o algoritmo de Koblitz [4], que uma generalizao
dos algoritmos de Cantor [2] para computar ecientemente a soma de
divisores reduzidos no J
L
(H), o qual s fez para o caso em que a carac-
terstica do corpo era diferente de dois e h(X) = 0. A seguir descrevemos
em forma geral estes algoritmos.
Algoritmo 1. Dados dois divisores D
1
, D
2
J
Fq
(H) semi-
reduzidos, ao aplicar o algoritmo este devolve um divisor D
0
semi-
reduzido, equivalente ao divisor D
1
+D
2
.
[Revista Integracin
Criptograa usando curvas hiperelpticas 41
Algoritmo 2. Dado um divisor semi-reduzido D
0
de grau
0
, ao
aplicar o algoritmo, este devolve um divisor D semi-reduzido tal que
D
0
D e <
0
, onde o grau de D. Aplicando sucessivamente
este algoritmo achamos um divisor reduzido equivalente a D
0
.
A seguir os passos a efetuar para cada algoritmo:
Algoritmo 1. Sejam D
1
= div(A
1
, B
1
) e D
2
= div(A
2
, B
2
) divisores
semi-reduzidos sobre a curva Y
2
+ h(X)Y = f(X) denidos sobre K,
onde h, f K[X] e A
1
, B
1
, A
2
, B
2
K[X]. A seguir, descrevemos os
passos formalmente para aplicar este algoritmo.
(1) Usando o algoritmo de Euclides sobre K[X], achamos d
1
, e
1
, e
2
K[X] tal que
d
1
= mdc(A
1
, A
2
) e d
1
= e
1
A
1
+e
2
A
2
.
(2) Usando outra vez o algoritmo de Euclides, achamos d, c
1
, c
2
K[X]
tal que
d = mdc(d
1
, B
1
+B
2
+h) e d = c
1
d
1
+c
2
(B
1
+B
2
+h).
(3) Sejam s
1
= c
1
e
1
, s
2
= c
2
e
2
e s
3
= c
2
; ento temos que
d = s
1
A
1
+s
2
A
2
+s
3
(B
1
+B
2
+h). (7)
(4) O divisor D
= A
1
A
2
/d
2
, (8)
e
B
=
s
1
A
1
B
2
+s
2
A
2
B
1
+s
3
(B
1
B
2
+f)
d
(mod A) . (9)
A seguir, mostramos que o divisor D
e B
=
s
1
A
1
B
2
+s
2
A
2
B
1
+s
3
(B
1
B
2
+f)
d
Vol. 24, No. 1, 2006]
42 Alonso Seplveda Castellanos
como sendo
B
2
(d s
2
A
2
s
3
(B
1
+B
2
+h)) +s
2
A
2
B
1
+s
3
(B
1
B
2
+f)
d
=
B
2
+
s
2
A
2
(B
2
B
1
) s
3
(B
2
2
+B
2
h) f
d
.
Pela denio de D
2
temos que A
2
divide B
2
2
+ B
2
h f, logo B
= div(A
, B
) um divisor semi-reduzido.
Seja
B
=
s
1
A
1
B
2
+s
2
A
2
B
1
+s
3
(B
1
B
2
+f)
d
+sA
,
com s K[X]. Subtraindo y a cada lado temos que
(B
y) =
s
1
A
1
B
2
+s
2
A
2
B
1
+s
3
(B
1
B
2
+f) yd
d
+sA
=
s
1
A
1
(B
2
y) +s
2
A
2
(B
1
y) s
3
(B
1
y)(B
2
y)
d
+sA
,
e como (B
y)(B
y) = (B
y)(B
+y +h) = B
2
+B
hf, ento
podemos ver que para A
dividir B
2
+ B
h f, suciente mostrar
que o produto A
1
A
2
divide o produto de
s
1
A
1
(B
2
y) +s
2
A
2
(B
1
y) s
3
(B
1
y)(B
2
y)
com
(s
1
A
1
(B
2
y) +s
2
A
2
(B
1
y) s
3
(B
1
y)(B
2
y));
isto imediato, pois A
1
divide B
2
1
+B
1
hf = (B
1
y)(B
1
y) e A
2
divide B
2
2
+B
2
h f = (B
2
y)(B
2
y). Portanto, pela Observao
(1.5) o div(A
, B
) um divisor semi-reduzido.
Por ltimo, mostramos que D
D
1
+ D
2
. Seja P = (a, b) H(L).
Temos dois casos a considerar:
(1) Se P = (P).
(1.a) Suponhamos que v
P
(D
1
) = m
1
,v
(P)
(D
1
) = 0, v
P
(D
2
) = m
2
e
v
(P)
(D
2
) = 0, onde m
1
, m
2
0. Logo, v
P
(B
1
y) m
1
e
v
P
(B
2
y) m
2
. Se m
1
= 0 ou m
2
= 0, ento v
P
(d
1
) = 0,
[Revista Integracin
Criptograa usando curvas hiperelpticas 43
implicando que v
P
(d) = 0 e v
P
(A
) = m
1
+ m
2
. Se m
1
, m
2
1,
ento temos que (B
1
+ B
2
+ h) = 2a + h(a) = 0, logo v
P
(d) = 0
e v
P
(A
) = m
1
+m
2
; da equao (9) segue que
v
P
(B
y) min{m
1
+m
2
, m
2
+m
1
, m
1
+m
2
} = m
1
+m
2
.
Portanto, v
P
(D
) = m
1
+m
2
.
(1.b) Suponha que v
P
(D
1
) = m
1
e v
(P)
(D
2
) = m
2
, onde m
1
m
2
1. Ns temos que v
P
(A
1
) = m
1
, v
P
(a
2
) = m
2
, v
P
(D
1
) = m
2
,
v
P
(B
1
y) m
1
, v
P
(B
2
y) = 0 e v
(P)
(B
2
y) m
2
. A
ltima desigualdade implica que v
P
(B
2
+ h + y) m
2
e daqui
v
P
(B
1
+B
2
+ h) m
2
ou (B
1
+B
2
+h) = 0. Logo, v
P
(d) = m
2
e v
P
(A
) = m
1
m
2
. Da equao (9) temos
v
P
(B
y) min{m
1
+ 0, m
2
+m
1
, m
1
+ 0} m
2
= m
1
m
2
.
Portanto v
P
(D
) = m
1
m
2
.
(2) Se P = (P).
(2.a) Suponhamos que v
P
(D
1
) = 1 e v
P
(D
2
) = 1. Ento, v
P
(A
1
) = 2,
v
P
(A
2
) = 2 e v
P
(d
1
) = 2. Temos que (B
1
+ B
2
+ h)(a) = 2b +
h(a) = 0, logo v
P
(B
1
+B
2
+h) 2 ou (B
1
+B
2
+h) = 0; ento
v
P
(d) = 2 e v
P
(A
) = 0. Portanto, v
P
(D
) = 0.
(2.b) Suponhamos que v
P
(D
1
) = 1 e v
P
(D
2
) = 0, logo v
P
(A
1
) = 2,
v
P
(A
2
) = 0. Daqui temos v
P
(d
1
) = v
P
(d) = 0 e v
P
(A
) = 2.
Como v
P
(A
2
) = 0, e da equao (9) temos v
P
(B
y) 1, da
equao (9) podemos dizer que v
P
(B
y) 2 s se v
P
(s
2
A
2
+
s
3
(B
2
y)) 1. Se isto acontece, ento v
P
(s
2
A
2
+s
3
(B
2
+h+y))
1 (ou s
2
A
2
+ s
3
(B
1
+ B
2
+ h) = 0). Isto implica que da equao
(7) v
P
(d) 1, contradio. Logo v
P
(B
y) = 1, e portanto
v
P
(D
) = 1.
Exemplo 2.2. Consideremos a curva hiperelptica H denida por Y
2
+
(X
2
+X)Y = X
5
+X
3
+1, de gnero 2 sobre o corpo F
2
5 = F
2
[X]/(X
5
+
X
2
+ 1).
(1) Sejam P = (
30
, 0), (P) = (
30
,
16
), Q
1
= (0, 1) e Q
2
= (1, 1),
onde um gerador do subgrupo multiplicativo de F
2
5. Denamos
os divisores reduzidos D
1
= P + Q
1
2O e D
2
= (P) + Q
2
2O.
Primeiro achamos os polinmios A
1
, B
1
, A
2
, B
2
F
2
5[X] tais que
D
1
= div(A
1
, B
1
) e D
2
= div(A
2
, B
2
). Ento temos que A
1
=
Vol. 24, No. 1, 2006]
44 Alonso Seplveda Castellanos
Psup(D1)
(X a
P
)
v
P
(D1)
, logo A
1
= X(X +
30
). Usando as
condies do lema (1.4), obtemos B
1
= X + 1. Anlogamente,
temos que A
2
= (X+
30
)(X+1) e B
2
=
23
X+
12
. A seguir, apli-
camos o Algoritmo (1) para achar o divisor semi-reduzido equivalente
soma de D
1
e D
2
. Logo, calculamos d
1
= mdc(A
1
, A
2
) = X +
30
tal que
d
1
= A
1
+A
2
e d = mdc(d
1
, B
1
+B
2
+h) = X +
30
,
assim d = d
1
. Ento,
A
= A
1
A
2
/d
2
= X(X + 1), e B
1 (mod A
).
Dos polinmios acima, segue-se
div(A
) = 2Q
1
+ 2Q
2
4O
e
div(B
y) = div(y + 1) = Q
1
+Q
2
+
3
i=1
P
i
5O,
onde P
i
= Q
1
, Q
2
. Portanto, D
= div(A
, B
) = Q
1
+Q
2
2O.
(2) Sejam D
1
= P + Q
1
2O e D
2
= Q
1
+ Q
2
2O. Ento D
1
=
div(A
1
, B
1
) e D
2
= div(A
2
, B
2
) onde A
1
= X(X+
30
), B
1
= X+1,
A
2
= X(X + 1) e B
2
= 1. Logo, como d = d
1
= X, obtemos
A
= (X +
30
)(X + 1), e B
14
X +
13
(mod A
) .
Daqui,
div(A
) = 2Q
2
+P +(P) 4O
e
div(B
y) = Q
2
+P +
3
i=1
P
i
5O, tal que P
i
= Q
2
, P, (P),
portanto, D
= div(A
, B
) = Q
2
+P 2O.
Algoritmo 2. Seja D
= div(A
, B
b) equivalente a D
tais que
dega g. Ento,
A = (f hb b
2
)/A
(10)
[Revista Integracin
Criptograa usando curvas hiperelpticas 45
e
B = (h B) (mod A); (11)
se c o coeciente lder de A, ento A = c
1
A. A seguir, mostramos que
o Algoritmo (2) devolve um divisor equivalente a D
e de menor grau.
(1) Mostremos que deg(A) deg(A
). Seja m = deg(A
), e n = deg(B
),
onde m > n e m g + 1. Logo deg(A) = max{2g + 1, 2n} m.
Se m = g + 1, ento deg(A) = g < deg(A
). Se m > g + 1, ento
max{2g + 1, 2n} 2(m1), logo deg(A) (m2) deg(A
).
(2) D = div(A, B) um divisor semi-reduzido. De (10) f B
hB
2
=
AA
da seguinte forma:
D
P=(P)
n
P
P +
P=(P)
P mO.
Pela prova do lema (1.4) podemos escrever
div(A
) =
P=(P)
n
P
P +
P=(P)
n
P
(P) +
P=(P)
2P ()O,
div(B
y) =
P=(P)
m
P
P +
P=(P)
P +
PH
s
P
P ()O,
onde m
P
n
P
, s
P
1 e H
= H\(sup(D
){(P) : P sup(D
)}
{O}). Como (B
2
+B
h f) = (B
y)(B
h f) =
P=(P)
m
P
P +
P=(P)
m
P
(P)+
P=(P)
2P +
PH
s
P
P +
PH
s
P
(P) ()O;
Vol. 24, No. 1, 2006]
46 Alonso Seplveda Castellanos
assim, usando a equao (10) temos
div(A) = div(B
2
+B
h f) div(A
) =
=
P=(P)
t
P
P +
P=(P)
t
P
(P) +
PH
s
P
P +
PH
s
P
(P) ()O,
onde t
P
= m
P
n
P
. Como B = h B
(a) +
s(a)A(a) = h(a) b. Ento
div(B y) =
P=(P)
r
P
(P) +
PH
w
P
(P) +
H
z
P
P ()O,
onde r
P
t
P
, w
P
s
P
e
H o conjunto H\ sup(div(By)). Logo,
div(A, B) =
P=(P)
t
P
(P) +
PH
s
P
(P) ()O
P=(P)
t
P
P
PH
s
P
P ()O
= D div(B
y) .
Portanto D D
=
(0, 1) +(1, 1) +(
5
,
15
) 3O. Ento D
= div(A
, B
), onde A
= X(X+
1)(X+
5
) e B
=
17
X
2
+
17
X+1. Agora, calculamos os polinmios A
e B tais que D = div(A, B) o divisor reduzido equivalente a D
. Ento,
A = (X +
28
)(X +
29
) , e B
23
X +
21
(mod A) .
Logo,
div(A) = (
28
,
7
) + (
28
,
16
) + (
29
, 0) + (
29
, ) 4O
e,
div(B +y) = (
28
,
7
) + (
29
, 0) +
3
i=1
P
i
5O.
Portanto D = div(A, B) = (
28
,
7
) + (
29
, 0) 2O.
[Revista Integracin
Criptograa usando curvas hiperelpticas 47
Exemplo 2.4. Considerando a curva H denida por
Y
2
+XY = X
5
+ 5X
4
= 6X
2
+X + 3,
de gnero 2 sobre o corpo F
7
, seja o divisor semi-reduzido
D
= div(A
, B
) = div(X
7
+ 2X
6
+ 3X
5
+ 6X
3
+ 4X + 5,
5X
6
+ 5X
5
+ 6X
4
+ 4X
3
+ 5X
2
+ 4).
Achemos o divisor reduzido D equivalente a D
. Aplicando o Algoritmo
(2) a D
obtemos o divisor
D
1
= div(A
1
, B
1
) = div(x
5
+ 6x
3
+ 6x
2
+ 6x + 1, 3x
4
+ 6x
2
+ 6x + 1).
Como o grau de A
1
e 5 g = 2 o gnero da curva, ento continuamos
aplicando o algoritmo at ter um divisor reduzido. Assim,
D = div(A, B) = div(x
2
+x + 5, 4x + 4) .
3. Criptossistemas usando curvas hiperelpticas
A implementao de novos grupos em criptossistemas de chave pblica
que baseiam a segurana no problema do logaritmo discreto (por exem-
plo, Die-Hellman e ElGamal) cada vez mais importante para lograr
um nvel maior de segurana. O Jacobiano de curvas hiperelpticas
um grupo com as caractersticas adequadas para aplicar na criptograa
baseado tambm na intratabilidade deste problema.
Denio 3.1. O Problema do logaritmo Discreto sobre o Jacobiano
de Curvas Hiperelpticas J
H
(F
q
n) (HECDLP) denido, dados dois di-
visores D
1
e D
2
sobre F
q
n, como o problema de determinar um inteiro
m, se existe, tal que [D
2
] = m[D
1
] em J
H
(F
q
n), ou equivalentemente,
mD
1
D
2
P
H
(F
q
n).
Assim, podemos denir em forma natural o sistema de troca de chaves
Die-Hellman entre os usurios A e B, sobre o Jacobiano de uma curva
hiperelptica denida em um corpo nito. Os parmetros pblicos so: o
corpo nito F
n
q
, a equao da curva hiperelptica H e um elemento base
D
0
J
H
(F
q
n). A escolhe um inteiro m
A
, sua chave privada e envia
para B o ponto m
A
D
0
; anlogamente, B envia m
B
D
0
, onde B sua
chave privada. Logo o segredo compartilhado ser o divisor m
A
m
B
D
0
J
H
(F
q
n).
Vol. 24, No. 1, 2006]
48 Alonso Seplveda Castellanos
Uma condio importante para a escolha de uma curva hiperelptica est
relacionada com a diculdade de resolver o problema do logaritmo discreto
sobre seu Jacobiano. Assim, a seguir mostramos o ataque Index-Calculus
para o problema do logaritmo discreto.
3.8. Ataque Index-Calculus para resolver o HECDLP
O Index-Calculus [7] tem sido aplicado satisfatoriamente em vrios pro-
blemas criptogrcos interessantes, incluindo o DLP para corpos nitos.
Esta mesma ideia pode ser usada para o DLP no Jacobiano J
H
(F
q
n)
de uma curva hiperelptica H de gnero g denida sobre K = F
q
. No
que segue, D
1
J
H
(F
q
), D
2
[D
1
], e queremos determinar m tal que
[D
2
] = m[D
1
] ou m = log
D1
D
2
. (1) O primeiro passo computar a es-
trutura de J
H
(F
q
) 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 denies.
Denio 3.2. Seja D = div(A, B) um divisor semi-reduzido sobre H.
Dizemos que D um divisor primo se o polinmio A irredutvel sobre
F
q
, o corpo base de H.
Seja A K[X] um polinmio irreduttivel e uma raiz de A. Dizemos
que Y
2
+h(X)Y f(X) separvel (mod A), se Y
2
+h()Y f() tem
duas razes distintas em K().
Denio 3.3. O polinmio A dito separvel se A no divide f(X) e
Y
2
+ h(X)Y f(X) separvel (mod A).
Denio 3.4. O polinmio A dito ramicado se A divide f.
Chamamos um primo r
P
K(H) separvel ou ramicado respectiva-
mente, se este est sobre A K(X) que separvel ou ramicado. Para
D J
H
(F
q
) tal que D = div(A, B), podemos escrever este como a soma
de divisores primos da forma D
i
= div(A
i
, B
i
), onde os A
i
so fatores
primos de A. Seja t um inteiro chamado a cota de smoothness.
Denio 3.5. Um divisor dito t-smooth se todos seus divisores primos
so de grau menor ou igual a t.
Quando t = 1, um divisor 1-smooth ser um divisor para o qual o poli-
nmio A completamente separvel sobre F
q
.
[Revista Integracin
Criptograa usando curvas hiperelpticas 49
Seja S = {P
1
, . . . , P
n
} a base fator onde P
i
= div(A
i
, B
i
) so todos os
divisores primos ramicados e separveis tal que deg(A
i
) t para algum
t Z. Se A
i
sepravel, ento unicamente um dos divisores primos sobre
A
i
, div(A
i
, B
i
) ou div(A
i
, B
i
h), est em S.
O primeiro passo do algoritmo achar m > n, t-smooth divisores princi-
pais tal que se tenha a relao
j
j
P
j
O. Se S gera J
H
(F
q
), ento a
aplicao
: Z
n
J
H
(F
q
) onde (
1
, . . . ,
n
)
j
P
j
um homomorsmo sobrejetivo, logo J
H
(F
q
)
= Z
n
/Ker(). Cada relao
um elemento
i
= (
i1
, . . . ,
in
) Ker(), e se o conjunto de m relaes
forma um sistema completo de geradores do Ker(), ento
J
H
(F
q
)
= Z/d
1
Z . . . Z/d
n
Z
tal que (d
1
, . . . , d
n
) so os elementos da forma normal de Smith (SNF) da
matriz relao A = (
1
. . .
m
) onde os
i
esto escritos como colunas.
Geradores X
i
de cada subgrupo Z/d
i
Z podem ser calculados achando as
matrizes T = (T
ij
) e Q = (Q
ij
) tal que T
1
AQ = SNF(A), e fazemos
X
i
=
n
j=1
T
ij
P
j
.
O segundo passo do algoritmo achar representaes de D
1
e D
2
em
Z/d
1
Z . . . Z/d
n
Z. Se D
1
e D
2
podem ser fatorados sobre S como
D
1
r
i
P
i
e D
2
s
i
P
i
, ento podemos escolher D
1
=
i
X
i
e D
2
=
i
X
i
onde (r
1
, . . . , r
n
) = P
1
(r
1
, . . . , r
n
)
T
e (s
1
, . . . , s
n
) =
P
1
(s
1
, . . . , s
n
)
T
. Assim, obtemos as representaes de D
1
= (r
1
, . . . , r
n
)
e D
2
= (s
1
, . . . , s
n
) emZ/d
1
Z. . .Z/d
n
Z, logo o DLP pode ser resolvido
usando o Teorema Chins dos Restos generalizado para achar m Z
tal que as congruncias r
i
ms
i
(mod d
i
), onde 1 i n, sejam
simultaneamente satisfeitas.
(2) O segundo mtodo melhora o primeiro quando #J
H
(F
q
) conhecido.
Como acima, seja S = {P
1
, . . . , P
n
} a base fator com todos os divisores
primos de grau menor o igual que t. As relaes so achadas por tentativas
para fatorar divisores da forma rD
1
+sD
2
sobre S. Cada divisor t-smooth
leva a uma relao da forma r
i
D
1
+ s
i
D
2
Q
i
=
j
ij
P
j
. Quando
tem sido achados n +1 relaes diferentes, aplicamos o mdulo #J
H
(F
q
)
para encontrar uma combinao linear no trivial da forma
n+1
i=1
i
i
=
(0, . . . , 0), o qual implica que
n+1
i=1
i
Q
i
= 0. Logo,
n+1
i=1
i
(r
i
D
1
+
s
i
D
2
) = 0 e log
D1
D
2
= (
i
r
i
)/(
i
s
i
) (mod #J
H
(F
q
)).
Vol. 24, No. 1, 2006]
50 Alonso Seplveda Castellanos
Referenzas
[1] I. Blake, G. Seroussi, N. Smart. Elliptic Curves in Cryptgraphy. London
Mathematical Society Lecture Note series, 265, Cambrigde, 1999.
[2] D. Cantor. Computing in the jacobian of a hiperelliptic curve. Math.
Comp. 48, 95101, 1987.
[3] W. Fulton. Algebric Curves. Benjamin, New York, 1969.
[4] N. Koblitz. Hyperelliptic cryptosystems. Journal Criptology 1, 139150,
1989.
[5] N. Koblitz. Algebraic Aspects of Cryptography. Springer-Verlag, Berlin-
Heidelberg-New York, 1998.
[6] H. Stichtenoth. Algebraic Function Fields and Codes. Springer-Verlag,
Berlin, Heidelberg, 1993.
[7] N. Thriault. Index Calculus attack for hyperellptic curves os small genus,
2003. (http://www.math.toronto.edu/ganita/publications.html)
Alonso Seplveda Castellanos
Bolsista do Cnpq
Instituto de Matemtica, Estatistica e Computao Cientica IMECC
Unicamp-Brasil.
e-mail : alonsosc@ime.unicamp.br
[Revista Integracin