50
P. Salehyan Curvas Elípticas e Aplicações Familiares: Fatoração em Primos III o Colóquio de Matemática da Região Sul Florianópolis, SC 2014

Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

Embed Size (px)

Citation preview

Page 1: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

P. Salehyan

Curvas Elípticas e Aplicações

Familiares: Fatoração em Primos

IIIo Colóquio de Matemática da Região

Sul

Florianópolis, SC

2014

Page 2: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo
Page 3: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

P. Salehyan

Curvas Elípticas e Aplicações Familiares:Fatoração em Primos

IIIo Colóquio de Matemática da Região Sul

Minicurso apresentado no IIIo

Colóquio de Matemática daRegião Sul, realizado na Uni-versidade Federal de SantaCatarina, em maio de 2014.

Florianópolis, SC

2014

Page 4: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

Resumo

A teoria de curvas elíticas envolve uma bela mistura de álgeb-ra, geometria, análise e teoria dos números. Por isso estudaresta teoria é uma boa oportunidade para entender e apreciar aunião entre as diversas áreas de matemática. O objetivo princi-pal deste minicurso é apresentar uma introdução a esta teorianuma maneira acessível aos alunos de graduação e aplicá-lanum dos problemas mais familiares da aritmética dos inteiros:a fatoração em primos.

Palavras-chaves: Cúbicas. Curvas Eliptícas. Fatoração.

Page 5: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

Sumário

Introdução . . . . . . . . . . . . . . . . . . . 5

1 Preliminares . . . . . . . . . . . . . . . . . . 7

1.1 Polinômios . . . . . . . . . . . . . . . . . . . . . 7

1.2 Espaço Projetivo . . . . . . . . . . . . . . . . . . 10

2 Cúbicas . . . . . . . . . . . . . . . . . . . . 15

2.1 Cúbicas . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Classificação de Cúbias Planas Projetivas . . . 18

2.3 Operação entre os Pontos e suas Propriedades 21

2.4 Teorema de Mordell-Weil . . . . . . . . . . . . . 25

2.5 Comentários sobre o Caso Singular . . . . . . . 28

3 Aplicação . . . . . . . . . . . . . . . . . . . 33

3.1 Algoritmo de Pollard . . . . . . . . . . . . . . . 37

3.2 Algoritmo de curvas elípticas de Lenstra . . . . 41

Referências . . . . . . . . . . . . . . . . . . 47

Page 6: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo
Page 7: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

5

Introdução

As curvas elípticas além de terem uma história longa,possuem diversos métodos utilizados no seu estudo.Por outro lado, já foram usadas na demonstração do

último teorema de Fermat e são empregadas em criptografia efatoração de números inteiros. Isso tudo e a facilidade de seremdefinidas, sem necessidade de muitos pré-requisitos, as tornaobjetos muito interessantes a serem apresentadas aos alunosde graduação.

O principal foco deste minicurso é fazer uma introdução àteoria de curvas elípticas e como aplicação, utilizá-las para fa-torar números inteiros. O teorema fundamental da aritméticagarante a existência e a unicidade de fatoração de númerosinteiros em números primos. O problema computacional, ouseja, fatorar um determinado número inteiro pode não ser umatarefa fácil, principalmente se o número for muito grande. Esteproblema além de ser um problema do interesse dos matemáti-cos, é de grande importância prática. Por exemplo a segurançade alguns sistemas criptográficos depende da dificuldade dafatoração das chaves públicas. Em outras palavras, estes sis-temas seriam inseguros se existisse um algoritmo rápido parafatoração de inteiros. Existem diversos algoritmos para fatorarnúmeros inteiros, um deles é o algoritmo de Lenstra que utilizacurvas elípticas.

Com o objetivo de estudar os pré-requisitos necessários, ini-cialmente faremos uma rápida revisão sobre os polinômios

Page 8: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

6 Introdução

de duas e três variáveis, polinômios homogêneos e zeros deequações polinomiais. Em seguida definiremos o espaço pro-jetivo e estudaremos a relação dos objetos geométricos nos es-paços afim e projetivo. Esta relação é exemplificada por retase cônicas. Neste momento temos os pré-requisitos necessáriospara definir curvas planas projetivas e estudar sua teoria ele-mentar. A pretenção não é fazer uma introdução completa aoassunto. Pretendemos estudar alguns tópicos e resultados queserão utilizados no estudo de cúbias, ou seja, curvas de grautrês.

Para explorar a teoria elementar de cúbias planas projetivas.Após a definição e apresentar exemplos, falaremos da classifi-cação de cúbicas e finalmente definiremos as curvas elípticas.Em seguida definiremos uma operação entre os pontos de umacurva elíptica e observamos que o conjunto desses pontos mu-nido desta operação se torna um grupo abeliano. O resultadoprincipal desta parte é o teorema de Mordell-Weil: dada umacurva elíptica racional, existe um conjunto finito de seus pontostal que todos os outros podem ser obtidos a partir destes pormeio da operação definida anteriormente, ou seja, o grupo dospontos racionais de uma curva elíptica racional é finitamentegerado. Devido ao tempo, este teorema é apenas anunciado,sem apresentar sua demonstração.

Por último, apresentaremos os algoritmos de Pollard e deLenstra para fatorar números inteiros. O segundo utiliza cur-vas elípticas. Após explicar os fundamentos e a parte teórica,faremos alguns exemplos para ilustrar o funcionamento destesalgoritmos.

Page 9: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

7

1 Preliminares

Neste capítulo reunimos alguns resultados básicos queserão utilizados nos próximos capítulos. As demonstrações dosresultados poderão ser consultadas na bibliografia apresen-tada.

Durante este capítulo K sempre representa o corpo dosnúmeros reais ou complexos, os quais serão denotados por R

e C respectivamente. O conjunto dos números inteiros é deno-tado por Z, e dos inteiros não negativos por N.

1.1 Polinômios

Definição 1.1. Um polinômio em variável x com coeficientes em K éuma expressão da forma p(x) = anxn + an−1xn−1 + · · ·+ a1x + a0,onde n ∈ N e a0, . . . , an ∈ K. Dois polinômios p(x) = anxn + · · ·+a0 e q(x) = bmxm + · · ·+ b0 são iguais, se n = m e ai = bi paratodo i = 0, . . . , n.

O conjunto de todos os polinômios com coeficientesem K é denotado por K[x]. Este conjunto, munido das op-erações adição e multiplicação definidas a seguir, possui es-trutura de um anel comutativo com unidade. Sejam p(x) =anxn + · · ·+ a0, q(x) = bmxm + · · ·+ b0 ∈ K[x] tais que m ≥ n.Defina ai := 0 se i > n.

Page 10: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

8 Capítulo 1. Preliminares

• Adição: para todo 0 ≤ i ≤ m, seja ci := ai + bi, então

p(x) + q(x) := cmxm + · · ·+ c0;

• Multiplicação: para todo 0 ≤ i ≤ m + n, seja ci := ∑ij=0 ajbi−j

p(x) · q(x) := cm+nxm+n + · · ·+ c0.

O maior n tal que an 6= 0 é chamado do grau de p e deno-tado por deg p. Neste caso an é chamado do coeficiente líder.Chamamos a0 do termo constante. O grau do polinômio zero,p = 0, é definido como −∞. Por convenção, para todo n ∈ Z,

−∞ < n, −∞ + n = −∞, −∞ +−∞ = −∞.

Nenhuma outra operação é definida com −∞. Usando estasconvenções, podemos mostrar que

deg(pq) = deg p + deg q, deg(p + q) ≤ max{deg p, deg q}.

Refletindo um pouco nas definições acima, observamos queas operações acima são baseadas apenas nas operações entreos coeficientes, neste caso, os números reais ou complexos.Esta observação permite definir os polinômios numa maneiraum pouco mais geral, ou seja, considerar um anel comuta-tivo com unidade como o conjunto dos coeficientes e a par-tir disso definir polinômios e operações entre eles da formaanáloga ao caso de R ou C. Em particular, definiremos o anelde polinômios em duas e três variáveis.

