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