Sunteți pe pagina 1din 137

Universidade Federal de S ao Carlos

Centro de Ciencias Exatas e de Tecnologia


Departamento de Matematica
N umeros Inteiros e Criptograa RSA
Autor: Allan Roberto Fabossi
Orientador: Tomas Edson Barros
Disciplina: Trabalho de Conclus ao do Curso B
Curso: Licenciatura em Matem atica
Professores Responsaveis: Karina Schiabel Silva
Sadao Massago
Vera L ucia Carbone
S ao Carlos, 30 de Janeiro de 2013.
N umeros Inteiros e Criptograa RSA
Autor: Allan Roberto Fabossi
Orientador: Tomas Edson Barros
Disciplina: Trabalho de Conclus ao do Curso B
Curso: Licenciatura em Matem atica
Professores Responsaveis: Karina Schiabel Silva
Sadao Massago
Vera L ucia Carbone
Instituicao: Universidade Federal de Sao Carlos
Centro de Ciencias Exatas e de Tecnologia
Departamento de Matem atica
S ao Carlos, 30 de Janeiro de 2013.
Allan Roberto Fabossi (aluno) Tomas Edson Barros (orientador)
Sempre me pareceu estranho que todos aqueles que estudam
seriamente esta ciencia acabam tomados de uma especie de paixao
pela mesma. Em verdade, o que proporciona o maximo de prazer
nao e o conhecimento e sim a aprendizagem, nao e a posse, mas a
aquisicao, nao e a presenca, mas o ato de atingir a meta.
Carl Friedrich Gauss
Agradecimentos
Agradeco a meus pais, Marcos e Ester Fabossi, que sempre priorizaram minha educac ao e me
deram as condicoes necess arias para seguir minha vida escolar.
Tambem agradeco ao meu orientador, Prof. Dr. Tomas Edson Barros, que contribuiu de
maneira signicativa para a realizacao deste trabalho e para minha forma cao, de modo geral.
Finalmente, agradeco a cada professor de Matem atica que tive durante toda minha vida esco-
lar. Cada um deles me inuenciou para que seguisse pelos caminhos da Matem atica. Agradeco
de maneira especial a dois desses professores: Profa. Maria

Angela, que incentivou meu gosto
pela Matem atica ao propiciar minha participac ao em olimpadas e maratonas de Matem atica; e
Prof. Chico Nery, o qual foi e ainda e meu maior mestre, decisivo nas minhas escolhas por um
curso de Graduac ao em Matematica e pela carreira docente, e do qual hoje tenho o prazer de ser
amigo pessoal e de trabalho.
Resumo
Quando ouvimos falar de criptograa, associamos esse conceito a lmes policiais e de guerra,
onde mensagens secretas s ao codicadas e decodicadas. No entanto, a abrangencia desse ramo
do conhecimento e muito maior que isso. Dentre as diversas aplicac oes da criptograa destaca-se
a protec ao de informac oes bancarias e comerciais que transitam entre computadores numa rede.
Para a confecc ao deste texto, estudamos os principais conceitos de teoria dos n umeros, neces-
s arios para o entendimento de um dos metodos criptogr acos mais populares atualmente, o RSA.
A bibliograa adotada se preocupa mais em focar certos algoritmos para determina cao de primos
e outros elementos de teoria dos n umeros, no entanto, buscamos demonstrar todos os resultados
relevantes de forma rigorosa.
Como recomenda cao da banca avaliadora do TCC A, estudamos o algoritmo AKS, tendo como
base [04]. Entretando, zemos apenas alguns coment arios, relacionando o AKS com o sistema
RSA, nao descrevendo no presente texto os detalhes estudados.
Conte udo
Introducao xi
1 Algoritmo da Divisao de Euclides e Divisibilidade 1
1.1 Divis ao Euclidiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 O Algoritmo de Euclides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Algoritmo Euclidiano Estendido . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Fatoracao

Unica 15
2.1 Teorema Fundamental da Aritmetica . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Algoritmos de Fatorac ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 N umeros Primos 25
3.1 Formulas Polinomiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Formulas Exponenciais: Mersenne e Fermat . . . . . . . . . . . . . . . . . . . . . 27
3.3 Formulas Fatoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 Aritmetica Modular 37
4.1 Relac oes de Equivalencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 Inteiros Modulo n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 Aplica coes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.1 Criterios de Divisibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.2 Potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.3 Equac oes Diofantinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Divis ao Modular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5 Fermat e Primalidade 51
5.1 Pequeno Teorema de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2 Contando Razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3 Pseudoprimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4 N umeros de Carmichael . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
ix
6 Sistemas de Congruencias 69
6.1 Equacoes Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2 Congruencia Modulo N umeros Nao Primos Entre S . . . . . . . . . . . . . . . . . 74
6.3 Potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4 Partilha de Senhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7 Um Pouco de Estruturas Algebricas 81
7.1 Grupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 Simetrias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.3 Grupos Aritmeticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.4 Subgrupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8 De Volta `a Mersenne e Fermat 95
8.1 N umeros de Mersenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.2 N umeros de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.3 O metodo de Lucas-Lehmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9 Razes Primitivas 103
9.1 O teste de Lucas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.2 Teorema da Raiz Primitiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10 Criptograa RSA 113
10.1 Pre-codicac ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.2 Codicando e Decodicando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.3 O RSA funciona? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.4 Seguran ca do RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.5 Coment arios Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Introdu cao
O presente texto e resultado de trabalho durante o ano de 2012, referente ` as disciplinas Trabalho
de Conclus ao de Curso A e Trabalho de Conclusao de Curso B.
Desde que entrei na Graduac ao em Matematica, eu j a tinha a intenc ao de estudar de maneira
mais sistem atica a Teoria dos N umeros. Logo no primeiro perodo do curso, tive a disciplina
Introducao `a Teoria dos N umeros. Essa disciplina s o aumentou meu interesse nessa area da
Matematica. Na hora de escolher o assunto para desenvolvimento do trabalho de conclus ao de
curso, nao tive d uvidas em escolher a Teoria dos N umeros como tema central do trabalho.
Neste trabalho, iremos apresentar a Matem atica que fundamenta um dos metodos criptogr acos
mais populares atualmente, o RSA.
No primeiro captulo veremos o teorema da divisao euclidiana, que justica o funcionamento
do algoritmo de Euclides, que por sua vez nos permite calcular o m aximo divisor comum de dois
inteiros a e b; na sequencia veremos o algoritmo euclidiano estendido, que alem de calcular o
mdc(a, b) tambem nos fornece uma maneira de escrever este mdc como combina cao linear de a e b.
Veremos tambem como este algoritmo nos auxilia na resolu cao de equac oes diofantinas lineares.
No captulo 2, abordamos o Teorema Fundamental da Aritmetica, ou Teorema da Fatorac ao

Unica. Tendo demonstrado que um inteiro positivo n 2 admite uma unica maneira de ser escrito
como produto de primos, veremos alguns algoritmos que nos permitem fatorar um inteiro a dado.
Em particular, estudaremos o algoritmo de Fermat, que procura fatores de a proximos `a

a.
Finalizaremos o captulo vendo uma propriedade fundamental dos primos: se um primo p divide
o produto ab, ent ao p divide a ou b. Tal propriedade ser a importante nos captulos posteriores.
No Captulo 3 nos voltaremos para os n umeros primos, estudando algumas tentativas que tive-
mos na hist oria de encontrar f ormulas que gerassem primos. Estudaremos rapidamente f ormulas
polinomiais e formulas fatoriais, mas vamos nos deter por mais tempo nas f ormulas exponenciais,
estudando os n umeros de Fermat e, principalmente, os n umeros de Mersenne. Em relac ao a estes
ultimos, estudaremos sua relac ao com os n umeros perfeitos, rela cao esta estudada desde a Grecia
com Euclides; veremos que todo n umero perfeito par e da forma 2
n1
(2
n
1), onde o n umero
2
n
1 e um primo de Mersenne. Finalmente, remontaremos a demonstrac ao feita por Euclides da
existencia de innitos primos.
No captulo 4 revisaremos rapidamente os conceitos b asicos de relac oes de equivalencia e estu-
daremos a relac ao de congruencia m odulo n nos inteiros, cujo conjunto quociente e denotado por
Z
n
. Veremos algumas aplicac oes do conceito de congruencia, como demonstrar criterios de divisi-
xi
Captulo 0 Introducao
bilidade, determinar o resto de divis ao de potencias e determina cao da existencia de solucoes para
equac oes diofantinas n ao-lineares. Estudaremos, ent ao, quais as condic oes para que um elemento
a Z
n
possua inverso multiplicativo, e introduziremos o conjunto U(n), conjunto das classes
invertveis em Z
n
. Finalizaremos o captulo introduzindo de maneira sucinta o conceito de razes
primitivas de U(n), conceito que, mais a frente, ter a um captulo especco para ser explorado.
No captulo 5 demonstraremos o Pequeno Teorema de Fermat e o usaremos na elaborac ao de
testes ecazes para detectar n umeros compostos, mas que nao funcionam bem para determinar
se um n umero e primo. Estudaremos rapidamente os n umeros pseudoprimos e os n umeros de
Carmichael, para os quais forneceremos uma caracterizac ao.
No captulo 6, estudaremos equac oes e sistemas de equac oes modulares, demonstrando o Al-
goritmo Chines do Resto. Tambem veremos duas aplicacoes deste teorema, uma para o c alculo de
potencias m odulo n, e outra num metodo de partilha de senha de um cofre.
No captulo 7 estudaremos de maneira mais detalhada os grupos, com o exemplo do grupo das
simetrias de um triangulo ret angulo e os grupos aritmeticos. Demonstraremos alguns resultados
gerais para grupos e subgrupos.
No captulo 8 retomaremos o estudo sobre os n umeros de Mersenne e de Fermat. Veremos
estrategias para procurar fatores destes n umeros, e encerramemos o captulo com um teste devido
` a E. Lucas, e aperfeicoado por D. H. Lehmer, para vericar a primalidade de n umeros de Mersenne.
No captulo 9 demonstraremos o teorema da raiz primitiva, veremos uma meneira de calcular
a ordem de um elemento em U(n), e demonstraremos um teste de primalidade que e inspirado no
principal teorema deste captulo, o Teste de Lucas.
Finalmente, no captulo 10, descreveremos o sistema de criptograa RSA, provaremos que
funciona e analisaremos questoes sobre sua seguranca. Finalizamos o texto com alguns comentarios
sobre o algortmo AKS e alguns aspectos de sua rela cao com o sistema RSA.
Durante o desenvolvimento do texto, admitiremos conhecidos:
Princpio da Boa Ordenac ao dos Naturais: todo subconjunto nao-vazio de N possui um
menor elemento.
1o e 2o Princpio de Induc ao Finita: lembramos que estes sao equivalentes ao princpio da
boa ordena cao dos naturais.
Princpio Fundamental da Contagem: se um acontecimento e formado por k est agios su-
cessivos e independentes, com n
1
, n
2
, n
3
, ..., n
k
possibilidades para cada, entao o total de
maneiras distintas de ocorrer este acontecimento e n
1
n
2
n
3
... n
k
.
Tambem convencionamos as seguintes notac oes e denicoes:
N o conjunto dos naturais; Z o conjunto dos inteiros; Z

+
o conjunto dos inteiros positivos;
Z
+
o conjunto dos inteiros nao-negativos; R o conjunto dos n umeros reais; C o conjunto dos
n umeros complexos.
xii
Introducao Secao 0.0
Sendo x R, denotamos por [[x ]] a parte inteira de x, ou seja, [[x ]] e o maior inteiro que e
menor ou igual a x.
Uma particao de um conjunto X e qualquer subconjunto do conjunto das partes de X de
modo que: i) nenhum dos elementos da partic ao e o conjunto vazio; ii) a intersecc ao de
quaisquer dois elementos da partic ao e o conjunto vazio e iii) a uni ao de todos os elementos
da partic ao de X e igual ao conjunto X.
xiii
Captulo
1
Algoritmo da Divisao de Euclides e
Divisibilidade

E inegavel a importancia da Matem atica em nossos dias, principalmente com os avancos na in-
formatica. Atualmente, a troca de informac oes atraves de computadores e usada em praticamente
todos os setores: telecomunicacoes, comercio, ind ustria, etc. Mas em alguns casos, as informac oes
que estao sendo enviadas e recebidas nao podem ser acessveis a qualquer um que interceptar os
dados, por exemplo, na troca de informacoes referentes ` a transacoes bancarias.

E nesse ponto
que a criptograa tem sua importancia. Do grego kryptos, escondido, e graphein, escrita, a
criptograa tem por objetivo codicar uma mensagem que deve ser entendida apenas pelo seu
destinatario.

E possvel encontrarmos registros a respeito da codicacao de mensagens desde a
antiguidade, principalmente mensagens que eram trocadas durante guerras.
Hoje, como a troca de informacoes se d a via computadores, e natural que as maneiras de se
criptografar uma mensagem se fundamentem em n umeros. Estudaremos a Matem atica necessaria
para compreender como funciona o metodo criptogr aco chamado RSA, que tem por par ametros
iniciais dois n umeros primos p e q, mas vamos iniciar nossa discuss ao com algo anterior a n umeros
primos: a divis ao e algoritmo euclidianos.
1.1 Divis ao Euclidiana
TEOREMA 1.1.1. Sejam a e b inteiros positivos. Existem inteiros q e r tais que
a = b q + r e 0 r < b (1.1)
Alem disso os valores de q e r satisfazendo as relacoes acima sao unicos.
DEMONSTRA C

AO. Primeiramente vamos demonstrar a existencia dos inteiros a e b. Faremos isso


por indu cao sobre o inteiro a.
Fixe b Z