Definição 1.2. O anel de polinômios en duas variáveis x e y édefinido como K[x, y] := K[x][y]. Mais precisamente um polinômioem duas variáveis é uma expressão finita da forma ∑ pi(x)yni , ondepi ∈ K[x] e ni ∈ N.

Page 11: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

1.1. Polinômios 9

Embora é muito útil considerar um polinômio de duasvariáveis desta forma, é mais comum considerar a forma geralde um polinômio em duas variáveis como uma soma finitap(x, y) := ∑ amnxmyn, onde amn ∈ K e m, n ∈ N. Cada termoamnxmyn é chamado de um monômio e seu grau é definidopor m + n. O grau de p é definido como o maior inteiro en-tre os graus destes monômios. Se todos os monômios tiveremo mesmo grau, ou seja, se existe d ∈ N tal que m + n = dpara todo m e n, então p é chamado de um polinômio homogê-neo. Neste caso para todo λ ∈ K, p(λx, λy) = λd p(x, y). Asoperações de adição e multiplicação são definidas da formaanáloga aos caso de uma variável, ou seja, assumindo as regrasde comutatividade e distribuição de multiplicação em relaçãoà adição e xi1 yj1 · xi2 yj2 := xi1+i2 yj1+j2 . É um exercício simplesverificar que K[x, y] munido destas operações se torna um anelcomutativo com unidade.

O conjunto dos polinômios em três variáveis é definidocomo K[x, y, z] := K[x, y][z]. Analogamente ao caso de duasvariáveis, um polinômio de três variáveis pode ser escrito comouma soma finita ∑ aijkxiyjzk. Claramente, por indução pode-mos definir o conjunto de polinômios em n variáveis x1, . . . , xn

com coeficientes em K por K[x1, . . . , xn] := K[x1, . . . , xn−1][xn].Os conceitos de monômio, grau, homogeneidade e as oper-ações entre polinômios são generalizadas naturalmente.

Page 12: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

10 Capítulo 1. Preliminares

Exercícios

1. Mostre que se p ∈ K[x, y] satisfaz p(λx, λy) = λd p(x, y)para algum d ∈ N e para todo λ ∈ K, então é homogêneode grau d. Faça o análogo para o caso de várias variáveis.

2. Mostre que um polinômio homogêneo em duas variáveiscom coeficientes em C pode ser escrito como produto depolinômios homogêneos lineares, ou seja, polinômios ho-mogêneos do tipo ax + by, onde a, b ∈ C.

3. Verifique que todo polinômio de grau d em n variáveispode ser escrito como uma soma pd + pd−1 + · · · + p0,onde pi é um polinômio homogêneo de grau i para todoi = 0, . . . , d.

4. Seja P um polinômio homogêneo de grau n. Mostre aidentidade de Euler:

nP = x1Px1 + · · ·+ xnPxn ,

onde Pxi é a derivada parcial de P em relação a xi, paratodo i = 1, . . . , n.

1.2 Espaço Projetivo

Nos cursos elementares de geometria análitica, quandoestudamos o problema de interseção de retas no plano carte-siano, observamos que retas paralelas não possuem ponto emcomum. Em outras palavras, o sistema dado pelas equaçõesde retas paralelas não possui solução. Este problema se repetese estudarmos a interseção da reta dada pela equação x = 0

Page 13: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

1.2. Espaço Projetivo 11

e a hipérbole dada pela equação xy = 1. Esta falha do planocartesiano pode ser resolvida se estudarmos estes problemasno plano projetivo construído a seguir.

Seja K3 = K × K × K. Em K3 \ {(0, 0, 0)} defina a seguinte re-lação:

(a0, a1, a2) ∼ (b0, b1, b2) ⇔ ∃λ ∈ K \ {0}; (a0, a1, a2) = λ(b0, b1, b2).

Em outras palavras, dois pontos distintos da origem são rela-cionados, se pertencem a mesma reta que passa pela origem.Facilmente podemos verificar que esta relação é de equivalên-cia, portanto podemos considerar o conjunto quociente

P2K :=

K3 \ {(0, 0, 0)}∼ .

Este conjunto é chamado de plano projetivo. GeometricamenteP2

K é o conjunto de todas as retas em K3 que passam pelaorigem. A class de (a0, a1, a2), ou, um ponto de P2

K é deno-tado por (a0 : a1 : a2). Chamaremos a0, a1 e a2 de coordenadashomogêneas do ponto (a0 : a1 : a2).

A seguir explicaremos como plano projetivo resolve asfalhas do plano cartesiano. Primeiro observamos a aplicação

