Uma Introdução às Curvas Elípticas 1

Propaganda
Uma Introdução às Curvas Elípticas
William da S. Pedretti
Jaime E. A. Rodriguez
Universidade Estadual Paulista - Departamento de Matemática, UNESP
15385-000, Ilha Solteira, SP
E-mail: [email protected] , [email protected]
Palavras-chave: Análise e Aplicações, ECC, Característica, Corpo Finito.
Resumo: Neste trabalho analisamos as condições sob as quais duas curvas elípticas são
isomorfas, de acordo com a característica do corpo sobre o qual estão definidas.
1- Introdução
Sistemas criptográficos baseados em curvas elípticas (ECC) baseiam sua segurança no
problema do logaritmo discreto (PLD) aplicado no grupo de pontos de uma curva elíptica.
Este problema atualmente é considerado mais difícil de resolver-se do que a fatoração de
números inteiros (IFP), no qual baseia-se o RSA. Além disso, os ECCs trabalham com
chaves substancialmente menores comparados a outros métodos criptográficos, permitindo
assim, uma eficácia maior na hora de elaborar e implementar algoritmos. Este tipo de
sistema forma parte dos chamados métodos assimétricos ou de chave pública, e foi
primeiramente proposto e de maneira independente, por Koblitz e Miller em 1985.
Certas famílias de curvas elípticas podem ser isomorfas desde que certa transformação seja
aplicada, o que proporciona um ganho na hora da programação, pois podemos escolher em
qual curva trabalhar de modo que facilite os cálculos, já que a estrutura de ambas é
basicamente a mesma.
2 – Definição de Curva Elíptica
Baseia- se no problema do logaritmo discreto em um grupo formado pelos pontos da curva
elíptica. O melhor algoritmo conhecido para resolução deste problema tem complexidade
exponencial, o que confere um alto grau de segurança ao sistema.
Definição 2.1 Uma curva elíptica é definida sobre o corpo K é dada pela equação de
Weierstrass:
y 2  a1 xy  a 3 y  x 3  a 2 x 2  a 4 x  a5
(1)
onde a1, a2, a3, a4, a6  K.
3 – Isomorfismo entre duas Curvas Elípticas.
Teorema 3.1 Sendo K um corpo finito, duas curvas elípticas E1 / K e E2 / K dadas pelas
equações:
E1 : y 2  a1 xy  a3 y  x 3  a 2 x 2  a 4 x  a5
E 2 : y 2  a1 xy  a3 y  x 3  a 2 x 2  a 4 x  a5
(2)
são isomorfos sobre K,   u, r, s, t  K e u  0 , tal que a mudança de variáveis.
( x, y ) 
(u 2 x  r , u 3 y  u 2 sx  t )
216
(3)
transforma a equação de E1 na equação de E2.
Usando o conceito de isomorfismo entre curvas elípticas, a equação (1) pode ser
simplificada de acordo com a característica do corpo K sobre o qual ela está definida.
4 – Curvas definidas em Corpos de Característica ≠ 2 e ≠ 3
y 2  a1 xy  a 3 y  x 3  a 2 x 2  a 4 x  a5
Seja E/K dada por
(4)
tal que a característica de K é diferente de 2. Uma transformação admissível de variável é
a 
a

( x, y ) 
  x, y  1 x  3 
2
2

(5)
a qual transforma E/K em
E1 / K : y 2  x 3  b2 x 2  b4 x  b5
(6)
onde
a12
b2  a 2 
4
a1a 3
b4  a 4 
2
2
a
b5  a5  3
4
(7)
Nos casos em que a característica de K também é ≠ 3, a mudança de variável
 x  3b2 y 
( x, y ) 
 
,

216 
 36
(8)
pode ser aplicada sobre E1/K para transformá-la em
E 2 / K : y 2  x 3  ax  b.
(9)
Como E/K é isomorfa a E1/K e E1/K é isomorfa a E2/K, podemos considerar que toda curva
elíptica, definida sobre um corpo cuja característica é ≠ 2 e ≠ 3, escreve como
E : y 2  x 3  ax  b
(10)
onde a, b  K .
5 – Curvas definidas em Corpos de Característica 2
Seja E/K, dada por y  a1 xy  a3 y  x  a 2 x  a 4 x  a5
2
3
2
217
(11)
uma curva elíptica sobre K, de característica 2.
Se a1 ≠ 0, então a mudança de variáveis
 2
a3 3
a12 a 4  a 32

( x, y ) 
  a1 x  , a1 y 
a1
a13




(12)
transforma E/K na curva
E1 / K : y 2  xy  x 3  b2 x 2  b5
(13)
Quando a1 = 0, uma mudança admissível de variáveis é
( x, y ) 
 ( x  a 2 , y )
(14)
que transforma E/K na curva
E 2 / K : y 2  c 3 y  x 3  c 4 x  c5
com
(15)
c3  a 3
c 4  a 4  a 22
(16)
c5  a 5  a 4 a 2
6 – Conclusões
Observamos que certas mudanças de variáveis permitem transformar determinadas
equações de curvas elípticas em outras mais simples (isomorfas), as quais permitem ser
manipuladas com mais facilidade, a efeitos de realizar cálculos, elaborar algoritmos e
implementá-los.
Referências
[1] COUTINHO, S.C: Números Inteiros e Criptografia RSA, Série de Computação e
Matemática, IMPA, Rio de Janeiro, 2003.
[2] HEFEZ, A. e VILELA, M.A.T.: Códigos corretores de erros, Série de Computação e
Matemática, IMPA, Rio de Janeiro, 2002.
[3] KOBLITZ, N.; Elliptic Curve Cryptosystems, Mathematics of Computation, 1987.
[4] LAVOR, C. C; ALVES, M. M. S.; SIQUEIRA, R. M.; COSTA, S. I. R., Uma Introdução à
Teoria dos Códigos, Notas em Matemática Aplicada, vol. 21, SBMAC, São Carlos, 2006.
[5] MENEZES, A. J.; Elliptic Curve Public Key Cryptosystems, Auburn University, 1999.
218
Download