+
. Se a = 1, temos dois casos a considerar.
1
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
1. Se b = 1, basta tomar q = 1 e r = 0.
2. Se b > 1, basta tomar q = 0 e r = 1.
Em ambos os casos as relac oes (1.1) estao satisfeitas.
Suponha agora, como hipotese de inducao, que para a = k, k 1, existam inteiros q e r
satisfazendo
k = b q + r e 0 r < b
Ent ao k + 1 = b q + (r + 1). Como r < b, temos r + 1 < b + 1 r + 1 b, e novamente temos
dois casos a considerar:
1. Se r + 1 < b, basta tomar q
t
= q e r
t
= r + 1 e assim
a = k + 1 = b q
t
+ r
t
, com 0 r
t
< b
2. Se r + 1 = b, temos
k + 1 = b q + b = b (q + 1) = b q
t
+ r
t
onde q
t
= q + 1 e r
t
= 0, e desse modo as relac oes (1.1) estao satisfeitas novamente. Sendo
assim, pelo princpio de induc ao nita, para cada a Z, a 1, existem q e r satisfazendo (1.1).
Resta-nos agora demonstrar a unicidade de q e r.
Suponha que existam q
1
, q
2
, r
1
e r
2
satisfazendo
a = b q
1
+ r
1
e 0 r
1
< b
a = b q
2
+ r
2
e 0 r
2
< b
Se subtrairmos as igualdades acima, membro a membro, obteremos
(q
2
q
1
) b = r
1
r
2
[q
2
q
1
[ b = [r
1
r
2
[
Das desigualdades acima temos que 0 r
1
< b e b < r
2
0, e somando essas desigualdades
obtemos
b < r
1
r
2
< b 0 [r
1
r
2
[ < b
e isso nos leva a 0 [q
2
q
1
[ b < b, e como b ,= 0, podemos escrever 0 [q
2
q
1
[ < 1, o que so e
possvel se q
1
= q
2
. Esta ultima igualdade nos leva imediatamente a concluir tambem que r
1
= r
2
.
Portanto, q e r satisfazendo (1.1) sao unicos.
Os n umeros q e r, cuja existencia foi garantida pelo teorema anterior, s ao chamados de quociente
e resto da divisao euclidiana de a por b, respectivamente.
DEFINI C

AO 1.1.2. Um n umero inteiro b divide outro n umero inteiro a se existe um terceiro inteiro
2
O Algoritmo de Euclides Secao 1.2
c tal que
a = b c.
O inteiro b e dito divisor ou fator de a, e a e m ultiplo de b. Denotamos o fato de que b divide a
atraves do smbolo b[a.
Em outras palavras, um inteiro a e divisvel por outro inteiro b se o resto da divisao euclidiana
de a por b for zero. Da denicao acima j a podemos tirar algumas conclus oes:
1. O unico n umero que divide 1 e o pr oprio 1 ou 1, pois se b ,= 1, n ao podemos encontrar um
inteiro c tal que b c = 1;
2. O 1 e divisor de qualquer inteiro b, pois b = b 1;
3. Todo inteiro b e divisor de 0, pois 0 = 0 b;
4. 0 nao e divisor de nenhum outro inteiro, a n ao ser do pr oprio zero, pois b ,= b 0 = 0
1.2 O Algoritmo de Euclides
Iniciemos com a seguinte denicao:
DEFINI C

AO 1.2.1. Dados dois inteiros positivos a e b, chama-se maximo divisor comum de a e


b o inteiro nao negativo d satisfazendo:
1. d = 0 se a = b = 0
2. Se a ,= 0 ou b ,= 0, d e caracterizado pelas duas seguintes propriedades:
(i) d[a e d[b
(ii) se x e um inteiro positivo tal que x[a e x[b, entao x d
Denotamos o m aximo divisor comum de a e b por d = mdc(a, b). Se a ,= 0 ou b ,= 0, a
maneira mais natural de encontrar o mdc(a, b) e a seguinte: primeiramente determinamos quais
inteiros pertencem ao conjunto D(a) = x Z[x divide a, e quais inteiros pertencem ao conjunto
D(b) = x Z[x divide b; em seguida fazemos a intersecc ao de tais conjuntos, D(a) D(b). Note
que, desde que a ,= 0 ou b ,= 0, D(a) e D(b) s ao nitos, e portanto D(a) D(b) tambem e nito, e
portanto possui um maior elemento d. Esse maior elemento e o m aximo divisor comum de a e b.

E claro que esse metodo n ao e eciente quando a e b s ao inteiros grandes, ou se estamos


interessados em determinar mdc(a, b) computacionalmente. O Algoritmo de Euclides nos permite
encontrar d = mdc(a, b) atraves de divisoes sucessivas. Vamos comecar demonstrando dois lemas
que nos ajudar ao a demonstrar o teorema que justica o funcionamento do Algoritmo de Euclides.
LEMA 1.2.2. Sejam a e b n umeros inteiros positivos. Suponha que existam inteiros g e s tais que
a = bg + s. Entao
mdc(a, b) = mdc(b, s) (1.2)
3
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
DEMONSTRA C

AO. Sejam d
1
= mdc(a, b) e d
2
= mdc(b, s).
1. Se d
1
= mdc(a, b), entao d
1
[a e d
1
[b, ou seja, existem m e n inteiros tais que a = md
1
e
b = nd
1
. Temos ent ao
md
1
= nd
1
g + s (mng)d
1
= s
e isto signica que d
1
[s. Se d
1
[b e d
1
[s, temos que d
1
d
2
, pois d
2
= mdc(b, s).
2. Agora, se d
2
= mdc(b, s), entao d
2
[b e d
2
[s, ou seja, existem inteiros p e q tais que b = pd
2
e
s = qd
2
. Obtemos assim,
a = pd
2
g + qd
2
= d
2
(pg + q)
ou seja, d
2
[a. Desse modo, d
2
[a e d
2
[b, e portanto d
2
d
1
, j a que d
1
= mdc(a, b).
Sendo assim, se d
1
d
2
e d
2
d
1
, conclumos que d
1
= d
2
.
LEMA 1.2.3. Sejam a e b inteiros positivos com a b, e denamos uma sequencia de inteiros
nao-negativos da seguinte forma:
1. r
1
= a;
2. r
2
= b;
3. Para cada ndice k, k 2, se r
k
,= 0, entao r
k+1
e o resto da divisao euclidiana de r
k1
por
r
k
. Se r
k
= 0, entao a sequencia termina em r
k
.
Entao a sequencia r
k
e nita e termina em um zero, ou seja, existe um ndice n tal que
r
1
r
2
> r
3
> > r
n
> 0 e r
n+1
= 0.
DEMONSTRA C

AO. Por hipotese, r


1
r
2
, e pela denicao de r
k+1
, para k 2 temos r
k+1
< r
k
.
Seja S o conjunto formado pelos naturais r
1
, r
2
, . Note que S N e S ,= . Pelo princpio da
boa ordenac ao dos Naturais, S possui um menor elemento, que denotaremos por r
n+1
. Armamos
que r
n+1
= 0. De fato, se tivessemos r
n+1
,= 0, poderiamos denir um r
n+2
, que seria o resto da
divis ao de r
n
por r
n+1
, o que nos leva ` a 0 r
n+2
< r
n+1
, o que contradiz o fato de r
n+1
ser o
menor elemento de S.
Agora estamos em condi coes de demonstrar o seguinte
TEOREMA 1.2.4 (Algoritmo de Euclides). Sejam a e b inteiros positivos, com a b, e seja
r
1
, r
2
, r
3
,
a sequencia denida como no lema anterior. Entao r
n
= mdc(a, d).
DEMONSTRA C

AO. Cada r
k
, k 3, e o resto da divisao de r
k2
por r
k1
. Pelo Lema 1.2.2, temos
mdc(r
k
, r
k1
) = mdc(r
k1
, r
k2
).
4
Algoritmo Euclidiano Estendido Secao 1.3
Portanto
r
n
= mdc(0, r
n
) (r
n+1
= 0)
= mdc(r
n
, r
n1
) (pelo Lema 1.2.3)
= mdc(r
n1
, r
n2
)

= mdc(r
3
, r
2
)
= mdc(r
2
, r
1
)
= mdc(a, b)
Assim, para encontrarmos o m aximo divisor comum de dois inteiros a e b, iniciamos dividindo
a por b
(1)
. Essa primeira divisao nos dar a um resto r
1
. Agora dividimos b por r
1
, o que nos
dar a um resto r
2
. Em seguida, dividimos r
1
por r
2
, o que nos dara um resto r
3
. Continuamos
efetuando essas divisoes ate encontrarmos um resto nulo. O ultimo resto nao-nulo (que tabmem e
o quociente da divis ao de resto nulo) e o maximo divisor comum de a e b.
Note que se a e um m ultiplo de b, quando dividirmos a por b j a encontraremos resto zero.
Logo, o mdc de a e b e o pr oprio b, que e o quociente da ultima (e unica) divis ao do processo.
O Algoritmo Euclidiano nos permite calcular o mdc de dois inteiros a e b, mas isso nao e tudo,
ele nos diz mais.
1.3 Algoritmo Euclidiano Estendido
O mdc(a, b) pode ser caracterizado de outra maneira, que nos ser a util na critograa RSA.
TEOREMA 1.3.1. O maximo divisor comum de dois inteiros a e b, a ,= 0 ou b ,= 0, e a menor
combinacao linear positiva de a e b com coecientes inteiros. Em outras palavras, mdc(a, b) e o
menor inteiro positivo da forma ma + nb com m e n inteiros.
DEMONSTRA C

AO. Seja A = x Z [ x > 0 e x = ma + nb, com m, n Z. Temos que


(i) A N;
(ii)A ,= , pois existe ao menos uma combinac ao linear positiva de a e b: como estamos
considerando a e b inteiros n ao negativos, se a ,= 0 ent ao a +0 b pertence ao conjunto A; se b ,= 0
ent ao 0 a + b pertence ao conjunto A.
1
Podemos supor a b, mas isso nao e necessario: se tivermos a < b e comecarmos o processo dividindo a por b,
nosso primeiro resto sera o proprio a, e consequentemente a segunda divisao sera de b por a, ou seja, se iniciarmos
o processo de maneira errada, tentando dividir um numero menor por outro maior, o proprio algoritmo invertera
divisor e dividendo na segunda divisao.
5
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
Pelo Princpio da Boa Ordenacao dos Naturais, o conjunto A possui um elemento mnimo
d = ma + nb. Vamos mostrar que esse elemento mnimo d e o mdc(a, b).
Pelo algoritmo da divisao, existem inteiros q e r tais que
a = d q + r e 0 r < d
Podemos escrever r = a dq = a (ma +nb)q = a(1 mq) b(nq), logo r e uma combinacao
linear de a e b, e 0 r < d. Como d e a menor combina c ao linear positiva de a e b, temos que
r = 0, ou seja, d[a.
De modo analogo conclumos que d[b. Agora, para que d seja o maximo divisor comum de a e
b, precisamos mostrar que para qualquer inteiro c tal que c[a e c[b temos que c d. Seja entao c
um inteiro divisor de a e de b.
Se c 0 nada temos a demonstrar por d A, logo d > 0. Suponha entao que c > 0. Como
c[a e c[b, existem inteiros p e q tais que a = pc e b = qc. Se tomarmos uma combinac ao linar de a
e b, teremos
ma + nb = mpc + nqc = (mp + nq) c c[(ma + nb)
ou seja, se c[a e c[b, ent ao c divide qualquer combinacao linear de a e b. Mas d e uma combina cao
linear de a e b, logo c[d.
Como d > 0, temos que c d, logo
d = mdc(a, b)
Tendo demonstrado esta caracterizac ao do mdc(a, b), o seguinte corol ario imediato nos sera
util no estudo que se segue.
COROL

ARIO 1.3.2. Sejam a e b inteiros positivos e seja d o maximo divisor comum entre a e b.
Existem inteiros e tais que
a + b = d
Observamos que tais e n ao sao unicos, pois se e s ao inteiros que satisfazem o corol ario
anterior, entao os inteiros + kb e ka tambem satisfazem, sendo k um inteiro qualquer.
( + kb) a + ( ka) b = a + kab + b kab = a + b = d
Vale tambem comentar que a recproca deste corolario nao e verdadeira, exceto em um caso
particular. Sendo a e b dois inteiros, se existirem outros dois inteiros e tais que a + b = c,
n ao podemos armar que c e o m aximo divisor comum entre a e b, a n ao ser que tenhamos c = 1,
pois neste caso temos a menor combina cao linear positiva possvel.
6
Algoritmo Euclidiano Estendido Secao 1.3
O algoritmo de Euclides pode ser reformulado para que calculemos simultaneamente d, e :
o algoritmo euclidiano estendido. Esta extens ao do algoritmo de Euclides se baseia em escrever
os restos de cada divisao do algoritmo como combinacao linear do divisor e dividendo. Vamos
mostrar como funciona com um exemplo: queremos encontrar o m aximo divisor comum de 91 e
35, e escreve-lo como combinac ao linear. Efetuando as divis oes, encontramos
91 35
21 2
91 = 35 2 + 21
35 21
14 1
35 = 21 1 + 14
21 14
7 1
21 = 14 1 + 7
14 7
0 2
14 = 7 2 + 0
O ultimo resto nao nulo e 7, logo mdc(91, 35) = 7. Agora, para escrevermos 7 como combinac ao
linear de 91 e 35, isolamos os restos das primeiras e substinuindo nas subsequentes.
91 = 35 2 + 21 21 = 91 2 35 (1.3)
35 = 21 1 + 14 14 = 35 21 (1.4)
21 = 14 2 + 7 7 = 21 2 14 (1.5)
Primeiro usamos (1.3) em (1.4)
14 = 35 21 = 35 (91 2 35) = 3 35 91 (1.6)
Agora usamos (1.4) e (1.6) na equa cao (1.5), obtendo
7 = 21 2 14 = (91 2 35) 2 (3 35 91) = 8 35 + 3 91
Assim,
7 = mdc(35, 91) = 8 35 + 3 91.
Pode parecer que para encontrarmos uma combinac ao linear de a e b que seja igual a mdc(a, b),
precisamos primeiramente efetuar todas as divi oes, para depois utilizarmos os resto e quocientes
obtidos. Isso ate pode ser feito, mas dependendo da quantidade de divisoes pode ser muito
trabalho, ou impratic avel do ponto de vista computacional. Mas h a uma outra maneira de im-
plementarmos o algoritmo euclidiano estendido, inventada por D.E. Knuth. A implementacao se
baseia em guardar cada um dos restos obtidos na sequencia das divis oes em termos de a e b sem
esperar chegar ao ultimo resto. Dessa forma, precisamos armazenar apenas os dados referentes `as
duas divisoes imediatamente anteriores.
Se zermos as divis oes sucessivas ate encontrarmos um resto nulo, teremos a seguinte sequencia
7
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
de divis oes.
a = bq
1
+ r
1
e 0 r
1
< b
b = r
1
q
2
+ r
2
e 0 r
2
< r
1
r
1
= r
2
q
3
+ r
3
e 0 r
3
< r
2
r
2
= r
3
q
4
+ r
4
e 0 r
4
< r
3
.
.
.
.
.
.
r
n3
= r
n2
q
n1
+ r
n1
e 0 r
n1
< r
n2
r
n2
= r
n1
q
n
e r
n
= 0
Neste momento as desigualdades nao nos interessam. Reescrevemos as divis oes da seguinte
maneira.
a = bq
1
+ r
1
e r
1
= ax
1
+ by
1
b = r
1
q
2
+ r
2
e r
2
= ax
2
+ by
2
r
1
= r
2
q
3
+ r
3
e r
3
= ax
3
+ by
3
r
2
= r
3
q
4
+ r
4
e r
4
= ax
4
+ by
4
(1.7)
.
.
.
.
.
.
r
n3
= r
n2
q
n1
+ r
n1
e r
n1
= ax
n1
+ by
n1
r
n2
= r
n1
q
n
e r
n
= 0
onde os n umeros x
1
, ..., x
n1
e y
1
, ..., y
n1
s ao inteiros a determinar. Podemos resumir as infor-
mac oes de (1.7) em uma tabela.
restos quocientes x y
a * x
1
y
1
b * x
0
y
0
r
1
q
1
x
1
y
1
r
2
q
2
x
2
y
2
r
3
q
3
x
3
y
3
.
.
.
.
.
.
.
.
.
.
.
.
r
n2
q
n2
x
n2
y
n2
r
n1
q
n1
x
n1
y
n1
Note que acrescentamos duas linhas que nao correspondem a nenhuma divis ao; de fato, a e
b n ao sao restos. Chamaremos essas duas primeiras linhas de 1 e 0. Logo veremos porque s ao
8
Algoritmo Euclidiano Estendido Secao 1.3
necess arias. Note que r
n1
= ax
n1
+ by
n1
. Mas r
n1
= mdc(a, b), portanto x
n1
e y
n1
s ao os
inteiros e que procuramos para escrever mdc(a, b) = a + b. Portanto, precisamos apenas
saber como preencher as colunas x e y.
Suponha que j a tenhamos preenchido a tabela ate certo ponto, por exemplo, ate a
(j 1)-esima linha. Precisamos descobrir quais s ao os inteiros r
j
, q
j
, x
j
e y
j
. Para determinarmos
r
j
e q
j
, basta dividirmos r
j2
por r
j1
. Desse modo, teremos r
j2
= r
j1
q
j
+ r
j
e 0 r
j
< r
j1
.
Est ao determinados, entao, r
j
e q
j
.
Para encontrarmos x
j
e y
j
, primeiro observe que
r
j
= r
j2
r
j1
q
j
(1.8)
Mas as linhas j 1 e j 2 da tabela nos dizem que
r
j2
= ax
j2
+ by
j2
e r
j1
= ax
j1
+ by
j1
Substituindo esses valores em (1.8), obtemos
r
j
= (ax
j2
+ by
j2
) (ax
j1
+ by
j1
)q
j
= a(x
j2
q
j
x
j1
) + b(y
j2
q
j
y
j1
)
Veja que para calcularmos x
j
e y
j
, usamos apenas valores contidos nas duas linhas imediata-
mente anteriores ` a linha j, alem do queociente q
j
. Portanto, sabemos preencher qualquer linha
da tabela se conhecermos as duas linhas anteriores. E mais, nosso processo de preenchimento e
recursivo, logo, s o precisamos saber como inicia-lo.

E nesse ponto que as duas primeiras linhas
nos ajudam.
Interpretando estas linhas como as demais, devemos ter:
a = ax
1
+ by
1
e b = ax
0
+ by
0
e isto sugere escolhermos
x
1
= 1 , y
1
= 0 , x
0
= 0 e y
0
= 1
e com esses valores podemos iniciar o processo recursivo de preenchimento da tabela. Ao nal do
processo, teremos encontrado d = mdc(a, b).
d = r
n1
= a + b
onde = x
n1
e = y
n1
.
Para encerrar este primeiro captulo, vamos ver como o estudo sobre o mdc desenvolvido ate
9
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
aqui nos auxilia na resoluc ao de equa coes diofantinas lineares. Uma equac ao diofantina linear `a n
inc ognitas e uma sentenca do tipo
a
1
x
1
+ a
2
x
2
+ + a
n
x
n
= b (1.9)
onde a
1
, ..., a
n
, b s ao n umeros inteiros. Em se tratando de equacoes diofantinas, lineares ou n ao,
sempre estamos procurando solucoes inteiras, ou seja, as inc ognitas x
1
, ..., x
n
s o assumem valores
no conjunto Z. Vamos tratar apenas de equacoes diofantinas lineares ` a 2 inc ognitas, pois qualquer
equac ao com mais incognitas pode ser reduzida a este caso. A ttulo de exemplo, considere a
equac ao diofantina linear ` a 3 inc ognitas
x + 10y + 25z = 99.
Fazemos 10y +25z = 5k (escolhemos 5 porque 5 = mdc(10, 25)). Da, a equac ao original se reduz
` a x + 5k = 99. Portanto, ao inves de resolvermos uma equac ao ` a 3 incognitas, resolveremos 2
equac oes a 2 inc ognitas. Para mais detalhes ver [10].
Primeiramente, vamos ver qual uma condi cao necessaria e suciente para que a equac ao
ax + by = c admita soluc ao inteira.
PROPOSI C

AO 1.3.3. A equacao ax + by = c admite solucao inteira se, e somente se, mdc(a, b)


dividir c.
DEMONSTRA C

AO. () Seja (x
0
, y
0
) uma solu cao inteira da equa cao ax + by = c, ou seja
ax
0
+ by
0
= c.
Seja d = mdc(a, b). Como d[a e d[b, temos que d divide qualquer conbina cao linear de a e b. Em
particular, d divide ax
0
+ by
0
, ou seja, d[c.
() Sendo d = mdc(a, c), temos que d e a menor combina cao linear positiva de a e b.
d = ax
0
+ by
0
(1.10)
Temos por hip otese que d[c, isto e, existe um inteiro c
t
tal que c = dc
t
. Multiplicando a equac ao
(1.10) por c
t
temos
c = dc
t
= a(x
0
c
t
) + b(y
o
c
t
)
portanto (x
0
c
t
, y
0
c
t
) e uma solucao da equac ao ax + by = c.
Agora que sabemos como vericar se uma equacao diofantina linear admite solu cao, vejamos
como encontrar tal soluc ao. Considere a equac ao diofantina linear ax + by = c. Suponha que tal
equac ao admita soluc ao, isto e, d = mdc(a, b)[c. Neste caso temos c = dc
t
, para algum inteiro c
t
.
10
Algoritmo Euclidiano Estendido Secao 1.3
Seja a
t
=
a
d
e b
t
=
b
d
. Note que a
t
e b
t
s ao inteiros pois d[a e d[b. Considere, agora, a equac ao
reduzida a
t
x + b
t
y = c
t
.
Armamos qualquer soluc ao da equac ao original e tambem soluc ao da equacao reduzida, e
vice-versa. De fato, se (x
0
, y
0
) e uma solucao da equac ao reduzida, temos
c
t
= a
t
x
0
+ b
t
y
0
c
t
d = a
t
dx
0
+ b
t
dy
0
c = ax
0
+ by
0
Portanto, para achar as solu coes da equac ao original, basta encontrarmos as soluc oes da
equac ao reduzida. Sendo d = mdc(a, b), temos que existen inteiros r e s tais que d = ar + bs.
Dividindo toda a equac ao por d, obtemos
1 =
a
d
r +
b
d
s.
Mas
a
d
= a
t
e
b
d
= b
t
, ou seja, a
t
e b
t
s ao primos entre s, portanto existem inteiros e , que
podem ser determinados usando-se o algoritmo euclidiano estendido, tais que
a
t
+ b
t
= 1
Agora, basta multiplicarmos esta equac ao por c
t
, e chegaremos `a
a
t
c
t
+ b
t
c
t
= c
t
ou seja, (c
t
, c
t
) e uma solucao da equa cao reduzida, e portanto, e uma solucao da equa cao
original
ax + by = c.
Como os inteiros e n ao sao unicos, segue que a soluc ao da equa cao diofantina linear tambem
n ao e unica. De fato, se (x
0
, y
0
) e uma soluc ao particular de ax + by = c, entao (x
0
+ bt, y
0
at)
tambem e uma solu cao, t Z, pois
a(x
0
+ bt) + b(y
0
at) = ax
0
+ abt + by
0
abt = ax
0
+ by
0
= c
Com isso, tambem conclumos que quando ax + by = c admite soluc oes, estas sao em quantidade
innita, pois cada t inteiro gera uma solucao diferente.
Vamos encerrar com um exemplo. Vamos resolver 4x + 6y = 10.
Como mdc(4, 6) = 2 divide 10, a equac ao admite solu cao. Primeiramente, encontremos a
equac ao reduzida, dividindo a original por 2.
2x + 3y = 5
11
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
Agora, encontramos uma solucao particular desta equac ao. Utilizando o algoritmo euclidiano
estendido, obtemos
2 (1) + 3 (1) = 1
Multiplicando esta ultima por 5, a equac ao ca
2 (5) + 3 (5) = 5
logo, (5, 5) e uma soluc ao particular da equa cao reduzida e tambem da equa cao original. Da,
as soluc oes de 4x + 6y = 10 sao dadas por
_
x = 5 + 6t
y = 5 4t
(t Z)
Terminamos este primeiro captulo com mais algumas propriedades relacionadas ` a divisibilidade
e ao mdc.
PROPOSI C

AO 1.3.4. Se n, a, b sao inteiros positivos, entao mdc(na, nb) = n mdc(a, b).


DEMONSTRA C

AO. Seja d = mdc(a, b). Ent ao d[a e d[b, ou seja, a = rd e b = sd, para certos inteiro
r e s. Multiplicando as ultimas igualdades por n, obtemos na = r(nd) e nb = s(nd), ou seja nd[na
e nd[nb. Assim temos que nd e um divisor comum de na e nb. Resta mostrar que nd e o maior
deles.
Seja x Z
+
tal que x[na e x[nb. Como d = mdc(a, b) existem inteiros e de modo que
d = a + b, o que implica na + nb = nd. Como x[na e x[nb, x divide qualquer combina cao
linear de na e nb. Em particular, x[(na + nb) = nd, portanto x nd. Assim temos que
nd = mdc(na, nb) mdc(na, nb) = n mdc(a, b)
PROPOSI C

AO 1.3.5. O mdc e associativo, isto e, dados tres inteiros a, b, c, temos que


mdc(a, mdc(b, c)) = mdc(mdc(a, b), c) = mdc(a, b, c)
DEMONSTRA C

AO. Seja D
a
o conjunto dos divisores de a, D
b
o conjunto dos divisores de b e D
c
o conjunto dos divisores de c. Sejam d
1
= mdc(a, mdc(b, c)), d
2
= mdc(mdc(a, b), c) e d
3
=
mdc(a, b, c). De outra maneira:
d
1
= max(D
a
(D
b
D
c
))
d
2
= max((D
a
D
b
) D
c
)
d
3
= max(D
a
D
b
D
c
)
12
Algoritmo Euclidiano Estendido Secao 1.3
Como a operacao de intersec ao de conjuntos e associativa, temos
D
a
(D
b
D
c
) = (D
a
D
b
) D
c
= D
a
D
b
D
c
e portanto d
1
= d
2
= d
3
.
PROPOSI C

AO 1.3.6. Sejam b
1
e b
2
inteiros primos entre s, isto e, mdc(b
1
, b
2
) = 1. Entao d e
um divisor de b
1
b
2
se, e somente se, d = d
1
d
2
, onde d
1
= mdc(d, b
1
) e d
2
= mdc(d, b
2
).
DEMONSTRA C

AO. () Se d
1
= mdc(d, b
1
), ent ao d
1
[b
1
b
1
= m d
1
para algum m Z. De
modo analogo, se d
2
= mdc(d, b
2
), ent ao d
2
[b
2
b
2
= n d
2
para algum n Z. Multiplicando as
equac oes, obtemos
b
1
b
2
= m d
1
n d
2
= (mn) (d
1
d
2
) = mn d d[b
1
b
2
() Para demonstrarmos que se d[b
1
b
2
, ent ao d = mdc(d, b
1
) mdc(d, b
2
), faremos uso das
duas proposic oes anteriores. Sendo d
1
= mdc(d, b
1
), d
2
= mdc(d, b
2
), d um divisor de b
1
b
2
e
mdc(b
1
, b
2
) = 1, temos
d
1
d
2
= d
1
mdc(d, b
2
)
Prop.1.3.4
= mdc(d d
1
, b
2
d
1
)
= mdc(d d
1
, b
2
mdc(d, b
1
))
Prop.1.3.4
= mdc(d d
1
, mdc(db
2
, b
1
b
2
))
d[b
1
b
2
= mdc(d d
1
, mdc(db
2
, dm)) para algum m Z.
Prop.1.3.4
= mdc(d d
1
, d mdc(b
2
, m))
Prop.1.3.4
= d mdc(d
1
, mdc(b
2
, m))
= d mdc(mdc(d, b
1
), mdc(b
2
, m))
Prop.1.3.5
= d mdc(d, b
1
, b
2
, m)
Prop.1.3.5
= d mdc(d, m, mdc(b
1
, b
2
))
= d mdc(d, m, 1) = d 1
= d
como queramos mostrar.
13
Captulo 1 Algoritmo da Divisao de Euclides e Divisibilidade
14
Captulo
2
Fatora cao

Unica
Por que os n umeros primos se chamam n umeros primos? Com certeza n ao e por que seus
pais s ao irm aos. Na verdade, os gregos dividiam os n umeros em primeiros (ou indecomponveis)
e secundarios (ou compostos). Os n umeros compostos s ao assim chamados por serem formados
a partir dos primeiros. Os romanos traduziram literalmente a palavra grega para primeiro, que
em latim e primus. Da a origem dos nossos n umeros primos. Neste captulo vamos ver como os
n umeros primos funcionam como partcula elementar na construcao de qualquer inteiro.
2.1 Teorema Fundamental da Aritmetica
DEFINI C

AO 2.1.1. Um n umero inteiro p ,= 1 e primo se seus unicos divisores sao p e 1. Se


p ,= 1 nao e primo, ele e dito composto.
Uma primeira pergunta que nos vem quando nos deparamos com essa deni cao e: por que 1
e 1 n ao s ao classicados nem como primos nem como compostos? Antes de respondermos tal
pergunta, vejamos o enunciado do Teorema Fundamental da Aritmetica.
TEOREMA 2.1.2 (Teorema Fundamental da Aritmetica). Todo inteiro positivo n 2 pode ser
escrito na forma
n = p
1
p
2
... p
k
para certos primos p
1
, p
2
, ..., p
k
com k 1 e p
1
p
2
... p
k
. Alem disso, os fatores primos
satisfazendo essas condicoes sao unicos, isto e, se q
1
, q
2
, ..., q
j
sao tambem primos positivos com
q
1
q
2
... p
j
e n = q
1
q
2
... q
j
, entao j = k e p
1
= q
1
, p
2
= q
2
, ..., p
k
= q
k
.
A exclusao de 1 na denicao de n umero primo e necessaria para garantir a unicidade da
fatorac ao no teorema anterior, pois caso 1 ou 1 fossem primos, por exemplo, 2, 1
3
2 e (1)
4
2
seriam fatora coes distintas do n umero 2.
Vamos demonstrar primeiramente a existencia da fatorac ao.
Existencia. Vamos usar o segundo principio da indu cao. Primeiramente, se n = 2, entao n
e primo, pois os unicos divisores de 2 s ao 1 e 2.
15
Captulo 2 Fatoracao

Unica
Agora, seja k 2 e suponha como hip otese de induc ao que todo inteiro n, 2 n k, seja
primo ou possa ser escrito como produto de fatores primos. vamos mostrar que k + 1 e primo ou
se escreve como produto de primos.
Considere, ent ao, o inteiro k + 1.
i) se k + 1 e primo, nada mais temos a demonstrar.
ii) se k + 1 n ao e primo, ent ao possui um fator (divisor) a, diferente de 1 e de (k + 1), ou
seja,
k + 1 = a b
e alem disso temos 2 a, b < k + 1 2 a, b k, e portanto, pela hip otese de induc ao, a e b
ou s ao primos ou se decomp oe como produto de primos. Portanto, como k + 1 = a b, k + 1 se
decomp oe como um produto de fatores primos positivos.
Antes de demonstrarmos a unicidade da fatorac ao, vamos demonstrar algumas proposic oes
envolvendo n umeros primos e divisibilidade que serao uteis.
PROPOSI C

AO 2.1.3. Dados inteiros a, b e c, se a e b sao primos entre s, entao


(1) se a divide o produto bc entao a divide c.
(2) se a e b dividem c, entao o produto ab divide c.
DEMONSTRA C

AO. (1) Se a e b s ao primos entre s, existem inteiros r e s tais que


ra + sb = 1
logo
rac + sbc = c.
Como, por hipotese, a[bc ent ao a[sbc tambem.

E claro que a[rac. Mas se a divide dois inteiros,
ele tambem divide qualquer conbinac ao linear desses dois inteiros. Portanto a[(rac +scb), ou seja
a[c.
(2) Se a divide c, existe um inteiro r tal que c = ar. Mas b tambem divide c. Como a e b s ao
primos entre s, segue da primeira parte deste lema que b divide r, ou seja, existe um inteiro s tal
que r = bs. Portanto
c = ar = a(bs) = (ab)s
ou seja, ab divide c.
PROPOSI C

AO 2.1.4. Sejam a e p inteiros, sendo p um n umeros primo positivo. Entao, a nao e


divisvel por p se, e somente se, a e p forem primos entre s.
DEMONSTRA C

AO. () Por hip otese, p ,[a. Seja d = mdc(a, p).


16
Teorema Fundamental da Aritmetica Secao 2.1
Como d[p, temos que d = 1 ou d = p.
Mas p ,[a e d[a, portanto p ,= d. Logo d = 1 e ent ao a e p s ao primos entre s.
() Suponhamos agora que a e p s ao primos entre s, ou seja, mdc(a, p) = 1. Como p[p,
se tambem tivermos que p[a, entao p seria um divisor comum de a e p, logo necessariamente
deveriamos ter p mdc(a, p) = 1. Mas p e primo, ou seja, p 2, e temos assim uma contradic ao.
Portanto obrigatoriamente p ,[a.
PROPOSI C

AO 2.1.5. Sejam a, b e p inteiros, com p primo. Se p[ab, entao p[a ou p[b (nada impede
que p divida tanto a quanto b).
DEMONSTRA C

AO. Temos que p[a ou p ,[a. Se p[a, a proposic ao est a demonstrada. Agora, se p ,[a,
pela Proposic ao 2.1.4 a e p s ao primos entre s. Como p[ab, ent ao, pela Proposic ao 2.1.3, temos
que p[b.
A Proposi cao anterior pode ser estendida para um produto de n inteiros.
PROPOSI C

AO 2.1.6. Seja p um n umero primo e a


1
, ..., a
n
n umeros inteiros, com n 2. Se
p[(a
1
a
2
... a
n
) entao p[a
i
para algum ndice i, i 1, 2, ..., n.
DEMONSTRA C

AO. Faremos uma induc ao sobre n. Para n = 2 j a esta feito na Proposic ao 2.1.5.
Hip otese de inducao: Se p e primo e p divide um produto de k fatores inteiros, ent ao p divide
ao menos um dos fatores.
Considere agora um produto de k + 1 inteiros e suponha que p[a
1
... a
k
a
k+1
. O n umero
s = a
1
... a
k
e um inteiro, e temos que p[s a
k+1
. Pela Proposic ao 2.1.5, p[s ou p[a
k+1
. Logo p[a
j
para algum j 1, 2, ..., k ou p[a
k+1
. Portanto p[a
j
para algum j 1, 2, ..., k, k + 1.
Pelo primeiro princpio de induc ao nita, a proposi cao esta demonstrada.
Agora vamos demonstrar a unicidade da fatorac ao do Teorema Fundamental da Aritmetica.
Unicidade Suponha que exista um inteiro n, n 2, que possa ser escrito como produto de
fatores primos de duas maneiras distintas, isto e
n = p
1
p
2
... p
r
= q
1
q
2
... q
s
(2.1)
sendo p
1
, p
2
, ..., p
r
, q
1
, q
2
, ..., q
s
primos positivos e p
1
p
2
... p
r
e q
1
q
2
... q
s
.
Cancelando os fatores primos que aparecem em ambos os lados da igualdade 2.1, como as duas
fatorac oes sao supostamentes distintas, chegaremos a uma igualdade
p
i
1
p
i
2
... p
i
u
= q
j
1
q
j
2
... q
j
v
(2.2)
com u 1 e v 1, em que cada um dos primos do lado esquerdo e diferente de cada um dos
primos do lado direito, ou seja, os membros ` a esquerda e ` a direita n ao tem mais fatores primos
17
Captulo 2 Fatoracao

Unica
em comum. Agora observe que
p
i
1
(p
i
2
p
i
3
... p
i
u
) = q
j
1
q
j
2
... q
j
v
o que signica que p
i
1
divide q
j
1
q
j
2
... q
j
v
. Pela Proposi cao 2.1.6, p
i
1
divide algum dos fatores
q
j
1
, q
j
2
, ..., q
j
v
, o que e impossvel, pois esses fatores sao primos e diferentes de p
i
1
.
Portanto nao podemos ter duas fatoracoes distintas para um mesmo inteiro n, logo esta provada
a unicidade da fatorac ao em n umeros primos.
Agora que sabemos que todo inteiro pode ser escrito como um produto de inteiros, veremos
algumas maneiras de encontrarmos fatores de um inteiro n dado.
2.2 Algoritmos de Fatoracao
A maneira mais imediata para determinarmos um fator do inteiro n e vericar se algum inteiro k,
2 k n1, divide n. Se algum destes k dividir n, encontramos um fator de n; e mais, o menor
fator que encontrarmos dessa maneira deve ser primo: seja f um inteiro tal que 2 f n 1.
Suponha que f seja o menor fator de n e que f
t
> 1 seja um fator de f. Pela denic ao de
divisibilidade
n = f a e f = f
t
b
para certos inteiros a e b. Assim temos
n = f
t
(ab).
Ent ao f
t
tambem e fator de n. Como supusemos que f era o menor fator de n, temos que f f
t
.
Mas f
t
e fator de f, logo f
t
f, e portanto f = f
t
. Concluimos que o unico fator de f, maior
que 1, e o proprio f, ou seja, f e primo.
Com um pouco mais de atenc ao veremos que n ao precisamos procurar fatores ate n 1. De
fato, n ao precisamos procurar fatores maiores que

n.
PROPOSI C

AO 2.2.1. Se n e um inteiro positivo composto, entao n tem um fator primo p satis-


fazendo 2 p

n.
DEMONSTRA C

AO. Sendo n composto, temos n 2, e pelo Teorema Fundamental da Aritmetica


n = p
1
... p
s
para certos fatores primos p
1
... p
s
, com s 2 (se s = 1 entao n e primo). Armamos que
18
Algoritmos de Fatoracao Secao 2.2
AFIRMA C

AO: p
1

n. De fato, se tivermos p
1
>

n, ent ao
n = p
1
p
2
... p
s
p
1
p
1
... p
s
p
1
p
1
>

n = n
o que e uma contradic ao.
Na verdade, com raciocnio similar, podemos concluir que se n 2 e um inteiro composto, n
n ao pode ter dois fatores primos maiores que

n, isto e, todos os fatores primos de n, com possvel


excessao de apenas um, sao menores do que

n.
Uma pergunta que nos vem a mente neste ponto e: quais n umeros possuem um fator primo
maior que sua raiz quadrada?

E claro que todo n umero primo e maior que sua raiz quadrada,
logo nossa busca ser a por n umeros composto que possuam um fator maior que sua raiz quadrada.
Alguns exemplos:
6 = 2 3 3 >

6
15 = 3 5 5 >

15
30 = 2 3 5 nenhum fator primo maior que

30
180 = 2
2
3
2
5 nenhum fator primo maior que

180
A impressao que temos e que quando n cresce, ca mais difcil ele possuir um fator primo
>

n. Ser a que e possvel encontrarmos um n


0
, de modo que, se n > n
0
e n e composto, entao n
n ao possui fator primo p >

n ? O seguinte lema nos garante que n ao.


LEMA 2.2.2. Seja n = m p, m 2 e p primo. Entao p e um fator primo de n maior que

n se,
e somente se, p > m.
DEMONSTRA C

AO. O inteiro p j a e primo e fator de n. Basta vericarmos que a equivalencia


p >

n p > m e verdadeira. Como n = mp temos


p >

mp p
2
> mp p > m
Esse lema nos permite construir inteiros tao grande quanto se queira de forma que tal inteiro
possua um fator primo maior que sua raiz quadrada, pois dado m Z
+
, sempre conseguimos
um primo p > m (j a que existem innitos primos, como veremos no pr oximo captulo), logo para
qualquer inteiro N, existe n > N de modo que n possua um fator primo p >

n. Em outras
palavras, o conjunto
X = x Z
+
[x possui um fator primo p >

x
19
Captulo 2 Fatoracao

Unica
e innito.
Uma pergunta que imediatamente pode ser feita e: o conjunto
A = x Z
+
[ todos os fatores primos de x s ao menores que

x
e nito ou innito?
Se procurarmos exemplos, notaremos que se escolhermos aleatoriamente inteiros grandes, e
muito mais f acil escolhermos um inteiro que pertenca ao conjunto A do que ao conjunto X,
mas isso n ao nos garante que A seja innito (lembre-se de alguns fatos intrigantes com respeito a
cardinalidade, como Q vs. (R Q), n umeros algebricos vs. n umeros transcendentes). Antes de
provarmos que A e mesmo innito, vejamos uma maneira equivalente de enunciar o lema acima.
LEMA 2.2.3. Seja n = m p, m 2 e p primo. Entao p e um fator primo de n menor ou igual que

n se, e somente se, p m.


AFIRMA C

AO: O conjunto A = x Z
+
[ todos os fatores primos de x s ao menores que

x e
innito.
Demonstracao. Suponhamos, como hip otese de absurdo, que A seja nito. Ent ao podemos escre-
ver A = x
1
, x
2
, x
3
, ..., x
n
com x
1
< x
2
< x
3
< ... < x
n
. Como A Z e A e nito, A possui um
maior elemento, que no caso e x
n
.
Note que os elementos de A s ao todos compostos, pois se x e primo temos x >

x. Em
particular, x
n
e composto.
x
n
= p
1
p
2
... p
s
onde p
1
, p
2
, ..., p
s
s ao primos e 1 < p
1
p
2
... p
s
.
Para dizermos que um inteiro x pertence a A, temos que vericar para cada fator primo p de
x que p
x
p
(no caso,
x
p
e o inteiro m que aparece no lema). Entretanto, basta fazermos tal
vericac ao somente para o maior inteiro fator primo de x: se x = p
1
... p
k
, 1 < p
1
... p
k
e
p
j
e um fator de x menor do que p
k
, temos
1 < p
1
1 < p
2
.
.
.
1 < p
j1
1 < p
j+1
.
.
.
1 < p
k1
p
j
< p
k
20
Algoritmos de Fatoracao Secao 2.2
Multiplicando essas desigualdades membro a membro, conclumos que p
j
<
x
p
j
, ou seja, o lema se
verica para qualquer fator p
j
< p
k
, sendo p
k
o maior fator primo de x.
Outra observa cao: x
n
possui todos os primos menores que p
s
como fatores. De fato: se p e um
primo menor do que p
s
que nao e fator de x
n
, construmos o inteiro x = x
n
p. Tal x e maior que
x
n
, e o maior fator primo de x e p
s
. Sendo assim, x A, pois
p
s
<
x
n
p
s
<
x
n
p
s
p =
x
p
s
e isso contradiz o fato de x
n
ser o maior elemento de A. Portanto x
n
tem como fatores todos os
primos p p
s
.
Finalmente, construmos agora o inteiro y = x
n
p
s
Notoriamente temos y > x
n
. Se y A, teremos uma contradic ao e concluiremos que A n ao
pode ser nito.
Ora, o maior fator primo de y e p
s
, sendo assim
p
s
<
x
n
p
s
<
x
n
p
s
p
s
=
y
p
s
y A
o que novamente contradiz o fato de x
n
ser o maximo de A, e portanto, A e innito.
Note que A, X e 1 constituem uma partic ao dos inteiros positivos.
O algoritmo justicado pela Proposic ao 2.2.1 e eciente quando o inteiro n que vamos fatorar e
divisvel por um primo pequeno (o tamanho deste primo depende do computador que usaremos).
Vamos ver agora um outro algoritmo que e eciente quando n possui um fator primo pr oximo
` a

n. Tal algoritmo foi inventado por Fermat, e leva seu nome.
Vamos supor n mpar (se n for par, 2 e um de seus fatores).
Queremos encontrar inteiros x e y tais que
n = x
2
y
2
= (x + y)(x y)
Dessa forma x + y e x y s ao fatores de n.
Algoritmo 2.2.4 (Algoritmo de Fermat).
Entrada Um inteiro positivo mpar n.
Sada Um fator de n ou uma mensagem dizendo que n e primo.
Etapa 1 Faca x = [[

n]]; se n = x
2
, x e fator de n.
Etapa 2 Caso contrario, incremente x de uma unidade e calcule y =

x
2
n.
Etapa 3 Repita a Etapa 2 ate encontrar um valor inteiro para y ou ate que x seja igual a
n + 1
2
.
No primeiro caso n tem fatores x + y e x y, e no segundo caso n e primo.
21
Captulo 2 Fatoracao

Unica
Antes de demonstrarmos porque o algoritmo funciona, vejamos um exemplo.
Seja n = 731021. Neste caso,
n + 1
2
= 365511 e

n 854, 997. Sendo assim, iniciamos com
x = 854 x
2
= 729316 < 731021 = n.
Agora incrementamos x de um em um, ate que

x
2
n seja inteiro ou ate que x = 365511.
Para nossa sorte, quanto fazemos o primeiro incremento em x encontramos
x = 855 y =

855
2
731021 =

731025 731021 = 2
e temos y inteiro. Portanto, dois fatores de 731021 sao x +y = 857 e x y = 853. Por acaso, 853
e 857 sao primos.
731021 = 853 857
Diferente do primeiro algoritmo, que se resumia a vericar se n umeros eram fatores de n
simplesmente atraves da divis ao, nao e claro porque o Algoritmo de Fermat funciona nem porque
ele p ara. Vamos ver o teorema que nos dar a tais respostas.
TEOREMA 2.2.5. Seja n um inteiro mpar, n > 2. Existe um inteiro x

n tal que
y =

x
2
n e um inteiro e x + y e x y sao fatores de n. Alem disso, n e composto se, e
somente se, x <
n + 1
2
.
DEMONSTRA C

AO. Suponha que n possa ser fatorado na forma n = ab, com a b. Queremos
encontrar x e y tais que n = x
2
y
2
, ou seja,
n = ab = (x + y)(x y)
Como x y x + y, basta tomarmos
x =
a + b
2
e y =
b a
2
De fato
_
a + b
2
_
2

_
b a
2
_
2
= ab = n
Por hip otese, n e mpar, logo a e b s ao mpares, e portanto x e y tomados como acima sao
inteiros.
Se n for primo, s o podemos ter a = 1 e b = n, e assim est a demonstrado a existencia do inteiro
x. Vamos supor, ent ao, que n seja composto. Precisamos apenas garantir que x <
n + 1
2
.
Nestas condi coes, temos dois casos a considerar. Primeiro, se n for um quadrado perfeito.
22
Algoritmos de Fatoracao Secao 2.2
Neste caso, escolhemos x =

n. Desse modo, temos x <


n + 1
2
, pois
n > 2 (n 1)
2
> 0
n
2
2n + 1 > 0
n
2
+ 2n + 1 > 4n

(n + 1)
2
4
> n > 0

n + 1
2
>

n = x
Agora, se n e composto e n ao e um quadrado perfeito, ou seja, n = ab com 1 < a < b < n,
escolhemos x =
a + b
2
. Por hipotese, temos b > 1 e a > 1 a 1 > 0, portanto
1 < b a 1 < b(a 1)
a 1 < ab b
a 1 + (b + 1) < ab b + (b + 1)
a + b < ab + 1 = n + 1

a + b
2
<
n + 1
2
x <
n + 1
2
e assim est a demonstrado o teorema.
J a demonstramos uma propriedade fundamental dos n umeros primos: a Proposic ao 2.1.5.
Propriedade Fundamental dos Primos: Seja p um n umero primo e a e b inteiros positivos.
Se p divide o produto ab, ent ao p divide a ou p divide b.
Vamos encerrar este captulo fazendo uso dessa propriedade para mostrar um resultado inte-
ressante.
PROPOSI C

AO 2.2.6. Se p e um inteiro primo, entao



p e irracional.
DEMONSTRA C

AO. Suponha que



p seja racional, isto e, existem inteiros a e b, b ,= 0, tais que

p =
a
b
.
Podemos supor, ainda, que a fracao
a
b
est a reduzida, ou seja, mdc(a, b) = 1 (se n ao estiver basta
cancelarmos o maximo divisor comum entre o numerador e o denominador). Se

p =
a
b
, temos
que p =
a
2
b
2
, ou ainda
b
2
p = a
2
(2.3)
23
Captulo 2 Fatoracao

Unica
Isto signica que p divide a
2
. Mas se p[a
2
, ent ao p[a, ou seja, existe um inteiro c tal que a = p c.
Substituindo na equac ao (2.3), obtemos
b
2
p = a
2
= p
2
c
2
b
2
= p c
2
Disto conclumos que p divide b
2
, e portanto p divide b. Mas ent ao p[a e p[b, com p 2 primo,
e isto e impossvel, pois mdc(a, b) = 1. Portanto

p n ao pode ser racional, logo

p e irracional.
24
Captulo
3
N umeros Primos
Estamos estudando a teoria necess aria para compreender o metodo de criptograa RSA. Tal
metodo faz uso de n umeros primos grandes. Desse modo, e interessante conseguirmos gerar tais
primos. Mas o interesse em encontrar n umeros primos nao nasceu devido ` a criptograa. Os
n umeros primos s ao conhecidos desde a antiguidade, e desde entao eles encantam os matem aticos.
Estes sempre os estudaram buscando descobrir suas propriedades, e uma das coisas que sempre se
buscou foi uma formula que gerasse n umeros primos.
3.1 F ormulas Polinomiais
Sem d uvida, as fun coes polinomiais sao as funcoes mais simples para se entender e manipular, prin-
cipalmente se o interessado no estudo n ao est a familiarizado com uma Matem atica mais robusta.
As primeiras func oes estudadas no ensino medio, por exemplo, s ao as func oes am e quadr atica,
isto e, func oes de 1

e 2

graus, respectivamente.
A simplicidade das funcoes polinomiais pode ser explicada pelo seguinte fato: uma func ao
polinomial nada mais e do que um amontoado de multiplicacoes e adicoes.
Se estamos interessados em uma f ormula que gere n umeros primos, e claro que iniciaramos
nossa busca nas func oes polinomiais, isto e, queremos um polinomio
p(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
onde cada coeciente a
i
e um inteiro, e que satisfaz
p(m) e primo para todo inteiro positivo m
Achar um polinomio que satisfa ca tais condic oes parace ser pedante, mas alguns casos partic-
ulares podem, inicialmente, incentivar tal busca. Por exemplo, o polin omio p(x) = x
2
+ x + 41
quando avaliado nos inteiros de 1 a 39, so atinge valores primos. Entretanto, n ao e possvel en-
contrarmos um polinomio p(x) de modo que a imagem seja um n umero primo para todo inteiro
x.
25
Captulo 3 N umeros Primos
TEOREMA 3.1.1. Dado um polinomio f(x) com coecientes inteiros, existe uma innidade de
inteiros m tais que f(m) e composto.
DEMONSTRA C

AO. Seja f(x) um polinomio de grau n.


f(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
=
n

i=0
a
i
x
i
com f(m) = p primo positivo, m inteiro positivo. Vamos supor, sem perda de generalidade, que
a
n
> 0. Seja h um inteiro positivo. Temos
f(m + hp) =
n

i=0
a
i
(m + hp)
i
=
n

i=0
_
a
i

j=0
_
i
j
_
m
ij
(hp)
j
_
=
n

i=0
_
a
i
m
i
+ a
i

j=1
_
i
j
_
m
ij
h
j
p
j
_
=
n

i=0
a
i
m
i
+
n

i=0
_
a
i
p
i

j=1
_
i
j
_
m
ij
h
j
p
j1
_
= f(m) + p
n

i=0
_
a
i
i

j=1
_
i
j
_
m
ij
h
j
p
j1
_
= p
_
1 +
n

i=0
_
a
i
i

j=1
_
i
j
_
m
ij
h
j
p
j1
__
Para que f(m + hp) seja composto, precisamos garantir que
1 +
n

i=0
_
a
i
i

j=1
_
i
j
_
m
ij
h
j
p
j1
_
,= 1
Para tanto, e suciente termos
n

i=0
_
a
i
i

j=1
_
i
j
_
m
ij
h
j
p
j1
_
> 0
Mas o que temos no lado esquerdo da desigualdade acima e um polin omio g(h) em h, visto que
a
0
, a
1
, ..., a
n
, m, p s ao valores xados. Alem disso, o grau deste polinomio e n e seu coeciente lder
e a
n
p
n1
> 0. Sendo assim, temos que
lim
h
g(h) = +
26
Formulas Exponenciais: Mersenne e Fermat Secao 3.2
ou seja, para h sucientemente grande temos g(h) positivo, exatamente como precisavamos.
Num primeiro momento, a demonstracao anterior pode parecer um pouco confusa. Vamos ver
o caso particular em que o polin omio f(x) tem grau 2 para que que mais claro o que foi feito no
caso geral.
Se f(x) tem grau 2, ele se escreve como f(x) = ax
2
+ bx + c. Seja m um inteiro positivo tal
que f(m) = p e um n umero primo (positivo). Calculemos agora f(m + hp), onde h e um inteiro
positivo qualquer.
f(m + hp) = a(m + hp)
2
+ b(m + hp) + c
= am
2
+ 2amhp + ah
2
p
2
+ bm + bhp + c
= (am
2
+ bm + c) + p (2amh + aph
2
+ bh)
= p + p (2amh + aph
2
+ bh)
= p (1 + 2amh + aph
2
+ bh).
Para que f(m + hp) seja composto, precisamos que
1 + 2amh + aph
2
+ bh > 1 2amh + aph
2
+ bh > 0
h>0
2am + aph + b > 0
h >
b 2am
ap
Portanto, se f(x) = ax
2
+ bx + c e um polinomio de coecientes inteiros, a > 0, e f(m) = p e
primo, entao f(m + hp) e composto sempre que h >
b 2am
ap
. Em particular, existem innitos
valores inteiros para x de modo que f(x) e composto.
Neste caso do polinomio de grau 2, conseguimos determinar uma cota inferior para o inteiro h
a partir da qual conseguimos garantir a existencia de innitos inteiros compostos que sao atingidos
pelo polin omio f. No caso geral, nao encontramos esta cota inferior, apenas usamos sua existencia,
que e garantida pelo limite no innito do polin omio em h.
Enm, nossa busca por um polin omio cujos valores positivos s ao sempre primos e in util, pelo
menos quando nos referimos a polinomios de um variavel. Sabe-se que existe um polin omio de grau
25, `a 26 variaveis, de modo que todos os seus valores positivos s ao primos
(c.f. [09], pg. 11-12). Surpreendente, n ao?
3.2 F ormulas Exponenciais: Mersenne e Fermat
Duas sao as formulas exponenciais de grande import ancia hist orica
27
Captulo 3 N umeros Primos
M(n) = 2
n
1 F(n) = 2
2
n
+ 1
onde n e um inteiro n ao negativo.
Os n umeros da forma M(n) s ao chamados n umeros de Mersenne, e os da fomra F(n), n umeros
de Fermat.
Os n umeros de Mersenne estao relacionados com os chamados n umeros perfeitos.
DEFINI C

AO 3.2.1. Um n umero inteiro positivo e dito perfeito se e igual a metade da soma de


seus divisores positivos (incluindo n).
Por exemplo, 6 e perfeito, pois D(6) = 1, 2, 3, 6 S(6) = 12 = 2 6.
(1)
Observe que nenhum n umero primo e perfeito, pois se p e primo, seus divisores positivos s ao
1 e p. Para termos 1 + p = 2p, necessariamente devemos ter p = 1, que n ao e primo.
Euclides j a sabia que os n umeros da forma
2
n1
(2
n
1)
s ao perfeitos quando 2
n
1 e primo. Na verdade, todo n umero perfeito par e da forma 2
n1
(2
n
1).
Isso foi demonstrado pela primeira vez por Euler, e o resultado foi publicado postumametne em
1849. Antes de fazermos tal demonstra cao, vejamos uma proposicao que sera necessaria.
PROPOSI C

AO 3.2.2. Se b
1
e b
2
sao inteiros positivos primos entre s, entao
S(b
1
b
2
) = S(b
1
)S(b
2
)
onde S(n) denota a soma dos divisores positivos de n.
DEMONSTRA C

AO. Se b
1
= p

1
1
p

2
2
p

3
3
p

r
r
e b
2
= q

1
1
q

2
2
q

3
3
q

s
s
, com p
i

s
e q
j

s
primos, como
mdc(b
1
, b
2
) = 1, temos que cada p
i
e distinto de cada q
j
.
A quantidade de divisores positivos de b
1
e (
1
+ 1)(
2
+ 1) (
r
+ 1) e a quantidade de
divisores positivos de b
2
e (
1
+1)(
2
+1) (
s
+1). Tal fato e facilmente demonstrado usando-
se o Princpio Fundamental da Contagem.
Temos que b
1
b
2
= p

1
1
p

2
2
p

r
r
q

1
1
q

2
2
q

s
s
, logo a quantidade de divisores de b
1
b
2
e igual a
(
1
+1)(
2
+1) (
r
+1)(
1
+1)(
2
+1) (
s
+1), ou seja, se b
1
e b
2
possuem x e y divisores
positivos, respectivamente, e mdc(b
1
, b
2
) = 1, entao b
1
b
2
possui xy divisores positivos. Digamos
1
D(n) denota o conjunto do divisores positivos de n e S(n) denota a soma dos divisores positivos de n
28
Formulas Exponenciais: Mersenne e Fermat Secao 3.2
que b
1
tenha n divisores e b
2
possua m divisores. Sendo assim
S(b
1
)S(b
2
) = (r
1
+ r
2
+ + r
n
)(s
1
+ s
2
+ + s
m
)
=
_

r
i
__

s
j
_
=
n

i=1
m

j=1
r
i
s
j
Note que a soma acima possui n m parcelas, e alem disso as parcelas sao duas a duas distintas.
De fato, qualquer uma das parcelas e da forma r
i
s
j
, onde r
i
e um divisor de b
1
e s
j
e um
divisor de b
2
. Seja a = r
i
1
s
j
1
e b = r
i
2
s
j
2
duas parcelas da soma acima. Nao podemos ter r
i
1
= r
i
2
e s
j
1
= s
j
2
simultaneamente, por motivos combinat orios. Suponha que r
i
1
= r
i
2
. Entao a e b
s ao diferentes pois s
j
1
,= s
j
2
, o que faz com que a e b tenham decomposi coes primas diferentes, e
portanto n ao podem ser iguais. Algo an alogo acontece se tivermos s
j
1
= s
j
2
. Agora, e se r
i
1
,= r
i
2
e s
j
1
,= s
j
2
? Neste caso, como qualquer r
i
n ao possui fatores comuns com qualquer s
j
, tambem e
impossvel termos a = b, pois nesse caso teramos dois inteiros iguais com fatoracao prima distinta,
absurdo. Portanto, as parcelas s ao de fato duas a duas distintas.
Se provarmos que qualquer parcela desta soma e um divisor de b
1
b
2
, concluiremos que essa
soma e igual e S(b
1
b
2
)
Seja r
p
s
q
uma parcela qualquer. Temos que r
p
[b
1
b
1
= xr
p
, para algum x Z, e
s
q
[b
2
b
2
= ys
q
, para algum y Z, logo b
1
b
2
= xr
p
us
q
= (xy)(r
p
s
q
), ou seja, r
p
s
q
[b
1
b
2
. Como
cada parcela e um divisor de b
1
b
2
, e nesta soma temos n m parcelas, essa e a soma dos n m
divisores de b
1
b
2
. Portanto
S(b
1
)S(b
2
) = S(b
1
b
2
)
Agora vamos mostrar esta caracterizac ao dos n umeros perfeitos.
PROPOSI C

AO 3.2.3. Seja n um inteiro par. O inteiro n e um n umero perfeito se, e somente se,
n se escreve como 2
s
(2
s+1
1), com s N e 2
s+1
1 primo.
DEMONSTRA C

AO. () Vamos mostrar que se s e um inteiro tal que 2


s+1
1 e primo, entao
n = 2
s
(2
s+1
1) e perfeito. Para tanto, precisamos somar todos os seus divisores positivos e
concluir que tal soma e igual a 2n.
Seja n = 2
s
(2
s+1
1). Se 2
s+1
1 = p e primo, ele e um primo mpar e e o unico fator mpar
de n. Observe as seguintes igualdades:
29
Captulo 3 N umeros Primos
n = 1 2
s
p
= 2
1
2
s1
p
= 2
2
2
s2
p
= 2
3
2
s3
p
.
.
.
= 2
s
2
0
p
Note que n possui dois tipos de divisores:
(1) Divisores que sao potencias de 2.
(2) Divisores que sao potencias de 2 multiplicadas por p = 2
s+1
1.
Os divisores que s ao do tipo (1) s ao 2
0
, 2
1
, 2
2
, ..., 2
s
e s ao em quantidade de s + 1.
Para obter os divisores do tipo (2), basta multiplicar cada divisor do tipo (1) por p:
2
0
p, 2
1
p, 2
2
p, ..., 2
s
p, logo estes tambem s ao em quantidade de s + 1.
Os divisores do tipo (1) formam uma PG com primeiro termo igual a 1 e raz ao 2. Os divisores
do tipo (2) formam outra PG com primeiro termo igual a p e raz ao 2. Para obter S(n), devemos
somar
2
duas PGs. Lembrando que a soma dos n primeiros termos numa PG de primeiro termo a
e razao q e S
n
=
a(q
n
1)
q 1
, temos:
S(n) = S(2
s
(2
s+1
1)) = 2
0
+ 2
1
+ + 2
s
. .
+2
0
p + 2
1
p + + 2
s
p
. .
=
2
0
(2
s+1
1)
2 1
+
2
0
p(2
s+1
1)
2 1
= (2
s+1
1) + p(2
s+1
1)
= (2
s+1
1)(1 + p) = (2
s+1
1)(1 + 2
s+1
1)
= 2 2
s
(2
s+1
1)
= 2n
Portanto, se s e um inteiro tal que 2
s+1
1 e primo, ent ao 2
s
(2
s+1
1) e perfeito.
Os n umeros perfeitos da forma 2
s
(2
s+1
1) sao chamados euclidianos. Vamos mostrar agora
que todos os n umeros perfeitos pares sao euclidianos.
() Primeiramente, observemos que um inteiro r e primo se, e somente se, S(r) = r + 1. De
fato, se r e primo, seus divisores positivos s ao r e 1, logo S(r) = r + 1.
2
A estrategia que usamos para somar os divisores de 2
s
(2
s+1
1) pode ser estendida para encontrar a soma dos
divisores positivos de qualquer inteiro. Para ver esta e outras propriedades dos n umeros inteiros, consulte [08].
30
Formulas Exponenciais: Mersenne e Fermat Secao 3.2
Agora, seja r um inteiro tal que S(r) = r + 1. O inteiro r tem pelo menos dois divisores: 1 e
r. Seja S(r) a soma dos divisores positivos de r diferentes de r e 1. Temos
S(r) = r + 1 + S(r)
ou seja, S(r) = 0 r n ao possui divisores positivos diferentes de 1 e r, logo r e primo.
Seja n um n umero perfeito par. Tal inteiro n pode ser escrito como n = 2
s
t, com t mpar e
s 1. Como n e perfeito, temos S(n) = 2n. Como t e mpar, 2
s
e t s ao primos entre s. Por um
lado temos
S(n) = S(2
s
t)
Prop.3.2.2
= S(2
s
)S(t)
Por outro lado, sendo n perfeito, tambem podemos escrever S(n) = 2n = 2 2
s
t = 2
s+1
t.
Portanto temos
2
s+1
t = S(2
s
)S(t) (3.1)
Os divisores de 2
s
s ao todas as potencias de 2 com expoente de 0 ate s, logo
S(2
s
) = 2
0
+ 2
1
+ 2
2
+ + 2
s
=
2
0
(2
s+1
1)
2 1
= 2
s+1
1
Substituindo em (3.1), obtemos
2
s+1
t = (2
s+1
1)S(t) (3.2)
Desta ultima equa cao, tiramos que 2
s+1
divide (2
s+1
1)S(t). Mas 2
s+1
s o possui fatores iguais a
2, e o inteiro 2
s+1
1 e mpar, logo 2
s+1
e 2
s+1
1 s ao primos entre s. Portanto, pela Proposic ao
2.1.3, temos que 2
s+1
divide S(t), isto e, existe um inteiro q tal que
S(t) = 2
s+1
q
Substituindo em (3.2), obtemos
2
s+1
t = (2
s+1
1)2
s+1
q t = (2
s+1
1)q (3.3)
Sendo q um inteiro positivo, ou q = 1 ou q > 1. Se tivessemos q > 1, por (3.3) t teria
pelo menos 3 fatores distintos, a saber, 1, t e q. Da teriamos S(t) 1 + t + q. Ja sabemos que
S(t) = 2
s+1
q. Tambem e de nosso conhecimento que t = (2
s+1
1)q t+q = 2
s+1
q. Comparando
as duas ultimas equa coes, chegamos em
S(t) = t + q
o que contradiz S(t) 1 + t + q. De onde veio tal contradicao? Da suposi cao q > 1. Portanto,
31
Captulo 3 N umeros Primos
necessariamente devemos ter q = 1.
Como temos q = 1, segue que t = 2
s+1
1 e S(t) = t +1. Portanto t e primo e conclumos que
se n e um n umero perfeito par, ent ao se escreve como
n = 2
s
t = 2
s
(2
s+1
1) (3.4)
onde 2
s+1
1 e primo.
Mostramos assim que todo n umero perfeito par e da forma
2
n1
(2
n
1)
logo, para encontrarmos os n umeros perfeitos pares, basta encontrarmos os primos de Mersenne.
O estudo dos n umeros perfeitos ainda esta em aberto: nao se sabe ainda se existem ou n ao
n umeros perfeitos mpares. Sabe-se apenas que se existir um n umero perfeito mpar, seguramente
ele tem mais de 200 digitos ([05], p. 99). Em [07] e vericado que determinados n umeros mpares
n ao podem ser perfeitos.
Um n umero de Mersenne M(n) = 2
n
1 s o pode ser primo se n for primo. De fato, se n e
composto temos que n = rs. Da
2
n
1 = 2
rs
1 = (2
r
)
s
1
s
= (2
r
1)(2
r(s1)
+ + s
r
+ 1)
Temos ent ao que se r divide n, ent ao M(r) divide M(n), logo M(n) e composto.
Se n e composto, entao M(n) e composto.
Observe, entretanto, que a recprova e falsa.
Se n e primo, M(n) pode ser primo ou composto
M(11) = 2047 = 23 89
Mais adiante veremos um metodo que permite encontrar fatores primos de M(p) quando
p e primo. Os n umeros de Mersenne recebem esse nome devido a uma armacao de Marin
Mersenne, frade e matematico amador do seculo XVII, que repercurtiu nos sec ulos seguintes entre
os matem aticos. Segundo Mersenne, os n umeros da forma M(n) = 2
n
1 seriam primos quando
n = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127 e 257
e compostos para os outros 44 valores primos de n menores que 257. Nessa epoca, era comum os
matematicos trocarem cartas, e era muito comum tambem nao serem apresentadas justicativas
para resultados apresentados nessas cartas, e isso aconteceu com essa armac ao de Mersenne. Nos
32
Formulas Fatoriais Secao 3.3
seculos seguintes, outros matem aticos sugeriram corre coes na lista de Mersenne: alguns estavam
corretos, outros n ao.
Mas com certeza, o rei dos Teoremas sem demonstrac ao era Fermat. Sendo um matem atico
amador (era jurista de pross ao), nunca se preocupou em escrever com rigor os resultados que
obtinha, e sempre desaava outros matem aticos a demonstrar suas conjecturas, numa especie de
competic ao (ou seria uma provocac ao da parte de Fermat?). O exemplo mais famoso e O

Ultimo
Teorema de Fermat, sobre o qual hoje sabemos que e verdade, mas que dicilmente teria sido
provado por Fermat no seculo XVII.
Sobre os n umeros de Fertmat, ele armou que todos os n umeros F(n) = 2
2
n
+1 seriam primos.
F(0) = 2
2
0
+ 1 = 3
F(1) = 2
2
1
+ 1 = 5
F(2) = 2
2
2
+ 1 = 17
F(3) = 2
2
3
+ 1 = 257
F(4) = 2
2
4
+ 1 = 65537
F(5) = 2
2
5
+ 1 = 4294967297
Ele vericou somente ate F(4), e estava errado. F(5) e composto, e isto foi provado por Euler
100 anos mais tarde. O curioso e que Fermat tinha um metodo para encontrar fatores primos
de M(n), e um metodo muito semelhante lhe daria um fator de F(5), mas isso n ao foi feito por
Fermat, mas sim por Euler. Esse caso dos n umeros de Fermat e interessante para vermos que a
intuic ao n ao vale como argumento matem atico.
3.3 F ormulas Fatoriais
Vamos denir uma funcao semelhante ao fatorial
p
#
= produto de todos os primos menores ou iguais a p
Por exemplo
2
#
= 2
3
#
= 2 3 = 6
4
#
= 2 3 = 6
5
#
= 2 3 5 = 30
6
#
= 2 3 5 = 30
33
Captulo 3 N umeros Primos
Note que se q < p s ao primos consecutivos, entao
p
#
= q
#
p
Estamos interessados nos n umeros da forma p
#
+ 1. Observe a seguinte tabela
p p
#
p
#
+ 1
2 2 3
3 6 7
5 30 31
7 210 211
11 2310 2311
Todos os valores da terceira coluna sao primos. Sera, entao, que p
#
+ 1 e primo para todo p?
Infelizmente n ao, pois
13
#
+ 1 = 30031 = 59 509
Apesar da nossa frustracao ainda podemos provar um resultado interessante sobre o n umero
p
#
+ 1.
PROPOSI C

AO 3.3.1. O inteiro p
#
+ 1 nao possui nenhum fator primo menor ou igual a p.
DEMONSTRA C

AO. Suponha, por absurdo, que p


#
+ 1 tenha um fator primo q p. Isto signica
que q[(p
#
+ 1), ou seja, existe r inteiro tal que qr = p
#
+ 1. De modo equivalente, podemos
escrever
qr p
#
= 1
Como q p, q e necessariamente fator de p
#
. Temos ent ao que q[qr e q[p
#
, portanto q[(qrp
#
),
ou seja, q[1, o que implica q = 1. Mas q e primo, absurdo.
Esta proposi cao no diz que, mesmo quando p
#
+1 e composto, seu menor fator primo e maior
do que p. Isto poderia nos levar a pensar num metodo para encontrar primos: se conhecemos
todos os primos ate p, calculamos p
#
+ 1 e tentamos fator a-lo. Mas tal fatora cao e impratic avel,
pois mesmo para valores pequenos de p, p
#
+ 1 e muito grande.
Na realidade, esta f ormula fatorial e um verdadeiro desastre se nossa intenc ao e construir
primos. Atualmente so se conhecem 16 primos da forma p
#
+ 1, o maior deles para p = 24029.
Entretanto, a formula fatorial e interessante pois recupera o argumento usado por Euclides
para mostrar que existem innitos primos.
TEOREMA 3.3.2. Existem innitos n umeros primos.
DEMONSTRA C

AO. Se supusermos que ha apenas uma quantidade nita de primos, teremos um que
e o maior de todos, digamos p. Consideramos agora o inteiro p
#
+ 1.

E claro que p
#
+ 1 e maior
34
Formulas Fatoriais Secao 3.3
que p, e portanto maior que todos os primos. Se p
#
+1 for primo, j a chegamos a um absurdo, pois
temos um primo que e maior que p, que seria o maior primo existente. Se p
#
+ 1 for composto,
j a vimos que este mesmo inteiro possui um fator primo maior do que p, e novamente temos uma
contradic ao. Portanto nao pode existir uma quantidade nita de n umeros primos.
35
Captulo 3 N umeros Primos
36
Captulo
4
Aritmetica Modular
Dado um conjunto X, uma relacaono conjunto X pode ser entendida como uma maneira de
comparar dois elementos do conjunto X. Por exemplo, se considerarmos o conjunto dos membros
de uma famlia onde temos pais, maes, lhos, lhas, tios, sobrinhos, etc., podemos denir algumas
relac oes. Uma relac ao poderia ser a seguinte: Dados dois elementos x e y, dizemos que x esta
relacionado com y, indicado por x y, se x for lho(a) de y.

E claro que n ao estamos interessados
nesse tipo de relac ao, mas sim em rela c oes denidas sobre conjunto numericos. Neste captulo
veremos uma importante relac ao denida no conjunto dos inteiros.
4.1 Relacoes de Equivalencia
Formalmente, uma rela cao de um conjunto A para um conjunto B e um subconjunto do produto
cartesiano A B. Se a A, b B, R A B e (a, b) R dizemos que a est a relacionado
a b segundo a relac ao R, e indicamos isso com aRb. Quando denimos uma relac ao R de um
conjunto X para o pr oprio conjunto X, dizemos simplesmente que a relac ao R est a denida sobre
o conjunto X. Este tipo de relac ao pode apresentar certas propriedades.
Seja X um conjunto n ao vazio e uma relac ao denida sobre X. Se para qualquer elemento
x X tivermos que x x, a relacao e uma relac ao reexiva. Uma relac ao e dita simetrica se
sempre que x y tambem tivermos y x. Finalmente, uma relacao e dita transitiva se x y
e y z implicar em x z.
Temos exemplos de relacoes que satisfazem algumas ou todas as propriedades acima. A Relac ao
<, por exemplo, denida sobre R, e transitiva, mas n ao e simetrica nem reexiva. A relac ao de
igualdade = e reexiva, simetrica e transitiva. Vale lembrar que nenhuma das tres propriedades
pode ser deduzida das outras: trabalhando com conjuntos nitos conseguimos facilmente denir
relac oes que atendam nenhuma, apenas uma ou apenas duas das propriedades reexiva, simetrica
e transitiva.
As relac oes que s ao reexivas, simetricas e transitivas, como a relacao de igualdade, s ao
chamadas de Relacoes de Equivalencia. Mas o que uma relacao de equivalencia faz com o con-
37
Captulo 4 Aritmetica Modular
junto X sobre o qual est a denida? Ela classica os elementos de X, que possuem propriedades
semelhantes, em subconjuntos de X. Esses subconjuntos de X, determinados por uma relacao de
equivalencia, s ao chamados Classes de Equivalencia.
DEFINI C

AO 4.1.1. Seja X um conjunto e uma relacao de equivalencia denida em X. Se


x X entao a classe de equivalencia de x e o conjunto dos elementos de X que sao equivalentes
a x por . Em smbolos, se x denota a classe de equivalencia de x, temos:
x = y X : y x
Dizemos que x e um representante da classe x.
Um princpio basico sobre as classes de equivalencia e o seguinte: qualquer elemento de
uma classe e um representante da classe toda.
Este princpio, juntamente com as propriedades de relac oes de equivalencia, nos permite
demonstrar algumas proposi coes.
PROPOSI C

AO 4.1.2. Se y e um elemento da classe de x, entao as classes de x e y sao iguais.


Em smbolos: se x X e y x entao x = y.
DEMONSTRA C

AO. Lembre-se que x e y s ao classes de equvalencia, ou seja, s ao subconjuntos de X.


Se queremos mostrar que x = y, devemos mostrar que x y e y x.
1) Se y x, por deni cao de classe de equivalencia temos y x; pela propriedade simetrica
x y. Seja z um elemento qualquer de x. Temos que z x. Como x y, segue da transitividade
que z y, e portanto z y. Logo, x y.
2) Se z y, temos z y. Como y x, temos y x. Pela propriedade transitiva, conclumos
que z x, logo z x, e portanto y x.
De 1) e 2) conclumos que x = y.
PROPOSI C

AO 4.1.3. Seja X um conjunto nao vazio e uma relacao de equivalencia denida


sobre X.
(1) X e a uniao de todas as classes de equivalencia.
(2) Duas classes de equivalencia distintas sao disjuntas.
DEMONSTRA C

AO. (1) Como todo elemento de x pertence a sua propria classe, devido a propriedade
simetrica, temos que
_
xX
x = X
.
(2) Sejam x e y duas classes distintas de X, ou seja, existe um elemento que pertence a uma
delas e que n ao pertence `a outra. Suponha que exista um elemento z X tal que z x y.
38
Inteiros M odulo n Secao 4.2
Isto signica que z x e z y. Pela proposic ao anterior, temos z = x z = y, o que nos leva a
x = y, o que contradiz a hip otese de x e y serem classes distintas.
Portanto x y = .
Os dois itens da proposicao anterior nos dizem que as classes de equivalencia de um conjunto
X por uma relac ao formam uma partic ao de X.
O conjunto das classes de equivalencia de em X e chamado conjunto quociente de X por .
Os elementos do conjunto quociente sao subconjuntos de X - as classes de equivalencia. Ou
seja, o conjunto quociente nao e subconjunto de X, mas subconjunto do conjunto das partes de X.
Lembre-se que o conjunto das partes de X e o conjunto cujos elementos s ao todos os subconjuntos
de X.
4.2 Inteiros M odulo n
Usamos congruencias diariamente: na contagem das horas, dos minutos, dos segundos, na con-
tagem dos dias, semanas, meses, na medi cao de angulos, etc.
Vamos denir uma rela cao em Z muito util na Teoria dos N umeros: a relacao de congruencia
m odulo n.
DEFINI C

AO 4.2.1. Dados tres inteiros a, b, e n, dizemos que a e congruente a b modulo n,


denotando por a b (mod n), se n divide b a. Em smbolos
a b (mod n) n[(b a). (4.1)
Primeiramente vamos mostrar que a congruencia m odulo n e uma relac ao de equivalencia.
PROPOSI C

AO 4.2.2. Sendo n um inteiro, a relacao de congruencia modulo n em Z, segundo a


denicao acima, e uma relacao de equivalencia em Z, ou seja, satisfaz as seguintes propriedades:
(1) a Z, a a (mod n);
(2) a, b Z, se a b (mod n), entao b a (mod n);
(3) a, b, c Z, se a b (mod n) e b c (mod n), entao a c (mod n).
DEMONSTRA C

AO. Para demonstrarmos a validade das propiedades acima, basta manipularmos a


denicao de congruencia.
(1) 0 = n 0 n[0 n[(a a) a a (mod n).
(2) a b (mod n) n[(b a) b a = nr a b = n(r) n[(a b) b a (mod n)
39
Captulo 4 Aritmetica Modular
(3)
a b (mod n) n[(b a) b a = nr, para algum r Z. (4.2)
b c (mod n) n[(c b) c b = ns, para algum s Z. (4.3)
Somando as equa coes (4.2) e (4.3) obtemos
c a = n(r + s) n[(c a) a c (mod n).
O conjunto que desejamos estudar de maneira mais aprofundada e o conjunto quociente de Z
pela relacao de congruencia m odulo n. Denotaremos tal conjunto por Z
n
, o conjunto do inteiros
modulo n.
Quais sao os elementos de Z
n
? Por deni cao, sao subconjuntos de Z: as classes de equivalencia
da congruencia m odulo n.
Seja a Z. A classe de a e formada pelos elementos b Z tais que a b (mod n), isto e,
n[(b a), ou seja, existe um inteiro k tal que b a = nk. Portanto os elementos de a s ao da forma
b = a + nk.
a = a + nk, k Z
Se a e um inteiro, podemos divid-lo por n, e encontraremos q e r inteiros tais que
a = nq + r e 0 r < n.
Temos que a r = nq, ou seja, a r (mod n). Portanto, qualquer inteiro e congruente
m odulo n a algum inteiro no intervalo de 0 a n 1.
Portanto, Z
n
e formado pelas classes 0, 1, ..., n 1.
Z
n
= 0, 1, 2, , , , n 1.
Podemos ainda nos perguntar se nao e possvel reduzir ainda mais a quantidade de classes que
constituem Z
n
. Ser a que ao tomarmos as classes 0, 1, ..., n 1 n ao estamos tomando alguma classe
duas vezes, ou seja, ser a que se a e b s ao dois inteiros com 0 < a, b < n e a ,= b, podemos ter
a = b ?
A resposta e n ao. Sejam a e b dois inteiros com 0 < a, b < n e a ,= b. Podemos escrever as
seguintes desigualdades:
0 < a < n
n < b < 0
40
Inteiros M odulo n Secao 4.2
Somando as desigualdades acima obtemos n < a b < n ou, de maneira equivalente,
0 [a b[ < n. (4.4)
Suponhamos sem perda de generalidade, que a > b. Ent ao, (4.4) ca
0 a b < n. (4.5)
Temos como hip otese inicial que a ,= b, ambos positivos e menores do que n, e queremos
concluir que a ,= b. Se tivessemos a = b, teriamos a b (mod n), ou seja, existiria um inteiro r
tal que
a b = nr (4.6)
Substituindo em (4.5), obtemos
0 nr < n 0 r < 1 r = 0 (4.7)
Mas se r = 0, a equacao (4.6) nos leva a a = b, uma contradic ao. Portanto, se a ,= b e
0 < a, b < n devemos ter a ,= b.
Portanto, o n umero mnimo de classes que comp oem Z
n
e n classes, a saber,
Z
n
= 0, 1, 2, , , , n 1
Quando uma classe estiver representada na forma a com 0 a n 1, diremos que est a na
forma reduzida.
Vamos agora denir operac oes em Z
n
.
DEFINI C

AO 4.2.3. Considere o conjunto Z


n
. Dadas duas classes a e b em Z
n
, denimos
i) a + b = a + b
i) a b = a b
Note que para efetuarmos a + b (soma de classes) teremos de escolher um representante a da
classe a e outro representante b da classe b. Em seguida somamos a e b (soma de inteiros). Final-
mente, determinamos a classe de a + b. A multiplicac ao acontece de forma an aloga. Precisamos
garantir que a escolha dos representantes de classe a e b n ao interfere no resultado nal.
LEMA 4.2.4. Quaisquer que sejam os representantes escolhidos para efetuar a soma ou o produto
de duas classes de Z
n
, o resultado e sempre a mesma classe.
DEMONSTRA C

AO. Sejam a e b duas classes de Z


n
. Suponha que a = a
t
e b = b
t
, ou seja, a e a
t
s ao
representantes da classe a, e b e b
t
sejam representantes da classe b.
41
Captulo 4 Aritmetica Modular
Queremos mostrar que a + b = a
t
+ b
t
e a b = a
t
b
t
.
(1) Se a = a
t
, temos que a a
t
e m ultiplo de n. De modo an alogo, b b
t
e m ultiplo de n. Se
somarmos m ultiplos de n, ainda obtemos um multiplo de n, ou seja,
(a a
t
) + (b b
t
) = nk (a + b) (a
t
+ b
t
) = nk
a + b a
t
+ b
t
(mod n)
a + b = a
t
+ b
t
(2) No caso da multiplicac ao, o raciocnio e parecido.
a = a
t
a a
t
= nr, para algum r Z a = a
t
+ nr
b = b
t
b b
t
= ns, para algum s Z b = b
t
+ ns
Dai,
a b = (a
t
+ nr)(b
t
+ ns) = a
t
b
t
+ (a
t
s + b
t
r + nrs)n
ou seja, ab a
t
b
t
e m ultiplo de n, portanto ab a
t
b
t
(mod n), o que nos leva a a b = a
t
b
t
Mostramos assim que as operacoes de adi cao e multiplicac ao estao bem denidas em Z
n
. Essas
operacoes gozam das seguintes propriedades.
Adicao: (a + b) + c = a + (b + c)
a + b = b + a
a + 0 = a
a +a = 0
M ultiplicacao: (a b) c = a (b c)
a b = b a
a 1 = a
Distributiva: a (b + c) = a b + a c
As demonstrac oes destas propriedades decorrem diretamente das denic oes de + e em Z
n
e
das propriedades an alogas em Z para + e . A ttulo de exemplo, vamos demonstrar a distributiva:
a (b + c) = a (b + c) = a (b + c) = ab + ac = ab + ac = a b + a c
Ate aqui, parece que Z
n
se comporta como Z, no que se refere as operac oes. Vamos dar um
exemplo que mostra que Z
n
n ao e t ao familiar quanto parece.
Considere Z
6
. As classes 2 e 3 s ao diferentes de 0. Mas
2 3 = 6 = 0
42
Aplica c oes Secao 4.3
O produto de duas classes n ao nulas pode ser a classe 0. Isso n ao acontece em Z.
Antes de discutirmos melhor essa anomalia, vamos ver algumas aplicac oes das ideias discutidas
ate aqui.
4.3 Aplicacoes
4.3.1 Criterios de Divisibilidade
Podemos usar congruencias para demonstrar os criterios de divisibilidade.
(1) Um n umero e divsivel por 3 se a soma de seus algarismos e divisvel por 3.
Seja a um n umero inteiro, e sua expansao decimal
a = a
n
a
n1
...a
1
a
0
, a
i
0, 1, 2, ..., 9
Podemos escrever
a = 10
n
a
n
+ 10
n1
a
n1
+ + 10a
1
+ a
0
Como 10 1 (mod 3), qualquer potencia de 10 e congruente a 1 m odulo 3. Portanto
a a
n
+ a
n1
+ + a
1
+ a
0
(mod 3).
Logo a e divisvel por 3, isto e, a 0 (mod 3), se, e somente se, a
n
+a
n1
+ +a
1
+a
0
tambem
o for.
Como 10 1 (mod 9), os resultados acima se repetem para a divis ao por 9.
(2) Um n umero e divisvel por 11 se a soma alternada de seus algarismos for divisvel por 11.
Novamente, vamos olhar para as potencias de 10, mas agora usando modulo 11.
10 1 (mod 11) 10
k
(1)
k
(mod 11)
ou seja, 10
k
e congruente 1 ou 1, dependendo da paridade de k. Portanto
a (1)
n
a
n
+ (1)
n1
a
n1
+ + a
2
a
1
+ a
0
(mod 11)
Obtivemos, assim, a soma alternada dos algarismo de a.
4.3.2 Potencias
Outra aplicac ao do conceito de congruencia e o c alculo dos restos da divisao de uma potencia por
um n umero qualquer. Vejamos alguns exemplos.
43
Captulo 4 Aritmetica Modular
(1) Qual o resto da divis ao de 10
135
por 7 ?
Primeiramente procuramos alguma regularidade nas potencias de 10.
10 3 (mod 7) 10
4
4 (mod 7)
10
2
2 (mod 7) 10
5
5 (mod 7)
10
3
6 (mod 7) 10
6
1 (mod 7)
Como 10
6
1 (mod 7), e 135 = 6 22 + 3, temos
10
135
10
622+3
(10
6
)
22
10
3
1
22
10
3
6 (mod 7)
portanto, o resto da divis ao de 10
135
por 7 e 6.
(2) Qual o resto da divis ao de 3
64
por 31 ?
Vamos analisar as potencias de 3 modulo 31
3 3 (mod 31)
3
2
9 (mod 31)
3
3
27 4 (mod 31)
3
4
19 12 (mod 31)
Vamos fazer uso da congruencia 3
3
4 (mod 31). Como 64 = 3 21 + 1 temos
3
64
(3
3
)
21
3 (4)
21
3 (1) 2
42
3 (mod 31)
Note que 2
5
32 1 (mod 31) e 42 = 5 8 + 2. Da
3
64
(1) 2
42
3
(1) (2
5
)
8
2
2
3
(1) 1
8
12
12 19 (mod 31)
Portanto o resto da divis ao de 3
64
por 31 e 19.
Neste caso, nao procuramos r de modo que 3
r
1 (mod 31). Usamos de outro artifcio. Sera
que tal r existe?
44
Aplica c oes Secao 4.3
Seja r um inteiro. Temos apenas 3 possibilidades: r = 3k ou r = 3k + 1 ou r = 3k + 2. No
primeiro caso podemos escrever:
3
r
(3
3
)
k
(4)
k
(1)
k
2
2k
(mod 31)
Seria ideal se k fosse par e 2k fosse m ultiplo de 5 (o que s o acontece se k j a for m ultiplo de 5),
pois isso acarretaria
3
r
(2
5
)
q
1 (mod 31)
O menor inteiro k m ultiplo de 2 e de 5 ao mesmo tempo e 10, o que nos leva a r = 30. Assim
temos:
3
30
(3
3
)
10
(4)
10
2
20
(2
5
)
4
1
4
1 (mod 31)
Um ultimo exemplo.
(3) Qual o resto da divis ao de 6
35
por 16 ?
N ao adianta procurarmos uma potencia de 6 cujo resto da divis ao por 16 e 1, pois
6
4
0 (mod 16), portanto
6
35
6
4
6
31
0 6
31
0 (mod 16)
4.3.3 Equa coes Diofantinas
O conceito de congruencia ajuda a determinar a existencia (ou n ao) de soluc oes de equac oes
diofantinas. Equac oes diofantinas s ao equac oes em varias incognitas, com coecientes inteiros, e
estamos interessados em determinar soluc oes inteiras destas equa coes.
Exemplo: 3x 2y = 1
x
3
+ y
3
= z
3
x
3
117y
3
= 5
Determinar se existem ou n ao soluc oes de equac oes diofantinas lineares, e encontra-las caso
existam, e relativamente f acil com o auxlio do mdc e do algoritmo euclidiano estendido, como j a
vimos no captulo 1.
Mas e se a equac ao for n ao-linear? Alguns casos podem ser resolvidos com o auxlio de con-
gruencia.
Considere a equa cao x
3
117y
3
= 5. Suponhamos que tal equac ao admite soluc ao inteira
(x
0
, y
0
). Ent ao
x
3
0
117y
3
0
= 5.
Como x
0
e y
0
s ao inteiros, a igualdade acima e uma rela cao entre inteiros, logo podemos reduz-la
45
Captulo 4 Aritmetica Modular
a modulo 9. Sendo assim
x
3
0
117y
3
0
5 (mod 9)
Mas 117 = 9 13, ou seja, 117 0 (mod 9), portanto a equac ao se reduz a
x
3
0
5 (mod 9)
Mas nao existe x inteiro que satisfa ca essa congruencia. As classes distintas modulo 9 sao
representadas pelos n umeros de 0 a 8. Vejamos o que acontece com seus cubos.
Classe 0 1 2 3 4 5 6 7 8
Cubo 0 1 8 0 1 8 0 1 8
Como o cubo de qualquer inteiro e congruente a 0, 1 ou 8, m odulo 9, a equac ao x
3
0
5 (mod 9)
n ao tem soluc ao. Portanto
x
3
117y
3
= 5
tambem n ao tem soluc ao inteira.
Vejamos mais um exemplo: vamos mostrar que a equac ao x
2
7y
2
= 3 n ao tem solu cao inteira.
Suponha, por absurdo, que exista uma soluc ao inteira
x
2
0
7y
2
0
= 3
Reduzindo a equac ao a modulo 7, obtemos
x
2
0
7y
2
o
x
2
0
3 (mod 7)
Agora, vejamos o que acontece com um elemento de Z
7
quando o elevamos ao quadrado.
Classe 0 1 2 3 4 5 6
Cubo 0 1 4 2 2 4 1
Se a equac ao admitisse soluc ao inteira (x
0
, y
0
) teramos x
2
0
3 (mod 7). Mas isso e impossvel,
pois o quadrado de um inteiro qualquer s o pode ser congruente a 0, 1, 2 ou 4, m odulo 7.
Portanto x
2
7y
2
= 3 n ao adimite soluc ao inteira.
O que vimos ate aqui foram aplicac oes modestas dos Inteiros Modulo n. Nos pr oximos captulos
vamos ver que esse conjunto pode nos render resultados muito mais surpreendentes. Antes, vamos
voltar a primeira diferenca que percebemos existir entre Z e Z
n
.
4.4 Divis ao Modular
O primeiro fato que diferenciou Z de Z
n
(alem de um ser innito e o outro nito) foi o fato de
que, em Z, o produto de dois elementos n ao nulos e sempre nao nulo, mas em Z
n
isso pode nao
46
Divisao Modular Secao 4.4
acontecer. Como vimos, em Z
6
,
2 3 = 6 = 0
Admita por um instante, que a e b sejam n umeros reais. Podemos denir a divisao da seguinte
maneira: dividir a por b signica multiplicar a por
1
b
. O n umero real
1
b
e o inverso de b e e
caracterizado pela equacao
b
1
b
= 1
Note que se adotarmos essa deni cao, nos inteiros s o conseguimos dividir por 1 ou por 1,
pois sao os unicos inteiros que possuem inverso tambem inteiro. Ja em R qualquer elemento n ao
nulo possui inverso. Vamos transpor essa denic ao para Z
n
.
DEFINI C

AO 4.4.1. Seja a Z
n
. A classe Z
n
e o inverso de a se a equacao a = 1 e
vericada em Z
n
.
Segundo essa denic ao, a classe nula nao possui inverso, pois
0 = 0 = 0 ,= 1, Z
n
O que ocorre de diferente em Z
n
e que outros elementos diferentes de 0 podem nao possuir
inverso tambem.
Suponha que a Z
n
possua inverso . Isso signica que a = 1, e essa equac ao equivale a
dizer que a 1 e divisvel por n, ou seja, existe um inteiro k tal que a 1 = kn, ou ainda
a kn = 1.
Esta ultima equacao nos leva a concluir que mdc(a, n) = 1. Portanto, se a possui inverso em Z
n
ent ao mdc(a, n) = 1. Sera que a reciproca e verdadeira?
Seja a um inteiro e suponha que mdc(a, n) = 1. Sabemos que existem inteiros e tais que
a + n = 1
e tais e s ao calculados usando-se o algoritmo euclidiano estendido. Mas
a + n = 1 a 1 = n() a = 1
Portanto a classe calculada pelo algoritmo euclidiano estendido e o inverso de a em Z
n
.
Concluimos que se mdc(a, n) = 1, entao a classe a possui inverso em Z
n
. Isso demonstra o
seguinte teorema.
TEOREMA 4.4.2 (Teorema da Inversao). A classe a possui inverso em Z
n
se, e somente se, a e
n sao primos entre s.
47
Captulo 4 Aritmetica Modular
Observemos que a demonstracao feita tambem nos diz como calcular o inverso quando ele
existe: basta usarmos o algoritmo euclidiano estendido.
Por exemplo, qual o inverso de 5 em Z
27
? Vamos aplicar o algoritmo euclidiano estendido.
restos quocientes x y
27 - 1 0
5 - 0 1
2 5 1 -5
1 2 -2 11
Temos ent ao que mdc(5, 27) = 1, logo 5 possui inverso em Z
27
. E mais
5 11 27 2 = 1 5 11 = 1
ou seja, 11 e o inverso de 5 em Z
27
.
Vamos nos ater mais aos elementos inversveis de Z
n
. O conjunto do elementos de Z
n
que
possuem inverso ser a denotato por U(n).
U(n) = a Z
n
: mdc(a, n) = 1 (4.8)

E simples determinar quais s ao os elementos de U(p) quando p e primo. Nessa situac ao,
mdc(a, p) = 1 signica que p n ao divide a. Se p divide a, ent ao a = 0. Sendo assim, quando p e
primo, todas as classes diferentes de 0 possuem inverso.
U(p) = Z
p
0
Mas isso s o vale quando p e primo. Em Z
4
= 0, 1, 2, 3 os unicos primos com 4 sao 1 e 3,
portanto
U(4) = 1, 3
Em Z
8
= 0, 1, 2, 3, 4, 5, 6, 7 temos U(8) = 1, 3, 5, 7.
Uma caracterstica importante de U(n) e que o produto de dois elementos de U(n) ainda e um
elemento de U(n).
(1)
Se a e b s ao elementos de U(n), eles possuem inversos e , respectivamente. Vejamos que a b
tambem possui inverso, e portanto est a em U(n). Lembremos que a operacao de Z
n
e associativa
e comutativa, da
(a b) ( ) = (a ) (b ) = 1 1 = 1
Portanto e o inverso de a b.
1
Essa e uma caracterstica necessaria para U(n) ser grupo. Mais adiante veremos que U(n) munido da
operacao e um grupo; mais ainda, e um grupo abeliano.
48
Divisao Modular Secao 4.4
O conjunto U(n) ser a alvo de nossas aten coes nos proximos captulos. Duas coisas que faremos:
Determinar o n umero de elementos de U(n) em fun cao de n;
Descobrir quando U(n) tem uma raiz primitiva.
Vamos denir o que e raiz primitiva e ver exemplos.
DEFINI C

AO 4.4.3. Uma classe a de U(n) e uma raiz primitiva se todo elemento de U(n) e igual
a uma potencia de a.
Por exemplo, 3 e uma raiz primitiva de U(7)
3
1
= 3
3
2
= 2
3
3
= 6
3
4
= 4
3
5
= 5
3
6
= 1
_

_
U(7)
Ainda em U(7), vemos que 2 n ao e uma raiz primitiva. De fato, como 2
3
1 (mod 7), se r e
um inteiro temos que r = 3k + s, com s = 0, 1, 2. Da,
2
r

_
2
3k
(2
3
)
k
1
2
3k+1
(2
3
)
k
2 2
2
3k+2
(2
3
)
k
4 4
(mod 7)
Portanto, como qualquer potencia de 2 e congruente a 1, 2 ou 4, m odulo 7, 2 n ao e uma raiz
primitiva de U(7)
Agora que denimos o que sao elementos inversveis em Z
n
, podemos falar de divisoes em
Z
n
.
Se queremos dividir a por b, e necess ario saber se b est a em U(n). Se b / U(n), a divis ao e
impossvel. Se b U(n), calculamos o inverso de b, digamos . Da, a b = a .
O teorema da invers ao nos ajuda a resolver congruencias lineares. Uma congruencia linear e
uma equacao como a seguinte:
ax b (mod n)
com a, b Z.
Para encontrarmos quais valores de x s ao solucoes da congruencia, precisamos dividir ambos
os membros por a, para que possamos isolar x. Se a for inversvel m odulo n, isto e, a U(n),
ent ao a congruencia tem uma unica solucao em Z
n
: se e o inverso de a em Z
n
, temos
a x = b a x = b x = b
49
Captulo 4 Aritmetica Modular
Por exemplo, considere a congruencia 3x 12 (mod 7). Note que estamos trabalhando em
Z
7
. Como 3 e primo com 7, ele possui inverso modulo 7, a saber
3 5 = 15 = 1
ou seja, 5 e o inverso de 3 em Z
7
. Portanto temos
3x 12 (mod 7) x 5 12 60 4 (mod 7)
Agora, se na congruencia ax b (mod n) tivermos mdc(a, n) ,= 1, pode ou n ao existir soluc ao
em Z
n
. Vejamos dois exemplos.
A equacao 2x 1 (mod 8) n ao tem solu cao. De fato, se existisse uma solu cao inteira x
0
, isso
signicaria que 2x
0
1 e divisvel por 8, ou seja, existiria um inteiro k tal que
2x
0
1 = 8k
mas na equa cao acima temos um inteiro mpar no lado esquerdo e um inteiro par no lado direito,
o que e impossvel. Portanto realmente 2x 1 (mod 8) nao tem soluc ao. Nesse caso tnhamos
mdc(2, 8) ,= 1.
Considere agora, ainda em Z
8
, a equac ao 6x 2 (mod 8). Nesse caso, mesmo com
mdc(6, 8) ,= 1, a equac ao apresenta soluc ao, mas n ao unica. De fato
6 3 18 2 (mod 8) 3 e solu c ao.
6 7 42 2 (mod 8) 7 e solu c ao.
e portanto a equac ao tem duas soluc oes distintas em Z
8
. Portanto, quando na equac ao
ax b (mod n) tivermos mdc(a, n) ,= 1, precisamos analisar com calma a equac ao, pois tudo
pode acontecer.
O que zemos ate agora foi estudar as ferramentas b asicas que nos permitirao entender e
demonstrar teoremas que fundamentam o funcionamento da criptograa RSA. Comecaremos no
proximo captulo com o Pequeno Teorema de Fermat.
50
Captulo
5
Fermat e Primalidade
O pequeno teorema de Fermat arma que se p e um n umero primo e a e um inteiro qualquer,
ent ao p divide a
p
a. Casos particulares j a eram conhecidos antes de Fermat obter este resultado
geral. Os chineses sabiam que se p e primo, ent ao p divide 2
p
2. Usaremos o teorema de Fermat
na busca por testes de primalidade.
5.1 Pequeno Teorema de Fermat
TEOREMA 5.1.1 (Pequeno Teorema de Fermat). Seja p um n umero primo e a um n umero inteiro
qualquer. Entao
a
p
a (mod p) (5.1)
A demonstrac ao deste teorema se da por indu cao sobre a, mas antes precisamos demonstrar
um lema auxiliar.
LEMA 5.1.2. Seja p um n umero primo e a e b inteiros quaisquer. Entao
(a + b)
p
a
p
+ b
p
(mod p)
DEMONSTRA C

AO. Usando o binomio de Newton para expandir o lado esquerdo da equac ao acima,
obtemos.
(a + b)
p
= a
p
+ b
p
+
p1

i=1
_
p
i
_
a
pi
b
i
Para que o lema esteja provado, basta mostrarmos que
p1

i=1
_
p
i
_
a
pi
b
i
0 (mod p)
Observe o n umero binomial
_
p
i
_
=
p(p 1)(p 2) (p i + 1)
i!
51
Captulo 5 Fermat e Primalidade
Sabemos que este n umero e inteiro, ou seja, o demoninador i! e totalmente cancelado por termos
do numerador. Como 1 i p 1 e p e primo, o fator p que aparece no numerador n ao e
cancelado por nenhum fator do denominador. Logo
_
p
i
_
e m ultiplo de p quando 1 i p 1, e
portanto
p1

i=1
_
p
i
_
a
pi
b
i
0 (mod p)
nalizando a demonstrac ao do lema.
Agora vamos demonstrar o Pequeno Teorema de Fermat, que chamaremos daqui em diante
apenas de Teorema de Fermat.
DEMONSTRA C

AO. (Teorema de Fermat) Seja p um inteiro primo. Inicialmente, vamos demonstrar


por indu cao que a arma cao vale para os naturais.

E evidente que 0
p
0 (mod p).
Suponhamos, ent ao, que k
p
k (mod p). Queremos mostrar que (k + 1)
p
k + 1 (mod p).
Usando o lema anterior
(k + 1)
p
k
p
+ 1
p
k
p
+ 1 (mod p)
Mas pela hipotese de inducao temos k
p
k (mod p), logo
(k + 1)
p
k + 1 (mod p)
Portanto a
p
a (mod p) para a 0. Vamos agora estender o resultado para os inteiros negativos.
Seja a um inteiro negativo. Ent ao a e positivo, logo podemos aplicar o que ja provamos para
o inteiro a.
(a)
p
a (mod p)
Agora temos dois casos a considerar: ou p e mpar ou p = 2.
No primeiro caso, temos
(a)
p
(1)
p
a
p
a
p
(mod p)
Substituindo na equac ao anterior obtemos a
p
a. Multiplicando esta por 1, chegamos ` a
a
p
a (mod p)
Agora, se p = 2, devemos vericar que a
2
a (mod 2), o que equivale a mostrar que
a(a 1) 0 (mod 2). Como a e a 1 s ao n umeros consecutivos, um deles e par, portanto
a(a 1) e m ultiplo de dois, ou seja,
a
2
a 0 (mod 2)
52
Pequeno Teorema de Fermat Secao 5.1
o que equivale a
a
2
a (mod 2).
Portanto, o teorema e v alido para qualquer inteiro a.
Demonstramos assim, o Teorema de Fermat. Vamos comecar vendo algumas aplicacoes in-
genuas do teorema. Nas poximas sec oes veremos aplicac oes mais interessantes. Primeiramente
vamos reformular o enunciado.
O teorema que demonstramos diz que se p e primo e a e um inteiro qualquer, entao
a
p
a (mod p). Se p divide a, temos que a 0 (mod p), e da a
p
0 (mod p), e neste
caso o teorema n ao nos diz muito. Vamos supor ent ao que p n ao divide a, ou seja, mdc(a, p) = 1.
Pelo teorema da invers ao, a e invesvel m odulo p. Seja a
t
um inteiro tal que a a
t
1 (mod p).
Agora, multiplicamos ambos os membros de a
p
a (mod p) por a
t
e obtemos
a
t
a a
p1
a
t
a (mod p) a
p1
1 (mod p)
Esta e a nova vers ao do Teorema de Fermat.
TEOREMA 5.1.3 (Teorema de Fermat II). Seja p um n umero primo e a um inteiro que nao e
divisvel por p. Entao
a
p1
1 (mod p)
Esta vers ao do teorema e util para o calculo de potencias m odulo p primo. Expliquemos melhor.
Considere tres inteiros positivos a, k e p, suponha que p seja primo e tambem que p ,[a. Vamos
supor que k seja grande (pois e isso que torna os c alculos trabalhosos). O problema e encontrar a
forma reduzida de a
k
m odulo p, ou seja, encontrar o resto da divis ao de a
k
por p. O teorema de
Fermat nos ajuda neste ponto.
Estamos supondo k grande, logo podemos supor k p 1. Dividimos, agora, k por p 1, e
obtemos k = (p 1)q + r, onde o resto r satisfaz 0 r p 2. Temos
a
k
a
(p1)q+r
(a
p1
)
q
a
r
(mod p)
Pelo teorema de Fermat, a
p1
1 (mod p), e portanto
a
k
a
r
(mod p).
Vamos a um exemplo numerico para mostrar a utilidade deste resultado. Vamos calcular
3
1684948
m odulo 17. Neste caso, temos a = 3, p = 17 e k = 1684948. Primeiramente, dividimos k
por p 1.
1684948 = 16 105309 + 4
53
Captulo 5 Fermat e Primalidade
Portanto
3
1684948
3
16105309+4
(3
16
)
105309
3
4
(mod 16)
Pelo teorema de Fermat, 3
16
1 (mod 17), logo
3
1684948
3
4
81 13 (mod 17).
5.2 Contando Razes
O teorema de Fermat diz que
a
p1
1 (mod p)
quando p e primo e p ,[a. Sera que e possvel encontrar um expoente k menor do que p 1 de
modo que a
k
1 (mod p) para todo inteiro a n ao divisvel por p?
O Teorema Fundamental da

Algebra nos diz que todo polin omio de grau n,
p = X
n
+ a
n1
X
n1
+ + a
1
X + a
0
pode ser fatorado como produto de exatamente n fatores
p = (X
1
)(X
2
) (X
n1
)(X
n
)
onde
1
,
2
, ...,
n
s ao n umeros complexos. Os coecientes a
0
, a
1
, ..., a
n1
tambem sao complexos.
Como consequencia de tudo isso, temos que a equac ao f(x) = 0 possui exatamente n razes
(distintas ou n ao) em C, que s ao exatamente os complexos
1
, ...,
n
.
Se restringirmos os coecientes a
0
, a
1
, ..., a
n1
ao conjunto dos inteiros Z, o teorema continua
valendo, pois Z C. Se perguntarmos sobre a quantidade de razes da equac ao f(x) = 0 que
pertencam a Z, e claro que podemos armar que estas sao, no maximo, n razes (distintas ou n ao),
e o motivo e novamente o fato de Z ser subconjunto de C.
Sendo assim, um corol ario do Teorema Fundamental da

Algebra que podemos enunciar e: um
polinomio de grau k com coecientes inteiros e coeciente lder 1 tem no maximo k razes distintas
em Z.
Para respondermos ` a pergunta que iniciamos a sec ao, precisaramos de algo analogo, mas
enuciado para Z
p
.
Um polinomio de grau k com coecientes inteiros e
coeciente lder 1 tem no maximo k razes distintas em Z
p
.
Se de fato tal resultado for valido em Z
p
, poderamos argumentar da seguinte maneira: se
a
k
1 (mod p) para todo a, 1 a p 1, ent ao o polinomio X
k
1 tem p 1 razes distintas
54
Contando Razes Secao 5.2
em Z
p
. Como X
k
1 tem no maximo k razes em Z
p
e o n umero de razes e menor que ou igual
a k, temos que
1 p k.
Portanto a resposta ` a nossa pergunta e nao se o resultado citado valer em Z
p
. Vamos demonstrar
a validade do resultado quando p e primo, e dar um exemplo de que e falso quando p e composto.
Vamos primeiro dar o exemplo para p composto. Em Z
385
, o polinomio X
2
170 possui como
razes 95, 150, 235, 290, pois
95
2
170 8855 385 23 0 (mod 385)
150
2
170 22330 385 58 0 (mod 385)
235
2
170 55055 385 143 0 (mod 385)
290
2
170 83930 385 218 0 (mod 385)
logo temos uma equacao com grau 2, e que possui (no mnimo) 4 razes em Z
385
. Portanto,
quando n e composto n ao podemos garantir que um polinomio de grau k, com coecientes inteiros
e coeciente lder 1, tem no maximo k razes.
A seguir veremos que, para p primo, o resultado de que necessitamos e valido, mas antes de
demonstrarmos este teorema, vamos demonstrar um lema que ser a util.
LEMA 5.2.1. Seja h um polinomio com coecientes inteiros de grau m. Dado um inteiro , existe
um polinomio q de grau m1 tal que
h = (X ) q + h() (5.2)
sendo h() o valor da funcao polinomial associada a h, evaluada em .
DEMONSTRA C

AO. Vamos demonstrar usando o segundo princpio de induc ao nita sobre o grau
m do polin omio h.
Se m = 1, ent ao h = aX + b para certo inteiros a e b. Da,
h = aX + b = aX + b + a a = a(X ) + a + b = a(X ) + h()
Neste caso, tomamos q = a.
Agora, suponhamos que o resultado vale para qualquer polin omio com coecientes inteiros de
grau m1. Queremos mostrar que o resultado vale tambem para um polinomio h de grau m.
Seja
h = a
m
X
m
+ a
m1
X
m1
+ + a
1
X + a
0
Dena
g = h a
m
X
m1
(X )
55
Captulo 5 Fermat e Primalidade
ou seja
g = a
0
+ a
1
X + + a
m1
X
m1
+ a
m
X
m
a
m
X
m
+ a
m
X
m1

= (a
m1
+ a
m
)X
m1
+ a
m2
X
m2
+ + a
1
X + a
0
Sendo assim, g tem grau m1. Pela hip otese de induc ao, existe um polin omio j com coecientes
inteiros e grau m2 tal que
g = j (X ) + g()
Mas g() = h(), logo g = j (X ) + h(). Da denic ao de g temos
h = g + a
m
X
m1
(X )
Portanto
h = j (X ) + h() + a
m
X
m1
(X )
= (j + a
m
X
m1
)(X ) + h()
Como j tem grau m2, segue que (j a
m
X
m1
) tem grau m1, provando assim o lema.
Agora estamos em condi coes de demonstrar o teorema seguinte.
TEOREMA 5.2.2. Seja f um polinomio de grau k com coecientes inteiros e coeciente lder 1.
Se p e um n umero primo, entao f tem no maximo k razes distintas em Z
p
.
Obs: se f = a
0
+a
1
X+ +a
n
X
n
Z[X], identicamos f com f = a
0
+a
1
X+ +a
n
X
n
Z
p
[X].
DEMONSTRA C

AO. Novamente vamos usar inducao sobre o grau do polin omio f.


Se n = 1, temos que f = X + b, para algum inteiro b, e a unica raiz possvel em Z
p
e b.
Portanto, um polin omio de grau 1 tem exatamente uma raiz em Z
p
.
x + b = 0 x = b
Suponha agora que todo polin omio de grau k 1, com coecientes inteiros e coeciente lder
1, tenha no maximo k 1 razes distintas em Z
p
. Seja f um polin omio de grau k com coecientes
inteiros e coeciente lder 1. Se f n ao tem raiz em Z
p
, o teorema est a demonstrado. Suponhamos
ent ao que e uma raiz de f em Z
p
, ou seja, f() 0 (mod p)
Pelo lema anterior,
f = (X )q + f()
56
Contando Razes Secao 5.2
e o grau de q e k 1. Reduzindo esta equacao a m odulo p, obtemos
f (X )q (mod p) (5.3)
Seja uma raiz de f em Z
p
, diferente de .
f() 0 (mod p) mas ,= 0
Fazendo x = em (5.3), chegamos `a
0 f() ( )q() (mod p)
Como , 0 (mod p), e p e primo, ent ao possui inverso em Z
p
, portanto
q() ( ) 0 (mod p) q() 0 (mod p)
Logo, se e um raiz de f distinta de , necessariamente tambem e raiz de q em Z
p
, ou seja,
f s o pode ter uma raiz em Z
p
a mais do que aquelas que tambem s ao razes de q em Z
p
. Pela
hip otese de induc ao, q tem no m aximo k 1 razes distintas em Z
p
. Portanto, f tem no m aximo
k razes distintas em Z
p
.
Portanto a resposta `a questao inicial da se cao e: se p e primo e a e um inteiro qualquer, o
menor inteiro k tal que a
k
1 (mod p) e k = p 1.
Devemos destacar algo sutil nesta ultima demonstrac ao: primeiramente, a hipotese de p ser
primo foi fundamental para concluirmos que q() 0 (mod p). Mas ha algo muito mais tenue,
que quase passa despercebido: a hipotese de comutatividade. Discorramos um pouco sobre isso.
Podemos denir polinomio da seguinte maneira: um polinomio p sobre um anel (A, +, ) com
unidade 1
A
e uma sequencia quase nula, isto e, uma sequencia (a
0
, a
1
, a
2
, , a
n
, 0, 0, 0, ...), onde
cada entrada a
i
A, e a partir de um certo ndice n todos os termos da sequencia s ao iguais ao
elemento neutro
(1)
da adicao de A. Podemos denir o conjunto dos polin omios sobre o anel A
por A[X].
A[X] = (a
0
, a
1
, a
2
, , a
j
, ...)[ a
j
A j N e n N tal que a
i
= 0 i > n
Denido o conjunto A[X], podemos denir opera coes em A[X] da seguinte maneira: Sejam
p = (a
0
, a
1
, a
2
, , a
n
, 0, 0, 0, ...) e q = (b
0
, b
1
, b
2
, , b
m
, 0, 0, 0, ...) dois polin omios de A[X], k A
1
Denotaremos esse elemento simplesmente por 0. Em livros a notacao 0
A
tambem e usada.
57
Captulo 5 Fermat e Primalidade
e suponha m n. Denimos
p + q
.
= (a
0
+ b
0
, a
1
+ b
1
, a
2
+ b
2
, , a
n
+ b
n
, 0, 0, 0, ...)
k p
.
= (ka
0
, ka
1
, ka
2
, , ka
n
, 0, 0, 0, ...)
p q
.
= (c
0
, c
1
, c
2
, , c
n+m
, 0, 0, 0, ...)
onde c
k
= a
0
b
k
+ a
1
b
k1
+ a
2
b
k2
+ a
3
b
k3
+ + a
k1
b
1
+ a
k
b
0
=

k
i=0
a
i
b
ki
.
Observamos que a notac ao usada para o produto de um elemento de A por um elemento
de A[X] e a mesma empregada para o produto de dois elementos de A[X]. Isso nao acarreta
ambiguidade, uma vez que sua distin cao e notada facilmente pelo contexto, alem do mais essa
pratica e utilizada na grande maioria dos textos que abordam esse assunto.
As propriedades que as operac oes + e (produto de polinomios) possuem dependem direta-
mente das propriedades das operac oes + e do anel A.
Denotamos por:
1 = 1
A[X]
= (1
A
, 0, 0, ...) e X = (0, 1
A
, 0, 0, ...)
Obsevamos que 1
A[X]
e a unidade de A[X] e
X
2
= X X = (0, 0, 1
A
, 0, 0, 0, ...)
X
3
= X
2
X = (0, 0, 0, 1
A
, 0, 0, ...)
e em geral
X
n
= X
n1
X = (a
0
, a
1
, a
2
, ..., a
j
, ...)
sendo que a
i
= 0 i ,= n e a
n
= 1
A
. Desta forma, todo polinomio p A[X] pode ser escrito na
forma
p = (a
0
, a
1
, ..., a
n
, 0, 0, 0, ...) = a
0
+ a
1
X + + a
n
X
n
A cada polinomio p = (a
0
, a
1
, a
2
, , a
n
, 0, 0, ...) A[X] podemos associar a funcao polinomial
p : A A, denida por p(x) = a
0
+ a
1
x + a
2
x
2
+ + a
n
x
n
.
Mas o que tudo isso tem haver com a demonstracao anterior?
Na equac ao (5.3), temos uma igualdade de polin omios. No caso, estamos trabalhando com
Z[X]. Os polinomios envolvidos s ao f, X e q. Logo na sequencia, avaliamos a func ao
polinomial f(x) no ponto . O que se passa no lado direito dessa equac ao? A rigor, deveriamos
primeiramente multiplicar os polinomios X e q para depois avaliarmos a func ao polinomial
resultante em , mas o que fazemos e avaliar as funcoes polinomiais x e q(x) cada uma
separadamente e depois multiplicar os resultados. Quem garante que o resultado e o mesmo? A
comutatividade do anel sobre o qual denimos nossos polin omios e nossas func oes polin omiais. Se
o anel n ao for comutativo, isso pode n ao ser verdade.
58
Contando Razes Secao 5.2
Vejamos o que acontece, por exemplo, quando denimos o conjunto dos polinomios sobre o anel
M(2, R) das matrizes quadradas 2 2 de n umeros reais. Sabemos que esse anel n ao e comutativo.
Sejam p = A + BX + CX
2
e q = D + EX + FX
2
elementos de M(2, R)[X]. Para sabermos
qual e a fun cao polinomial (p q)(x), devemos multiplicar os polin omios p e q segundo as operacoes
que denimos em M(2, R)[X]. Sendo assim temos
p = (A, B, C, 0, 0, 0, ...)
q = (D, E, F, 0, 0, 0, ...)
logo
p q = (AD, AE + BD, AF + BE + CD, BF + CE, CF, 0, 0, ...).
Da, (p q)(x) = AD + (AE + BD)x + (AF + BE + CD)x
2
+ (BF + CE)x
3
+ CFx
4
Sejam, por exemplo, as matrizes A, B, C, D, E e F dadas por:
A =

7 9
1 5

B =

5 4
0 9

C =

1 0
0 9

D =

1 0
1 1

E =

7 5
0 8

F =

4 2
2 3

Agora, vamos avaliar p(x), q(x) e (p q)(x) em =

1 2
3 4

. Neste caso, temos


p

1 2
3 4

7 9
1 5

5 4
0 9

1 2
3 4

1 0
0 9

1 2
3 4

2
=

5 3
55 59

1 2
3 4

1 0
1 1

7 5
0 8

1 2
3 4

4 2
2 3

1 2
3 4

2
=

9 10
6 13

Portanto temos p

1 2
3 4

1 2
3 4

63 89
849 1317

, enquanto que
(p q)

1 2
3 4

7 9
1 5

1 0
1 1

7 9
1 5

7 5
0 8

5 4
0 9

1 0
1 1

1 2
3 4

+
+

7 9
1 5

4 2
2 3

5 4
0 9

7 5
0 8

1 0
0 9

1 0
1 1

1 2
3 4

2
+
+

5 4
0 9

4 2
2 3

1 0
0 9

7 5
0 8

1 2
3 4

3
+
+

1 0
0 9

4 2
2 3

1 2
3 4

4
=

75 37
525 561

59
Captulo 5 Fermat e Primalidade
Portanto, em M(2, R)[X] nem sempre e verdade que p() q() = (p q)(). Felizmente, no
caso do teorema que demonstramos, como Z e comutativo, e verdade que p() q() = (p q)()
para quaisquer polin omios p, q e qualquer inteiro .
5.3 Pseudoprimos
O teorema de Fermat nos deu uma importante relac ao entre n umeros inteiros e primos.

E natural
a busca por testes de primalidade usando este resultado. O que veremos nesta sec ao sao testes
que foram descobertos usando-se o teorema de Fermat, direta ou indiretamente. Como veremos,
nenhum deles e o que se estava procurando, pois n ao revelam se o e n umero primo, apenas detectam
se ele e composto. Mas isso, de certa forma, j a e um avanco.
O teorema de Fermat diz que se p e primo e a e um inteiro, ent ao
a
p
a (mod p)
Considere um inteiro n mpar. Queremos saber se n e composto ou primo. Se encontrarmos
em inteiro b tal que
b
n
, b (mod n)
o que podemos concluir? Se n fosse primo, teramos b
n
b (mod n), portanto n e obrigatoria-
mente composto.
Conseguimos um teste que nos diz que um n umero n e composto sem encontrarmos nenhum
fator de n. Mas onde procurar o inteiro b? Segundo o teorema de Fermat, b pode ser qual-
quer inteiro. Mas podemos restringir nossa busca a inteiros satisfazendo 1 < b < n 1, pois
0
n
0 (mod n), 1
n
1 (mod n) e (n 1)
n
n 1 (mod n). As duas primeiras congruencias
s ao obvias. Para justicar a terceira congruencia, observe que n 1 1 (mod n). Como n e
mpar, temos
(n 1)
n
(1)
n
1 n 1 (mod n)
Alem disso, nao precisamos procurar inteiros b n, pois qualquer inteiro maior do que n e c ongruo
a algum outro inteiro no itervalo 0 b n 1.
Portanto, se queremos encontrar um inteiro b de modo que
b
n
, b (mod n)
basta testarmos inteiros no intervalo 1 < b < n 1.
Como vamos testar inteiros entre 1 e n 1, qualquer inteiro nesse intervalo n ao e divisvel por
n, portanto podemos usar a segunda versao do teorema de Fermat.
TESTE 5.3.1. Se n > 0 e 1 < b < n 1 sao n umeros inteiros e b
n1
, 1 (mod n) entao n e um
60
Pseudoprimos Secao 5.4
n umero composto. O n umero b e conhecido como uma testemunha do fato de n ser composto.
Conseguimos um teste para dizer se n e composto. Mas gostaramos de algo para armar se n
e primo. Alguem poderia dizer: se um n umero n mpar satisfaz b
n1
1 (mod n) para algum b,
1 < b < n 1, entao n e primo.
Infelizmente, tal teste e falso. O teorema de Fermat vale para qualquer inteiro b, logo a validade
da equac ao do teorema para um b particular nao garante a primalidade de n. Mesmo assim, Leibniz
usava isso como teste de primalidade, tomando b = 2 para facilitar os calculos. Por exemplo
2
340
2
937+7
(2
9
)
3
7 2
7
171
36
171 2
7
256
18
64 (256
2
)
9
64 64
9
64
(64
2
)
5
4
5
1024 1 (mod 341)
e pelo teste que Leibniz usava, 341 seria primo, mas
341 = 11 31.
Deste raciocnio tiramos a seguinte denic ao.
DEFINI C

AO 5.3.2. Um inteiro n, mpar e composto, e um pseudoprimo para a base b,


1 < b < n 1, se b
n1
1 (mod n).
Segundo essa denic ao, 341 e um pseudoprimo para a base 2.
Apesar do teste falhar em alguns casos, como para 341 na base 2, ele e muito util. Para n umeros
pequenos, a margem de acerto e grande. Por exemplo, entre 1 e 10
9
existem 50.847.534 primos,
e apenas 5.597 pseudoprimos para base 2. Se testarmos outras bases, aumentamos a eciencia do
teste. Por exemplo
3
340
3
656+4
(3
6
)
5
6 3
4
47
56
3
4
(47
2
)
28
3
4
(163
2
)
14
3
4
(312
2
)
7
3
4
(159
2
)
3
159 3
4
47
3
262 56 (mod 341)
logo 3 e uma testemunha de que 341 e composto. Entre 1 e 10
9
existem apenas 1272 pseudoprimos
para as bases 2 e 3.
Poderamos pensar em testar todas as bases de 1 `a n1, mas se n e grande isto e impratic avel,
mas essa discussao nos leva a questoes interessantes.
61
Captulo 5 Fermat e Primalidade
5.4 N umeros de Carmichael
Primeiramente observamos que nenhum n umero composto n pode ser pseudoprimo para todas as
bases 1 < b < n 1. De fato, se n e composto, entao tem um fator b, logo
mdc(b, n) ,= 1 mdc(b
n1
, n) ,= 1.
Se b
n1
1 (mod n), teramos que n[(b
n1
1), ou seja, b
n1
1 = nr b
n1
nr = 1. Mas
isto nos permitiria concluir que mdc(b
n1
, n) = 1, absurdo. Portanto b
n1
, 1 (mod n), ou seja,
n n ao e um pseudoprimo para a base b, ou seja, provamos que:
n composto b de modo que b
n1
, 1 (mod n).
Equivalentemente temos:
TEOREMA 5.4.1. Seja n um n umero inteiro. Se b
n1
1 (mod n) para todo 1 < b < n 1,
ent ao n e primo.
Esse e um teste de primalidade que nos d a certeza de que n e primo, mas e impratic avel devido
` a quantidade de bases que deveramos testar.
O que devemos destacar e que s o podemos dizer que n e primo se usarmos a equac ao da segunda
vers ao do teorema de Fermat. Se b
n
b (mod n) para qualquer b, nao podemos armar que n
e primo, pois existem n umeros compostos que satisfazem b
n
b (mod n) para todo b entre 1 e
n 1. S ao os chamados n umeros de Carmichael.
DEFINI C

AO 5.4.2. Um n umero composto mpar n > 0 e um n umero de Carmichael se


b
n
b (mod n) para todo b, 1 < b < n 1.

E dicil acreditarmos na existencia de tais n umeros antes de ver um. Sendo assim, vejamos
um exemplo.
Armamos que 561 e um n umero de Carmichael. Precisamos mostrar que b
561
b (mod 561)
para b = 2, 3, 4, , 559, um total de 558 bases. N ao parece ser um bom caminho.
Primeiramente, observe que 561 e composto (qualquer n umero primo p satisfaz b
p
p (mod p),
mas p n ao e um n umero de Carmichael).
561 = 3 11 17
Agora, considere b um inteiro entre 2 e 559. Se mostrarmos que b
561
b e divisvel por 3, por 11 e
por 17, como estes s ao primos distintos, segue da segunda parte da proposi cao 2.1.3 que o produto
destes primos divide b
561
b. Mas este produto e 561, e dizer que 561 divide b
561
b e equivalente
a
b
561
b (mod 561).
62
N umeros de Carmichael Secao 5.4
Comecemos pelo fator 3
(1) Se 3 divide b, seque imediatamente que 3 divide b
561
b. Agora, se 3 nao divide b, segue
do teorema de Fermat que b
31
1 (mod 3). Da
b
561
b
2280+1
(b
2
)
280
b b (mod 3)
onde a ultima congruencia segue do teorema de Fermat. Portanto b
561
b e divisvel por 3.
(2) Se 11 divide b, seque imediatamente que 11 divide b
561
b. Agora, se 11 n ao divide b, segue
do teorema de Fermat que b
111
1 (mod 11). Da
b
561
b
1056+1
(b
10
)
56
b b (mod 11)
onde a ultima congruencia segue do teorema de Fermat. Portanto b
561
b e divisvel por 11.
(3) Se 17 divide b, seque imediatamente que 17 divide b
561
b. Agora, se 17 n ao divide b, segue
do teorema de Fermat que b
171
1 (mod 17). Da
b
561
b
1635+1
(b
16
)
35
b b (mod 17)
onde a ultima congruencia segue do teorema de Fermat. Portanto b
561
b e divisvel por 17.
Se b
561
b e divisvel por 3, 11 e 17, e estes s ao primos entre s, temos que b
561
b e divisvel
por 3 11 17 = 561, ou seja
b
561
b (mod 561).
Como b e qualquer inteiro entre 2 e 559, segue que 561 e um n umero de Carmichael.
Tivemos um pouco de sorte. Como usamos o teorema de Fermat, tivemos que dividir 561
por p 1, para p = 3, 11, 17. Felizmente, todas estas divis oes tiveram resto igual a 1, o que nos
permitiu concluir o raciocnio facilmente. Alem disso, os fatores primos de 561 apareceram apenas
uma vez em sua decomposic ao, o que nos permitiu utilizar a proposic ao 2.1.3.
Mas sera que sempre teremos tanta sorte ao tentarmos provar que um n umero e de Carmichael?
Na verdade, as propriedades destacadas no paragrafo anterior n ao s ao exclusivas ou acidentais para
561. Elas constituem uma caracteriza cao do n umeros de Carmichael.
TEOREMA 5.4.3 (Teorema de Korselt). Um inteiro positivo composto mpar n e um n umero de
Carmichael se, e somente se, cada fator primo p de n satisfaz as duas condicoes seguintes:
(1) p
2
nao divide n;
(2) p 1 divide n 1.
Para mostrarmos que se um n umero satisfaz (1) e (2) ent ao ele e um n umero de Carmichael,
usaremos apenas conceitos que ja foram discutidos. Da mesma forma, para mostrar que um
n umero de Carmichael satisfaz (1), tambem usaremos apenas ideias ja apresentadas ate aqui.
63
Captulo 5 Fermat e Primalidade
Entretanto, para mostrar que qualquer n umero de Carmichael satisfaz (2), precisamos do auxlio
da teoria dos grupos, que estudaremos num captulo posterior. Por hora, apenas enunciaremos
denicoes e resultados necess arios, sem demonstra-los aqui. As justicativas destes resultados
virao em momento oportuno.
Teorema da Raiz Primitiva: Se p e primo, entao (U(p), ) e um grupo cclico, ou seja, e
gerado por um unico elemento.
Dado um grupo (G, ), a ordem de a G e o menor inteiro positivo k tal que a
k
= e, onde
e e o elemento neutro do grupo G. Se a
k
,= e para qualquer inteiro k, dizemos que a tem
ordem innita.
A ordem de um grupo cclico nito (G, ) gerado por a e igual a ordem do seu gerador a.
Lema Chave: Sejam G um grupo e a G. Um inteiro positivo t satisfaz a
t
= e se, e somente,
se, t e divisvel pela ordem de a.
Vamos ` a demonstrac ao do teorema.
DEMONSTRA C

AO. (Teorema de Korselt) Primeiramente, vamos ver que se n e um n umero que


satisfaz (1) e (2), entao n e um n umero de Carmichael.
Seja p um fator primo de n. Vamos mostrar que para qualquer b Z tem-se
b
n
b (mod p)
Se b for divisvel por p, ent ao a congruencia e imediatamente vericada. Se b n ao for divisvel
por p, o teorema de Fermat nos diz que
b
p1
1 (mod p)
Para usarmos isso, precisamos dividir n por p 1. Mas a condic ao (2) nos diz que p 1 divide
n 1, ou seja, existe q tal que
n 1 = (p 1)q n = (p 1)q + 1
Da,
b
n
b
(p1)q+1
(b
p1
)
q
b b (mod p)
Portanto se p e um fator primo de n ent ao b
n
b (mod p) para qualquer inteiro b.
Voltando ` as hip oteses do teorema, de (1) temos que n = p
1
p
2
...p
k
onde p
1
< p
2
< < p
k
s ao primos distintos, j a que p
2
i
n ao e fator de n, i = 1, 2, .., k. Sendo primos distintos, segue da
64
N umeros de Carmichael Secao 5.4
proposicao 2.1.3 que b
n
b e divisvel pelo produto p
1
p
2
...p
k
= n, ou seja,
b
n
b (mod n)
para qualquer b. Logo n e um n umero de Carmichael.
Mostramos que se n satisfaz (1) e (2) entao n e um n umero de Carmichael. Vamos provar a
recproca.
Primeiramente, queremos vericar que se n e um n umero de Carmichael, entao a condi cao (1)
e satisfeita.

E mais f acil (e equivalente) provarmos a contrapositiva disto: se existe um primo p,
fator de n, tal que p
2
divide n, ent ao n n ao pode ser um n umero de Carmichael.
Para que n n ao seja um n umero de Carmichael, precisamos encontrar um inteiro b tal que
b
n
, b (mod n)
Escolha b = p. Temos que
p
n
p = p(p
n1
1)
Como p n ao divide p
n1
1, p
2
n ao pode dividir p
n
p. Se n dividisse p
n
p, como estamos
supondo que p
2
[n, teriamos que p
2
[p
n
p, o que j a vimos que e impossvel. Portanto n ,[p
n
p,
ou seja,
p
n
, p (mod n)
e n n ao e um n umero de Carmichael.
Finalmente, mostremos que um n umero de Carmichael satisfaz (2). Seja n um n umero de
Carmichael, ou seja, b
n
b (mod n) para todo b, 1 < b < n 1. Seja p um fator primo de n.
Queremos mostrar que p 1 divide n 1.
Como p e primo, pelo teorema da raiz primitiva temos que U(p) e cclico, e portanto possui
um gerador a.
Temos que a
n
a e divisvel por n, j a que n e um n umero de Carmichael. Sendo assim, temos
que
p[n e n[a
n
a p[a
n
a
ou seja,
a
n
a (mod p).
Como a U(p), a e inversvel m odulo p, e ent ao a equacao acima ca
a
n1
1 (mod p)
Pelo lema chave, n 1 e divisvel pela ordem de a. Mas a e um gerador de U(p), cuja ordem e
p 1, logo a ordem de a e p 1, e conclumos que p 1 divide n 1.
65
Captulo 5 Fermat e Primalidade
Vimos que o teorema de Fermat nos fornece um teste que verica com certa eciencia se um
n umero e composto, mas que j a nao e t ao eciente se nosso desejo e vericar a primalidade de um
n umero n, prova disso e a existencia dos n umeros de Carmichael, que caracterizamos anteriormente.
Acrescentamos aqui uma informacao: ja demonstrou-se que os n umeros de Carmichael s ao innitos,
e a certeza dessa armac ao e relativamente recente, um artigo de 1994. (informac oes em [01]).
Neste mesmo artigo e apresentado um resultado de grande import ancia no que se refere a testes de
primalidade usados por computacao algebrica. Discutiremos rapidamente a ideia desse resultado,
que se trata de uma modica cao do teste que estudamos anteriormente.
O novo teste, o teste de Miller, inicia-se observando que se o inteiro positivo n > 2 e mpar
(pois se n e par j a sabemos que e composto) ent ao n 1 e par, logo podemos escrever
n 1 = 2
k
q
onde q e um inteiro mpar e k 1. Seja b um inteiro, 1 < b < n 1. O teste consiste em calcular
as seguintes potencias m odulo n:
b
q
, b
2q
, b
2
2
q
, b
2
3
q, ..., b
2
k1
q
, b
2
k
q
Se n for um n umero primo, ao menos uma dessas potencias ser a congruente a 1 modulo n, pois
pelo teorema de Fermat
b
2
k
q
b
n1
1 (mod n)
Sendo assim, seja j o menor expoente tal que b
2
j
q
1 (mod n). Temos duas possibilidades:
ou j = 0 ou j 1. Se j 1, podemos usar diferenca de quadrados para fatorar b
2
j
q
1.
b
2
j
q
1 = (b
2
j1
q
1)(b
2
j1
q
+ 1)
Estamos supondo n primo e divisor de b
2
j
q
1. Logo, n divide b
2
j1
q
1 ou n divide b
2
j1
q
+1. Mas
j e o menor expoente tal que b
2
j
q
1 e divisvel por n, portanto b
2
j1
q
1 nao pode ser divisvel
por n, e portanto n obrigatoriamente divide b
2
j1
q
+ 1, ou seja
b
2
j1
q
1 (mod n)
Resumindo, se n e primo, ent ao uma das potencias da sequencia
b
q
, b
2q
, b
2
2
q
, b
2
3
q, ..., b
2
k1
q
66
N umeros de Carmichael Secao 5.4
e congruente a 1 modulo n. Mas isso so acontece se j 1, para podermos usar o produto not avel
como zemos. No caso em que j = 0 temos
b
q
1 (mod n)
Portanto, se n e primo, ent ao uma das potencias da sequencia e congruente 1 ou
b
q
1 (mod n). Se nada disso acontecer, ent ao n e composto.
Temos, assim, um novo teste que detecta n umeros compostos. A vantagem que obtemos e que
mesmo entre os pseudoprimos esse novo teste e eciente.
Para encerrar, vejamos exemplos. Como j a vimos, 341 e um pseudoprimo para a base 2. O
que o teste de Miller nos diz a respeito do 341? Nesse caso temos n1 = 340 = 2
2
85, e portanto
q = 85. As potencias que devemos calcular m odulo 341 s ao 2
85
e 2
170
.
2
85
32 (mod 341)
2
170
32
2
1 (mod 341)
Portanto 341 e composto pelo teste de Miller, pois 2
q
= 85 n ao e congruo a 1 modulo 341 e
nenhuma das outras potencias (que nesse caso e s o mais uma) e congruente a 1 m odulo 341.
O raciocnio que desenvolvemos nos permite apenas detectar se um n umero inteiro e composto.
Se ao aplicarmos o teste de Miller e encontrarmos b
q
1 (mod n) ou b
2
j
q
1 (mod n),
0 < j < k, nao podemos concluir nada a respeito do inteiro n. Neste caso, dizemos que o teste e
inconclusivo. Por exemplo, apliquemos o teste para o inteiro 25 usando base 7. Como 251 = 2
3
3,
as potencias que devemos testar sao 7
3
, 7
23
e 7
2
2
3
.
potencias 7
3
7
23
7
2
2
3
restos 18 24 1
Como 7
23
24 1 (mod 25), o teste de Miller e inclonclusivo para 25. Neste caso dizemos
que 25 e um pseudoprimo forte para a base 7.

E facil vericar que se um inteiro n e um pseudoprimo forte para uma base b, entao n e um
pseudoprimo para a base b: sejam k e q inteiros, q mpar, tais que n 1 = 2
k
q. Se n e um
pseudoprimo forte para uma base b temos que
b
q
1 (mod n) ou b
2
j
q
1 (mod n) para algum j , 0 < j n 1
No primeiro caso, b
n1
b
2
k
q
(b
q
)
2
k
(1)
2
k
1 (mod n). No segundo caso,
b
n1
b
2
j
q
b
2
j+(nj)
q
b
2
j
2
nj
q
(b
2
j
q
)
2
nj
(1)
2
nj
1 (mod n). Em ambos os casos
temos que n e um pseudoprimo para a base b.
67
Captulo 5 Fermat e Primalidade
68
Captulo
6
Sistemas de Congruencias
Neste captulo veremos como resolver um sistema de congruencias, utilizando o Teorema Chines
do Resto, e encerraremos com uma aplicac ao deste resultado com um metodo de criptograa para
partilhar senhas.
6.1 Equacoes Lineares
Uma equacao de congruencia linear a uma incognita e uma sentenca do tipo
ax b (mod n)
Para resolver esta equa cao, devemos analisar duas possibilidades:
a U(n)
a / U(n)
Quando a U(n), sendo = a
1
em Z
n
, temos
ax b (mod n) x b (mod n)
Se n e primo e a , 0 (mod n), a equa cao ax b (mod n) sempre tem uma unica soluc ao em
Z
n
. Estudemos, ent ao, o caso em que a n ao e inversvel em Z
n
. Neste caso estamos considerando
n composto.
ax b (mod n) (6.1)
Dizer que a n ao e inversvel em Z
n
equivale dizer que mdc(a, n) ,= 1. Se a equac ao (6.1) possui
soluc ao, signica que b ax e divisvel por n para algum inteiro x, ou seja, existem inteiros x e y
tais que
ax b = ny ax ny = b (6.2)
69
Captulo 6 Sistemas de Congruencias
ou seja, a equacao diofantina linear em x e y
ax ny = b
possui soluc ao. Mas isto so e possvel se mdc(a, n) dividir b. Suponhamos que d = mdc(a, n)
divida b.
Sendo d um divisor de a, temos que a = d a
t
para algum inteiro a
t
. Analogamente, b = d b
t
e n = d n
t
, para certos inteiros b
t
e n
t
. Substituindo isso em (6.2)
ax ny = b d a
t
x d n
t
y = d b
t
a
t
x n
t
y = b
t
Esta ultima equac ao e equivalente ` a seguinte congruencia:
a
t
x b
t
(mod n
t
)
Chegamos, portanto, a uma nova equac ao congruencia modulo n
t
, um divisor de n. Note que
mdc(a
t
, n
t
) = 1, pois
a + n = d a
t
d + n
t
d = d a
t
+ n
t
= 1
o que nos leva a concluir que esta nova congruencia sempre tem solu cao. Parece que simplicamos
o problema, mas e preciso ter mais cautela. Vejamos um exemplo.
Considere a congruencia 6x 4 (mod 8). Como mdc(6, 8) = 2 ,= 1, 6 n ao possui inverso em
Z
8
; entretanto, podemos substituir a congruencia original por outra equivalente.
6x 4 (mod 8) 6x 4 = 8y 3x 2 = 4y 3x 2 (mod 4)
Em Z
4
, 3 e seu pr oprio inverso, portanto
3x 2 (mod 4) x 3 2 6 2 (mod 4) (6.3)
N ao ha nada de errado com o que zemos ate aqui. Como vimos anteriormente, a nova
congruencia admite soluc ao. Entretanto est avamos interessados em solucoes de uma equac ao
m odulo 8, e acabamos com uma soluc ao de uma equa cao m odulo 4. O que fazer, entao? Basta
transformar (6.3) em uma expressao entre inteiros, ou seja, sem congruencias, e analisar como
estas soluc oes se comportam m odulo 8.
x 2 (mod 4) x = 2 + 4k
onde k e um inteiro qualquer. Temos dois casos a considerar:
70
Equa c oes Lineares Secao 6.1
i) k par. Neste caso, temos k = 2m, para algum inteiro m. Da,
x = 2 + 8m x 2 (mod 8)
Portanto x = 2 e uma soluc ao para 6x 4 (mod 8).
ii) k mpar. Neste caso, escrevemos k = 2m + 1, e chegamos `a x = 6 + 8m. Portanto
x 6 (mod 8) e outra soluc ao de 6x 4 (mod 8).
Portanto a congruencia 6x 4 (mod 8) possui duas solucoes em Z
8
. Note que a equacao e
linear, mas possui duas soluc oes. Como vimos no captulo anterior, uma equac ao de grau k possui
no m aximo k soluc oes distintas se a congruencia e m odulo um primo; tambem destacamos que
isto pode n ao acontecer quando a congruencia e m odulo um composto, como neste exemplo.
Vejamos como resolver um sistema de congruencias. Para isso, resolveremos um problema cuja
soluc ao passa pela resolu cao de um sistema de congruencia.
Tres satelites passarao sobre uma certa cidade esta noite. O primeiro satelite
passara `a 1h, o segundo `as 4h, e o terceiro `as 8h. Os perodos respectivos sao de
13, 15 e 19 horas. Determine quantas horas decorrerao, a partir da meia-noite,
ate que os tres satelites passem juntos sobre a cidade.
Seja x o n umero de horas, contadas a partir da meia noite, quando os tres satelites passarao
juntos sobre a cidade. O primeiro satelite passa a cada 13 horas a partir da 1h da madrugada.
Portanto, precisamos ter x = 13t + 1, para algum t positivo. Essa equac ao equivale `a:
x 1 (mod 13)
Correspondentes aos outros dois satelites, temos as seguintes equa coes.
x 4 (mod 15)
x 8 (mod 19)
Os tres satelites passarao juntos sobre a cidade para valores de x que satisfacam as tres equacoes
simultaneamente. Portanto, precisamos resolver o seguinte sistema.
_

_
x 1 (mod 13)
x 4 (mod 15)
x 8 (mod 19)
As tres equac oes possuem modulos diferentes, logo nao podemos soma-las ou subtra-las entre
s. Transformaremos, como anteriormente, estas equac oes de congruencias em rela coes entre in-
71
Captulo 6 Sistemas de Congruencias
teiros. x 1 (mod 13) equivale `a x = 1+13t. Mas x e um inteiro, e portanto podemos subtitu-lo
na segunda equac ao.
x 4 (mod 15) 1 + 13t 4 (mod 15) 13t 3 (mod 15)
Como 13 e inversvel m odulo 15, com inverso igual `a 7, temos
13t 3 (mod 15) t 21 (mod 15) t 6 (mod 15)
Portanto t = 6 + 15u, u Z. Da
x = 1 + 13t = 1 + 13 (6 + 15u) = 79 + 195u.
Note que qualquer inteiro da forma 79 + 195u satisfaz `as duas primeiras equa coes do sistema.
Substituindo x = 79 + 195u na ultima equacao do sistema chegamos `a
79 + 195u 8 (mod 19) 5u 5 (mod 19)
Sendo 5 inversvel m odulo 19, temos u 1 (mod 19), ou seja,
u = 1 + 19v
para algum inteiro v. Da,
x = 79 + 195u = 79 + 195(1 + 19v) = 274 + 3705v
Assim, qualquer valor de x da forma 274 + 3705v satisfaz as 3 equacoes.

E claro que o menor
inteiro positivo de x que satisfaz o sistema e 274, ou seja, os 3 satelites passar ao juntos sobre a
cidade 274 horas depois da meia-noite. E mais, esse fenomeno se repete a cada 3705 horas.
O que zemos foi dividir o sistema original em outros sistemas de duas equa coes. Resolvendo
as duas primeiras equa coes obtivemos x = 79 + 195u, que corresponde a uma nova equacao
x 79 (mod 195). Passamos, ent ao, a resolver o sistema
_
x 79 (mod 195)
x 8 (mod 19)
De modo geral, um sistema de v arias equacoes e resolvido utilizando-se varios sistemas de duas
equac oes. Por este motivo, e suciente entendermos o algoritmo para resolver sistemas de duas
equac oes.
72
Equa c oes Lineares Secao 6.1
Considere o sistema
_
x a (mod m)
x b (mod n)
A primeira equac ao nos permite escrever
x = a + my , y Z
Substituindo na segunda equa cao temos
my b a (mod n)
J a vimos que esta equac ao s o tem solu cao se mdc(m, n) dividir b a. Assumindo que
mdc(m, n) = 1, temos que m tem inverso em Z
n
. Seja o inverso de m em Z
n
. Chegamos
a seguinte solu cao
y (b a) (mod n)
ou seja, y = (b a) + nk, para algum inteiro k. Da,
x = a + my = a + m((b a) + nk) = a + m(b a) + mnk
Como m = 1 em Z
n
, existe inteiro tal que 1 m = n. Da,
x = a am + mb + mnk = a(1 m) + mb + mnk
= an + mb + mnk
Qual a vantagem de escrever a soluc ao desta maneira? Os inteiros e s ao f aceis de se
obter. Temos 1 = m+n. Como estamos supondo mdc(m, n) = 1, basta aplicarmos o algoritmo
euclidiano estendido.
Portanto, se mdc(m, n) = 1, o sistema tem como soluc ao inteiros da forma an+bm+kmn,
onde k e um inteiro qualquer.
Mas quantas s ao as soluc oes deste sistema?

E claro que s ao innitas, pois para cada inteiro k
temos uma solucao distinta x
k
. Digamos que x e y sejam dois inteiros que sao soluc oes do sistema
_
x a (mod m)
x b (mod n)
(6.4)
Se x e y s ao solu coes, temos que x a (mod m) e y a (mod m). Como essas duas
congruencias tem mesmo m odulo, podemos subtrair uma da outra, de modo que obtemos
x y 0 (mod m)
73
Captulo 6 Sistemas de Congruencias
ou seja, m divide x y. Repetindo esse raciocnio, mas usando a segunda equa cao do sis-
tema, conclumos que n divide x y. Se tivermos mdc(m, n) = 1, segue da segunda parte da
Proposi cao 2.1.3, do captulo 2, que mn divide x y, ou seja, se x e y s ao solucoes de (6.4), ent ao
x y (mod mn). O sistema (6.4) admite innitas soluc oes inteiras, mas uma unica soluc ao em
Z
mn
. Este resultado e conhecido como
TEOREMA 6.1.1 (Teorema Chines do Resto). Sejam m e n inteiros positivos, primos entre s. O
sistema
_
x a (mod m)
x b (mod n)
sempre tem uma unica solucao em Z
mn
.
6.2 Congruencia M odulo N umeros N ao Primos Entre S
Vimos que o sistema de congruencias
_
x a (mod m)
x b (mod n)
sempre admite uma unica solucao em Z
mn
se mdc(m, n) = 1. Mas o que acontece se n ao tivermos
a hipotese mdc(m, n) = 1? Vejamos alguns exemplos.
Considere o sistema
x 3 (mod 12)
x 19 (mod 8)
Vamos proceder da mesma maneira como anteriormente. A equac ao x 3 (mod 12) nos leva ` a
x = 3 + 12t. Substituindo na segunda equacao, temos
x 19 (mod 8) 3 + 12t 19 (mod 8)
12t 16 (mod 8)
Esta ultima equa cao nos permite escrever
12t = 16 + 8u.
Dividindo a equa cao por 4, chegamos ` a
3t = 4 + 2u
74
Potencias Secao 6.3
que equivale `a
3t 4 (mod 2).
Como 3 1 (mod 2) e 4 0 (mod 2), temos
t 0 (mod 2)
ou seja, t = 2k para algum inteiro k. Voltando `a express ao que nos d a o valor de x, obtemos
x = 3 + 12t x = 3 + 24k x 3 (mod 24)
Chegamos ` a uma unica solu cao, mas m odulo 24, e n ao modulo 8 12 = 96. Neste exemplo, o
sistema tinha solucao. Vejamos o que acontece quando tentamos resolver o sistema
x 4 (mod 9)
x 3 (mod 6)
Da primeira equa cao temos x = 4 + 9t. Substituindo na segunda equacao, chegamos ` a
4 + 9t 3 (mod 6)
9t 1 5 (mod 6)
Sabemos que a congruencia ax b (mod m) possui soluc ao se, e somente se, mdc(a, n) dividir
b. Como mdc(9, 6) = 3 e 3 ,[5, ent ao 9t 5 (mod 6) n ao possui soluc ao, e portanto o sistema
x 4 (mod 9)
x 3 (mod 6)
tambem n ao.
6.3 Potencias
O Teorema Chines do Resto pode ser enunciado para mais de duas equac oes.
TEOREMA 6.3.1. Sejam n
1
, n
2
, ..., n
k
inteiros positivos dois a dois primos entre s. Entao o
sistema
x a
1
(mod n
1
)
x a
2
(mod n
2
)
.
.
.
x a
k
(mod n
k
)
tem uma unica solucao em Z
n
1
n
k
.
75
Captulo 6 Sistemas de Congruencias
DEMONSTRA C

AO. A demonstra c ao e feita usando-se inducao nita sobre k. Ja vimos que o teorema
vale para k = 2. Suponhamos que o teorema valha para o inteiro k 1, ou seja, o sistema
x a
1
(mod n
1
)
x a
2
(mod n
2
)
.
.
.
x a
k1
(mod n
k1
)
admite uma unica solu cao b
k1
em Z
n
1
n
k1
. Resolver o sistema de k congruencias e equivalente
a resolver o sistema
x b
k
(mod n
1
n
k1
)
x a
k
(mod n
k
)
Como n
i
e n
j
s ao primos entre s, sempre que i ,= j, temos que os dois inteiros n
1
...n
k1
e n
k
tambem sao primos entre s. Logo, o sistema acima admite uma unica soluc ao em Z
n
1
n
k1
n
k
,
como queramos demonstrar.
Esta vers ao do Teorema Chines do Resto simplica o calculo de potencias m odulo n em alguns
casos. Suponhamos que n = p
1
p
2
p
k
, onde p
1
< < p
k
s ao primos. Dessa forma, temos que
cada fator primo p
i
aparece na decomposicao de n com multiplicidade 1.
Para encontrarmos a forma reduzida de a
m
m odulo n, iniciamos com o teorema de Fermat para
calcular a forma reduzida de a
m
m odulo p
i
, para cada um dos fatores primos de n. Digamos que
a
m
r
1
(mod p
1
) e 0 r
1
< p
1
a
m
r
2
(mod p
2
) e 0 r
2
< p
2
.
.
.
a
m
r
k
(mod p
k
) e 0 r
k
< p
k
Finalmente, para encontrarmos a forma reduzida de a
m
m odulo n, basta resolvermos o sistema
_

_
x r
1
(mod p
1
)
x r
2
(mod p
2
)
.
.
.
x r
k
(mod p
k
)
Como todos os modulos s ao primos, temos que o m aximo divisor comum entre dois quaisquer
76
Potencias Secao 6.3
deles e 1, portanto o sistema sempre tem solu cao. E mais, o teorema nos garante que existe uma
unica solucao r m odulo p
1
p
2
p
k
= n. Portanto
a
m
r (mod n)
e chegamos assim a forma reduzida de a
m
m odulo n. Vejamos um exemplo.
Qual a forma reduzida de 2
6754
m odulo 1155? Primeiramente observamos que 1155 = 35711,
fatores primos com multiplicidade 1. Calculemos a forma reduzida de 2
6754
a cada um destes
primos, usando o teorema de Fermat.
M odulo 3: 2
2
1 (mod 3)
6754 = 2 3377 2
6754
(2
2
)
3377
1
3377
1 (mod 3)
M odulo 5: 2
4
1 (mod 5)
6754 = 4 1688 + 2 2
6754
(2
4
)
1688
2
2
1
1688
4 4 (mod 5)
M odulo 7: 2
6
1 (mod 7)
6754 = 6 1125 + 4 2
6754
(2
6
)
1125
2
4
1
1125
16 2 (mod 7)
M odulo 11: 2
10
1 (mod 11)
6754 = 10 675 + 4 2
6754
(2
10
)
675
2
4
1
675
16 5 (mod 11)
Agora, basta resolvermos o sistema
_

_
x 1 (mod 3)
x 4 (mod 5)
x 2 (mod 7)
x 5 (mod 11)
Para tanto, usaremos o Algoritmo Chines do Resto. A primeira equac ao nos d a x = 1 + 3t.
Substituindo na segunda equa cao, temos
1 + 3t 4 (mod 5) 3t 3 (mod 5) t 1 (mod 5)
donde conclumos que t = 1 + 5u, e portanto
x = 1 + 3(1 + 5u) = 4 + 15u.
77
Captulo 6 Sistemas de Congruencias
Substituindo esta informac ao na terceira equac ao do sistema, temos
4 + 15u 2 (mod 7) 15u 2 (mod 7) u 5 (mod 7)
e portanto u = 5 + 7v, ou seja
x = 4 + 15(5 + 7v) = 79 + 105v.
Finalmente, usando a quarta equacao, chegamos `a
79 + 105v 5 (mod 11) 105v 74 (mod 11) 6v 3 (mod 11) v 6 (mod 11)
e ent ao v = 6 + 11w, e conclumos que
x = 79 + 105(6 + 11w) = 709 + 1155w
o que equivale ` a
x 709 (mod 1155)
ou seja
2
6754
709 (mod 1155)
6.4 Partilha de Senhas
Vamos encerrar o captulo vendo uma aplicacao do Teorema Chines do Resto num metodo que
permite compartilhar uma senha de um cofre entre v arias pessoas. Digamos que o cofre de um
banco e aberto por uma senha, e um certo n umero de funcion arios tem acesso ao cofre. A ideia
consiste em partilhar a senha entre os funcion arios, de modo que n ao seja possvel abrir o cofre
sem a presen ca de um n umero mnimo de funcion arios.
Para abrir o cofre, e necess ario uma senha, que e um n umero s. Digamos que o banco tenha
n funcion arios que tenham acesso ao cofre, e que k > 1 e o n umero mnimo de funcion arios que
devem estar presentes para que seja possvel a abertura do cofre. A cada funcionario ser a dada
sua parte da senha, que e um elemento de um conjunto S de n pares de inteiros positivos, de
modo que:
(1) qualquer subconjunto de S com k elementos permite determinar s facilmente;
(2) e muito difcil determinar s conhecendo menos do que k elementos de S.
Primeiramente, escolhemos um conjunto / de n inteiros positivos, dois a dois primos entre si.
Escolhidos tais inteiros, tomamos N igual ao produto dos k menores n umeros de / e M igual ao
78
Partilha de Senhas Secao 6.4
produto dos k 1 maiores n umeros de /. Dizemos que este conjunto tem limiar k se
N > M
Note que o modo como construmos N e M nos garante que o produto de k ou mais elementos
de / e sempre maior do que N e o produto de menos que k elementos e sempre menor do que
M. Depois que construmos o conjunto / e os n umeros N e M, escolhemos a senha s, de modo
que N > s > M. O conjunto S ser a composto pelos pares da forma (m, s
m
), onde m / e s
m
e
a forma reduzida de s m odulo m. Como s > M, segue que s > m para todo m /, e portanto
tambem temos que s
m
< s.
Suponha que mais de k funcion arios estejam no banco. Isto signica que sao conhecidos t
dentre os pares de S, com t k. Denotemos tais pares por (m
1
, s
1
), ..., (m
t
, s
t
). Resolvendo o
sistema de congruencias
x s
1
(mod m
1
)
x s
2
(mod m
2
)
.
.
.
x s
t
(mod m
t
)
encontraremos uma soluc ao x
0
. Pelo Teorema Chines do Resto, temos
x
0
s (mod m
1
...m
t
).
Mas ser a que podemos armar que x
0
= s?

E neste momento que usamos o fato do conjunto /
ter limiar k. Como t k, segue que
m
1
...m
t
N > s.
Pelo Teorema Chines do Resto, o sistema tem uma unica solucao menor que m
1
...m
t
. Mas s
tambem e soluc ao do sistema e s < m
1
...m
t
, portanto s = x
0
.
Nada nos impede de resolver o sistema no caso em que t < k. Entretanto, como o produto
de menos do que k m odulos de / e sempre menor do que s, a solu cao que encontraremos ser a
congruente a s, mas pode nao ser igual a s.
Facamos um exemplo numerico simples, apenas para xarmos as ideias. Digamos que ha 5
funcion arios e que pelo menos 3 devem estar presentes para que o cofre possa ser aberto. Portanto,
o conjunto / deve ter 5 elementos, e seu limiar deve ser 3. Uma escolha simples para /, usando
primos pequenos e
/ = 11, 13, 17, 19, 23
79
Captulo 6 Sistemas de Congruencias
Neste caso, o produto dos k = 3 menores n umeros de / e N = 11 13 17 = 2431, enquanto que
o produto dos k 1 = 2 maiores n umeros de / e M = 19 23 = 437. Como N > M, o conjunto
/ realmente tem limiar 3. O valor da senha s pode ser escolhido como sendo qualquer inteiro no
intervalo que vai de 437 a 2431. Escolhamos, por exemplo, s = 953. Para determinarmos os pares
do conjunto S que serao distribudos aos funcion arios, temos que calcular 953 m odulo m, para
cada m /.
953 7 (mod 11)
953 4 (mod 13)
953 1 (mod 17)
953 3 (mod 19)
953 10 (mod 23)
Dessa forma, temos
S = (11, 7); (13, 4); (17, 1); (19, 3); (23, 10)
Finalmente, o que acontece se os funcion arios que tem senhas (11, 7), (17, 1) e (23, 10) est ao
no banco? Para recuperar a senha s devemos resolver o sistema
x 7 (mod 11)
x 1 (mod 17)
x 10 (mod 23)
Usando o algoritmo que discutimos nas primeiras sec oes deste captulo, obtemos como soluc ao geral
x = 953 + 4301k, onde k e um inteiro positivo. Portanto, x 953 (mod 4301), e recuperamos o
valor da senha s, a saber, s = 953.
80
Captulo
7
Um Pouco de Estruturas Algebricas
7.1 Grupos
Seja G um conjunto n ao vazio e uma operac ao fechada em G. A estrutura (G, ) e um grupo se
a operac ao satisfaz as seguintes propriedades:
(1) Associatividade: dados a, b G, temos
a (b c) = (a b) c
(2) Elementro Neutro: existe um elemento e G tal que
a e = e a = a
(3) Elemento Inverso: dado um elemento qualquer a G, existe um elemento a
t
G tal que
a a
t
= a
t
a = e
Observe que n ao exigimos que a opera cao do grupo seja comutativa: ab = ba, a, b G. Isto se
d a devido a existencia de grupos interessantes que n ao satisfazem tal propriedades. Um exemplo
e o grupos das matrizes quadradas de ordem n inversveis com a operac ao de produto usual de
matrizes.
H a tambem associac oes conjunto-operac aoque n ao satisfazem alguma das operac oes acima, e
portanto, n ao s ao grupos. Por exemplo, o conjunto dos vetores no espaco com a operac ao produto
vetorial n ao satisfaz a propriedade associativa.
O n umero de elementos de um grupo e chamado de ordem desse grupo. Os primeiros grupos
que temos contato sao de ordem innita
Z, Q, R e C com operac ao +.
81
Captulo 7 Um Pouco de Estruturas Algebricas
Q0, R0 e C0 com operac ao .
M
nm
, o conjunto das matrizes de ordem n m com entradas reais (resp. complexas) com
operacao +, soma usual de matrizes.
O conjunto das matrizes reais (resp. complexas) inversveis com operac ao produto usual
de matrizes.
O conjunto de matrizes reais (resp. complexas) com determinante igual a 1 com operac ao
produto usual de matrizes.
O unico grupo de ordem nita que vimos ate o momento foi Z
n
com a soma. Este grupo tem
ordem n. Vamos ver outro grupo, de ordem tambem nita.
7.2 Simetrias
Os grupos podem ser utilizados no estudo das simetrias. A noc ao de simetria e relativamente
difcil de descrever com precis ao. Para exemplicar, uma simetria de uma gura geometrica pode
ser entendida como uma transforma cao que, quando aplicada `a gura, n ao altera seu aspecto.
Vamos descrever as simetrias de um triangulo equil atero. As primeiras transforma coes que
podemos imaginar s ao as rotac oes. Numerando os vertices do triangulo, temos as seguintes ro-
ta coes:
82
Simetrias Secao 7.2
Alem das rotac oes, temos as reexoes em torno das mediatrizes. S ao tres mediatrizes, que
demonimaremos por m
a
, m
b
e m
c
.
Dessa forma, as tres reexoes sao as seguintes:
83
Captulo 7 Um Pouco de Estruturas Algebricas
J a temos o conjunto, agora falta a operac ao. Neste caso, a operac ao e a composic ao de
transformac oes. A composicao de func oes e sempre associativa, logo j a temos que a primeira
propriedade da operac ao de um grupo e satisfeita. O elemento neutro e a rota cao de 0

. E quanto
aos inversos? O inverso da rotac ao de 120

e a rota cao de 240

e vice-versa, e cada reexao e sua


propria inversa. Portanto, todas as transforma coes acima tem inversa, e temos um grupo. Este
grupo e conhecido como D
3
, e possui seis elementos, ou seja, tem ordem 6.
Usando a numerac ao dos vertices, podemos descrever cada transforma cao atraves da seguinte
notac ao: no caso da rotac ao de 120

, temos
_
1 2 3
2 3 1
_
Esta transformac ao leva cada vertice no adjacente na direc ao anti-hor aria.
Todas estas simetrias podem ser vistas como permuta coes dos vertices. Outro exemplo, a
reex ao em torno da mediatriz m
b
e descrita por
_
1 2 3
2 1 3
_
Vamos ver o que acontece quando operamos com essas transformac oes. Se e a rota cao de
120

, temos que

2
=
e a rota cao de 240

, e
3
= e e o elemento neutro. Se e uma das reex oes, ja sabemos que
2
= e.
Vejamos que transformac ao est a associada `a transformac ao . Primeiramente, observemos que
n ao pode ser uma rotacao, ou seja,
,= e
,=
,=
2
84
Simetrias Secao 7.2
pois caso contrario, chegaramos a absurdos:
= e () = e
2
= =
= ()
2
=
2
= e
=
2
()
2
=
2

2
=
Portanto tem que ser uma reex ao. Entretanto n ao pode ser a pr opria , pois
= () = = e
Logo, e uma reexao diferente de . Vamos denotar por
i
a reex ao em torno da mediatriz
m
i
, i = a, b, c. Pelo que discutimos ate o momento, temos que
b
=
a
ou
b
=
c
. A rotac ao
leva o vertice que est a na posicao 1 para a posic ao 2, e
b
move o vertice da posic ao 2 para a
posic ao 1, ou seja

b
(1) = 1
e portanto
b
e a reex ao que n ao afeta o vertice que est a na posic ao 1, logo

b
=
c
Usando a notac ao para descrever as transformacoes, temos

b
=
_
1 2 3
2 1 3
__
1 2 3
2 3 1
_
=
_
1 2 3
1 3 2
_
=
c
Usando propriedades basicas dos grupos, podemos descobrir outras relac oes entre elementos
de D
3
a partir de
b
=
c
. Se G e um grupo com opera cao e x, y G, ent ao o inverso de x y
e y
t
x
t
, onde x
t
e y
t
s ao os inversos de x e y, respectivamente, pois
(x y) (y
t
x
t
) = x (y y
t
) x = x e x
t
= x x
t
= e
Usando esta propriedade, temos
(
b
)
t
=
2

b
.
J a vimos que
b
=
c
. Como o inverso de
c
e a pr opria
c
, temos
2

b
=
c
, e portanto

b
=
c
=
2

b
,=
b
ou seja, o grupo D
3
n ao e comutativo.
Seguindo desta maneira, podemos encontrar a tabela de opera cao deste grupo.
85
Captulo 7 Um Pouco de Estruturas Algebricas
e
2

a

b

c
e e
2

a

b

c

2
e
c

a

b

2
e
b

c

a

a

a

b

c
e
2

b

b

c

a

2
e

c

c

a

b

2
e
A leitura desta tabela deve ser feita da seguinte forma: o resultado da operacao x y est a na
intersec cao da linha que se inicia com x com a coluna que se inicia com y.
7.3 Grupos Aritmeticos
Voltemos ao foco do nosso estudo. Nosso foco e compreender propriedades aritmeticas dos inteiros
que tem haver com primos e fatoracao, e foi para isso que introduzimos a noc ao de grupo. Mas
qual o grupo que ser a objeto de nosso estudo?
Primeiramente tomemos um inteiro positivo n. J a denotamos por U(n) o conjunto dos inteiros
inversveis de Z
n
.
U(n) = a Z : mdc(a, n) = 1
Armamos que este conjunto e um grupo para a operac ao de multiplicac ao de classes de Z
n
.
Primeiro precisamos vericar que a operac ao est a fechada em U(n). Se a e b s ao elementos
de Z
n
, j a sabemos que a b est a em Z
n
, mas n ao podemos transpor isso para U(n) sem analise
cuidadosa. Precisamos vericar que o produto de dois elementos inversveis de Z
n
ainda e um
elemento inversvel de Z
n
.
Seja a e b elementos de U(n). Pela deni cao de U(n), a e b possuem inversos, digamos a
t
e
b
t
. Ent ao ab e inversvel e seu inverso e a
t
b
t
. Para vericarmos, basta multiplicarmos estes dois
elementos.
ab a
t
b
t
= aba
t
b
t
= aa
t
bb
t
= aa
t
bb
t
= 1
Assim, temos um conjunto, U(n), onde est a denida uma operac ao, o produto de classes. Pre-
cisamos vericar que tal opera cao satisfaz as propriedades da denic ao de grupo. A associatividade
em U(n) segue da associatividade em Z e da denic ao de produto de classes. Se a, b U(n), temos
a b = a b = b a = b a
O elemento neutro e 1, que e inversvel em Z
n
, e portanto esta em U(n). Finalmente, a
existencia de inverso para cada elemento de U(n) vem da pr opria denic ao de U(n). Portanto
U(n) e um grupo para o produto de classes.
86
Grupos Aritmeticos Secao 7.3
Vamos agora tentar determinar a ordem de U(n). Comecemos denindo uma func ao que,
a cada inteiro positivo n, associa outro inteiro positivo, a ordem de U(n). Esta e a fun cao de
Euler ou func ao totiente. Assim a ordem de U(n) e denotada por (n).
Vejamos como calcular , inicialmente em alguns casos especiais. Seja p um inteiro primo.
Dessa forma, todos os inteiros positivos menores que p s ao primos relativos com p, logo
U(p) = Z
p
0
tem p 1 elementos, e portanto (p) = p 1.
Tambem e f acil calcular (p
k
) para p primo. Precisamos contar os inteiros positivos menores
que p
k
que nao s ao divisveis por p.

E mais facil contar aqueles que s ao dvisiveis por p. Se a,
0 a < p
k
, e divisvel por p, ent ao
a = p b, com 0 b < p
k1
portanto ha p
k1
inteiros positivos menores que p
k
que s ao divisveis por p. Logo, h a p
k
p
k1
que n ao s ao divisveis por p, ou seja
(p
k
) = p
k
p
k1
= p
k1
(p 1).
Para obtermos uma f ormula geral, iniciaremos interpretando o Teorema Chines do Resto em
forma de tabela. Sejam m e n inteiros tais que mdc(m, n)=1. Construmos uma tabela com m n
casas. No alto da tabela, ao longo da horizontal, escrevemos os elementos de Z
m
, e a esquerda, ao
longo da vertical, os elementos de Z
n
. A casa da tabela que ca no encontro da coluna indexada
por a Z
m
com a linha indexada por b Z
n
ser a ocupada pelo inteiro x tal que:
(1) 0 x mn 1
(2) x a (mod m) e x b (mod n)
Neste caso, dizemos que x tem coordenadas (a, b) na tabela.
O Teorema Chines do Resto nos garante que todas as casas ser ao preenchidas. Alem disso,
duas casas distintas (a, b) e (c, d) n ao podem ser preenchidas com um mesmo inteiro. De fato, se
(a, b) e (c, d) s ao coordenadas de casas distintas, ent ao devemos ter a ,= c ou b ,= d. Suponha que
ambas as casas fossem preenchidas por um mesmo inteiro x
0
. Desse modo teramos
x
0
a (mod m)
x
0
b (mod n)
e
x
0
c (mod m)
x
0
d (mod n)
Da, segue que
a c 0 (mod m) e b d 0 (mod n).
87
Captulo 7 Um Pouco de Estruturas Algebricas
Mas por hip otese, a, c < m e b, d < n, e portanto [a c[ < m e [b d[ < n, o que nos permite
concluir que a c 0 (mod m) e b d 0 (mod n) se, e somente se, a = c e b = d, o que
contradiz a hip otese das casas serem distintas. Logo, duas casas de coordenadas distintas nunca
s ao preenchidas com um mesmo n umero.
Entendida esta interpretac ao do Teorema Chines do Resto, vamos demonstrar a seguinte ar-
mac ao: digamos que x Z
mn
tem coordenadas (a, b) na tabela discutida anteriormente. Ent ao
AFIRMA C

AO: x U(nm) se, e somente se, a U(m) e b U(n).


DEMONSTRA C

AO. Se x U(mn), ent ao x tem inverso x


t
U(mn), e portanto xx
t
1 (mod mn),
ou seja, xx
t
1 e divisvel por mn. Em particular, xx
t
1 e divisvel por m, ou seja,
x x
t
1 (mod m). Como x a (mod m), multiplicando ambos os lados da congruencia
por x
t
, obtemos 1 xx
t
ax.
Portanto a e inversvel em Z
m
, ou seja, a U(m). De maneira an aloga conclumos que
b U(n).
Passemos a demonstracao da recproca. Seja x Z
mn
e suponhamos que suas coordenadas
satisfazem a U(m) e b U(n). Precisamos mostrar que x e inversvel m odulo mn. Seja a
t
o
inverso de a em Z
m
, e b
t
o inverso de b em Z
n
. Pelo Teorema Chines do Resto, existe um inteiro
y tal que 0 y mn 1 e
y a
t
(mod m)
y b
t
(mod n)
Vamos mostrar que y Z
mn
e o inverso de x. Como x a (mod m) e y a
t
(mod m) temos
xy aa
t
1 (mod m)
logo xy 1 e divisvel por m. Da mesma forma, como x b (mod n) e y b
t
(mod n) temos
que
xy bb
t
1 (mod n)
e portanto xy 1 e divisvel por n. Como mdc(m, n) = 1, temos que xy 1 e divisvel por mn,
ou seja
xy 1 (mod mn)
e portanto y e o inverso de x em Z
mn
, ou seja, x U(mn)
Com esta armac ao demonstrada, e facil demonstrar o seguinte teorema.
TEOREMA 7.3.1. Se m, n sao inteiros positivos tais que mdc(m, n) = 1, entao
(mn) = (m)(n).
DEMONSTRA C

AO. Queremos calcular (mn). Por denic ao, isto e o n umero de elementos de
88
Subgrupos Secao 7.4
U(mn). Pela armac ao anterior queremos contar o n umero de casas da tabela cujas coordenadas
est ao em U(m) e U(n), respectivamente. Temos (m) colunas cujos ndices estao em U(m), e
para cada uma dessas, temos (n) linhas cujo ndice est a em U(n). Portanto temos (m) (n)
casas com as coordenadas em U(m) e U(n) respectivamente. Portanto
(mn) = (m)(n)
Feito isso, temos tudo o que e necessario para obter uma formula geral para (n). Dado um
inteiro n, primeiro fatore n.
n = p
e
1
1
p
e
k
k
onde p
1
< < p
k
s ao primos distintos. Pelo teorema anterior, temos
(n) = (p
e
1
1
) (p
e
k
k
).
Usando o c alculo de para potencias de primos, obtemos
(n) = p
e
1
1
1
p
e
k
1
k
(p
1
1) (p
k
1).
Facamos um exemplo numerico simples. Se n = 504 = 2
3
3
2
7, ent ao
(504) = 2
2
3 (2 1)(3 1)(7 1) = 144.
Apesar de teoricamente simples, essa f ormula e limitada, pois para aplica-la e necessario fatorar
n, que e um problema muito difcil.
7.4 Subgrupos
Seja G um grupo, e uma operac ao em G. Um subconjunto nao vazio H de G e um subgrupo de
G se:
(1) a, b H tem-se a b H
(2) O elemento neutro de G est a em H
(3) Para todo a H, seu inverso a
t
tambem est a em H
Para denotar que H e um subgrupo escrevemos H < G.
Note que um grupo e um subgrupo compartilham da mesma operac ao. Por exemplo, Q0
e um grupo para o produto, e esta contido em Q, mas n ao e subgrupo de Q, visto que este e um
grupo para a soma, e n ao para o produto.
89
Captulo 7 Um Pouco de Estruturas Algebricas
Nos grupos nitos e possvel estabelecermos rela coes entre a ordem do grupo e as ordem de
seus subgrupos. Vamos estudar uma dessas relac oes: o teorema de Lagrange. Para a prova deste
teorema, vamos usar relac oes de equivalencia.
Seja G um grupo e H um subgrupo de G. Vamos denir uma relac ao de equivalencia em G
usando H.
Sejam x e y elementos de G. Diremos que x e y s ao congruentes modulo H, x y (mod H),
se
x y
t
H
onde y
t
e o inverso de y em G. Veriquemos que esta relac ao e de fato uma relac ao de equivalencia.
Sejam x, y, z G.
(1) Reexividade: x x
t
= e. Como e H (pois e subgrupo) temos que x x (mod H).
(2) Simetria: se x y (mod H) temos que x y
t
H. Mas como H e subgrupo, todos os seus
elementos possuem inverso em H. Mas o inverso de xy
t
e y x
t
H, logo y x (mod H).
(3) Transitividade: digamos que x y (mod H) e y z (mod H). Isto signica que xy
t
H
e y z
t
H. Como e uma operac ao em H, temos que (x y
t
) (y z
t
) H, ou seja,
x z
t
H, e isto signica que x z (mod H).
Visto que a rela cao de congruencia m odulo H e uma relac ao de equivalencia, vamos determinar a
classe de equivalencia de um elemento x G. Por denic ao,
x = y G : y x (mod H)
Mas y x (mod H) e equivalente ` a dizer que y x
t
H, isto e, existe um elemento h H tal
que y x
t
= h y = h x. Sendo assim, podemos escrever a classe de equivalencia de x como
h x : h H
Note que a classe do elemento neutro e o pr oprio H. Usaremos a notac ao Hx para a classe de
equivalencia de um elemento x. A rela cao de congruencia modulo H e uma generalizac ao da
relac ao de congruencia m odulo n nos n umeros inteiros. No caso particular destes, temos que
G = Z, a opera cao e a adic ao e o subgrupo H e Zn = n k : k Z. Agora temos condi coes de
demonstrar o
TEOREMA 7.4.1 (Teorema de Lagrange). Em um grupo nito, a ordem de qualquer subgrupo
divide a ordem do grupo.
DEMONSTRA C

AO. Seja G um grupo nito com operac ao , e seja H um subgrupo de G. Precisamos


contar quantos elementos tem H. Primeiramente, vamos mostrar que, para um dado x H, Hx
e H tem o mesmo n umero de elementos.
90
Subgrupos Secao 7.4

E claro que Hx n ao pode ter mais elementos do que H, visto que para obter Hx, multiplicamos
cada elemento h H por um elemento xo x G. Alem disso, Hx n ao pode ter menos elementos
do que H, pois para isso acontecer seria necessario dois elementos distintos h
1
, h
2
H de modo
que h
1
x = h
2
x, mas esta equa cao nos levaria a concluir que h
1
= h
2
, multiplicando ` a esquerda
por x
t
.
Sabemos que G e a reuniao de todas as classes de equivalencia. Visto que duas classes ou sao
iguais ou s ao disjuntas, o n umero de elementos de G e igual a soma do n umero de elementos de
cada classe (classes disjuntas).
Mas mostramos que qualquer classe tem o mesmo n umero de elementos, e esse n umero e a
ordem de H.
Sendo assim, o n umero de elementos de G e igual a ordem de H vezes o n umero de classes, ou
seja, a ordem de H e um divisor da ordem de G.
Seja G um grupo, e S um subconjunto nao vazio de G. Denotaremos por S
1
= s
1
[s S.
Vamos denir um conjunto usando S, e na sequencia mostraremos que este conjunto e um subgrupo
de G. Faremos uso da notac ao multiplicativa.
S
.
= a
1
a
2
a
n
[n N, a
i
S ou a
i
S
1

Entendamos quem s ao elementos de S. Um elemento de S e igual ao produto de uma


quantidade nita de elementos de G, de modo que cada fator deste produto ou e um elemento de
S ou e o inverso de um elemento de S.
PROPOSI C

AO 7.4.2. Seja G um grupo e S um subconjunto nao vazio de S. Entao o conjunto


S e subgrupo de G.
DEMONSTRA C

AO. Precisamos mostrar que


(1) a, b S tem-se ab S
(2) O elemento neutro de G est a em S
(3) Para todo a S, seu inverso a
1
tambem est a em S
Seja a e b elementos de S. Da denic ao de S temos que
a = a
1
a
2
a
n
com a
i
S ou a
i
S
1
, i
b = b
1
b
2
b
m
com b
j
S ou b
j
S
1
, j.
Portanto ab = a
1
a
2
a
n
b
1
b
2
b
m
satisfaz a denicao de S, logo ab S, o que demonstra a
condic ao (1).
91
Captulo 7 Um Pouco de Estruturas Algebricas
Agora, tome a um elemento qualquer de S. Sendo e o elemento neutro de G, podemos escrever
e = a a
1
ou seja, e e igual ao produto de elemento de S e inversos de elementos de S, logo e S,
demonstrando a condi cao (2).
Finalmente, se
x = a
1
a
2
a
n
com a
i
S ou a
i
S
1
, i
e um elemento de S, ent ao
y = a
1
n
a
1
n1
a
1
2
a
1
1
e seu inverso, e claramente e um elemento de S, pois se a
i
S ent ao a
1
i
S
1
, e se a
i
S
1
ent ao a
1
i
S, logo y S, o que demonstra (3).
Portanto, de fato S e subgrupo de G.
DEFINI C

AO 7.4.3. Dados G um grupo e S um subconjunto nao vazio de G, denimos o subgrupo


gerado por S como sendo o conjunto S
Note que se g G, ent ao
g = ..., (g
1
)
2
, g
1
, e, g, g
2
, ....
Se r N denotaremos (g
1
)
r
por g
r
. Dessa forma
g = g
t
[t Z.
Feita essa discuss ao, podemos denir grupo cclico e provar um resultado que relaciona a ordem
de um elemento g de um grupo G com a ordem do subgrupo gerado por esse elemeno g G.
DEFINI C

AO 7.4.4. Um grupo G e cclico quando ele pode ser gerado por um unico elemento, isto
e, quando G = g para algum g G.
Uma consequencia de um grupo ser cclico e a seguinte:
PROPOSI C

AO 7.4.5. Se um grupo G e cclico, entao G e abeliano.


DEMONSTRA C

AO. Se G e cclico, signica que existe g G tal que g = G, isto e,


x G, t Z : g
t
= x.
Sejam x e y dois elementos quaisquer de G. Por hipotese existem inteiros r e s tais que
g
r
= x e g
s
= y.
92
Subgrupos Secao 7.4
Disto segue que
x y = g
r
g
s
= g
r+s
= g
s+r
= g
s
g
r
= y x
ou seja, G e abeliano.
Como consequencia deste resultado temos, por exemplo, que o grupo D
3
que vimos na segunda
se cao nao e cclico, pois n ao e abeliano.
Recordando: sendo G um grupo, a ordem de um elemento g G e o menor inteiro positivo
k tal que a
k
= e, onde e e o elemento neutro do grupo G; e a ordem de um subgrupo H < G
e o n umero de elementos de H. Usaremos as notac oes [g[ e [H[ para denotar as ordens de um
elemento e de um subgrupo de G, respectivamente. Temos a seguinte proposicao:
PROPOSI C

AO 7.4.6. Seja G um grupo, g G um elemento de G e H < G um subgrupo de G.


Se a ordem de g e igual a k, k Z

+
, entao a ordem do subgrupo gerado por g tambem e k.
[g[ = k [g[ = k, k Z

+
DEMONSTRA C

AO. Suponha que [g[ = k, ou seja, k e o menor inteiro positivo tal que g
k
= e.
Vamos mostrar que g tem k elementos. Da denic ao de subgrupo gerado, temos que
g = ..., (g
1
)
2
, g
1
, e, g, g
2
, ....
Seja A = e, g, g
2
, ..., g
k1
. Armamos que g = A. A inclusao A g e trivial. Basta
mostrarmos que g A. De fato, seja s um inteiro. Dividindo s por k, e obtemos inteiros q e r,
com 0 r k 1, e
s = kq + r
e da
g
s
= g
kq+r
= (g
k
)
q
g
r
= g
r
pois 0 r k 1 e g
k
= e, e portanto g
s
A. Logo, g A. Alem disso, dois elementos
de A s ao distintos, pois se existirem inteiros a e b com a < b < k e g
a
= g
b
, multiplicando essa
igualdade por g
a
, obteriamos
g
ba
= e
mas isso contradiz a minimalidade de k. Dessa forma, A tem k elementos e A = g. Portanto a
ordem de g e k.
Para encerrar o captulo, vamos mostrar o teorema de Euler, generalizac ao do teorema de
Fermat e consequencia do teorema de Lagrange.
TEOREMA 7.4.7 (Teorema de Euler). Sejam n > 0 e a n umeros inteiro. Se mdc(a, n) = 1 entao
a
(n)
1 (mod n)
93
Captulo 7 Um Pouco de Estruturas Algebricas
DEMONSTRA C

AO. Como a e n s ao primos entre s, a U(n). Logo, a ordem de a divide a ordem


de U(n), que e (n). Sendo k a ordem de a, isto signica que (n) = kr, para algum inteiro r.
Desse modo
(a)
(n)
= (a
k
)
r
= 1
que e equivalente `a equa cao do teorema de Euler.
94
Captulo
8
De Volta ` a Mersenne e Fermat
J a vimos que as formulas exponenciais s ao aquelas que mais nos rendem resultados (ou pelo
menos esperanca de) quando estamos interessados em produzir primos grandes. Neste captulo
estudaremos mais um pouco sobre os n umeros de Mersenne e de Fermat. Vamos procurar primos
entre os n umeros da forma 2
n
1.
8.1 N umeros de Mersenne
Comecemos pelos n umeros de Mersenne
M(n) = 2
n
1
Se n e composto, j a sabemos que M(n) tambem e composto:
n = r s 2
n
1 = (2
r
)
s
1 = (2
r
1)(2
r(s1)
+ 2
r(s2)
+ + 2
r
+ 1)
ou seja, M(r) e fator de M(n) = M(rs).

E claro que M(s) tambem e fator de M(n).
Sendo assim, se queremos encontrar primos entre os n umeros de Mersenne, procur a-los-emos
somente entre os n umeros M(p), com p primo. Ja sabemos tambem que a primalidade de p n ao
garante a primalidade de M(p).
Vamos discutir um metodo, devido `a Fermat, para buscar fatores de um n umero de Mersenne.
A ideia e descobrir uma formula geral para os primos que podem ser fatores de um n umero de
Mersenne. Vamos usar ferramentas desenvolvidas no captulo anterior, da teoria dos grupos.
Comecamos por um resultado, complementar ao teorema de Lagrange, que j a fora citado e usado
na demonstrac ao do teorema de Korselt (TEOREMA 5.4.3, p. 61).
LEMA 8.1.1 (Lema Chave). Seja G um grupo nito, munido de uma operacao . Sendo a G, um
inteiro positivo t satisfaz a
t
= e se, e somente se, t e divisvel pela ordem de a.
95
Captulo 8 De Volta `a Mersenne e Fermat
DEMONSTRA C

AO. Seja s a ordem de a G. Se s divide t, ent ao t = s r para algum inteiro r, e


a
t
= a
sr
= (a
s
)
r
= e
r
= e
Para provar a recproca, suponha que a
t
= e. Como a ordem de a e o menor inteiro positivo s tal
que a
s
= e, devemos ter s t. Dividindo t por s, encontramos inteiros q e r tais que
t = s q + r, 0 r < s
Dai
e = a
t
= (a
s
)
q
a
r
= a
r
visto que a
s
= e. Como a
r
= e e r < s, s o podemos ter r = 0, caso contr ario teramos uma
contradic ao ` a minimalidade de s. Portanto t e divisvel pela ordem de a.
Vamos, entao, aos n umeros de Mersenne. Seja p ,= 2 um n umero primo e seja q um fator primo
de M(p) = 2
p
1. Ent ao 2
p
1 = q s, para algum inteiro s, ou seja
2
p
1 (mod q)
Esta congruencia pode ser vista como uma identidade no grupo U(q).
2
p
= 1
Pelo lema chave, a ordem de 2 tem que dividir p. Como p e primo, temos que a ordem de 2 em
U(q) e 1 ou p.
Se a ordem de 2 fosse 1, teramos
2 = 1
em U(q). Mas isto signicaria 2 1 (mod q), ou seja, q[2 1, absurdo, pois q ,= 1. Sendo assim,
a ordem de 2 em U(q) e p.
Por outro lado, pelo teorema de Fermat,
2
q1
= 1 em U(q)
Mais uma vez, pelo lema chave, a ordem de 2, que ja sabemos ser p, divide q 1, ou seja, existe
um inteiro k tal que q 1 = kp. Mas podemos concluir mais.
Como M(p) = 2
p
1 e um n umero mpar, todos os fatores de M(p) devem ser mpares. Em
particular, q e mpar, e portanto q 1 e par. Como p e mpar, conclumos que k, na equac ao
acima, deve ser par, e portanto q 1 = 2rp para algum inteiro r. Est a demonstrado o seguinte
resultado.
96
N umeros de Fermat Secao 8.2
Metodo de Fermat: Seja p ,= 2 um primo e q um fator primo de M(p). Ent ao q = 1 + 2rp
para algum inteiro r.
Vamos dar um exemplo para entender como o metodo funciona. Vamos procurar um fator
de M(11) = 2047. Temos que qualquer fator primo de M(11) e da forma q = 1 + 22r. O que
fazemos e atribuir valores a r e testar, em cada caso, se temos um fator ou nao. Antes, vamos
tentar encontrar um limitante superior para r.
Se M(p) for composto, ent ao possui um fator primo menor ou igual que
_
M(p). Dessa forma
q = 1 + 2rp
_
M(p).
Tambem temos que
M(p) = 2
p
1 < 2
p

_
M(p) <

2
p

_
M(p) < 2
p/2
e portanto
1 + 2rp < 2
p/2
r <
2
p/2
1
2p
Quando p = 11, obtemos r < 2, 011.... Portanto devemos testar apenas r = 1 e r = 2. Muito
eciente. Fazendo r = 1 temos q = 1 + 22 1 = 23, que e fator de 2047.
2047 = 23 89
8.2 N umeros de Fermat
Vamos considerar os n umeros da forma 2
n
+ 1. Vamos supor que p = 2
n
+ 1 seja primo. Temos
que
2
n
= 1 em U(p)
e portanto
2
2n
= 1 em U(p)
Disto temos que a ordem de 2 em U(p) divide 2n. Note que da primeira equa cao, 2
n
= 1, a
ordem de 2 nao pode ser n, e nem um divisor de n. Como ela deve dividir 2n, temos que a ordem
de 2 deve ser um m ultiplo de 2. Digamos que a ordem de 2 seja 2r, com r um inteiro positivo
divisor de n. Assim
2
2r
= 1 em U(p)
Da,
0 = 2
2r
1 = (2
r
+ 1)(2
r
1)
97
Captulo 8 De Volta `a Mersenne e Fermat
em Z
p
. Como estamos supondo p primo, podemos concluir que
2
r
1 (mod p) ou 2
r
1 (mod p)
ou seja, p divide 2
r
+ 1 ou 2
r
1. Mas n r e p = 2
n
+ 1, portanto devemos ter r = n, e assim a
ordem de 2 em U(p) e 2n.
Como p 1 = 2
n
, pelo teorema de Fermat
2
p1
= 2
2
n
= 1 em U(p)
e portanto, a ordem de 2 (que e 2n) divide 2
n
. Em particular, conclumos que a ordem de 2 em
U(p) e uma potencia de 2, ou seja, 2
n
+ 1 s o pode ser primo quando n e uma potencia de 2.
Isto justica o fato de estarmos interessados nos n umeros da forma 2
2
k
+ 1, os n umeros de
Fermat, F(k).
Digamos que q e um fator primo de F(k). Ent ao
2
2
k
= 1 em U(q) 2
2
k+1
= 1 em U(q)
O lema chave nos permite concluir que a ordem de 2 divide 2
k+1
. Da equac ao
2
2
k
= 1 em U(q)
conclumos que a ordem de 2 n ao pode ser uma potencia menor que 2
k+1
. Portanto a ordem de 2
em U(q) e exatamente 2
k+1
. Como q e primo, temos que
2
q1
= 1 em U(q)
e conclumos que a ordem de 2 em U(q), 2
k+1
, divide q 1, ou seja, q 1 = r 2
k+1
para algum
r inteiro. O raciocnio que desenvolvemos e parecido com o que Fermat fez para os n umeros de
Mersenne, mas ironicamente foi Euler quem desenvolveu esse metodo, apenas adaptanto para os
n umeros de Fermat o que o frances havia feito para os n umeros de Mersenne.
Metodo de Euler: Se q e um fator primo de F(k), entao existe um inteiro positivo r tal que
q = 1 + r 2
k+1
8.3 O metodo de Lucas-Lehmer
O proximo teste que estudaremos foi inventado por E. Lucas em 1878, e aperfeicoado por D. H.
Lehmer, em 1932.
98
O metodo de Lucas-Lehmer Secao 8.3
O teste usa uma sequencia de inteiros denida recursivamente por:
S
0
= 4 e S
k+1
= S
2
k
2
Primeiramente, vamos vericar que qualquer elemento da sequencia se escreve como potencia
de n umeros irracionais.
Considere w = 2 +

3 e v = 2

3. Vamos mostrar que


S
n
= w
2
n
+ v
2
n
. (8.1)
Obviamente, w + v = S
0
, e portanto a relac ao vale para n = 0. Suponha que S
n
= w
2
n
+ v
2
n
.
Elevando os dois membros ao quadrado, obtemos
S
2
n
= (w
2
n
)
2
+ 2 w
2
n
v
2
n
+ (v
2
n
)
2
= w
2
n+1
+ 2(wv)
2
n
+ v
2
n+1
Como wv = (2 +

3)(2

3) = 2
2

3
2
= 4 3 = 1, temos
S
2
n
= w
2
n+1
+ 2 + v
2
n+1
w
2
n+1
+ v
2
n+1
= S
2
n
2
Mas S
2
n
2 = S
n+1
por denic ao. Portanto, pelo princpio de induc ao nita
w
2
n
+ v
2
n
= S
n
n N
Antes de demonstrar o teste, vamos introduzir novos grupos que serao uteis para a demons-
tracao.
Considere o conjunto Z
_
3

denido por
Z
_

3
_
= a + b

3 : a, b Z
A soma e a multiplica cao em Z
_
3

ser ao as mesmas que estamos habituados em R. Note que


qualquer inteiro a pode ser escrito como a +0

3, logo Z Z
_
3

. A soma e o produto de dois


elementos de Z
_
3

ainda e um elemento de Z
_
3

.
(a + b

3) + (c + d

3) = (a + c) + (b + d)

3
(a + b

3)(c + d

3) = (ac + 3bd) + (ad + bc)

3
Note que Z
_
3

e um grupo com respeito ` a soma: a operac ao + e evidentemente associativa,


0 + 0

3 e o elemento neutro, e o elemento inverso de a + b

3 e (a + b

3) = (a) + (b)

3
99
Captulo 8 De Volta `a Mersenne e Fermat
Considere agora o seguinte conjunto: sendo q um inteiro primo, denimos
I(q) =
_
q : Z
_

3
__
Temos que
(1) 0 = q 0 I(q)
(2) q + q = q( + ) I(q), , Z
_
3

(3) se q I(q), ent ao Z


_
3

, e como Z
_
3

e grupo, entao Z
_
3

, e portanto
(q) = q() I(q).
portanto I(q) e um subgrupo do grupo aditivo Z
_
3

.
Do que vimos no captulo anterior, temos que a relacao de congruencia modulo I(q) e uma
relac ao de equivalencia em Z
_
3

. Recordando: dados , Z
_
3

, ent ao (mod I(q))


quando I(q)
Seja Z
_
3

. Ent ao se escreve como


= a
1
+ a
2

3
Dividindo a
1
e a
2
por q obtemos
a
1
= q b
1
+ r
1
, 0 r
1
< q
a
2
= q b
2
+ r
2
, 0 r
2
< q
Sabemos que r
1
e r
2
s ao determinados de maneira unica. Dena = r
1
+ r
2

3. Da,
= (a
1
+ a
2

3) (r
1
+ r
2

3)
= (qb
1
+ r
1
) + (qb
2
+ r
2
)

3 r
1
r
2

3
= q(b
1
+ b
2

3)
Portanto (mod I(q)). O n umero ser a chamado de forma reduzida de m odulo I(q). Da
unicidade do resto da divis ao euclidiana, segue que cada elemento de Z
_
3

tem uma unica forma


reduzida. Se = r
1
+r
2

3 e a forma reduzida de um elemento de Z


_
3

, note que 0 r
1
, r
2
< q,
ou seja, r
1
pode assumir q valores, assim como r
2
. Portanto h a exatamente q
2
formas reduzidas
distintas modulo I(q) em Z
_
3

.
Alem disso, cada classe de equivalencia de Z
_
3

m odulo I(q) pode ser representada por


um elemento em forma reduzida, e duas classes representadas por elementos de formas reduzi-
das distintas s ao obrigatoriamente distintas. Portanto o conjunto Z
_
3

_
I(q) das classes de
equivalencia m odulo I(q) tem q
2
elementos.
100
O metodo de Lucas-Lehmer Secao 8.3
Denotaremos a classe de Z
_
3

m odulo I(q) por . Vamos denir uma multiplica cao em


Z
_
3

_
I(q) por


=


Primeiramente, veriquemos que tal operac ao esta bem denida: sejam e
t
representantes
da classe , e e
t
representantes da classe

. Note que

t

t
=
t
+
t

t

t
= (
t
) +
t
(
t
) I(q)
pois
t
(mod I(q)) e
t
(mod I(q)), e portanto

=

t
.
A opera cao , denida anteriormente, e associativa, comutativa e tem

1 como elemento neutro.


Mas Z
_
3

_
I(q) nao e um grupo para esta operac ao. Por exemplo,

0 nao possui inverso em
Z
_
3

_
I(q).
Assim como zemos em Z
n
, vamos considerar o conjunto V (q) formado pelos elementos in-
versveis de Z
_
3

_
I(q). Este novo conjunto e um grupo, pois o produto de dois elementos
inversveis ainda e um elemento inversvel: sejam , V (q) com inversos
1
e
1
. O inverso
de e
1

1
, pois
()(
1

1
) = (
1
)
1
= 1
1
=
1
= 1.
Temos que
V (q) Z
_

3
_ _
I(q)

0
portanto a ordem de V (q) e necessariamente menor que q
2
.
Alem disso, como w v = (2 +

3)(2

3) = 1, temos que w e v pertencem a V (q).


TESTE 8.3.1 (Teste de Lucas-Lehmer). Seja p um primo positivo. O n umero de Mersenne M(p) e
primo se, e somente se, S
p2
0 (mod M(p)).
Provaremos apenas que a condicao e necessaria. Para uma demonstracao completa, sugerimos
consultar [02].
DEMONSTRA C

AO. Suponha que, para algum primo p, o n umero de Mersenne M(p) = 2


p
1 divide
S
p2
. Por (8.1) existe um inteiro r tal que
w
2
p2
+ v
2
p2
= rM(p)
101
Captulo 8 De Volta `a Mersenne e Fermat
Multiplicando esta equac ao por w
2
p2
, e relembrando que wv = 1, obtemos
w
2
p1
+ 1 = rM(p)w
2
p2
. (8.2)
Suponha, agora, que M(p) e composto e que q e seu menor fator primo, e vamos tentar chegar a
uma contradic ao. Como q divide M(p), obtemos a partir de (8.2) que
w
2
p1
=

1 (8.3)
em Z
_
3

_
I(q). Elevando ambos os membros de (8.3) ao quadrado
w
2
p
=

1.
Segue disto, e do lema chave, que a ordem de w tem que dividir 2
p
; mas a equac ao (8.3) tambem
nos diz que esta ordem n ao pode ser uma potencia de 2 menor que 2
p
. Portanto, a ordem de w
em V (q) e 2
p
. Mas pelo teorema de Lagrange, a ordem de w divide a ordem de V (q). Como V (q)
tem ordem menor ou igual a q
2
1, conclumos que 2
p
q
2
1. Entretanto, q e o menor divisor
primo de M(p), de modo que q
2
M(p). Assim
2
p
q
2
1 < q
2
M(p) = 2
p
1 2
p
< 2
p
1
que e a contradic ao desejada. Com isso, se M(p) divide S
p2
ent ao M(p) e primo.
102
Captulo
9
Razes Primitivas
No captulo anterior vimos metodos que nos permitem investigar se n umeros de Mersenne e
Fermat sao primos ou compostos. Mas, e se tomarmos um inteiro n qualquer? No captulo 5,
vimos testes que detectavam inteiros n compostos. Agora, veremos um teste que identica a
primalidade de um inteiro n sem tentar encontrar fatores de n. Este teste e inspirado no teorema
da raiz primitiva, assunto ja citado no captulo 4. Neste captulo iremos nalmente provar este
resultado.
9.1 O teste de Lucas
Seja n Z

+
um inteiro mpar. A pergunta que queremos responder e: n e primo? Suponha que
encontremos um inteiro b tal que a ordem de b em U(n) seja exatamente n 1, isto e,
b
n1
= 1 e b
r
,= 1 sempre que r < n 1
Lembrando que denotamos a ordem de U(n) por (n), pelo teorema de Lagrange a ordem de b,
que e n 1, divide (n), e portanto n 1 (n). Mas (n) n 1, pela propria denic ao da
funcao . Conclumos desse modo que (n) = n 1, e isso s o e possvel se n for primo.
Portanto, a chave est a em encontrar b U(n) com ordem n 1. O seguinte teste nos d a uma
maneira de mostrar que a ordem de um elemento de U(n) e n 1.
TESTE 9.1.1 (Teste de Lucas). Seja n um inteiro positivo mpar e b um inteiro, 2 b n 1. Se
b
n1
1 (mod n) e b
n1
p
, 1 (mod n)
para cada fator primo p de n 1, entao n e primo.
DEMONSTRA C

AO. Seja k a ordem de b em U(n). Precisamos mostrar que k = n1. Por hipotese,
b
n1
= 1.
103
Captulo 9 Razes Primitivas
Pelo lema chave, k divide n 1, ou seja, existe um inteiro t tal que
n 1 = k t.
Portanto, basta mostrarmos que t = 1. Suponha, por absurdo que t > 1. Entao t e divisvel por
algum primo q (t = qs para algum inteiro s).
Temos tambem que q divide n 1, portanto
n 1
q
e
t
q
s ao inteiros. E mais, visto que
n 1
q
= k
t
q
conclumos que k divide
n 1
q
. Como k e a ordem de b, pelo lema chave
b
n1
q
1 (mod n)
o que contradiz as hip oteses. Portanto t = 1, logo k = n 1. Dessa forma, temos um inteiro
b U(n) com ordem n 1, o que implica a primalidade de n.
Apesar de uma demonstrac ao simples, o teste de Lucas apresenta uma pequena diculdade
quanto a aplicac ao. Vamos explicitar tal diculdade com um exemplo simples. Apliquemos o teste
para n = 41
n = 41 n 1 = 40 = 2
3
5 fatores primos 2 e 5.
Precisamos encontrar um inteiro 2 b 40 tal que
b
40
1 (mod 41)
b
20
, 1 (mod 41)
b
8
, 1 (mod 41)
Se escolhemos base b = 2, temos
2
40
(2
6
)
6
2
4
23
6
2
4
18 2
4
1 (mod 41)
mas
2
20
1 (mod 41).
Tentemos, ent ao, base b = 3.
3
40
(3
20
)
2
(1)
2
1 (mod 41)
104
O teste de Lucas Secao 9.1
3
20
1 , 1 (mod 41)
Mas
3
8
1 (mod 41)
Note ainda que
2
8
10 , 1 (mod 41)
ou seja, bases diferentes satisfazem equac oes relativas a fatores diferentes de n 1. Mas o teste
exige que uma unica base satisfaca todas as equa coes. Entretanto, o teste de Lucas pode ser
melhorado, de modo que podemos escolher uma base distinta para cada fator primo de n 1.
TESTE 9.1.2 (Teste de Primalidade). Seja n > 0 um inteiro tal que
n 1 = p
e
1
1
p
e
2
2
p
e
r
r
onde p
1
< < p
r
sao primos. Se para cada i = 1, ..., r existir um inteiro positivo b
i
,
2 b
i
n 1, que satisfaca
b
n1
i
(mod n)
b
n1
p
i
i
, 1 (mod n)
entao n e primo.
DEMONSTRA C

AO. Considere o caso i = 1. Seja s


1
a ordem de b
1
em U(n). Da equac ao
b
n1
1
1 (mod n)
conclumos que s
1
divide n 1, ou seja,
s
1
= p
k
1
1
p
k
r
r
onde 0 k
1
e
1
, ..., 0 k
r
e
r
. Alem disso, por hip otese,
b
n1
p
1
1
, 1 (mod n)
ou seja,
n 1
p
1
n ao e divisivel por s
1
. Como
n 1
p
1
= p
e
1
1
1
p
e
2
2
p
e
r
r
s o podemos ter k
1
= e
1
, e portanto p
e
1
1
divide s
1
. Pelo teorema de Lagrange, s
1
divide a ordem de
105
Captulo 9 Razes Primitivas
U(n).
p
e
1
1
[s
1
e s
1
[(n) p
e
1
1
[(n)
O raciocnio anterior se aplica `a qualquer i = 1, ..., r. Temos ent ao que as equac oes do teste nos
permitem concluir que os inteiros p
e
1
1
, p
e
2
2
, ..., p
e
r
r
dividem (n). Como esses inteiros sao potencias
de primos distintos, eles s ao primos entre s, e portanto o produto
p
e
1
1
p
e
2
2
p
e
r
r
= n 1
divide (n). Como (n) n 1, so resta uma possibilidade, (n) = n 1, ou seja, n e primo.
Como dissemos no incio do captulo, o teste de Lucas tem origem no teorema da raiz primitiva.
Este resultado e alvo da nossa proxima sec ao.
9.2 Teorema da Raiz Primitiva
Antes de demonstrar este teorema, vamos ver um lema que nos ser a util. Este resultado vale
para qualquer grupo abeliano, e n ao apenas para U(p), por isso seu enunciado est a descrito num
contexto mais amplo.
LEMA 9.2.1. Seja G um grupo abeliano nito, munido de uma operacao . Se G tem elementos de
ordens r e s, entao G tem um elemento cuja ordem e igual ao mnimo m ultiplo comum de r e s.
DEMONSTRA C

AO. Sejam a e b elementos de ordem r e s respectivamente. Primeiramente, fa-


toramos r e s em fatores primos
r = p
e
1
1
p
e
k
k
s = p
f
1
1
p
f
k
k
onde os primos n ao estao necessariamente enumerados em ordem crescente. Alem disso, isso nao
signica que r e s tem os mesmos fatores. Se um fator p
i
de r n ao e fator de s, isso signica que
f
i
= 0. Na verdade, e conveniente que enumeremos os primos de modo que para um inteiro g,
1 g k, tenhamos
e
1
f
1
, ..., e
g
f
g
e e
g+1
< f
g+1
, ..., e
k
> f
k
ou seja, os expoentes dos g primeiros primos na fatorac ao de r s ao maiores ou iguais aos expoentes
correspondentes na fatora cao de s, e os expoentes dos primos restantes sao menores na fatora cao
de r do que na de s.
Agora, denimos
r
t
= p
e
1
1
p
e
g
g
e s
t
= p
f
g+1
g+1
p
f
k
k
106
Teorema da Raiz Primitiva Secao 9.2
Obviamente, temos mdc(r
t
, s
t
) = 1. Por outro lado, r
t
s
t
e o produto de potencia dos primos
p
1
, ...p
k
, onde cada primo p
i
aparece com o maior expoente entre e
i
e f
i
, ou seja, r
t
s
t
e o mnimo
m ultiplo comum de r e s. Como r
t
[r e s
t
[s, existem inteiros u e v tais que
r = r
t
u
s = s
t
v
Vamos mostrar que c = a
u
b
v
tem ordem r
t
s
t
.
Seja m = r
t
s
t
o mnimo m ultiplo comum entre r e s. Ent ao r[m e s[m. Digamos que m = rt e
m = sq para certos inteiros t e q. Da,
c
m
= (a
u
b
v
)
m
= a
um
b
vm
= (a
r
)
tu
(b
s
)
qv
= e
Na segunda igualdade acima est a sendo usada a hip otese de G ser abeliano, pois se x, y G
(x y)
q
= x
q
y
q
s o vale se for comutativa.
Como c
m
= e, a ordem de c divide o mnimo m ultiplo comum de r e s.
Agora, se n e a ordem de c, temos
e = c
n
= a
un
b
vn
.
Elevando esta igualdade ao expoente r
t
, chegamos ` a
e = (a
r

u
)
n
b
vnr

= b
vnr

pois r
t
u = r e a ordem de a. Pelo lema chave, a ordem de b, que e s, divide vnr
t
. Mas s = s
t
v, ou
seja, s
t
divide nr
t
. Como s
t
e r
t
s ao primos entre s, conclumos que s
t
divide n. Com raciocnio
analogo, invertendo os papeis de a e b e de r e s, conclumos que r
t
tambem divide n. Da,
r
t
[n
s
t
[n
mdc(r
t
, s
t
) = 1
_

_
r
t
s
t
[n m[n
Mas se m[n e n[m, so nos resta concluir que m = n, e c de fato e o elemento que procuravamos.
TEOREMA 9.2.2 (Teorema da Raiz Primitiva). Se p e primo, entao U(p) e cclico.
DEMONSTRA C

AO. Escolha um elemento qualquer a


1
U(p), onde 1 < a
1
< p1. Seja k
1
a ordem
de a
1
. Se k
1
= p 1, ent ao a
1
e um gerador de U(p), logo U(p) e cclico.
107
Captulo 9 Razes Primitivas
Suponhamos ent ao que k
1
< p 1. O elemento a
1
e uma soluc ao da equac ao x
k
1
= 1 em Z
p
.
Como p e primo, esta equac ao tem no m aximo k
1
soluc oes distintas em Z
p
. Note que os elementos
de
H = 1, a
1
, a
1
2
, a
1
3
, ..., a
1
k
1
1

s ao soluc oes de x
k
1
= 1. Mas H possui k
1
elementos, e portanto em H est ao todas as soluc oes de
x
k
1
= 1. Como k
1
< p 1, existe um elemento b U(p) que nao esta em H e n ao e solucao de
x
k
1
= 1, isto e,
b
k
1
, 1.
Desta ultima express ao e do lema chave, conclumos que se r e a ordem de b, entao r n ao divide
k
1
. Se r = p 1, ent ao b e um gerador de U(p).
Se r < p 1, usando o lema anterior construmos um elemento a
2
que tem ordem
k
2
= mmc(k
1
, r). Como r ,[k
1
, temos k
2
> k
1
.
Repetindo o que zemos com a
1
para o inteiro a
2
, e assim sucessivamente, construiremos uma
sequencia estritamente crescente
k
1
< k
2
< k
3
<
de inteiros que s ao ordens de elementos de U(p), ou seja, k
i
p 1 i. Isso nos garante que
encontraremos um elemento a
j
com [a
j
[ = p 1, e portanto este inteiro a
j
ser a um gerador de
U(p), ou seja, U(p) e cclico.
A demonstrac ao do teorema da raiz primitiva n ao apenas nos garante a existencia de um
gerador de U(p) quando p e primo, mas ela nos diz como construir tal gerador.
Para exemplicar vamos determinar uma raiz primitiva (gerador) de U(73). Procederemos
como na demostracao do teorema. Porem, antes de iniciarmos, precisamos de um metodo (algo-
ritmo) para calcular a ordem de um elemento de U(p).
Seja p primo e a U(p). Seja k a ordem de a. Pelo teorema de Lagrange, k divide a ordem
de U(p). Neste caso, k[p 1. Para aplicar um metodo usado por Gauss, precisamos fatorar p 1.
Digamos que
p 1 = q
e
1
1
q
e
m
m
onde q
1
< < q
m
s ao primos e e
1
, ..., e
m
s ao inteiros positivos. Se k divide p 1, ent ao existem
inteiros nao negativos r
1
, ..., r
m
tais que
k = q
r
1
1
q
r
m
m
e 0 r
1
e
1
, ..., 0 r
m
e
m
. O que faremos e determinar quem sao os inteiros r
1
, ..., r
m
. Assim
determinamos k. Para encontrar o inteiro r
i
, faremos uso de uma sequencia que depende do primo
q
i
. Considere a sequencia
a
p1
, a
(p1)/q
i
, a
(p1)/q
2
i
, ..., a
(p1)/q
e
i
i
108
Teorema da Raiz Primitiva Secao 9.2
m odulo p. Pelo teorema de Fermat, o primeiro termo dessa sequencia e sempre 1. Seja w
i
o
maior inteiro n ao negativo tal que
a
(p1)/q
w
i
i
1 (mod p) (9.1)
Temos duas possibilidades: ou w
i
= e
i
ou w
i
< e
i
. No segundo caso, temos que
a
(p1)/q
w
i
+1
i
, 1 (mod p). (9.2)
Do lema chave e da equac ao (9.1) que caracteriza w
i
, temos que k divide
p 1
q
w
i
i
. Alem disso, de
(9.2) conclumos que k n ao divide
p 1
q
w
i
+1
i
. Escrevendo de outra forma, o inteiro k = q
r
1
1
q
r
i
i
q
r
m
m
divide
q
e
1
1
q
e
i
w
i
i
q
e
m
m
=
p 1
q
w
i
i
mas nao divide
q
e
1
1
q
e
i
w
i
1
i
q
e
m
m
=
p 1
q
w
i
+1
i
o que nos leva `a r
i
= e
i
w
i
. Para esclarecer o que foi feito, passemos ao exemplo. Queremos
determinar uma raiz primitiva de U(73). Portanto temos
p = 73 (p) = p 1 = 72 = 2
3
3
2
Na demonstra cao do teorema da raiz primitiva, a primeira coisa que zemos foi escolher um
elemento a
1
U(p). Para facilitar as contas inicialmente, vamos escolher a
1
= 2. Vamos agora
calcular a ordem de 2 usando o que discutimos anteriormente.
[2[ = 2
r
1
3
r
2
, 0 r
1
3 e 0 r
2
2
Determinando r
1
: 2
(p1)/2
x
, x = 1, 2, 3.
x = 1 2
72
2
= 2
36
= (2
7
)
5
2 = 37 2 = 1
x = 2 2
72
2
2
= 2
18
= 1
x = 3 2
72
2
3
= 2
9
= 1
Portanto, para o primeiro fator primo de a
1
= 2, encontramos w
1
= 3, o que nos leva ` a
r
1
= e
1
w
1
= 0
Determinando r
2
: 2
(p1)/3
x
, x = 1, 2.
x = 1 2
72
3
= 64
109
Captulo 9 Razes Primitivas
x = 2 2
72
9
= 2
8
= 37
Portanto, para o segundo fator primo de a
1
= 2, encontramos w
2
= 0, o que nos leva ` a
r
2
= e
2
w
2
= 2 0 = 2. Portanto
[2[ = 2
0
2
2
= 9 ,= 72 = p 1.
Como [2[ , = 72, precisamos escolher outro inteiro b de modo que b / 2.
2 = 1, 2, 4, 8, 16, 32, 64, 55, 37
Escolhamos b = 3, e calculemos sua ordem.
[3[ = 2
r
1
3
r
2
Determinando r
1
: 3
72/2
y
, y = 1, 2, 3.
y = 1 3
72
2
= 3
36
= (3
4
)
9
= 8
9
= (2
3
)
9
= (2
9
)
3
= 1
3
= 1
y = 2 3
72
2
2
= 3
18
= 72
y = 3 3
72
2
3
= 3
9
= 46
Portanto, para o primeiro fator primo de b = 3, encontramos w
1
= 1, o que nos leva ` a
r
1
= e
1
w
1
= 3 1 = 2
Determinando r
2
: 3
72/3
y
, y = 1, 2.
y = 1 3
72
3
= 3
2
4 = (3
4
)
6
= 8
6
= 1
y = 2 3
72
9
= 3
8
= 64
Portanto, para o segundo fator primo de b = 3, encontramos w
2
= 1, o que nos leva ` a
r
2
= e
2
w
2
= 2 1 = 1. Portanto
[3[ = 2
2
3
1
= 12 ,= 72 = p 1.
Como [b[ ,= 72, vamos usar a
1
= 2 e b = 3 para gerar a
2
. Para isso, usaremos o lema, e
obteremos [a
2
[ = mmc(12, 9) = 36. a
2
= a
1
u
b
v
, onde u v = mdc([a
1
[, [b[) = mdc(12, 9) = 3 e
mdc(u, v) = 1. Fazendo uso da notac ao que usamos na demonstra cao do lema, temos
[2[ = r = 3
2
r
t
= 3
2
u = 1
[3[ = s = 3 2
2
s
t
= 2
2
v = 3
110
Teorema da Raiz Primitiva Secao 9.2
Da, a
2
= 2
1
3
3
= 54. J a sabemos que [54[ = 36.
54 = 1, 54, 69, 3, 16, 61, 9, 48, 37, 27, 71, 38, 8, 67, 41, 24, 55, 50,
72, 19, 4, 70, 57, 12, 64, 25, 36, 46, 2, 35, 65, 6, 32, 49, 18, 23
Agora, escolhemos um novo b / 54. O menor b possvel e b = 5. Precisamos calcular a ordem
de 5. Se encontrarmos [5[ = 72, teremos encontrado um gerador de U(73), caso contr ario teremos
de usar a
2
= 54 e b = 5 para gerar a
3
.
[5[ = 2
r
1
3
r
2
Determinando r
1
: 5
72/2
z
, z = 1, 2, 3.
z = 1 5
72
2
= 5
36
= (5
4
)
9
= 41
9
= 41
6
41
3
= 8 9 = 72
z = 2 5
72
2
2
= 5
18
= (5
9
)
2
= 10
2
= 27
z = 3 5
72
2
3
= 5
9
= 10
Portanto, para o primeiro fator primo de b = 5, encontramos w
1
= 0, o que nos leva `a r
1
= e
1
= 3
Determinando r
2
: 5
72/3
z
, z = 1, 2.
z = 1 5
72
3
= 5
24
= (5
6
)
4
= 3
4
= 8
z = 2 5
72
9
= 5
8
= 2
Portanto, para o segundo fator primo de b = 5, encontramos w
2
= 0, o que nos leva ` a r
2
= e
2
= 2.
Portanto
[5[ = 2
3
3
2
= 72
portanto 5 e gerador de U(73)
111
Captulo 9 Razes Primitivas
112
Captulo
10
Criptograa RSA
Este metodo de criptograa, o mais conhecido dos metodos de chave p ublica, foi inventado
em 1978 por R. L. Riverst, A. Shamir e L. Adleman. As letras RSA correspondem ` as iniciais dos
inventores do c odigo. Finalmente podemos descrever o funcionamento do RSA e entender porque
e seguro.
10.1 Pre-codicacao
A primeira coisa que devemos fazer para usar o RSA e transformar a mensagem em uma sequencia
de n umeros. Vamos fazer um exemplo onde a mensagem contem apenas letras. Esta primeira
etapa ser a chamada de pre-codicacao. Usaremos a seguinte tabela para convertermos letras em
n umeros:
A B C D E F G H I J K L M
10 11 12 13 14 15 16 17 18 19 20 21 22
N O P Q R S T U V W X Y Z
23 24 25 26 27 28 29 30 31 32 33 34 35
Usaremos o n umero 99 para substituir o espaco entre palavras. Por exemplo, a frase Matematica
e divertida gera o n umero
m = 22102914221029181210991499131831142729181310.
que e a mensagem a ser codicada.
O pr oximo passo e escolher os par ametros do sistema RSA. Esses par ametros s ao dois primos
p e q. Seja n = pq. A ultima etapa da fase de pre-codica cao e quebrar o n umero m em blocos.
Esses blocos devem ser n umeros menores que n. No nosso exemplo, vamos escolher p = 11 e
q = 13, logo temos n = 143. Uma possvel maneira de quebrar o n umero m e
22102914221029181210991499131831142729181310
113
Captulo 10 Criptograa RSA
Essa quebra pode ser feita de v arias maneiras, mas alguns cuidados devem ser tomados. Por
exemplo, deve-se evitar que o bloco comece por 0, pois isso traria problemas na decodicac ao.
10.2 Codicando e Decodicando
Passemos, entao, a codicacao dos blocos propriamente dita. Para codicar um bloco b do n umero
m precisamos de dois inteiros: o inteiro n, que j a escolhemos como sendo n = pq = 11 13 = 143,
e outro inteiro e que seja inversvel modulo (n). No caso temos (n) = (p 1)(q 1) = 120.
Vamos escolher e = 7. O par (n, e) = (143, 7) e a chave de codicacao ou chave p ublica. Cada
bloco ser a codicado separadamente, e n ao podemos juntar os blocos codicados am de formar
um longo n umero, os blocos codicados devem ser mantidos separados.
Se a chave de codicac ao e (n, e), como devemos proceder para codicar um bloco b? Note
que b e um inteiro positivo menor do que n. Denotando o bloco codicado por C(b), usaremos a
seguinte receita para calcul a-lo:
C(b) = resto da divisao de b
e
por n.
Em termos de aritmetica modular, temos que C(b) e a forma reduzida de b
e
m odulo n. Vamos
codicar os blocos da nossa mensagem.
C(2) 2
7
128 (mod 143)
C(3) 3
7
42 (mod 143)
C(8) 8
7
57 (mod 143)
C(9) 9
7
48 (mod 143)
C(10) 10
7
10 (mod 143)
C(11) 11
7
132 (mod 143)
C(12) 12
7
12 (mod 143)
C(22) 22
7
22 (mod 143)
C(31) 31
7
125 (mod 143)
C(42) 42
7
81 (mod 143)
C(49) 49
7
36 (mod 143)
C(72) 72
7
19 (mod 143)
C(81) 81
7
16 (mod 143)
C(83) 83
7
8 (mod 143)
C(91) 91
7
130 (mod 143)
C(102) 102
7
119 (mod 143)
114
O RSA funciona? Secao 10.3
Temos assim os blocos da mensagem codicados:
m : 22102914221029181210991499131831142729181310
C(m) : 22 119 130 81 128 119 130 57 12 10 48 130 36 130 125 8 132 81 19 130 16 42 10
Passemos a decodicac ao de um bloco codicado. Para decodicar precisamos conhecer dois
n umeros: n e o inverso de e m odulo (n), que denotaremos por d. O par (n, d) sera chamado de
chave de decodicacao ou chave privada. Sendo a um bloco da mensagem codicada, denotaremos
por D(a) o resultado do processo de decodica cao.
D(a) = resto da divisao de a
d
por n.

E muito simples calcularmos d, desde que conhecamos (n) e e, simplesmente aplicando o


algoritmo euclidiano estendido. Alem disso, e necess ario que sendo b um bloco da mensagem
original, tenhamos D(C(b)) = b, isto e, ao decodicar um bloco codicado, recuperemos o bloco
correspondente da mensagem original. Caso contrario, nosso c odigo ser a in util.
No exemplo que estamos usando, temos n = 143 e e = 7. Aplicaremos o algoritmo euclidiano
estendido para calcular d. Neste caso particular, os c alculos sao simples, pois logo que efetuamos
a divisao de (143) = 120 por 7 encontramos
120 = 7 17 + 1 1 = 120 + (17) 7
ou seja, o inverso de 7 m odulo 120 e -17. Como d ser a expoente de potencias, precisamos de d > 0.
Portanto d = 17 + 120 = 103.
Por exemplo, para decodicar o bloco 8 da mensagem codicada, precisamos calcular a forma
reduzida de 8
103
m odulo 143.
8
103
(8
10
)
10
8
3
12
10
8
3
(12
2
)
5
8
3
144
5
8
3
1
5
8
3
83 (mod 143)
recuperando corretamente o bloco original. Para blocos maiores, teremos diculdade com os
c alculos se nos restringirmos ` a lapis e papel, faz-se necess ario o uso de um sistema de computa cao
algebrica.
10.3 O RSA funciona?
Como observamos anteriormente, para que o RSA funcione, e necessario que ao decodicarmos
um bloco codicado da mensagem, recuperemos o bloco original. Considere um sistema RSA com
par ametros p e q, com n = pq. Entao os dados de codicac ao sao n e e, e os de decodicac ao n
115
Captulo 10 Criptograa RSA
e d. O que precisamos fazer e vericar se dado um inteiro b, 1 b n, temos D(C(b)) = b. Na
verdade, vamos provar apenas que D(C(b)) b (mod n), pois tanto D(C(b)) quanto b ent ao no
intervalo de 1 `a n 1, e portanto s o podem ser congruentes m odulo n se forem iguais. Foi por
isso que escolhemos os blocos da mensagem original como sendo inteiros menores do que n.
Da denic ao de D e C temos
D(C(b)) (b
e
)
d
b
ed
(mod n) (10.1)
Mas d e o inverso de e m odulo (n), e portanto existe um inteiro k de modo que ed = 1 +k(n).
Substituindo em (10.1), obtemos
b
ed
b
1+k(n)
(b
(n)
)
k
b (mod n).
Lembrando que o teorema de Euler no diz que b
(n)
1 (mod n), conclumos que b
ed
b (mod n),
e portanto
D(C(b)) b (mod n),
o que concluiria a demonstrac ao, se nao fosse um pequeno detalhe.
Usamos o teorema de Euler, mas este teorema tem por hip otese que mdc(b, n) = 1. Mas no
nosso caso, e dicil sabermos se isto acontece. De fato, b pode ser qualquer inteiro entre 1 e n1.
Precisamos, ent ao provar a congruencia sem recorrer ao teorema de Euler.
Como n = pq, com p e q primos distintos, vamos calcular a forma reduzida de b
ed
m odulo p e
m odulo q. Vamos fazer os c alculos para o primo p. As contas sao analogas para q. J a sabemos
que
ed = 1 + k(n) = 1 + k(p 1)(q 1)
logo
b
ed
b (b
p1
)
k(q1)
(mod p)
Vamos usar o teorema de Fermat. Para tanto, suponha que p n ao divide b. Entao
b
p1
1 (mod p), o que nos permite concluir que
b
ed
b (mod p)
Como p e primo, no caso em que p divide b a congruencia e vericada imediatamente. Portanto
b
ed
b (mod p) qualquer que seja b. De maneira analoga, e possvel mostrar que b
ed
b (mod q)
para qualquer b.
Portanto b
ed
b e divisvel por p e por q. Como p e q s ao primos distintos, temos que
116
Seguran ca do RSA Secao 10.5
mdc(p, q) = 1, e assim pq divide b
ed
b. Visto que n = pq, conclumos que
b
ed
b (mod n)
mostrando de fato que o metodo funciona. Nos resta considerar apenas sua seguranca.
10.4 Seguranca do RSA
Como o sistema RSA e um sistema de chave p ublica, precisamos saber se n ao e possvel quebrar
o sistema usando as informac oes disponveis a qualquer usuario. O par (n, e) e conhecido. O RSA
ser a seguro se for difcil calcular d se forem conhecidos apenas n e e.
Em termos praticos, para calcular d devemos aplicar o algoritmo euclidiano estendido a (n)
e e. Entretanto, s o conheceremos (n) se soubermos fatorar n, para obtermos p e q. Portanto,
numa primeira an alise, a quebra do sistema RSA s o e possvel se conseguirmos fatorar n. Mas
este e um problema muito difcil, pois este inteiro n e grande, e nao conhecemos algoritmos de
fatorac ao ecientes, isto e, r apidos, para inteiros do porte de n.
A unica situac ao que ainda podemos imaginar e que alguem descubra uma maneira de encontrar
d sem ter de fatorar n, por exemplo, descobrindo um metodo para calcular (n) a partir apenas de
n e e. Mas se tal metodo existir, o que tera sido descoberto, na verdade, e um algoritmo eciente
de fatorac ao.
Suponha conhecidos n e (n). Queremos determinar p e q a partir disto.
_
n = pq
(n) = (p 1)(q 1)
Temos duas inc ognitas e duas equa coes. Note que
(n) = (p 1)(q 1) = pq p q + 1 = n (p + q) + 1
de modo que p + q = n (n) + 1 e conhecido. Alem disso
(p + q)
2
4n = (p
2
+ 2pq + q
2
) 4pq = (p q)
2
ou seja
p q =
_
(p + q)
2
4n
tambem e conhecido. Conhecendo p + q e p q, calculamos p e q, ou seja, fatoramos n. Por isso
acredita-se que quebrar o RSA e fatorar n sejam problemas equivalentes, mas ate agora isso nao
foi demonstrado. A quest ao de seguranca do RSA tem outros aspectos, alguns de carater nao t ao
117
Captulo 10 Criptograa RSA
puramente matem aticos. Veja [03], p.187.
10.5 Coment arios Finais
Ao longo deste texto vimos varios testes e algoritmos para testar se um inteiro n dado e primo ou
composto. Tambem vimos que para uma implementa cao segura do RSA, precisamos de primos p
e q grandes, para que a fatorac ao de n = pq seja difcil.
Dos testes a algoritmos que vimos, alguns sao chamados de testes determinsticos, ou seja,
detectam com certeza se n e primo ou se n e composto, mas apresentam um defeito computacional:
s ao algoritmos de tempo exponencial, ou seja, seu tempo de execuc ao cresce exponencialmente
quando o inteiro n a ser testado cresce. Por outro lado, vimos testes que s ao execut aveis em
tempo polinomial, mas n ao s ao testes determinsticos, ou seja, detectam que um inteiro e primo
com certa margem de erro. Um exemplo que vimos foi o teste de Miller. Note que neste teste h a
a possibilidade da sada do algoritmo ser teste inconclusivo, e neste caso n tem chance de ser
primo.
Se voce pretende escrever um programa para procurar primos grandes, com objetivo nal de
implementar o RSA, voce nao usara testes determinsticos exponenciais, pois provavelmente nao
estara vivo quando o algoritmo parar. O que se faz e usar testes n ao-determinsticos. No caso
do teste de Miller por exemplo, se o aplicarmos usando v arias bases com sada inconclusiva, a
probabilidade de n ser primo e muito alta
1
.
Podemos estar um pouco frustrados neste momento, visto que um matem atico sempre busca
certezas irrefut aveis, e no que se refere aos testes de primalidade a serem implementados com-
putacionalmente, parecemos impotentes. Se n e um inteiro muito grande que queremos saber se
e primo ou nao temos duas opc oes: ou usamos um teste que nos d a certeza, mas que jamais vere-
mos o resultado, por ser um teste de tempo exponencial, ou ent ao usamos outros teste, de tempo
polinomial, mas que n ao garantem a primalidade de n, mas nos d ao apenas uma probabilidade,
ainda que alta.
Mas algo surpreendente aconteceu em agosto de 2002, tres indianos publicaram um artigo no
qual expunham um teste de primalidade determinstico que e executado em tempo polinomial. Os
indianos eram Agrawal, Kayal e Saxena. Assim como no caso do RSA, o algoritmo teve o nome
baseado nas iniciais de seus criadores: algoritmo AKS. Uma coisa curiosa e que dois deles haviam
terminado o curso de gradua cao a pouco tempo.
Vamos citar rapidamente o teorema que justica o funcionamento do algoritmo.
1
No caso do teste de Miller, sendo n e o inteiro a ser testado, se o teste for inconclusivo para n/4 bases entre 1
e n 1, entao n necessariamente e primo. Mas essa quantidade de bases e impraticavel para n grande.
118
Comentarios Finais Secao 10.5
TEOREMA 10.5.1. Sejam n 2 e r 1 inteiros positivos, e seja S = 1, 2, ..., r. Suponha que
(i) r e um primo que nao divide n;
(ii) mdc(n, b b
t
) = 1, quaisquer que sejam b e b
t
distintos em S;
(iii) a desigualdade
_
2r 2
r
_
n
2d]

(r1)/d|
vale para qualquer inteiro positivo d que divide (r 1)/, onde e a ordem de n em U(r); e
(iv) a igualdade
( x +

b)
n
= x
n
+

b
e vericada em Z
n
[x]/(x
r
1) para cada b S.
Entao n e uma potencia de primo.
No enunciado, (x
r
1) denota o ideal gerado por x
r
1. Um ideal e uma estrutura algebrica
analoga aos subgrupos normais em relac ao a aneis. Z
n
[x]/(x
r
1) denota o conjunto quociente do
anel Z
n
[x] pelo ideal (x
r
1).
Algoritmo 10.5.2 (Algortmo AKS).
Entrada: um inteiro positivo mpar.
Sada: primo ou composto.
Etapa 1: verique se n e um quadrado, cubo ou outra potencia de um n umero inteiro. Se for
imprima composto e pare.
Etapa 2: Calcule
N = 2n(n 1)(n
2
1)(n
3
1) (n
4log
2
n|
2
1)
e determine o menor primo r que n ao divide N.
Etapa 3: Verique se n e divisvel por algum primo q < r. Se for, e se
q = n, imprima primo e pare.
q < n, imprima composto e pare.
Etapa 4: Verique se
( x +

b)
n
= x
n
+

b em Z
n
[x]/(x
r
1),
para cada b S1, 2, ..., r. Se a congruencia n ao for vericada para algum b S, imprima
composto e pare.
Etapa 5: Se a congruencia for vericada para todo b S, imprima primo e pare.
119
Captulo 10 Criptograa RSA
Para detalhes e demonstrac oes sobre o AKS, consulte [04]. Para encerrar, vamos deixar claro
qualquer confusao que possa surgir sobre a rela cao entre AKS e RSA.
O AKS e um algoritmo que verica se um inteiro n dado e primo ou composto. Portanto, o AKS
auxilia a implementa cao do RSA, pois este necessita de dois primos grandes como parametros.
Alguem poderia pensar: se o AKS detecta primos grandes com facilidade (algoritmo determinstico
de tempo polinomial), ent ao podemos usa-lo para quebrar um sistema RSA. Isso nao e verdade,
pois o AKS nao encontra fatores de n, apenas diz se e primo ou composto. Se temos um sistema
RSA de par ametros p e q, temos n = pq. Se inserirmos n no algoritmo AKS, ele detectar a que n
e composto, pois n = pq, mas nenhuma informac ao teremos a respeito de quem sao os primos p e
q. Portanto deve car claro a diferenca entre dois problemas:
1. Determinar se um inteiro e primo ou composto
2. Sendo n composto, encontrar seus fatores primos.
Para o primeiro problema, vimos varios testes e algoritmos que sao ecientes. O melhor deles e
o AKS. Ja o segundo parece ser um dos problemas mais difceis na matem atica. Como j a dissemos,
n ao s ao conhecidos algoritmos ecientes (r apidos) para fatorar n se este inteiro for grande. Por
enquanto isso e bom, pois nos garante seguranca para continuarmos fazendo transacoes bancarias
pela internet.
120
Bibliograa
[01] ALFORD, W.R., GRANVILLE, A. and POMERANCE, C. There are innitely many
Carmichael numbers, Ann. of Math. (2), 139 (1994), no. 3, pg. 703-722.
[02] BRESSOUD, D. M. (1989) Factorization and primality testing, Undergraduate Texts in Math-
ematics, Springer-Verlag, New York.
[03] COUTINHO, S. C., N umeros inteiros e criptograa RSA, Colec ao Matematica e Aplicac oes,
2a Ed., Rio de Janeiro, IMPA, 2011.
[04] COUTINHO, S. C., Primalidade em Tempo Polinomial: Uma introducao ao Algortmo AKS,
Colec ao Inicia cao Cientca, Rio de Janeiro, IMPA, 2004.
[05] EVES, H. Introducao `a Historia da Matematica. Traduc ao de Higino H. Domingues. Campi-
nas, Sao Paulo: Unicamp, 2004.
[06] GARCIA, A., LEQUAIN, Y. Elementos de

Algebra. Projeto Euclides. 5a Ed., Rio de Janeiro,
2008.
[07] MAGRINI, L. A. Sobre N umeros Perfeitos, Revista do Professor de Matem atica, no. 78, 2012,
pg. 16-18.
[08] NERY, C. Revisitando a Aritmetica, Revista do Professor de Matem atica, no. 80, 2013, pg.
31-33.
[09] RIBENBOIM, P. Existem funcoes que geram os n umeros primos?, Matem atica Universitaria,
no. 15, 1993, pg. 1-12.
[10] SAMPAIO, J. C. V., CAETANO, P. A. S. Introducao `a teoria dos n umeros: um breve curso.
S ao Paulo: EDUFSCAR, 2008.
121

S-ar putea să vă placă și