{ι : K2 −→ P2

K(a0, a1) 7−→ (a0 : a1 : 1)

.

Claramente esta aplicação é injetiva, então ao identificar K2

com sua imagem em P2K, podemos considerar o plano carte-

siano como um subconjunto do plano projetivo, em outraspalavras, P2

K possui uma cópia de K2. Lembrando a definiçãoda relação de equivalência, ι(K2) = {(a0 : a1 : a2)|a2 6= 0}.

Page 14: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

12 Capítulo 1. Preliminares

Defina H∞ := P2K \ ι(K2). Então P2

K = ι(K2) ∪ H∞. Novamentepela definição,

H∞ = {(a0 : 1 : 0)|a0 ∈ K} ∪ {(1 : 0 : 0)}.

Os pontos de H∞ são chamados de pontos no infinito. Existetambém a aplicação

{ι̃ : ι(K2) −→ K2

(a0 : a1 : a2) 7−→ ( a0a2

: a1a2

).

Observamos que ι ◦ ι̃ = idι(K2) e ι̃ ◦ ι = idK2 . Utilizando ι eι̃ podemos visualizar os objetos de K2 em P2

K e também olharpara os objetos no plano projetivo como união de seus pontosno infinito e o complementar destes pontos que é chamado desua parte afim. Para esclarecer esta ideia nada melhor que daruns exemplos.

Exemplo Seja l ⊂ K2 uma reta dada pela equação y =mx + h. Para obter ι(l) devemos fazer as mudanças x → x

z ey → y

z . Então ι(l) = {(x : y : z)|mx − y + hz = 0}. O únicoponto no infinto de ι(l) é (1 : m : 0). No caso da reta l′ dadapela equação x − a = 0, ι(l′) = {(x : y : z)|x − az = 0} e seuponto no infinito é (0 : 1 : 0).

Exemplo Seja C = {(x : y : z)|x2 − y2 − z2 = 0} ⊂ P2K.

Ao substituir z = 0, obtemos x2 − y2 = 0, ou, x = ±y. Entãoos pontos no infinito de C são (1 : ±1 : 0). Sua parte afim édada pela equação x2− y2 = 1, uma hipérbole. Então podemospensar em C como a união de uma hipérbole e dois pontos noinfinito.

Nos próximos dois exemplos veremos como os pontosde H∞ aparecerão como pontos de interseção.

Page 15: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

1.2. Espaço Projetivo 13

Exemplo As retas l1, l2 ⊂ K2 dadas respectivamentepelas equações x− y− 1 = 0 e 2x− 2y− 3 = 0 são paralelas eportanto não possuem pontos em comum em K2. Como vimosno primeiro exemplo, ι(l1), ι(l2) ⊂ P2

K são dadas por x − y−z = 0 e 2x − 2y − 3z = 0. O ponto no infinito das duas é(1 : 1 : 0). Isto é l1 e l2 possuem um ponto no infinito emcomum.

Exemplo A hipérbole e a reta dadas pelas equaçõesxy = 1 e x = 0 não se interceptam em K2. A hipérbole em P2

Ké dada pela equação xy = z2 e a reta por x = 0. A primeirapossui dois pontos no infinito: (1 : 0 : 0) e (0 : 1 : 0), e asegunda apenas um: (0 : 1 : 0). Portanto (0 : 1 : 0) é o pontode interseção da hipérbole e a reta.

Observação 1.3. Neste momento vale destacar um resultado geralsobre a existência de pontos de enterseção em geral. Sejam C1 e C2

conjuntos de zeros de polinômios homogêneos em três variáveis P1 eP2, então C1 ∩C2 6= ∅. De fato, o teorema de Bézout garante que sobcertas condições, #(C1 ∩ C2) = deg P1 · deg P2, veja [14].

Exercícios

1. Utilize a ideia de construção de P2K para construir o es-

paço projetivo PnK a partir de Kn+1 \ {(0, . . . , 0)}. Mais

geralmente, faça a construção do espaço projetivo associ-ado a um espaço vetorial de dimensão finita.

2. Mostre o teorema de Bézout no caso em que deg P1 = 1.

Page 16: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo
Page 17: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

15

2 Cúbicas

Este capítulo é dedicado a fazer uma introdução breveàs cúbicas planas projetivas. Após da definição e exemplos,falaremos de suas classificações. Veremos que seus pontos pos-suem a estrutura de um grupo abeliano e que este grupo é fini-tamente gerado. Comentaremos vários resultados sobre estegrupo. A maioria das demonstrações precisam de estudos umpouco mais avançdos e por isso não serão apresentadas. Massuas importância e utilidade são esclarecidas por meio dos ex-emplos.

2.1 Cúbicas

Definição 2.1. Sejam K um corpo e P ∈ K[x, y, z] homogêneo degrau 3. O conjunto dos zeros de P, denotado por V(P), é chamado deuma cúbica plana projetiva ou simplesmente uma cúbica.

Exemplo As cúbicas: C1 : y2z = x3, C2 : y2z = x2(x +z) e C3 : y2 = x(x − z)(x − 2z). Todas possuem um únicoponto no infinito: (0 : 1 : 0). Suas partes afins, ou seja, ascúbicas afins correspondentes são: y2 = x3, y2 = x2(x + 1) ey2 = x(x− 1)(x− 2), veja a Figura 1.

Estas curvas são bons exemplos para observar o seguintefato: em todos os pontos de C3 podemos escrever a equação dareta tangente à curva, o que não acontece no de C1 e C2. Istoocorre pelo fato as funções implícitas y2 = x3 e y2 = x2(x + 1)

Page 18: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

16 Capítulo 2. Cúbicas

Figura 1 –

não possuem derivada no ponto A(0, 0). Se calcularmos asderivadas parciais destas funções nestes pontos, veremos quetodas se anulam. Isso não acontece no caso de C3, em cadaponto pelo menos uma das derivadas parciais não é nula. Estaobservação nos leva a fazer a seguinte definição. Denote asderivadas parciais usuais por ∂

∂x , ∂∂y e ∂

∂z .

Definição 2.2. Um ponto (a : b : c) ∈ C = V(P) é dito um pontosingular se ∂

∂x P(a : b : c) = ∂∂y P(a : b : c) = ∂

∂z P(a : b : c) = 0. SeC tiver pelo menos um ponto singular, será chamada de uma curvasingular, caso contrário será uma curva suave.

Exemplo As curvas C1 e C2 no exemplo anterior sãosingulares, seus pontos singulares são (0 : 0 : 1) e (1 : 0 : 1)respectivamente. Mas C3 é uma curva suave.

Page 19: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.1. Cúbicas 17

Definição 2.3. Uma cúbica C = V(P) é chamada de irredutível,se P for um polinômio irredutível, caso contrário, diremos que C éredutível.

Dependendo de números dos fatores de P, teremosos seguintes casos para uma cúbica redutível: união de umareta com uma cônica e união de três retas. Cada um destes ca-sos possui várias configurações, como veremos na figura 2. As

Figura 2 – Cúbicas Redutíveis

cúbicas redutíveis são singulares. Isso pode ser verificado facil-mente usando a definição 2.2. De fato, se P = GH, utilizando aregra de derivada de produto, os pontos de V(G)∩V(H) serãopontos singulares de V(P). Lembre-se que pela observação 1.3,V(G) ∩V(H) 6= ∅.

Page 20: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

18 Capítulo 2. Cúbicas

Exercícios

1. Determine o(s) ponto(s) singular(es) das cúbicas V(xyz)e V(z(x2 − y2)).

2. Determine a singularidade da cúbica dada pela equaçãoy2z = x(x− z)(x− λz) quando λ ∈ C.

3. Seja f ∈ C[x] de grau 3. Mostre que a cúbica C dada pelaequação y2 = f (x) é singular se, e somente se, f pos-sui raízes múltiplas. Verifique que neste caso, C possuiapenas um ponto singular.

2.2 Classificação de Cúbias Planas Projetivas

Em geometria analítica aprendemos a classificação decônicas, ou seja, aprendemos que para trabalhar com uma cônicanão precisamos considerar uma equação geral de grau dois, ésuficiente considerar apenas alguns casos particulares. Este égarantido por meio de mudanças de coordenadas, ou seja, apli-

cações T : K2 → K2 da forma

(xy

)7→ A

(xy

)+ B, onde

A é uma matriz 2× 2 invertível e B ∈ K2. Se quisermos classi-ficar as cônicas em P2

K, ou seja, o conjunto dos zeros de umaequação polinomial homogêneo de grau 2, devemos trabalharcom aplicações P2

K → P2K induzidas pelas transformações li-

neares de K3. Mais precisamente:

Definição 2.4. Uma mudança de coordenadas projetiva de P2K é uma

aplicação dada por P 7→ AP, onde A é uma matriz invertível de

Page 21: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.2. Classificação de Cúbias Planas Projetivas 19

ordem 3 e P(x : y : z) ∈ P2K é representado da forma

xyz

.

Diremos que X1, X2 ⊂ P2K são projetivamente equivalentes, se existe

uma mudaça de coordenadas projetiva T tal que T(X1) = X2.

Exemplo As cônicas C1, C2 ⊂ P2C dadas pelas equações

x2 + y2 + z2 = 0 e y2 = xz são projetivamente equivalentes por

meio da mudança de coordenadas dada por

i 0 −10 1 0i 0 1

,

isto é: (x : y : z) 7→ (ix− z : y : ix + z).

Usando mudança de coordenadas, podemos obter for-mas muito simples para cúbicas. Esta classificação pode serfeita em qualquer corpo mesmo com característica positiva.Neste texto precisamos apenas de caso de característica zero,uma vez que trabalhamos com C ou seus subcorpos. Os demaiscasos podem ser encontrados em [3].

Teorema 2.5. Uma cúbica suave é projetivamente equivalente à cúbicay2z = x(x− z)(x− λz), onde λ ∈ C \ {0, 1}.

A demonstração deste teorema pode ser encontradaem [3] e [14]. O único ponto no infinito de uma cúbica projetivasuave dada no teorema 2.5 é O = (0 : 1 : 0), e sua parte afim édada pela equação y2 = f (x), onde f é um polinômio de grau 3em uma variável com raízes distintas. Esta forma de apresentaruma cúbica afim suave é conhecida por sua forma de Weierstrass.A forma apresentada no teorema 2.5 é conhecida como forma deLegendre. Vale observar que neste caso cúbica poderá ter umaou duas componentes reais, ou seja, ao esboçar o gráfico da

Page 22: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

20 Capítulo 2. Cúbicas

cúbica no plano cartesiano ocorrerá um dos casos mostradosna Figura 3. Estes casos acontecem quando f possui apenasuma raiz real(como C1) ou três raízes reais distintas(como C2),caso contrário, teremos as cúbicas singulares.

Figura 3 – Cúbicas com uma ou duas componentes reais

Teorema 2.6. Uma cúbica singular é projetivamente equivalente àcúbica y2z = x3 ou y2z = x2(x + z).

Veja [3] para sua demonstração. Observamos que emcada um dos casos no teorema 2.6, existe apenas um pontosingular: o ponto singular no caso de y2z = x3 é chamado decúspide e no caso de y2z = x2(x + z) é chamado de nó, veja ascúbicas C1 e C2 na Figura 1.

Cúbicas suaves aparecem em diversas áreas dematemática e ciência como teoria dos númeors, análise com-plexa, criptografia e física clássica e moderna. Foram utilizadaspara demonstrar o último teorema de Fermat. Para ver um

Page 23: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.3. Operação entre os Pontos e suas Propriedades 21

pouco de ubiquidade destes objetos tão fácies de serem definidos,veja [11]. Um dos problemas onde estas curvas aparecem écalcular comprimento de uma elipse. Este problema envolveintegrais definidas de funções do tipo

√g(x), onde g é um

polinômio de grau 3 ou 4. Estas integrais, chamadas de inte-grais elípticas, em geral não podem ser calculadas em termode funções conhecidas. Pela relação próxima entre as integraiselípticas e cúbicas suaves, estas cúbicas são chamadas de cur-vas elípticas.

Definição 2.7. Uma cúbica suave definida sobre o corpo K é chamadade uma curva elíptica (sobre o corpo K).

Nosso foco principal é estudar curvas elípticas sobreQ. Pelo teorema 2.5, uma curva elíptica em Q é

E(Q) := {(x : y : z) ∈ P2Q|y2z = x(x− z)(x−λz), λ ∈ Q\ {0, 1}},

ou, lembrando que O = (0 : 1 : 0) é seu único ponto noinfinito, escrevemos E(Q) = C f (Q) ∪ {O}, onde C f (Q) é suaparte afim dada por f ∈ Q[x] de grau 3 com raízes distintas.

2.3 Operação entre os Pontos e suas Propriedades

Nesta seção definiremos uma operação entre os pontosde uma curva elíptica C e mostraremos que este conjunto mu-nido desta operação possui estrutura de um grupo abeliano.Esta definição é baseada na seguinte ideia: dados dois pontosde C, é possível obter outro ponto, em geral distinto dos pon-tos dados. Sejam P, Q ∈ C, e O seu único ponto no infinito(teorema 2.5) e lembre do Exercício 2, seção 1.2.

Page 24: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

22 Capítulo 2. Cúbicas

• Considere a reta que passa por P e Q e obtenha oterceiro ponto de interseção desta reta com a cúbica, denotadopor R := P ∗Q;

• Analogamente obtenha R ∗ O. Este último será asoma de P e Q, denotado por P + Q.

Uma vez que dados dois pontos, existe apenas umaúnica reta que passa pelos dois, a operação está bem definidae é comutativa. Pela construção, observamos

• O ∗O = O, portanto O +O = O;

• P + O = P, para todo P ∈ C, ou seja, O é o elementoneutro da operação;

• O ∗ P é o inverso de P, denotado por −P.

Figura 4 – Operação

Page 25: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.3. Operação entre os Pontos e suas Propriedades 23

Falta apenas demonstrar a associatividade desta op-eração para poder afirmar que (C, +) é um grupo abeliano.A demonstração geométrica da associatividade pode ser en-contrada em [4]. A seguir obteremos explicitamente as coor-denadas de P1 + P2 com as quais podemos mostrar algebrica-mente a associatividade. Pelas obsevações feitas acima, bastadeterminar P1 + P2 quando P1(x1, y1), P2(x2, y2) ∈ C f , a parteafim de C. Pelo teorema 2.5, podemos considerar C f na suaforma de Weierstrass, ou seja,

C f := {(x, y)|y2 = f (x) = x3 + ax2 + bx + c},

onde f ∈ C[x] possui raízes simples. Sejam L a reta que passapor P1 e P2 e x3, y3 as coordenadas de P1 ∗ P2.

Se x1 6= x2, escrevemos L : y = mx + n. Neste casoas primeiras coordenadas dos pontos de L ∩ C f satisfazem aequação (mx + n)2 = f (x) que é uma equação polinomial degrau 3. Utilizando a relação entre a soma das raízes da equação

x3 + (a−m2)x2 + (b− 2mn)x + (c− n2) = 0,

concluímos x1 + x2 + x3 = m2 − a, ou, x3 = m2 − a− x1 − x2 eportanto y3 = mx3 + n. Seguindo o segundo passo para obterP1 + P2, concluímos P1 + P2 = (x3,−y3).

No caso em que x1 = x2, devemos considerar os casosP1 = P2 e P1 6= P2. No primeiro caso L é a reta tangente a C f .

Se y1 6= 0, então m = 3x21+2ax1+b

2y1e n = y1 − mx1. Neste caso

x3 = m2 − a− 2x1, logo y3 = mx3 + n e P1 + P1 = (x3,−y3).Se y1 = 0, então P1 ∗ P1 = O, portanto P1 + P1 = O. QuandoP1 6= P2, a equação de L é x = x1, portanto P1 ∗ P2 = O eP1 + P2 = O.

Page 26: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

24 Capítulo 2. Cúbicas

Usando estas fórmulas para P1 + P2, podemos verificara associatividade (veja exercício 2 detsa seção).

Outro fato muito importante é o seguinte. Considereum corpo K ⊂ C, f ∈ K[x] e os pontos de C f cujas coordenadaspertencem a K, ou seja, C f (K) := {(x, y) ∈ C f |x, y ∈ K}, estasfórmulas mostram que

Proposição 2.8. (C f (K) ∪ {O}, +) é um subgrupo de (C, +). Emparticular (E(Q), +) é um grupo abeliano.

Na definição dada para a adição dos pontos C, tudo éfeito a partir de um ponto fixo, neste caso o ponto no infinito.Esta escolha facilita obter as fórmulas explícitas. Mas tomandoqualquer outro ponto de C podemos definir a operação usandoo mesmo processo e obter um grupo abeliano. O teorema aseguir garante que estes grupos são isomorfos.

Teorema 2.9. (Poincaré) Sejam C uma cúbica suave, O seu ponto noinfinito e P ∈ C. Denote por +′ a operação definida em C tomando Pcomo o ponto fixo. Então A +′ B = A + B−P , para todo A, B ∈ C.Em particular A 7→ A− P define um isomorfismo entre (C, +′) e(C, +).

Para a demonstração do teorema 2.9, veja [5, p.67].

A seguir faremos alguns exemplos os quais nos darãomotivação para estudar os resultados apresentados na próximaseção. Os dois primeiros envolvem o último teorema de Fer-mat: a equação un + vn = wn, n ≥ 3, possui apenas soluçõesinteiras triviais, ou seja, (u, v, w) ∈ Z3 tal que uvw = 0.

Exemplo É possível por meio de uma série de mu-dança de variáveis transformar a equação u3 + v3 = w3 na

Page 27: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.4. Teorema de Mordell-Weil 25

cúbica y2z = x3 − 274 z, chamada de cúbica de Fermat [5, Cap.

III]. As soluções triviais de u3 + v3 = w3 correspondem a O,P1(3, 9

2 ) e P2(3,− 92 ). Isto é o grupo dos pontos racionais de

y2z = x3 − 274 z possui apenas 3 elementos, portanto é iso-

morfo a Z3. Claramente P1 + P2 = O e P1 ∗ P1 = P1, portantoP1 + P1 = P2, ou, 3P1 = O.

Exemplo O caso quártica do último teorema de Fermatse transforma em y2 = x3 − 4x. Neste caso as soluções triviaiscorrespondem a {O, (0, 0), (2, 0), (−2, 0)}. Como todos estespontos possuem ordem no máximo dois, E(Q) ' Z2×Z2. Esteacontece para todas as curvas elípticas y2 = x3 − n2x, onde n éum inteiro livre de quadrados [5, p. 110].

Exemplo Considere y2 = x3− x + 14 e P = (0, 1

2 ). Então2P = (1,− 1

2 ), 3P = (1, 12 ), 6P = (2,− 5

2 ) 6= O, 8P 6= O e12P = ( 21

25 ,− 13250 ) 6= O. Pelo teorema 2.11, P possui ordem

infinita, portanto neste caso E(Q) é um grupo infinito.

Exercícios

1. Considere a cúbica y2 = x3 − x. Sejam P1(0, 0) e P2(1, 0).Determine P1 + P2.

2. Verifique a associatividade da operação definido em Cusando as fórmulas explícitas obtidas nesta seção.

2.4 Teorema de Mordell-Weil

Nos exemplos no final da seção anterior vimos queE(Q) pode ser finito ou infinito. Nesta seção apresentaremos

Page 28: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

26 Capítulo 2. Cúbicas

alguns resultados gerais sobre E(Q). O primeiro é o teoremade Mordell-Weil que afirma (E(Q), +) é um grupo (abeliano)finitamente gerado, ou seja, existe {P1, . . . , Pr} ⊂ E(Q) tal quetodo P ∈ E(Q) pode ser escrito como n1P1 + · · ·+ nrPr, paraúnicos n1, . . . , nr ∈ Z. Este resultado foi apresentado por Poincarécomo uma conjectura por volta de 1900 e somente cerca deduas décadas depois foi demonstrado por Mordell.

Teorema 2.10. O grupo dos pontos racionais de uma curva elítica éum grupo abeliano finitamente gerado.

Pelo teorema de estrutura de grupos abelianos finita-mente gerados [7, p. 46],

E(Q) ' E(Q)tor ⊕Zr,

onde E(Q)tor representa o subgrupo dos pontos de ordem finita,chamado de grupo de torção e r é chamado do posto de E(Q).Pelo fato que E(Q) é abeliano e finitamente gerado, E(Q)tor

é finito. Cada uma destas partes pode ser trivial. Por exem-plo no caso de cúbica de Fermat o posto é zero; e no caso dey2z = x3 + 2z3 não existe nenhum ponto de ordem finita alémde O(0 : 1 : 0). Estes exemplos fazem pensar quais são osgrupos finitos que podem aparecer como E(Q)tor, bem comosão as possibilidades do posto e se há técnicas para determiná-los explicitamente. No caso de E(Q)tor um resultado de Mazurdetermina todas as possibilidades, em particular fornece umacota para #E(Q)tor.

Teorema 2.11. (Mazur) Se E(Q)tor não for trivial, então é isomorfoa um destes 14 grupos:

Zn, n = 2, . . . , 10, 12; Z2 ×Z2; Z2 ×Z4; Z2 ×Z6; Z2 ×Z8.

Page 29: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.4. Teorema de Mordell-Weil 27

Em particular #E(Q)tor ≤ 16.

Este teorema foi apresentado por Mazur nos anos 1970[8], [9]. Segundo este teorema a ordem dos pontos de E(Q)tor éno máximo 12 e não existem pontos de ordem 11. Para cada umdestes grupos apresentado no teorema 2.11 existem exemplos[12, p. 242]. Isto em particular garante que 16 é a melhor cotapara #E(Q)tor. Além disso existe a forma precisa das curvaselípticas cujo grupo de torção seja isomorfo a cada um dosgrupos apresentados no teorema 2.11, a lista completa podeser encontrada em [6]. Para determinar os pontos de ordemfinita, o seguinte teorema é muito útil [13, p. 56].

Teorema 2.12. (Nagell-Lutz) Sejam y2 = f (x) ∈ Z[x] uma curvaelíptica e P(x, y) um ponto racional de ordem finita. Então x, y ∈ Z.Além disso y = 0, o caso em que P possui ordem 2; ou y2|d, onde dé o discriminante1 de f .

Exemplo Aplicamos o teorema 2.12 para y2 = x3 −x2 + x. Claramente P(0, 0) é de ordem 2. Como d = 5, se oponto racional (x, y) é de ordem finita, então y2|5, portantoy = ±1. Então P1(1, 1) e P2(1,−1) podem ter ordem finita.Como 2P1 = 2P2 = P(0, 0) e P possui ordem 2, conluímos queP1 e P2 são de ordem 4. Então E(Q)tor ' Z4.

Outra resultado muito útil e fácil de usar é reduçãoa módulo números primos, para detalhes veja [13, p.123]. Pelavariedade de resultados sobre E(Q)tor, podemos dizer que estegrupo é bem conhecido. Quanto ao posto, a situação é bemmais complicada. Até agora não existe um método eficiente

1 Lembramos que no caso de x3 + ax2 + bx + c, d = −4a3c + a2b2 + 18abc−4b3 − 27c2.

Page 30: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

28 Capítulo 2. Cúbicas

para determiná-lo em geral. Segundo uma conjectura, exis-tem curvas elípticas de postos arbitrariamente grandes. Em2006, N. Elkies mostrou que o posto de y2 + xy + y = x3 −x2 − ax + b, onde a =20067762415575526585033208209338542750930230312178956502 eb =34481611795030556467032985690390720374855944359319180361266008296291939448732243429, éno mínimo 28.

Em alguns casos é possível obter cotas para o posto.Sejam E(Q) uma curva elíptica dada por y2 = f (x) e que fpossui raízes inteiras, digamos, α, β e γ. Seja d o discriminantede f . Dado um primo p, diremos que este primo é

bom, se p - d;

quase ruim, se divide exatamente um de α− β, β− γ, α− γ;

muito ruim, se divide todos os números α− β, β− γ, α− γ.

Sejam n1 e n2 os números de primos quase ruins e muitoruins respectivamente. Então o posto de E(Q) é no máximon1 + 2n2 − 1 [5, p. 108]. Existem resultados sobre o posto dealgumas cúbicas, por exemplo em alguns casos, as curvas elíp-ticas dadas pela equação y2 = x3 − n2x, n ∈ Z possuem postozero, i.e, nestes casos E(Q) é finito [5, p. 110].

2.5 Comentários sobre o Caso Singular

Nesta seção falaremos um pouco sobre as cúbicas sin-gulares. Veremos o que acontece se tentarmos definir a mesmaoperação definida no caso suave e se o teorema de Mordell-Weil vale neste caso.

O teorema 2.6 classifica as cúbicas singulares. Usandoa definição 2.2, é fácil verificar que nestes casos S = (0 : 0 : 1)

Page 31: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.5. Comentários sobre o Caso Singular 29

é o único ponto singular. Seja Cns = C \ {S}. Dados P, Q ∈ Cns,podemos definir P + Q da forma análoga ao caso suave e veri-ficar que (Cns, +) possui estrutura de um grupo abeliano, oponto no infinito permanece como o elemento neutro. Alémdisso, se P e Q forem pontos racionais, então P + Q tambémserá, isto é, (Cns(Q), +) é um grupo(abeliano). Então faz sen-tido perguntarmos se o teorema de Mordell-Weil vale para(Cns(Q), +). Infelizmente a respsota é negativa!

Certamente uma condição necessária para (Cns(Q), +)não ser finitamente gerado é que Cns(Q) seja infinito. Asparametrizações das cúbicas singulares definidas a seguir garan-tem que Cns são infinitos. Lembre-se que no caso suave istonem sempre acontece, por exemplo a cúbica de Fermat possuiapenas 4 pontos racionais. Vale destacar que as curvas elípticasnão possuem parametrização racional [14].

No caso da cúbica nodal C : y2 = x3 + x2 a parametriza-ção é dada da seguinte forma. Para todo P(x, y) ∈ Cns, x 6= 0;e S = (0, 0) é seu ponto singular. Então a aplicação

ν :

C −→ Q

P 7−→ yx

S 7−→ 1

,

está bem definida. Escrevendo a equação da cúbica da forma( y

x )2 = x + 1, a injetividade é verificada facilmente. Para veri-ficar a sobrejetividade, dado r ∈ Q \ {1}, devemos determinarx, y ∈ Q tais que (x, y) ∈ Cns e y

x = r. Usando ( yx )2 = x + 1,

basta tomar x = r2− 1 e y = r3− r. Isto de fato define a inversa

Page 32: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

30 Capítulo 2. Cúbicas

de ν:

ν−1 :

Q −→ Cr 7−→ (r2 − 1, r3 − r), r 6= 1

1 7−→ (0, 0)

.

No caso da cúspide C : y2 = x3, usando a mesma ideia do casonodal, obteremos as seguintes aplicações:

Cns −→ Q∗ −→ Cns

(x, y) 7−→ yxr 7−→ (r2, r3)

.

Observem que geometricamente estas parametrizações são obti-das pela interseção das retas y = rx, r ∈ Q e C. A existênciadestas aplicações apenas garante que os conjuntos dos pontosracionais das cúbicas singulares são infinitos. Mas como nãosão homomorfismos entre grupos, não fornecem nenhuma in-formação quanto a suas estruturas de grupo.

Lembramos que (Q, +) e (Q∗, ·) não são grupos fini-tamente gerados. O próximo teorema de fato afirma que o teo-rema de Mordell-Weil não vale para as cúbicas singulares.

Teorema 2.13. • Seja C a cúbica singular y2 = x3 + x2. Entãoφ : Cns → Q∗ definido por

φ(P) =

y−xy+x se P = (x, y),

1 se P = O,

é um isomorfismo entre grupos.

• Seja C a cúbica singular y2 = x3. Então ϕ : Cns → Q definidopor

ϕ(P) =

xy se P = (x, y),

0 se P = O,

Page 33: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

2.5. Comentários sobre o Caso Singular 31

é um isomorfismo entre grupos.

A demonstração deste teorema é fácil e pode ser con-sultada em [13].

Uma vez que o único elemento de ordem finita de(Q, +) é zero, o teorema 2.13 implica que a cúbica cuspidalpossui apenas o ponto O de ordem finita. Como (Q∗, ·) possuiapenas um elemento não trivial de ordem finita, a saber −1de ordem 2, concluímos que a cúbica nodal possui apenas umponto de ordem finita(exceto O), a saber (−1, 0) de ordem 2.

Exercícios

1. Mostre que (Q, +) e (Q∗, ·) não são grupos finitamentegerados.

2. Seja C : y2 = x3.

• Obtenha fórmulas explícitas para a operação em Cns.

• Use o item anterior e demonstre o segundo item doteorema 2.13.

• Mostre que se P + Q = O, então os pontos P e Qsão da forma P = (a, b) e Q = (a,−b).

3. Faça o terceiro item do Exrecício 2 para a cúbica nodal.Mostre que P(−1, 0) é o único ponto de ordem finitadesta cúbica.

Page 34: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo
Page 35: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

33

3 Aplicação

O teorema fundamental da aritmética garante aexistência e a unicidade de fatoração de números inteiros emnúmeros primos. O problema computacional, ou seja, fatorarum determinado número inteiro pode não ser uma tarefafácil, principalmente para números grandes. Este problemaalém de ser um problema do interesse dos matemáticos, éde grande importância prática. Por exemplo a segurança dealguns sistemas criptográficos depende da dificuldade da fa-toração das chaves públicas. Em outras palavras, estes sistemasseriam inseguros se existisse um algoritmo rápido para fatoraçãode inteiros. Existem diversos métodos e algoritmos para fatorarnúmeros inteiros, um deles é o algoritmo de Lenstra que utilizacurvas elípticas.

Naturalmente o primeiro passo para fatorar um númerointeiro é determinar se o mesmo é primo. Para isto podemosusar um caso particular do pequeno teorema de Fermat1: se né primo ímpar, então 2n−1 n≡ 1. Isto é, se 2n−1 6≡ 1(mod n),então n não é primo. Outra maneira seria usar o teorema deWilson: n é primo, se, e somente se, (n− 1)!

n≡ −1.

Passando por esta etapa, queremos fatorar o númeron. O primeiro e mais natural modo de fazer isso é tomar osnúmeros naturais k < n e verificar se estes dividem o númeron e quantas vezes. Este método pode ser otimizado usando ofato que o menor fator de n é menor que

√n, mas mesmo assim

1 Dados a ∈ Z e p primo tais que (a, p) = 1, então ap−1 p≡ 1.

Page 36: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

34 Capítulo 3. Aplicação

para grandes valores não é muito prático. Antes deapresentar alguns métodos mais eficientes de fatoração, ve-remos um método para calcular ak(mod n) e estimar o númerode operações para este cálculo. Além disso faremos uma esti-mativa para o número de operações necessáarias para calcularo maior divisor comum usando o algoritmo de Euclides. Es-tas estimativas servirão para mostrar o quanto os algoritmos aserem apresentados são eficientes.

Problema. Dados a, k, n ∈ N, calcule ak(mod n).

Para explicar melhor a ideia, seja k = 1000. Escrevemos k comouma soma de potências de 2, ou seja, apresentamos k na base2:

1000 = 23 + 25 + 26 + 27 + 28 + 29,

então a1000 = a23 · a25 · · · a29. Calcularemos os números Ai :=

a2i(mod n).

A0 = a(mod n),

A1 = A0 · A0 = a2(mod n),

A2 = A1 · A1 = a4(mod n),

A3 = A2 · A2 = a23(mod n),

...

A9 = A8 · A8 = a29(mod n).

Então

a1000(mod n) = A3 · A5 · A6 · A7 · A8 · A9(mod n).

Observem que com apenas 9 operações para obter os Ais e 6operações para obter a1000(mod n) faremos o cálculo. Este é ummétodo pode ser muito melhor e mais rápido do que calcular

Page 37: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

35

a1000 e depois determinar o resto da divisão por n. Em geral,considere a expansão binária efetiva de k:

k = k0 + k1 · 2 + k2 · 22 + k3 · 23 + · · ·+ kr−1 · 2r−1 + 2r.

A seguir calculamos A0 = a, A1 = A20, A2 = A2

1, . . . , Ar =A2

r−1. Finalmente obtemos ak como

ak = (produto dos Ais para cada ki = 1).

São necessárias r operações para calcular os Ais e depois comno máximo(eventualmente ki = 0 para algum i) r operaçõespara calcular ak, totalizando no máximo 2r operações. Obser-vamos

k = k0 + k12 + · · ·+ 2r ≥ 2r =⇒ r ≤ log2 k.

Então provamos

Proposição 3.1. Dados a, k, n ∈ N, é possível calcular ak(mod n)em no máximo 2 · log2 k operações, onde cada operação consiste deuma multiplicação e uma redução módulo n.

Este método para calcular ak(mod n) é muito prático, umavez que para os valores grandes de k o número de operaçõesnecassárias é bem menor que k, isto é garantido pelo fato que

limk→+∞

log2 kk

= 0.

Maior Divisor Comum. Sejam a, b ∈ N. O objetivo é fazer umaestimativa do número das operações necessárias para determi-nar o maior divisor comum de a e b usando o algoritmo de

Page 38: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

36 Capítulo 3. Aplicação

Euclides. Este algoritmo é baseado em fazer divisões sucessi-vas:

a = bq1 + r2, 0 ≤ r2 < b,

b = r2q2 + r3, 0 ≤ r3 < r2,

r2 = r3q3 + r4, 0 ≤ r4 < r3,...

rn−1 = rnqn + rn+1, 0 ≤ rn+1 < rn,

rn = rn+1qn+1.

Como a sequência dos restos é uma sequência decrescente denúmeros inteiros não negativos, rn+2 = 0 para algum n. Peloalgoritmo (a, b) = rn+1. Afirmamos que:

∀i, ri+1 ≤ 12

ri−1. (z)

Se ri ≤ 12 ri−1, então claramente (z) é válida pelo fato que

ri+1 < ri. Se ri > 12 ri−1, de

ri−1 = riqi + ri+1, 0 ≤ ri+1 < ri

concluímos

ri+1 = ri−1 − riqi < ri−1(1− 12

qi).

Claramente qi 6= 0, pois caso contrário ri−1 = ri+1 e isto con-tradiz o fato de que os ris são estritamente decrescentes. Entãoqi ≥ 1, logo ri+1 < 1

2 ri−1.

Sem perda de generalidade, suponhamos a ≥ b.Usando as desigualdades r2 < b e (z), por indução finitamostramos

r2i <1

2i−1 b.

Page 39: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

3.1. Algoritmo de Pollard 37

Como r2i é um inteiro não negativo, se 2i−1 ≥ b, então r2i < 1,o que significa que r2i = 0. Ou seja,

2i−1 ≥ b =⇒ r2i = 0.

Em outras palavras

i ≥ 1 + log2 b = log2(2b) =⇒ r2i = 0.

Dest forma acabamos de provar a seguinte proposição

Proposição 3.2. Usando o algoritmo de Euclides, em no máximo

2 · log2 max{2a, 2b}

passos determinaremos o maior divisor comum de a e b.

Agora voltaremos ao problema de fatoração de inteirosem produto de primos. A seguir explicaremos o algoritmo dePollard.

3.1 Algoritmo de Pollard

Este algoritmo constitui um protótipo daquilo que ire-mos estudar posteriormente: a fatoração por curvas elípticas.Infelizmente este método não funciona para todos os números,mas quando funciona, é muito eficiente. A ideia é a seguinte:suponha que n tenha um fator primo p tal que p − 1 é umproduto de pequenos primos. Pelo pequeno teorema de Fer-mat, se p - a então ap−1 ≡ 1(mod p). Assim p|(ap−1 − 1, n).Não conhecemos p, portanto não podemos calcular ap−1 − 1.Então escolheremos um inteiro da forma k = 2e2 · 3e3 · · · rer ,

Page 40: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

38 Capítulo 3. Aplicação

onde 2, 3, . . . , r são os primeiros primos e ei são inteiros posi-tivos pequenos. Calculamos d := (ak − 1, n). Observamos que énecessário calcular ak − 1(mod n). Pelos problemas discutidosacima, calculamos d em menos que 2 log2(2kn) operações, queé uma quantidade razoável de operações mesmo para valoresgrandes de k e n.

Seja p|n, se p− 1|k, então p|ak − 1, logo p|d, em partic-ular d ≥ p > 1. Se d 6= n, então teremos um fator próprio de n erepetiremos o procedimento para cada fator de n obtido destaforma. Caso contrário, faremos o procedimento acima nova-mente da seguinte forma: se d = n, então escolhemos outrovalor de a; e se d = 1, escolhemos um k maior.

Exemplo n = 246082373. A primeira coisa a verificar ése n não é primo: como 2n−1(mod n) 6= 1, então n é composto.Aplicaremos o algoritmo de Pollard tomando

a = 2 e k = 22 · 32 · 5 = 180.

Como 180 = 22 + 24 + 25 + 27, precisamos calcular 22i(mod n)

para 0 ≤ i ≤ 7. Estes valores são 2, 4, 16, 256, 65536, 111566955,166204404 e 214344997 respectivamente. Então

2180 = 222 · 224 · 225 · 227

≡ 16 · 65536 · 111566955 · 28795219(mod n)

≡ 121299227(mod n).

Então pelo algoritmo de Euclides

(2180 − 1, n) = (121299226, n) = 1.

Isto é n não tem fatores p tais que p− 1|180. Então escolhemosum k maior, por exemplo

k = [2, 3, . . . , 9] = 23 · 32 · 5 · 7 = 2520 = 23 + 24 + 26 + 27 + 28 + 211.

Page 41: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

3.1. Algoritmo de Pollard 39

Usando o mesmo método,

22520 = 223+24+26+27+28+211 ≡ 101220672(mod n),

e pelo algoritmo de Euclides

(22520 − 1, n) = (101220671, n) = 2521,

ou seja, 2521|n, de fato n = 2521 · 97613, e cada fator é umnúmero primo. Claramente a fatoração deste n pode ser feitafacilmente verificando a divisibilidade de n por todos os pri-mos menores ou iguais a

√n ≈ 15687 por meio de um com-

putador, mas desta forma mostramos o quanto o algoritmo dePollard pode ser eficiente.

Note que o algoritmo Pollard deve finalmente pararporque eventualmente k no passo 1 será igual a 1

2 (p− 1) paraalgum primo p que divide n, então, eventualmente haverá al-gum p− 1 dividindo k. Este algoritmo não é muito prático paragrandes valores de n; de fato funciona bem, ou seja, determinauma fator de n fazendo uma quantidade rezoável de operações,se n tiver um divisor primo p tal que

p− 1 = produto de pequenos primos a pequenas potências.

O algoritmo de Pollard é baseado no fato que o grupoZ∗

p é de ordem p− 1. Assim se p− 1|k, então ak = 1 para todoa ∈ Z∗

p. A ideia do algoritmo de Lenstra é substituir o grupoZ∗

p pelo grupo dos pontos de uma curva elíptica C definidasobre Zp, ou seja,

C(Zp) := {(a, b) ∈ C|a, b ∈ Zp}

e substituir o inteiro a por um ponto P ∈ C(Zp). Como noalgoritmo de Pollard, escolhemos um inteiro k composto de um

Page 42: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

40 Capítulo 3. Aplicação

produto de pequenos primos. Se ocorrer que #C(Zp)|k, entãokP = O em C(Zp). Este fato geralmente permite encontrar umfator próprio de n.

Ao escolher uma cúbica C, o algoritmo de Lenstra fun-ciona bem se o número a ser fatorado possui um fator primo ptal que #C(Zp) seja produto de pequenos primos a pequenaspotências. Isto é parecido com o algoritmo de Pollard quandoqueríamos que p − 1 = #Z∗

p tivesse esta propriedade. Entãoqual seria a vantagem deste novo algoritmo? Se escolhermosapenas uma curva C com coeficientes inteiros e considerar-mos sua redução módulo números primos, então não há van-tagens. Pois como mencionamos anteriormente, este algoritmofuncionará se para algum primo p que divida n, #C(Zp) sejaproduto de primos pequenos. Mas com o algoritmo de Lenstra,existe a flexibilidade de escolher uma nova curva elíptica erepetir o processo. Variando a curva C e desde que #C(Zp)varie consideravelmente para cada primo p, nossas chancespara concluirmos o algoritmo são bastante boas. Antes de ex-plicar o algoritmo de Lenstra vale obsevar também o seguintefato: se C é uma cúbica não sigular com coeficientes em Zp,então pelo teorema de Hasse-Weil ([13, p. 110])

#C(Zp) = p + 1− εp, |εp| ≤ 2√

p.

Além disso, pode-se mostrar que variando C, os números εp

são bem distribuídos ao longo do intervalo [−2√

p, 2√

p]. Porisso, é bastante provável (mas ainda não rigorosamente provado)que possamos achar, de forma bastante rápida, uma curva Ctal que #C(Zp) seja igual a um produto de números primospequenos.

Page 43: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

3.2. Algoritmo de curvas elípticas de Lenstra 41

3.2 Algoritmo de curvas elípticas de Lenstra

Seja n ≥ 2 um inteiro composto para o qual buscamosum fator.Passo 1. Verifique que (n, 6) = 1 e também que n não seja daforma mr para algum r ≥ 2.Passo 2. Escolha aleatoriamente inteiros b, x1, y1 entre 1 e n.Passo 3. Seja c = y2

1 − x31 − bx1(mod n), considere a cúbica

C : y2 = x3 + bx + c. Pela escolha de c, P = (x1, y1) ∈ C.Passo 4. Verifique se d := (4b3 + 27c2, n) = 1. Se d = n, volte eescolha um novo b. Se 1 < d < n, então d é um fator não trivialde n.Passo 5. Escolha k como produto de pequenos primos a peque-nas potências. Por exemplo k = [1, 2, 3, . . . , m], onde m ∈ N.Passo 6. Calcule kP = ( ak

d2k, bk

d3k).

Passo 7. Calculamos D = (dk, n). Se 1 < D < n, então D éum fator não trivial de n. Se D = 1, ou voltamos ao Passo 5e aumentamos o valor de k, ou voltaremos ao Passo 2 para es-colher uma outra curva. Se D = n, voltaremos ao Passo 5 ereduziremos o valor de k.

Observamos que existem várias coisas a seremdiscutidas neste algoritmo. Primeiro explicaremos porque fun-ciona. Imaginem que conseguimos uma curva C e k ∈ N taisque para algum fator primo p de n, #C(Zp)|k. Então a ordemde todos os pontos de C(Zp) divide k, em particular kP = O,mais precisamente, kP(mod p) é o ponto no infinito O. Entãop|dk, logo p|D. Consequentemente obteremos um fator de n, anão ser que n|dk.

Outra coisa é uma maneira eficiente para calcular kP.

Page 44: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

42 Capítulo 3. Aplicação

Considere a expressão binária de k :

k = k0 + k1 · 2 + · · ·+ kr−1 · 2r−1 + 2r, ki ∈ {0, 1}.

Lembre-se que isto pode ser feito em no máximo r ≤ log2 koperações. A seguir calculamos

P0 = P

P1 = 2P0 = 2P

P2 = 2P1 = 22P

P3 = 2P2 = 23P...

Pr = 2Pr−1 = 2rP,

e finalmente fazemos kP = ∑ki 6=0

Pi. Desse modo calculamos kP

em menos de 2 log2 k passos. Note entretanto que não quere-mos calcular as coordenadas de kP como números racionaisporque o numerador e o denominador teriam aproximada-mente k2 dígitos, e isto pode ser um número muito grande.Então o melhor seria fazer as contas módulo n. Se n não éprimo, teremos outro problema. Lembramos que pelas fórmu-las explícitas, para determinar a soma de dois pontos (x1, y1) e(x2, y2) devemos calcular y2−y1

x2−x1e neste caso devemos fazer esta

conta em Zn. Mas Zn não é um corpo e x2 − x1 pode não serinvertível. Lembre-se que x2 − x1 possui inverso, se, e somentese, (x2 − x1, n) = 1. Observe que se 1 < (x2 − x1, n) < n, játemos um fator de n. O pior seria se (x2 − x1, n) = n; nestecaso o melhor caminho será voltar ao Passo 5 e reduzir o valorde k, ou retornar ao Passo 2 e tomar outra curva.

Page 45: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

3.2. Algoritmo de curvas elípticas de Lenstra 43

Para determinar 2(x1, y1) módulo n, precisamos calcular

f ′(x1)2y1

=3x2

1 + 2ax1 + b2y1

(mod n).

Neste caso calcular (y1, n) e faremos da mesma forma que nocaso (x2 − x1, n), explicado acima.

Essencialmente estas explicações mostram como e porque oalgoritmo Lenstra funciona, embora na prática há diversos cam-inhos para torná-lo mais eficiente.

Exemplo n = 1715761513. A primeira coisa é verificarse n não é primo. Usando o método explicado no começo destecapítulo, facilmente calculamos

2n−1 ≡ 93082891(mod n).

Então pelo pequeno teorema de Fermat, n não é primo. Estenúmero é ímpar e 3 - n, portanto (n, 6) = 1. Para verificar se nnão é potência perfeita, calcularemos suas raízes r-ésimas

√n, 3√

n, 4√

n, . . . , 31√

n ≈ 1, 9855.

Nenhum desses é inteiro, assim n não é potência perfeita. Como√n ≈ 42422, concluímos que n possui algum fator primo

p < 42422. Buscamos escolher um valor de k de modo quealguns inteiros próximos de p dividam k. Tentaremosk = [1, 2, 3, . . . , 17] = 12252240, que tem muitos fatores menoresque 42422. A seguir temos de escolher uma curva elíptica eum ponto seu. Como indicado na descrição do algoritmo deLenstra, é mais fácil fixar o ponto P e um dos coeficientes dacurva e escolher o outro coeficiente tal que o ponto esteja nacurva. Tome P = (2, 1). Dado b, seja c := −7− 2b. Para começar

Page 46: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

44 Capítulo 3. Aplicação

tomamos b = 1, então c = −9 e

C : y2 = x3 + x− 9, P = (2, 1) ∈ C.

Temos de calcular kP(mod n). A expressão binária de k é

24 + 26 + 210 + 212 + 213 + 214 + 215 + 217 + 219 + 220 + 221 + 223.

Então precisamos calcular 2iP(mod n) para 0 ≤ i ≤ 23. Clara-mente precisaríamos de muito tempo para fazer estas contas,mas com a ajuda de um pequeno computador

kP = 12252240(2, 1) ≡ (421401044, 664333727)(mod n).

Isso não diz sobre os fatores de n. O ponto principal do algo-ritmo de Lenstra é que ele nos dá um fator de n quando a leida adição falha, ou seja, este algoritmo funciona quando não épossível calcular kP(mod n).

Neste caso temos três escolhas: recomeçar com umnovo k, um novo P, ou uma nova curva. Tomamos a última al-ternativa. Tomando 3 ≤ b ≤ 41 e seu respectivo valor para c =−7− 2b, veremos que ainda é possível determinar kP(mod n).Quando tentamos b = 42 e c = −91, a lei da adição falha eencontramos um fator de n. O que acontece é o seguinte: nãotemos nenhuma dificuldade em fazer uma tabela dos 2iP(mod n)para 0 ≤ i ≤ 23, como acima. Então começamos adicionandoos pontos da tabela para calcular kP(mod n). Como um penúl-timo passo, encontramos

(24 + · · ·+ 220 + 221)P = 386363P

≡ (11150004543, 1676196055)(mod n)

Também

223P ≡ (1267572925, 848156341)(mod n).

Page 47: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

3.2. Algoritmo de curvas elípticas de Lenstra 45

Então para calcular kP teremos que somar estes últimos pon-tos módulo n. Para fazer isso temos de fazer a diferença desuas coordenadas x e encontrar o inverso de n. Ao fazer isto,descobrimos que o inverso não existe:

(11150004543− 1267572925, n) = (−152568382, n) = 26927.

Assim a tentativa de calcular 12252240(2, 1) na curva

y2 = x3 + 42x− 91(mod n)

falha e isto leva a fatoração

n = 1715761513 = 26827 · 63719

É fácil conferir que cada um desses fatores é primo, portantoobtemos a fatoração completa de n.

Neste caso conseguimos determinar um fator de n paraum valor relativamente pequeno de b, caso isto não fosse pos-sível, teríamos de aumentar o valor de k por exemplo para[1, 2, · · · , 25] e talvez até tomar um outro ponto, por exemploP(3, 1).

Exercício

Use o algoritmo de Lenstra para fatorar 35.

Page 48: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo
Page 49: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

47

Referências

[1] A. Garcia, Y. Lequain, Elementos de Álgebra, IMPA, 2010.

[2] Garrity et al, Algebraic Geometry A Problem Solving Ap-proach, AMS, 2013.

[3] A. Hefez, Introdução à Geometria Projetiva, IMPA (1990).

[4] D. Husemöller, Elliptic Curves, GTM (111), Springer, 1987.

[5] A. Knapp, Elliptic curves, Mathematical Notes 40, Prince-ton University Press, Princeton, NJ, 1992.

[6] D. S. Kubert, Universal bounds on the torsion of elliptic curves,Proc. London Math. Soc. (3), 33(2) 193-237, 1976.

[7] S. Lang, Algebra, GTM 211, Springer, 2002.

[8] B. Mazur, Modular Curves and the Eisenstein idela, IHESPubl. Math. 47 33-186, 1977.

[9] B. Mazur, Rational isogenies of prime degree, Invent. Math.44, 129-162, 1978.

[10] Salahoddin Shokranian, Marcus Soares, Hemar Godinho,Teoria dos Números, UNB, 1999.

[11] J. H. Silverman, The Ubiquity of Elliptic Curves, 2007.

[12] J. H. Silverman, The Aritmmetic of Elliptic Curves, GTM 106,Springer, 2009.

Page 50: Curvas Elípticas e Aplicações Familiares: Fatoração em Primos IIIo

48 Referências

[13] J. H. Silverman, J. Tate, Rational Points on Elliptic Curves,Springer, 1992.

[14] I. Vainsencher, Introdução às Curvas Algébricas Planas,IMPA, 2005.