Sunteți pe pagina 1din 181

2

Volume

Luiz Manoel Figueiredo

Introduo Criptografia

Introduo Criptografia
Volume 2 - Mdulo 2

Luiz Manoel Figueiredo

UFF Instituto de Matemtica


Celso Jos da Costa
EB Centro de Estudos de Pessoal
Antnio Carlos Guelfi

O material constante desta disciplina foi produzido sob o auspcio de


Convnio de cooperao tcnico-acadmica entre o Exrcito Brasileiro e a
Universidade Federal Fluminense.

Apoio:

Fundao Cecierj / Consrcio Cederj


Rua Visconde de Niteri, 1364 Mangueira Rio de Janeiro, RJ CEP 20943-001
Tel.: (21) 2334-1569 Fax: (21) 2568-0725
Presidente
Masako Oya Masuda
Vice-presidente
Mirian Crapez
Coordenao do Curso de Matemtica
UFF - Regina Moreth
UNIRIO - Luiz Pedro San Gil Jutuca

Material Didtico
ELABORAO DE CONTEDO

Luiz Manoel Figueiredo


CAPA

Eduardo Bordoni
PRODUO GRFICA

Osias Ferraz
Patricia Seabra

Publicado por: Centro de Estudos de Pessoal (CEP)


Copyright 2006 Centro de Estudos de Pessoal
Todos os direitos reservados ao Centro de Estudos de Pessoal (CEP)
Praa Almte. Jlio de Noronha S/N - Leme - Tel.: (21) 2275-0100
22010-020 Rio de Janeiro - Brasil

972m
Figueiredo, Luiz Manoel.
Introduo Criptografia. v. 2 / Luiz Manoel Figueiredo.
Rio de Janeiro: UFF / CEP EB, 2010.
172p.; 21 x 29,7 cm.
ISBN: 85-7648-331-9
1. Algoritmo de Euclides. 2. Teorema de Fermat.
3. Teorema de Euler. 4. Teorema chins. I. Ttulo.
2010/1

CDD: 510

Governo do Estado do Rio de Janeiro

Governador
Srgio Cabral Filho

Secretrio de Estado de Cincia e Tecnologia


Alexandre Cardoso

Universidades Consorciadas
UENF - UNIVERSIDADE ESTADUAL DO
NORTE FLUMINENSE DARCY RIBEIRO
Reitor: Almy Junior Cordeiro de Carvalho

UFRJ - UNIVERSIDADE FEDERAL DO


RIO DE JANEIRO
Reitor: Alosio Teixeira

UERJ - UNIVERSIDADE DO ESTADO DO


RIO DE JANEIRO
Reitor: Ricardo Vieiralves

UFRRJ - UNIVERSIDADE FEDERAL RURAL


DO RIO DE JANEIRO
Reitor: Ricardo Motta Miranda

UFF - UNIVERSIDADE FEDERAL FLUMINENSE


Reitor: Roberto de Souza Salles

UNIRIO - UNIVERSIDADE FEDERAL DO ESTADO


DO RIO DE JANEIRO
Reitora: Malvina Tania Tuttman

SUMRIO
PROGRAMA DA DISCIPLINA ...........................................................................................................................................1
PLANO DE AULAS DA UNIDADE 1 .................................................................................................................................2
PLANO DE AULAS DA UNIDADE 2 .................................................................................................................................3
UNIDADE 1 ........................................................................................................................................................................5
AULA 1 NMEROS PRIMOS ...........................................................................................................................................6
Texto 1 Teoria dos nmeros .............................................................................................................................................6
Texto 2 Divisores ..............................................................................................................................................................8
Texto 3 Nmeros perfeitos ...............................................................................................................................................11
Texto 4 Nmeros primos ..................................................................................................................................................13
Texto 5 A infinitude dos nmeros primos .......................................................................................................................15
Atividades ........................................................................................................................................................................17
AULA 2 ALGORITMO DA DIVISO ..............................................................................................................................18
Texto 6 Axioma de Eudoxius ..........................................................................................................................................18
Texto 7 O algoritmo da diviso .......................................................................................................................................18
Texto 8 O mximo divisor comum (mdc) ........................................................................................................................20
Texto 9 O mnimo mltiplo comum (mmc) .......................................................................................................................25
Texto 10 O mdc e mmc de vrios inteiros ......................................................................................................................25
Texto 11 Como calcular o mximo divisor comum .........................................................................................................26
Atividades ........................................................................................................................................................................27
AULA 3 ALGORITMO DE EUCLIDES ...........................................................................................................................28
Texto 12 Dois resultados preliminares ...........................................................................................................................28
Texto 13 O algoritmo de Euclides ...................................................................................................................................29
Texto 14 Clculo do mdc e do mmc atravs da fatorao .............................................................................................31
Texto 15 Relao entre mdc(a,b) e mmc(a,b) ................................................................................................................33
Texto 16 Convergncia do algoritmo de Euclides ...........................................................................................................34
Atividade ...........................................................................................................................................................................37
AULA 4 TESTES DE PRIMALIDADE ............................................................................................................................38
Texto 17 Primeiro teste de primalidade ..........................................................................................................................38
Texto 18 Teorema dos nmeros primos .........................................................................................................................42
Atividades ........................................................................................................................................................................44
AULA 5 ARITMTICA MODULAR .................................................................................................................................45
Texto 19 Relaes ..........................................................................................................................................................46
Texto 20 Congruncia mdulo n .....................................................................................................................................48
Texto 21 Classes de equivalncia ...................................................................................................................................50
Texto 22 Classes de congruncia ..................................................................................................................................51
Atividades ........................................................................................................................................................................54
AULA 6 OPERAES COM CLASSES DE CONGRUNCIA ......................................................................................55
Texto 23 Definio de soma e de produto de classes ....................................................................................................55
Texto 24 Tabelas de soma e de multiplicao ...............................................................................................................58
Texto 25 Divisibilidade ....................................................................................................................................................59
Texto 26 Potncias .........................................................................................................................................................62
Atividades ........................................................................................................................................................................65
AULA 7 DIVISO MODULAR ........................................................................................................................................66
Texto 27 A inversa de uma classe de congruncia mdulo n ........................................................................................66
Texto 28 Quando uma classe em n tem inversa? ....................................................................................................67
Texto 29 A congruncia linear a x b mod n .......................................................................................................69
Texto 30 Como escrever o mdc de dois inteiros em combinao linear ........................................................................71
Atividades .........................................................................................................................................................................75
AULA 8 TEOREMA DE FERMAT ..................................................................................................................................76
Texto 31 Fermat ..............................................................................................................................................................76
Texto 32 O teorema de Fermat .......................................................................................................................................77
Texto 33 Aplicao do teorema de Fermat soluo de potncias ...............................................................................81
Texto 34 Equaes diofantinas .......................................................................................................................................82
Texto 35 Uso das congruncias para resolver equaes diofantinas .............................................................................83
Atividades ........................................................................................................................................................................85

UNIDADE 2 ......................................................................................................................................................................87
AULA 9 TESTE DE PRIMALIDADE DE FERMAT .........................................................................................................88
Texto 36 Testes de primalidade .......................................................................................................................................88
Texto 37 Teste de Fermat ...............................................................................................................................................89
Texto 38 Nmeros de Carmichael ..................................................................................................................................91
Texto 39 Teste de Miller-Rabin .......................................................................................................................................93
Atividades .........................................................................................................................................................................96
AULA 10 TEOREMA DE EULER ....................................................................................................................................97
Texto 40 Euler .................................................................................................................................................................97
Texto 41 A funo de Euler ......................................................................................................................................97
Texto 42 Teorema de Euler ..........................................................................................................................................102
Atividades ......................................................................................................................................................................106
AULA 11 TEOREMA CHINS DOS RESTOS .............................................................................................................107
Texto 43 Exemplo com duas equaes .........................................................................................................................107
Texto 44 Exemplo com trs equaes ...........................................................................................................................108
Texto 45 Teorema chins dos restos ...........................................................................................................................110
Texto 46 Aplicaes criptografia: partilha de um segredo ..........................................................................................114
Texto 47 Partilha de um segredo com o teorema chins dos restos ...........................................................................115
Atividades .......................................................................................................................................................................118
AULA 12 RSA ...............................................................................................................................................................119
Texto 48 A criptografia de chave pblica .......................................................................................................................119
Texto 49 RSA .................................................................................................................................................................121
Texto 50 O GP/Pari ........................................................................................................................................................123
Texto 51 Consideraes prticas: escolha dos primos e preenchimento de bits .........................................................125
Texto 52 Assinatura digital .............................................................................................................................................127
Texto 53 A segurana do RSA ......................................................................................................................................128
Texto 54 Os desafios RSA ............................................................................................................................................129
Atividade .........................................................................................................................................................................130
AULA 13 LOGARITMO DISCRETO ..............................................................................................................................131
Texto 55 Razes primitivas mdulo n ............................................................................................................................131
Texto 56 Grupos e subgrupos ......................................................................................................................................133
Texto 57 Logaritmos discretos .......................................................................................................................................135
Atividades ......................................................................................................................................................................139
AULA 14 APLICAES CRIPTOGRAFIA ................................................................................................................140
Texto 58 Teste de Lucas ...............................................................................................................................................140
Texto 59 Esquema de troca de chaves de Diffie-Hellman ............................................................................................143
Texto 60 ElGamal ..........................................................................................................................................................145
Texto 61 Algoritmo de assinatura digital ........................................................................................................................147
Atividades ......................................................................................................................................................................150
AULA 15 CRIPTOGRAFIA COM O USO DE CURVAS ELPTICAS ...........................................................................151
Texto 62 Curvas elpticas ..............................................................................................................................................151
Texto 63 Corpos finitos .................................................................................................................................................152
Texto 64 Grupo de uma curva elptica ...........................................................................................................................154
Texto 65 Criptografia de curvas elpticas ......................................................................................................................157
Atividades .......................................................................................................................................................................161
COMPLEMENTE SEU ESTUDO ...................................................................................................................................162
SOLUES DAS ATIVIDADES .....................................................................................................................................163
REFERNCIAS ..............................................................................................................................................................170
AUTOR ...........................................................................................................................................................................171

Programa da disciplina

Ementa
Aritmtica dos inteiros: nmeros primos, algoritmo da diviso, mdc e mmc,
algoritmo de Euclides. Aritmtica modular: congruncia mdulo, soma e produto de
classes, inversa de uma classe mdulo n. Teoremas de Fermat, Euler e o teorema
chins dos restos. Testes de primalidade: teste das divises sucessivas, teste de
Fermat, teste de Rabin-Miller, nmeros de Charmichael.
Criptografia de chave pblica: princpios, o algoritmo RSA, assinatura digital.
O problema do logaritmo discreto, teste de Lucas, esquema de troca de chaves de
Diffie-Hellman, ElGamal e o algoritmo de assinatura digital. Criptografia com o uso
de curvas Elpticas: curvas elpticas, grupo de uma curva elptica e aplicaes.
Carga horria
60 horas

Objetivo
Apresentar a rea da Matemtica chamada Teoria dos Nmeros, abordando
os resultados utilizados em criptografia.

Metodologia
O contedo programtico ser apresentado na forma de textos e exemplos,
com atividades a serem realizadas. Para complementar seu estudo, sero sugeridos
livros e websites.
Avaliao
Prova escrita ao final da disciplina e avaliao a distncia (atividades online).

Plano de Aulas

Unidade 1 Teoria dos Nmeros

Contedo

Onde encontrar

Aula 1 Nmeros Primos


Teoria dos Nmeros

Textos 1 a 5

Divisores
Nmeros perfeitos
Aula 2 Algoritmo da Diviso
Axioma de Eudoxius

Textos 6 a 11

Algoritmo da diviso
Mximo divisor comum e mnimo mltiplo comum
Aula 3 Algoritmo de Euclides
Clculo do mdc e do mmc atravs da fatorao

Textos 12 a 16

Convergncia do Algoritmo de Euclides


Aula 4 Testes de Primalidade
Primeiro teste de primalidade

Textos 17 e 18

Teorema dos nmeros primos


Aula 5 Aritmtica Modular
Relaes
Textos 19 a 22

Congruncia mdulo n
Classes de equivalncia
Classes de congruncia
Aula 6 Operaes com classes de congruncia
Definio de soma e de produto de classes

Textos 23 a 26

Tabelas de soma e de multiplicao


Divisibilidade e potncias
Aula 7 Diviso modular
Inversa de uma classe de congruncia mdulo n
MDC de dois inteiros como combinao linear

Textos 27 a 30

Contedo

Onde encontrar

Aula 8 Teorema de Fermat


Aplicao do teorema de Fermat

Textos 31 a 35

Equaes diofantinas
Carga horria: 25 h
Unidade 2 Criptografia de Chave Pblica

Contedo

Onde encontrar

Aula 9 Teste de Primalidade de Fermat


Testes de primalidade
Teste de Fermat

Textos 36 a 39

Nmeros de Carmichael
Teste de Miller-Rabin
Aula 10 Teorema de Euler

Textos 40 a 42

Funo de Euler

Aula 11 Teorema Chins dos Restos


Exemplo com duas e trs equaes
Aplicaes criptografia

Textos 43 a 47

Partilha de um segredo com o teorema


Aula 12 RSA
Criptografia de chave pblica
GP/Pari

Textos 48 a 54

Assinatura digital
Segurana do RSA
Aula 13 Logaritmo Discreto
Razes primitivas mdulo n

Textos 55 a 57

Grupos e subgrupos
Logaritmos discretos
Aula 14 Aplicaes Criptografia
Teste de Lucas
Esquema de troca de chaves de Diffie-Hellman
ElGamal
Algoritmo de assinatura digital

Textos 58 a 61

Contedo

Onde encontrar

Aula 15 Criptografia com o uso de Curvas


Elpticas
Corpos finitos

Textos 62 a 65

Grupo de uma curva elptica


Criptografia de curvas elpticas
Carga horria: 35 h

Unidade

Teoria dos Nmeros


Caro aluno, seja bem-vindo disciplina Nmeros
primos e criptografia de chave pblica.
Nesta primeira unidade, voc vai estudar os
conceitos e resultados matemticos que so
a base das aplicaes em criptografia de
chave pblica.
Bom estudo!

Aula 1 Nmeros Primos


Nesta primeira aula, voc vai conhecer os nmeros primos, que so a base para o
estudo dos inteiros.
A grande importncia dos nmeros primos est em que todo inteiro pode ser escrito
de maneira essencialmente nica como produto de primos, como veremos a seguir.

Texto 1 - Teoria dos Nmeros


A Teoria dos Nmeros a rea da Matemtica que estuda as propriedades dos nmeros inteiros
e os problemas que aparecem naturalmente neste estudo. O termo aritmtica tambm utilizado
para se referir Teoria dos Nmeros.
Este campo de estudo da Matemtica possui muitos problemas em aberto problemas no
resolvidos fceis de serem compreendidos, mas de difcil soluo. Ao longo desta unidade voc
conhecer alguns deles.
A Teoria dos Nmeros se divide em seis ramos principais.
1. Teoria elementar dos nmeros
a parte que estuda os inteiros e suas propriedades sem utilizar tcnicas derivadas de outros
campos da Matemtica. Inclui tambm o estudo de divisibilidade, mximo divisor comum,
fatorao em nmeros primos, algoritmo de Euclides e congruncia.
2. Teoria analtica dos nmeros
Este ramo emprega tcnicas do clculo e da anlise para o estudo de problemas de inteiros.
Esta rea inclui o famoso teorema dos nmeros primos e a hiptese de Riemann.
3. Teoria algbrica dos nmeros
Aqui o conceito de nmero estendido para o de nmero algbrico e o conceito de inteiro para
o de inteiro algbrico. Nmeros algbricos so razes de polinmios com coeficiente racionais.
Muitas propriedades elementares dos inteiros no valem para os inteiros algbricos.
4. Teoria combinatria dos nmeros
6

Estuda as propriedades de inteiros empregando tcnicas da rea da Matemtica chamada


Combinatria. O principal fundador desta rea o matemtico hngaro Paul Erds (1913
1996).

Paul Erds mostrou desde cedo aptido para a Matemtica. Com


quatro anos descobriu algumas propriedades dos nmeros primos. Fez
numerosas e variadas contribuies e tinha fascnio em resolver
problemas, como os de anlise combinatria, teoria dos grafos e teoria
dos nmeros. Sempre queria resolv-los de forma simples e elegante.

5. Teoria geomtrica dos nmeros


Tambm chamada de geometria dos nmeros, usa tcnicas geomtricas para o estudo de
nmeros inteiros.
6. Teoria computacional dos nmeros
Estuda algoritmos computacionais na Teoria dos Nmeros.
H dois grupos de algoritmos de grande importncia em criptografia:
testes de primalidade - so algoritmos que determinam se um dado inteiro ou no

primo;
algoritmos de fatorao de inteiros - determinam a fatorao em primos de um

dado inteiro.

A Teoria dos Nmeros tem, talvez como nenhuma outra rea, a


propriedade de incorporar mtodos de outros campos de estudo,
tornando-a um belo e complexo conjunto de conhecimentos e tcnicas.

Texto 2 - Divisores

Agora vamos apresentar nosso primeiro tpico em Teoria dos Nmeros: os divisores.
Sejam a e b inteiros.

Dizemos que a divide b quando existir um inteiro c tal que b =ac . Usamos a notao ab ,

para indicar que a divide b e escrevemos a b quando a no divide b . Quando ab ,

dizemos tambm que b mltiplo de a .

Exemplos: 612 , 23115 , mas 4 21 .

Algumas propriedades imediatas so:


1. nn

Significa que todo inteiro divide a si mesmo. Isto segue da definio. Observe que n =1n .

2. 1n

Isto , 1 divide qualquer inteiro. Segue da definio, observando que n =n1 .

3. n0

Todo inteiro divisor de 0. Basta observar que 0=n0 .

Vamos examinar outras propriedades um pouco mais elaboradas.


Proposio 1: ab e b a a =b

Demonstrao
Como ab e b a , ento existem inteiros k 1 e k 2 , tais que a =k 1b e b =k 2a .

Substituindo uma expresso na outra, resulta que


8

a =k 1 k 2a a = k 1k 2 a k 1k 2=1
Como k 1 e

k 2 so inteiros e k 1k 2=1 , ento k 1=k 2 =1 ou k 1=k 2 =1 .

De a =k 1b , conclumos que a =b , ou seja, a =b .

Proposio 2. Sejam a ,

b e c inteiros. Se ab e b c , ento ac .

Demonstrao.
Como ab e b c , ento existem inteiros k 1 e k 2 tais que

b =k 1a e c =k 2b
Substituindo o valor de b da primeira equao na segunda, resulta que

c =k 2b = k 2 k 1a = k 2k 1 a .
Portanto, c mltiplo de a , isto , ac .

Exemplo: 315 e 1545 , logo 345 .

Proposio 3. Sejam a , b e c inteiros. Se c a e c b , ento c ma nb , para

quaisquer inteiros m e n .

Demonstrao.
Como c a e c b , ento existem inteiros k 1 e k 2 , tais que a =k 1c e

b =k 2c .

Substituindo em ma nb , temos:

ma nb =mk 1c nk 2c =mk 1cnk 2c= mk 1nk 2 c .

Portanto, c ma nb .

Exemplo: 721 e 714 , logo 7 21m14n para quaisquer inteiros m e n .

Chamaremos D n ao conjunto de todos os divisores de n .

Exemplo: D 12 ={1, 2, 3, 4, 6, 12 }

Observe que se d divisor de n , ento d tambm divisor de n , pois, se d n , ento

existe inteiro k , tal que

n =k d n =k d d n.
Assim, os divisores de um inteiro vm sempre em pares de inteiros simtricos.

Chamamos D + n ao conjunto dos divisores positivos de n .

Exemplo: D + 12 ={1,2,3, 4,6,12 } e D + 6 ={1,2,3, 4,6 } .

Se d n e d n , ento dizemos que d divisor prprio de n .

Por exemplo, os divisores prprios de 6 so os inteiros 1 , 2 e 3 .

Observe que 6 a soma de seus divisores prprios positivos: 6=1 23 . Curioso, no? No
prximo texto voltaremos a essa questo.
Veja, a seguir, mais algumas propriedades sobre divisores.
Proposio 4. Sejam a e b inteiros. Ento ab se, e somente se, D a D b .

Demonstrao

Suponha

que

ab .

Para

provar

incluso

D a D b ,

basta

mostrar

x D a x D b , isto , todo elemento de D a tambm elemento de D b .


10

que

Vamos

l!

Se

x D a ,

ento

x a .

Mas

ab

por

hiptese.

Logo,

x a e ab x b x D b .
Vamos supor agora que D a D b . Como a D a (todo inteiro divisor de si mesmo) e

D a D b , ento a D b , isto , ab .
Provamos ento que ab D a D b , isto , ab o mesmo que D a D b ,

mostrando que a relao de divisibilidade entre dois inteiros a b equivalente relao de

incluso entre os conjuntos dos divisores destes inteiros D a D b .

Quando falarmos de mximo divisor comum (mdc) e mnimo mltiplo comum (mmc) de dois
inteiros, retornaremos a essa analogia entre os inteiros e o conjunto de seus divisores.

Texto 3 - Nmeros Perfeitos


Voc viu que o inteiro 6 tem a propriedade de ser a soma de seus divisores prprios positivos:

6=1 23 .
Como chamado um inteiro com esta caracterstica? Um inteiro que a soma de seus divisores
prprios positivos chamado de nmero perfeito.

Agora, pense em outros inteiros que so nmeros perfeitos. O prximo na lista o nmero 28.
Veja:

D + 28={1,2, 4,7,14, 28 } e temos que 28 =12 47 14 .


Os quatro primeiros nmeros perfeitos so 6, 28,496 e 8128 . Estes quatro inteiros eram os

nicos nmeros perfeitos que os antigos gregos conheciam.


Euclides descobriu que estes quatro nmeros so gerados pela frmula

2n 1 2n 1
para valores de n =2, 3, 5 e 7 .

Ento:

11

n =2
n =3
n =5
n =7

21

2 2 1
31
3
2 2 1
51
5
2 2 1
71
7
2 2 1

=
=
=
=

2 41=23=6
2
2 81=47=28
4
2 321=1631=496
6
2 1281 =64127=8128

Observe que nos quatro casos, 2 n 1 um inteiro primo. Euclides mostrou que 2n 1 2n 1

um nmero perfeito quando 2 n 1 primo.

Para saber quem foi Euclides de Alexandria, leia a seo


Saiba mais ao final desta aula.

Como os inteiros n =2, 3, 5 e 7 so exatamente os quatro primeiros nmeros primos, os

gregos naturalmente imaginaram que o quinto nmero perfeito seria obtido com n =11 .
No entanto, o nmero 211 1 no primo. De fato, 211 1=2047=23 89 . Logo,

2111 211 1 no nmero perfeito.


Na verdade, o quinto nmero perfeito o nmero 212 213 1 =33.550.336 , que o inteiro

2n 1 2n 1 , para n =13 .
No sculo XVIII, Euler mostrou que a frmula 2n 1 2n 1 fornece todos os nmeros perfeitos

pares.
Como voc viu, nem todo inteiro 2n 1 2n 1 nmero perfeito (por exemplo, no perfeito

para n =11 ). Mas todo nmero perfeito par da forma 2n 1 2n 1 . Este inteiro perfeito

exatamente quando 2n 1 primo.

Portanto, h uma associao entre nmeros perfeitos e primos da forma 2n 1 . Estes so

chamados primos de Mersenne, em homenagem ao monge Marin Mersenne (1588-1648). H


uma busca mundial por primos grandes, em parte devido ao uso destes em criptografia.

12

H algoritmos rpidos para testar a primalidade de inteiros da


forma 2n 1 , razo pela qual os maiores primos conhecidos

so os primos de Mersenne.

O 42 primo de Mersenne o maior primo conhecido atualmente, descoberto em 14 de fevereiro


de 2005. Trata-se do nmero 225.964 .951 1 , que um primo com 7.816.230 algarismos.

H muito ainda o que investigar nesta rea de estudo. Por exemplo, no se sabe se h infinitos
primos de Mersenne. Mas vamos deixar este assunto para uma outra hora e voltar a falar de
nmeros primos e fatorao nica.

O francs Marin Mersenne ficou conhecido por seu trabalho na Teoria


dos Nmeros e por se corresponder com outros matemticos, possibilitando assim a comunicao do conhecimento pela Europa em uma
poca que os jornais cientficos no existiam.

Texto 4 - Nmeros Primos


Os nmeros primos desempenham um papel fundamental no estudo dos inteiros e nas tcnicas
de criptografia.
Um inteiro p 1 um nmero primo quando seus nicos divisores so 1 e p.

Exemplo: p =2,3,5,7,11,13,17,19,23 e 29 so os 10 primeiros nmeros primos positivos.

Observe

que

se p

primo,

ento

tambm

Assim,

so

primos

p =2,3,5,7,11,13,17,19,23 e 29 .
Um nmero N 1 que no primo chamado composto. Assim, 12 um nmero composto.

Observe que 1 no primo nem composto.

Os nmeros primos sempre estiveram no centro da preocupao dos matemticos que estudam
os inteiros. Como voc ver a seguir, todo inteiro fatora-se como produto de primos. Isto faz com
13

que os primos sejam uma espcie de bloco com os quais so construdos os inteiros, assim como
todas as molculas so feitas de tomos.

Vale destacar que a fatorao de inteiros em produtos de primos


, essencialmente, nica. Lembre-se que fatorar um inteiro N
escrev-lo como produto de primos.

Veja um exemplo.
O inteiro 60 pode ser escrito como 60 =223 5. Esta a fatorao de 60 em produto de

primos. Dizemos que 2, 3 e 5 so os fatores primos de 60.

Mas o que significa dizer que a fatorao nica?

Podemos, por exemplo, escrever 60 tambm como:

60 =35 22

60=53 22

60 =23 25.

O que todas estas fatoraes tm em comum? fcil ver que todas usam os mesmos primos,
apenas mudando a ordem. Em todas, o primo 2 aparece duas vezes, o primo 3 aparece uma vez
e o primo 5 aparece uma vez.
neste sentido que dizemos que a fatorao nica: os mesmos primos aparecem o mesmo
nmero de vezes, apenas a ordem difere duas fatoraes de um inteiro.
O fato de que todo inteiro pode ser escrito de maneira nica com produto de fatores primos um
teorema muito importante, chamado Teorema da Fatorao nica ou Teorema Fundamental da
Aritmtica.
Teorema da Fatorao nica
Dado um inteiro positivo n 2 , podemos escrev-lo de modo nico na forma:

n = p e1 p ek ,
k

onde 1 p 1 p 2 p k so primos distintos e e 1, , e k so inteiros positivos.

Os primos p 1, , p k so chamados fatores primos de n, enquanto os expoentes e 1, , e k so


14

chamados multiplicidades dos primos p 1, , p k , respectivamente, na fatorao de n.

Exemplo: No caso de 72 =2332. , o primo 2 tem multiplicidade 3 na fatorao de 72, e o primo

3 tem multiplicidade 2.

Texto 5 A infinitude dos Nmeros Primos


Voc estudou que os primos so os blocos fundamentais, os tomos, que constituem os inteiros.
Uma primeira questo que se coloca naturalmente a seguinte:

Existe um nmero finito ou infinito de primos?

Euclides respondeu a esta pergunta h 2.300 anos. A resposta que existe um nmero infinito de
primos. Esta resposta aparece como a Proposio 20 do livro IX dos Elementos de Euclides.
O mtodo utilizado na demonstrao o de reduo ao absurdo ou demonstrao por
contradio. Este tipo de prova feita assumindo-se como verdade o oposto do que queremos
provar e chegando-se a uma contradio. O fato de obter uma sentena falsa mostra que a
proposio no pode ser negada, sendo por isso verdadeira.
Proposio 5. Existe um nmero infinito de nmeros primos.
Demonstrao
Vamos supor o contrrio, isto , que haja apenas um nmero finito de inteiros primos. Seja

p 1 p 2 p k
a lista de todos os inteiros primos. Seja agora p # o produto de todos eles:

p # = p 1 . p 2 . . p k.
Considere N = p # 1. Nenhum dos primos p 1, p 2, , p k pode ser divisor de N, pois, para

todo primo p i ,

p ip # . Se p iN , ento p i N p # =1, o que no pode acontecer, pois


15

p i 1.
Como nenhum p i pode dividir N , ento N no tem nenhum divisor primo. Portanto N

deve ser um inteiro primo. Mas N p k maior que todos os primos da lista p 1, , p k , o que

uma contradio, pelo fato de que esta a lista de todos os primos.

Nesta aula voc identificou algumas propriedades fundamentais dos nmeros


primos e aprendeu que um inteiro chamado nmero perfeito quando a soma de
seus divisores prprios positivos. Na prxima aula, voc estudar o algoritmo de
diviso.

Saiba mais: Euclides de Alexandria


Euclides foi um matemtico grego que viveu entre 325 e 265 a.C., tendo
lecionado em Alexandria, no Egito. Sua obra mais famosa a coleo de 13
livros chamados Elementos. Nela, Euclides apresenta uma coleo de

definies, postulados (axiomas) e proposies (teoremas) e as provas destes


teoremas, abordando os campos da Geometria e da Teoria dos Nmeros.
Essa obra pode ser considerada o livro-texto mais bem sucedido da histria da
humanidade: foi um dos primeiros livros a serem impressos e superada
apenas pela Bblia em nmero de edies mais de mil j foram feitas. At o
incio do sculo XX, era utilizado como livro-texto em muitas escolas.
Uma das grandes virtudes dos Elementos apresentar de forma lgica e
estruturada boa parte do conhecimento matemtico conhecido poca de
Euclides. Embora a maior parte dos resultados no tenha sido descoberta por
ele, muitas das demonstraes foram feitas por Euclides.
A obra de Euclides teve um papel importante, ao legar posteridade o
conhecimento

matemtico

grego.

desenvolvimento de toda a Matemtica.

16

estrutura

lgica

influenciou

Atividades
1) Determine D 10 e D 20 . Verifique que D 10 D 20 .

2) Primos gmeos so pares de primos cuja diferena dois. Encontre os cinco primeiros pares
de primos gmeos.
3) Existem primos trigmeos, isto , ternos de primos do tipo p , p 2 e p 4 ?
4) Mostre que todos os nmeros pares de 4 a 40 podem ser escritos como soma de primos.

17

Aula 2 Algoritmo da Diviso

Nesta aula, voc vai conhecer o chamado algoritmo da diviso, que , na verdade,
um teorema, e no propriamente um algoritmo.

Texto 6 Axioma de Eudoxius


A primeira noo importante a ser reconhecida que, dados dois inteiros a e b , se a no
mltiplo de b , ento situa-se entre dois mltiplos consecutivos de b.
Exemplo:

a =61

b =5 . O inteiro 61 situa-se entre 60=125 e 65=135, que

so mltiplos consecutivos de 5.
Este princpio, muitas vezes chamado erradamente de Princpio de Arquimedes, aparece nos
Elementos de Euclides. Podemos escrev-lo da seguinte forma:
Dados dois inteiros a e b 0, existe um inteiro q tal que

para b 0,

q b a q 1 b

para b 0,

q b a q 1 b.

Observe que a possibilidade de a ser mltiplo de b est coberta pelo menor ou igual em

q b a.
Exemplos:

57 =35.

Se a =35 e b =7 , ento q =5 :

Se a =42 e b =13 , ento q =3 :

Se a =42 e b =13 , ento q =3 :

31342413.

3 1342 4 13 .

Texto 7 O Algoritmo da Diviso


O teorema da diviso define precisamente o quociente e o resto de dois inteiros; mostra que eles
existem e so nicos.
Teorema: Dados inteiros a e b , b 0, existe um nico par de inteiros q e r tais que
18

a =q b r , onde 0 r b.
O inteiro q chamado quociente e r o resto da diviso de a por b . Observe que se

b divisor de a , ento o resto 0: a =q b.


Demonstrao
Pelo teorema de Eudoxius, como b 0 , existe q , tal que q b a q 1 b .

Subtraindo q b temos:

q b q b a q b q 1 b q b
0a q b b
Se definirmos r =a q b , ento:

0 r b e r = a q b a = q b r .
Assim foi demonstrada a existncia do quociente e do resto. Veja agora a demonstrao da
unicidade.
O truque usual para demonstrar a unicidade supor que h dois e mostrar que so iguais. No
caso em questo, vamos supor que h outro par q 1, r 1 tal que:

a = q 1b r 1 e 0 r 1 b
Subtraindo a equao anterior de a =q b r , temos:

a =q b r
a =q 1b r 1
0= q q 1 b r r 1
Portanto, b q q 1= r r 1 . Logo, b r r 1 , isto , r r 1 mltiplo de b .

Mas, 0 r , r 1 b e a r , r 1 b .

Assim, o maior valor possvel de r r 1 b 1 (quando r = b 1 e r 1 =0 ) e o menor

valor possvel de r r 1 b 1 (quando r =0 e r 1=b 1 ). Ento, temos que

r r 1 mltiplo de b e
19

b 1 r r 1 b 1 .
Mas o nico mltiplo de b neste intervalo o 0, logo r r 1=0 r =r 1 .

Ao substituir em b q 1 q =0 , temos q 1q =0 q 1 =q .

No enunciado do teorema, colocamos a restrio b 0 . No entanto, o teorema continua vlido

se b 0 . Neste caso, definimos quociente e resto como a =q b r , com 0 r b .

Exemplos:
- a =17 e b =3 q =5 e r =2

17=5 32

- a =15 e b =4 q =3 e r =3

15=3 4 3

Alguns argumentos presentes na demonstrao do teorema so comuns. Por exemplo, quando


queremos provar a unicidade, supomos que existam dois e provamos que so iguais.
Outro ponto chave, que aparece em outras demonstraes, o argumento de que, se

b t e b t b , ento t =0.
A demonstrao anterior usa o argumento com t =r r 1 .

Estas demonstraes parecem um pouco difceis no incio, porm,


caso sinta necessidade, leia com ateno duas ou trs vezes para
que possa entend-las. Ao compreender os argumentos, voc poder
utiliz-los em outros problemas, com facilidade.

Texto 8 - O mximo divisor comum (mdc)


O conceito de mximo divisor comum de dois inteiros simples e o algoritmo para calcul-lo tem
grande importncia em vrias aplicaes.

A definio de mdc :
20

O mximo divisor comum de dois inteiros no-nulos a e b o


maior inteiro que divide a e b . denotado por mdc a , b .

Exemplos:
- mdc 15,25=5

- mdc 300,140 =20

- mdc 20,35 =5

- mdc 8, 28 =4

Observe que o mdc de dois inteiros sempre positivo. fcil ver por que, se d divisor comum
de a e b , d tambm . Assim, os divisores comuns vm em pares de simtricos d. O

maior divisor comum ser o maior dos divisores comuns positivos.


Exemplo:
- mdc 12,18=mdc 12,18 =mdc 12,18 =mdc 12,18 =6.

Outra maneira de definir mdc a , b atravs dos conjuntos dos divisores D a e D b .

D a =divisores de a e D b =divisores de b.
Logo, D a D b =divisores comuns de a e b . Como mdc a , b o maior divisor

comum, ento:

mdc a , b =max D a D b
Dois inteiros a e b so ditos relativamente primos se mdc a , b =1.

Exemplo:

20 e 27 so relativamente primos.

Se p primo, a inteiro e p a , ento p e a so relativamente primos.

Isso acontece porque os nicos divisores positivos de p so p e 1. Como p a , ento p

e a no tm divisores comuns alm de 1, isto , mdc a , p =1. Ou seja, p e a so

relativamente primos.
Uma propriedade muito importante do mdc a , b que ele sempre pode ser escrito como
21

combinao linear de a e b. Um inteiro n combinao linear de a e b se existem


inteiros k 1 e k 2 tais que n =k 1a k 2b . exatamente o que acontece com o mdc.

Teorema: Sejam a e b inteiros no-nulos e seja d = mdc a , b . Ento, existem inteiros

k 1 e k 2 tais que

d = k 1 a k 2 b .
Exemplos:

mdc(60,24)=12. O inteiro 12 pode ser escrito como 12 =160 224.

mdc(50,30) = 10. O inteiro 10 pode ser escrito como 10=250330.

Observe que at agora no falamos sobre como calcular efetivamente o mdc a , b , nem

como encontrar os inteiros k 1 e k 2 , tais que mdc a , b =k 1a k 2b . Falaremos sobre

isso em breve.
Para terminar esta parte, voc vai conhecer agora uma propriedade muito importante do

mdc a , b .

O mdc a , b mltiplo de todos os divisores comuns de a e b .

Exemplos:

D 30 ={1, 2,3, 5, 6, 10,15,30 }

D 24 ={1, 2,3, 4, 6,8, 12,24 }

D 30 D 24 ={1,2, 3,6 }
Observe que mdc 24,30=6 . E 6 mltiplo de todos os divisores comuns: os elementos de

D 30 D 24 .
Veja a demonstrao deste resultado.
Teorema: Sejam a e b inteiros no-nulos. Ento, d = mdc a , b se, e somente se,

22

(i) d a e d b.

(ii) Se d ' a e d ' b ento d ' d .

Em outras palavras, o mdc a , b se caracteriza por ser um divisor comum e por ser mltiplo
de todos os divisores comuns.
Demonstrao
Seja d = mdc a , b , ento d a e d b , pois d divisor comum, o que prova o item (i).

Seja d ' um inteiro tal que d ' a e d ' b . Sabemos que d combinao linear de a e

b , isto , existem inteiros k 1 e k 2 tais que d = k 1a k 2b.


Como d ' a e d ' b , ento d ' k 1a k 2b , logo d ' d , o que prova o item (ii).

Por outro lado, se um inteiro positivo d atende aos itens (i) e (ii), ento :

divisor comum pelo item (i);

o maior divisor comum, pois, pelo item (ii), se d ' outro divisor comum, ento

d ' d d ' d .
Veja a seguir vrios resultados referentes ao mdc de dois inteiros. Estes resultados e os

exemplos que aparecem em seguida so importantes para que voc compreenda como funciona
o algoritmo da diviso para encontrar o mximo divisor comum de dois inteiros.
Proposio: Para todo inteiro t, mdc t a , t b = t mdc a , b .

Esta proposio, por brevidade, vai ficar sem demonstrao. Ela pode ser encontrada em
Introduo Teoria dos Nmeros, de Jos Plnio de Oliveira Santos, 1998.

Exemplo: mdc 150,35 =mdc 530,57 =5mdc 30,7 =51=5.

Uma conseqncia da proposio anterior que, se a e b so divisveis por um inteiro c ,


ento

a b
b
a
b
a
.
, c = c mdc ,
e
so inteiros e mdc a , b = mdc c
c c
c
c
c
c
23

Ao dividir a e b por d = mdc a , b temos:

d = mdc a , b =mdc d

mas d =d mdc

a b
b
a
,
,
, d = d mdc
d d
d
d

a b
a b
, mdc , =1.
d d
d d

Conclumos que:

b
a
e
so primos entre si.
d
d

Proposio. Se d = mdc a , b , ento os inteiros

Exemplo: a =35 e

Os inteiros

b =75 . Temos que mdc 35,75=5.

35
=7 e
5

75
=15 so primos entre si.
5

Outra proposio utilizada


Se abc e mdc a , b =1 , ento ac .

Demonstrao
Como mdc a , b =1 , ento 1 combinao linear de a e b , isto , existem k 1 e k 2 ,

tais

que

1=k 1 a k 2 b .

Ao

multiplicar

esta

equao

por c ,

c =k 1 ac k 2 bc .
Mas abc (por hiptese) e aac , logo a k 1 ac k 2 bc =c .

Exemplo. Se t inteiro qualquer e 715t , ento 7t , pois mdc 7,15=1.

Texto 9 O mnimo mltiplo comum (mmc)

24

resulta

em

O mnimo mltiplo comum de dois inteiros a e b o menor inteiro positivo que mltiplo
comum de a e b . representado por mmc a , b .

Exemplos:
- mmc 2,3=6

- mmc 20,25=100

- mmc 1, n =n , para todo inteiro n .

- mmc 3, 5 =15.

Claramente, se ab , ento mdc a , b =a e mmc a , b =b .

Exemplo: 15 divide 75, logo mdc 15,75=15 e mmc 15,75=75 .

Veremos na prxima aula que o mmc de dois inteiros est diretamente relacionado ao mdc, por
meio de uma frmula simples.

Texto 10 O mdc e mmc de vrios inteiros


Os conceitos de mdc e mmc de dois inteiros podem ser facilmente generalizados para mais de
dois inteiros, da seguinte forma:
Para dados inteiros no-nulos a 1, a 2, , a t , definimos mdc a 1, a 2, , a t como o maior

divisor comum de a 1, a 2, , a t , e mmc a1, a 2, , a t como o menor mltiplo comum de

a 1, a 2, , a t .
Exemplos:
- mdc 20,30,50=10

- mmc 20,30,50=300

Assim, mostramos que:

mdc a , b , c =mdc mdc a , b , c e mmc a , b , c =mmc mmc a , b , c


Exemplos:
- mdc 20,30,50=mdc mdc 20,30 , 50 =mdc 10,50 =10.
25

- mmc 20,30,50 =mmc mmc 20,30 , 50 =mmc 60,50 =300.

Texto 11 Como calcular o mximo divisor comum


Agora que voc conheceu as definies do mdc e do mmc de dois ou mais inteiros positivos, veja
como calcul-los.
Uma maneira eficiente de calcular o mdc utilizar o algoritmo de Euclides. Estudaremos o
algoritmo de Euclides na prxima aula. Como o mmc est relacionado ao mdc por uma frmula
simples, podemos calcular o mmc de dois inteiros calculando primeiro o mdc destes inteiros.
No endereo http://www.maths.hscripts.com/hcf.php, h uma calculadora de mdc e mmc online.

Em ingls, mdc chamado GCD (Greates Commom Divisor) ou HCF (Highest Commom Factor)
e mmc chamado LCD (Least Commom Multiple).
Na calculadora online existe um primeiro espao onde se coloca o nmero de inteiros para os
quais queremos calcular o mdc e o mmc. Em seguida, aparecem os espaos onde devem ser
digitados estes nmeros e, aps apertar o boto go, aparecem os resultados.
A imagem a seguir trata de um exemplo obtido na calculadora online.

Nesta aula, voc estudou o teorema da diviso, que define precisamente quociente
e resto, e mostra a unicidade destes. Estudou tambm o mximo divisor comum
26

(mdc) e mnimo mltiplo comum (mmc) de dois ou mais inteiros e algumas de suas
propriedades.
Os prximos passos sero estudar o algoritmo de Euclides para o clculo do mdc e
ver a relao entre o mdc e o mmc de dois inteiros. Faremos esses dois avanos
na prxima aula.

Atividades
1) Encontre o quociente e o resto dos seguintes pares de inteiros:
a) a = 35 e b = 12
b) a = -30 e b = 18
c) a = 315 e b = 250
2) Calcule o mdc e o mmc dos pares de inteiros da questo anterior.
3) Na prxima aula, vamos mostrar que, para todo par de inteiros no-nulos, a e b valem

mdc a , b mmc a , b =ab. Verifique essa frmula com os itens da questo 1.


4) Na prxima aula, vamos mostrar tambm que, para todo par de inteiros no-nulos a e b, se q e
r so o quociente e o resto da diviso de a por b, ento vale mdc a , b =mdc q , r .

Verifique essa frmula com os itens da questo 1.

27

Aula 3 Algoritmo de Euclides


O algoritmo de Euclides utilizado para determinar o mximo divisor comum (mdc)
de dois inteiros. , certamente, um dos mais antigos algoritmos matemticos
conhecidos. Surge, por volta de 300 a.C., na coleo de livros Elementos, de

Euclides. H, no entanto, indicaes de sua existncia muito antes desta data.


Este algoritmo permite determinar o mdc de dois inteiros, sem que seja necessrio
fator-los, sendo este, em geral, um problema mais complexo.

Texto 12 Dois resultados preliminares


Para demonstrar o algoritmo so necessrios dois resultados preliminares. Veja a seguir.
Proposio: Dados dois inteiros no-nulos a e b , para qualquer inteiro k vale que

mdc a , b =mdc a , b ka .
Demonstrao
Os pares a , b e a , b ka tm os mesmos divisores comuns, pois, por um lado, se

d a e d b ,

ento

d b ka ;

por

outro

lado,

se

d a

e d b ka ,

ento

d b ka ka d b .
Como os pares a , b e a , b ka tm os mesmos divisores comuns, certamente vo ter o

mesmo mximo divisor comum, isto , mdc a , b =mdc a , b ka .

Exemplo: mdc 5,5 t 1 =mdc 5,1 =1, para todo t inteiro.

Uma conseqncia direta da proposio anterior que


Proposio:

Se a e b so

inteiros

a =qb r ,

sendo q e r inteiros,

mdc a , b =mdc b , r .
Demonstrao
Se a =qb r , ento r =a qb. Portanto

mdc a , b =mdc b , a = mdc b , a qb =mdc b ,r .


28

ento

Essa ltima proposio a chave para o algoritmo de Euclides. Perceba que, para calcular o mdc
de dois inteiros a b , basta calcular o mdc dos inteiros b e r , em que b r. Qual a

vantagem? Simples, os inteiros so menores. Veja um exemplo:


Seja a =1725 e b =315. A diviso de a por b 1725=5315150.

Ento,

mdc 1725,315=mdc 315,150 .


O segundo mdc facilmente calculado, pois os nmeros so menores. Alis, podemos aplicar o
mesmo processo no segundo mdc.

315=215015 mdc 315,150=mdc 150,15 .


Como 15150 , ento mdc 150,15 =15.

Texto 13 O Algoritmo de Euclides


Vamos, agora, descrever o algoritmo de um modo mais formal. Sejam a e b dois nmeros

inteiros positivos. Podemos assumir que a b . Caso contrrio, invertemos a ordem dos

nmeros.
Se a =b , teremos d = mdc a , b =a = b.

Vamos considerar a b . Pelo Teorema da Diviso de Euclides, existem nmeros q 1 e r 1

tais que:

a =q 1b r 1, onde 0r 1 b.
Se r 1 =0 , ento a =q 1b e b um dos divisores positivos de a . Nesse caso,

d = mdc a , b =b.
Se r 1 0, temos 0r 1b e a =q 1b r 1 . Nesse caso,

d = mdc a , b =mdc b , r 1 .

29

Seguimos para um novo passo do algoritmo, agora com os inteiros b e r 1 . Sejam q 2 e

r 2 o quociente e o resto da diviso de b por r 1

, respectivamente.

b =q 2r 1r 2, em que 0r 2r 1

Se r 2 =0 , temos b =q 2r 1 e, nesse caso,

mdc b , r 1=r 1=mdc a , b .


Paramos o nosso algoritmo nesse estgio.
Se r 2 0 , temos 0r 2r 1 e b =q 2r 1r 2 . Nesse caso,

d = mdc a , b =mdc b , r 1 = mdc r 1, r 2 .


Como a seqncia dos restos satisfaz s condies

b r 1 r 2r k 0,
partindo de um b fixado, existir um primeiro ndice k tal que r k =0. Nessa etapa, paramos o

algoritmo e temos que:

d = mdc a , b =mdc b , r 1 ==mdc r k 2 ,r k 1 =r k 1 .


Exemplo:
Vamos aplicar o algoritmo de Euclides para determinar mdc 245,168 .

= 116877
= 27714
= 5147
= 270

245
168
77
14
Ento,

mdc 245,168=mdc 168,77 =mdc 77,14 =mdc 14,7 =7, pois 714.
comum esse processo ser representado pelo esquema a seguir:

2
30

245

168

77

14

77

14

Texto 14 Clculo do mdc e do mmc atravs da fatorao


Uma outra maneira de calcular o mdc e mmc de dois inteiros a e b utilizar sua fatorao.
Sejam:

a = p 1 p 2 p k e b = p 1 p 2 p k
1

em que escrevemos a e b com todos os primos envolvidos em a e b , usando


expoentes nulos, caso seja necessrio.
Se um primo p i divide a , mas no divide b , podemos colocar p i na fatorao de b ,
0

mas com expoente 0, pois p i =1, o que no altera a fatorao.

Exemplo: Sejam a =12 e b =21 . Temos que a =223 e b =37 . Ao escrever essas

fatoraes com os mesmos primos, obtemos:

a =223 170 e b =2 03171 .


Ao colocar os inteiros a e b com os mesmo fatores primos p i , temos:

mdc a , b = p 1 p 2 p k , onde i =min i , i .


1

Isto , o expoente de um primo p i na fatorao de mdc a , b o mnimo entre os expoentes

de p i nas fatoraes de a e b .

Como i =min i , i , ento i i e i i , para todo i , 1 i k.

Assim, p i i p i i e

p i p i
i

Logo,

d = p 1 p 2 p k p 1 p 2 p k =a e d = p 1 p 2 p k p 1 p 2 p k =b ,
1

31

ou seja, d a e d b .

Se d ' outro divisor comum de a e b , e se p i aparece com expoente i na fatorao de

d ' , ento,

p i p i e p i p i i i e i i i min i , i =i p i p i .
i

Lembrando que i o expoente de p i na fatorao de d , segue-se que d ' d. Portanto

d divisor comum e todo divisor comum d ' divide d , o que prova que d = mdc a , b .

Pode parecer mais fcil obter o mximo divisor comum de dois


inteiros utilizando a fatorao. O grande problema fator-los.
Nas aplicaes interessantes, lidamos com inteiros muito
grandes. Nesse caso, fatorar um problema mais complexo
que usar o algoritmo de Euclides para obter o mdc.

Ao utilizar um raciocnio anlogo ao mencionado anteriormente, pode-se deduzir a fatorao do


mnimo mltiplo comum de dois inteiros a e b .
1

Se a = p 1 p 2 p kk e b = p 1 p 2 p kk , ento,

mmc a , b = p 1 p 2 p k , em que i =max i , i .


1

O expoente de p i na fatorao de mmc a , b o mximo dos expoentes de p i na

fatorao de

a e b .

Exemplo. Seja a =84 e

b =18. Ento a =2237 e b =232 .

Logo,

mmc 84,18=22327=252.
No entanto o clculo do mmc a , b no prtico, se os inteiros a e b forem grandes,

dada a dificuldade de fator-los. Para o clculo do mmc a , b , no h um algoritmo de

Euclides. O que existe uma relao direta com o mdc a , b , permitindo o clculo de um a

partir do outro. o que voc vai estudar no texto a seguir.


32

Texto 15 Relao entre mdc a , b e mmc a , b

Para ver a relao entre o mdc a , b e o mmc a , b , perceba inicialmente que, para

quaisquer inteiros x e y ,

max x , y min x , y =x y .
Por exemplo, se x y (o caso x y anlogo), ento

max x , y = y e min x , y =x max x , y min x , y =x y.


Sejam agora a e b inteiros e a = p 1 p 2 p kk e b = p 1 p 2 p kk .
1

Voc viu que:

mdc a , b = p 1 p 2 p k , onde i =min i , i e


1

mmc a , b = p 1 p 2 p k , onde i =max i , i .


1

Assim,

mdc a , b mmc a , b = p 1 p 2 p k p 1 p 2 p k = p 1
1

1 1

2 2

p 2

k k

p k

em que so agrupadas as potncias de mesma base, somando os expoentes.


Mas, para todo i , i i =min i , i max i , i = i i ,

portanto,
1 1

p1

2 2

p 2

k k

p k

1 1

= p1

2 2

p 2

k k

p k

= p 1 p 2 p k p 1 p 2 p k =ab ,
1

ou seja,

mdc a , b mmc a , b =ab.


Exemplo: a =84=2237 e b =18 =232. .

Temos mdc 84,18=23 =6 e mmc 84,18=22327=252. Ento:

33

mdc 84,18mmc 84,18 =6252=1512=8418=ab.

Texto 16 Convergncia do Algoritmo de Euclides


Veremos agora uma abordagem mais computacional do Algoritmo de Euclides.
Para calcular o mdc de dois inteiros positivos a e b , podem-se listar todos os divisores
positivos comuns de a e b e determinar o mximo destes divisores.
Um algoritmo desse tipo pode ser escrito da seguinte forma:
Entrada: inteiros positivos a e b .
Sada: mdc a , b .

Para todo inteiro k entre 1 e o mnimo de a e b , teste se k a e k b . Em

caso afirmativo, inclua k em um conjunto I.

Retorne o mximo do conjunto I.

Este um algoritmo que sempre funciona, pois retorna o mdc de dois inteiros a e b . No
entanto extremamente lento. Ainda que possa ser melhorado de diversas maneiras, esse
algoritmo no prtico para inteiros grandes, uma vez que so necessrias vrias divises.

O Algoritmo de Euclides tem duas vantagens: rpido e fcil de


ser implementado computacionalmente.

O Algoritmo de Euclides pode ser escrito do seguinte modo:


Entrada: inteiros positivos a e b .
Sada: mdc a , b .

Seja r o resto da diviso de a por b .

Se r =0 , ento o resultado b e paramos.

Se r 0 , ento calculamos mdc b , r e retornamos esse valor como resposta.

Este algoritmo definido por recorrncia, isto , o algoritmo cita ele mesmo vrias vezes, a fim de

obter o resultado.
34

Mais quo rpido converge o Algoritmo de Euclides? Por exemplo, ao


iniciar com inteiros a e b de 1000 algarismos, quantos passos, no mximo,

seriam necessrios para chegarmos ao final do algoritmo?

Essa uma pergunta muito importante quando consideramos aplicaes computacionais prticas
que utilizam o Algoritmo de Euclides.
Para respondermos a essa pergunta, precisamos da seguinte proposio:
Proposio. Sejam a e b inteiros positivos, com a b , e seja r o resto da diviso de

a e b . Ento r a / 2 .
Demonstrao
Como 0r b , se b a /2 , ento r a /2.

Se b a /2 , o quociente da diviso de a por b 1, logo:

a =b 1r r =a b.
Mas b a /2 b a / 2 a b a a / 2=a / 2 . Portanto r a /2 .

Com essa proposio se determina o nmero mximo de passos necessrios para que o
algoritmo de Euclides termine.
No algoritmo de Euclides temos

mdc a , b =mdc b , r =mdc r , r 1 =mdc r 1, r 2 =mdc r 2, r 3 =


Observe que a cada dois passos trocamos os primeiros elementos de um par pelo resto da
diviso dos dois elementos do par.
Por exemplo, no 3 passo ( mdc r , r 1 ), o primeiro elemento do par r , que o resto da

diviso de a por b (par no 1 passo).

35

No 4 passo ( mdc r 1, r 2 ), o primeiro elemento do par r 1 , que o resto dos inteiros do 2

passo ( mdc b , r ).

Assim, r a /2 r 2 r / 2a / 4 r 4r 2 /2r / 4a /8. A cada dois passos, o maior

nmero do par fica reduzido a, no mximo, metade do valor. Voc pode observar que os restos

r k , para k inteiro par, satisfazem r k

a
k / 21

Na pior hiptese, vale a igualdade na frmula acima e o algoritmo para quando encontramos
resto 1.
Fazendo r k =1 na frmula anterior, obtemos:

a
2

k /21

=1 a =2

k /21

Ao aplicar logaritmo de base 2 de ambos os lados, temos:

log2 a =

k
2

1 log2 a 1=

k
2

k =2log 2 a 2.

A concluso que o nmero mximo de passos para terminar o algoritmo de Euclides

2 log2 a 2, em que a o maior dos inteiros que iniciaram o algoritmo.


Exemplo: Se a um inteiro de mil dgitos, ento a 10 1000 .

Assim,

k 2 log 2 10 10002=2000 log2 10220003,3222=6641.


O algoritmo chega ao resultado em, no mximo, 6.641 passos.
Nesta aula voc teve contato com muitas demonstraes, contas com fatoraes
em primos e, por isso, pode ter encontrado alguma dificuldade. Algumas vezes
preciso ler mais de uma vez. H detalhes que s podem ser percebidos depois que
os conceitos ficam mais amadurecidos.
Voc tambm estudou o algoritmo de Euclides, a expresso do mdc e do mmc, em
36

termos da fatorao em primos dos inteiros envolvidos, e a frmula que relaciona o


mdc e o mmc.

Atividade
1) Use o algoritmo de Euclides para calcular o mdc entre os pares de nmeros abaixo. A partir do
mdc, calcule o mmc destes nmeros.
a)

a =847 e b =91 .

b)

a =2475 e b =231 .

37

Aula 4 Testes de Primalidade

Como afirmar se um inteiro primo? Trata-se de um problema relevante em vrias


aplicaes de Teoria dos Nmeros, incluindo as aplicaes em Criptografia.
Um teste de primalidade qualquer algoritmo que determina se um inteiro primo.
No confunda teste de primalidade com um problema relacionado: o de fatorao
de inteiros.

Determinar a fatorao de um dado inteiro computacionalmente


mais difcil do que determinar se esse inteiro ou no primo.

Nesta aula, voc vai estudar um processo clssico para obter todos os primos de 1
a n e a descrio de um teste de primalidade simples.

Texto 17 Primeiro teste de primalidade


Vamos agora descrever um mtodo simples para determinar se um inteiro n ou no primo.
Se um inteiro n no primo, ento h algum fator primo menor que ele. A idia dividir n
por todos os primos menores que ele. Caso no seja divisvel por nenhum, ento ser primo.
No necessrio testar todos os primos menores que n ; basta avaliar os primos menores ou
iguais a

n .

Proposio. Se n no primo, ento possui um fator primo menor ou igual a

n .

Demonstrao
Se n composto, ento existem n 1 e n 2 , tais que n =n 1n 2 , em que 1n 1 n e

1n 2 n.
Suponha que n 1n 2 (o caso n 2n 1 anlogo). Assim:

n = n 1n 2 n 1n 1 = n 21 n 1 n .
38

Seja p fator primo de n 1 (caso n 1 seja primo, p =n 1 ). Como n 1 n e p n 1 , ento

p n 1 n e, como p n 1 e n 1n , ento p n . Logo, p fator primo de n menor ou


igual a

n .

Exemplo: Vamos determinar se 127 primo. Como

127

um pouco maior que 11, basta

testar a divisibilidade de 127 pelos primos 2, 3, 5, 7 e 11. Como ele no divisvel por nenhum
destes nmeros, ento 127 primo.
Para usar este mtodo, convm ter em mos uma lista de primos. Uma forma para obt-la, at
um nmero escolhido, o conhecido crivo de Eratstenes.

Leia sobre Eratstenes na seo Saiba mais ao final desta aula.

O crivo de Eratstenes um mtodo muito antigo para encontrar todos os primos at um certo

inteiro especfico. A palavra crivo quer dizer peneira. O algoritmo atua, de fato, como uma
peneira, separando os mltiplos dos primos em sucesso, deixando passar apenas os que no
so divisveis por estes primos. Ao final do processo, apenas os primos passam pela peneira.

O mtodo consiste em escrever todos os inteiros de 1 a N. Como 1 no primo, pode ser riscado
imediatamente.
O algoritmo prossegue, seqencialmente, em passos. Em cada etapa, encontramos o primeiro
nmero que no foi riscado, marcamos ele como primo e riscamos todos os seus mltiplos
prprios. Enquanto o ltimo nmero a ser avaliado no excede a raiz quadrada de N, repetimos
os passos citados. Quando o algoritmo pra, os inteiros remanescentes so primos.
Por exemplo, vamos escrever o crivo de 1 a 100. Devemos eliminar os mltiplos dos primos
menores ou iguais a

100=10 .

39

Inicialmente, escrevemos todos os inteiros


de 1 a 100. Riscamos o 1, que no
primo.

Encontramos e marcamos como primo o


nmero 2. Em seguida, riscamos todos os
mltiplos prprios de 2.

Depois marcamos 3 como primo e


riscamos seus mltiplos prprios.

40

Em seguida, o primeiro inteiro noriscado o 5. Marcamos 5 como primo e


riscamos seus mltiplos prprios.

O primeiro inteiro no-riscado o 7.


Selecionamos 7 como primo e riscamos
seus mltiplos prprios.
Como o prximo nmero no-riscado 11,
que maior que a raiz quadrada de 100, o
algoritmo pra e os inteiros remanescentes
podem ser marcados como primos.

Conclumos que os primos de 1 a 100 so:


2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 e 97.

Para conhecer mais sobre os crivos de Eratstenes, visite os dois endereos listados a seguir:
http://www.cut-the-knot.org/Curriculum/Arithmetic/Eratosthenes.shtml

Neste endereo h um aplicativo em que voc pode escolher o inteiro N. Ento, aparece
em um boto o prximo inteiro no-riscado. Ao apert-lo, so riscados os mltiplos
prprios deste inteiro e o prximo no-riscado exibido.
http://www.faust.fr.bw.schule.de/mhb/eratosiv.htm

Neste outro endereo, voc encontra um aplicativo de crivo de Eratstenes montado de 1


a 400. Ao clicar em um inteiro da tabela, os mltiplos prprios desse inteiro desaparecem.

41

O teste apresentado inicialmente dividir um inteiro N pelo primos


menores ou iguais a

sempre funciona; porm, na prtica, no pode

ser utilizado para inteiros com fatores primos muito grandes. comum ser
utilizado para testar a primalidade de inteiros pequenos.
Vrios testes de primalidade populares so probabilsticos. Esses testes
no permitem afirmar com certeza se um inteiro n primo, mas podem
comprovar que n provavelmente primo.
Se n passa no teste, ento apresenta certa probabilidade de ser primo.
A chance de erro pode ser reduzida a um valor arbitrariamente baixo, se
aplicarmos o teste vrias vezes.
O teste probabilstico mais simples o teste de Fermat, que ser estudado
na Aula 9.

Texto 18 Teorema dos Nmeros Primos


Para responder a algumas questes, como, por exemplo,
-

existem infinitos primos, mas como eles se distribuem?

conforme os inteiros ficam maiores, os primos se tornam menos espaados?

a densidade dos primos diminui?

necessrio definir a funo x .

Se x real positivo, ento x o nmero de inteiros primos menores ou iguais a x .

Exemplos:

10 = 4 (os primos 2, 3, 5 e 7 so menores que 10);

100 =25 , h 25 primos menores que 100. Confira na lista que fizemos usando o
crivo de Eratstenes;

1000=168 ;

10 4 =1.229 ;

10 =9.592 ;

10 6 =78.498 .

42

Um resultado importante, suposto originalmente por Gauss, no sculo XIX, e provado por
Hadamard e Vall-Poussin, em 1896, o chamado teorema dos nmeros primos, que afirma que:

lim
x

x
log x

= 1

onde log x o logaritmo natural de x (logaritmo na base e ).

Esse resultado significa que, se x muito grande, ento x deve estar prximo de

x
log x

, pelo menos em termos relativos.

Mesmo para valores muito grandes de x , o erro x

x
log x

bastante elevado. Por

exemplo, para x =1016 , o erro da ordem de 1013 .

H vrios problemas no resolvidos na Matemtica, relacionados questo da distribuio dos


nmeros primos. Um dos problemas sem soluo mais importantes a chamada hiptese de
Riemann relaciona-se funo x e ao teorema dos nmeros primos.

Nesta aula 4, voc aprendeu o que so testes de primalidade e estudou o teste


mais simples, que tentar dividir N por todos os primos menores ou iguais a

N .

Este mtodo nos leva ao crivo de Eratstenes, que um algoritmo antigo

para elaborar tabelas de primos.


Voc tambm estudou a questo da distribuio dos nmeros primos e o Teorema
dos Nmeros Primos.
Vamos voltar questo dos testes de primalidade ao apresentarmos o pequeno
teorema de Fermat, que d origem a um teste probabilstico, chamado teste de
Fermat.

43

Saiba mais: Eratstenes


Eratstenes foi um matemtico, gegrafo e astrnomo grego que viveu de 276
a 194 a.C. Nasceu em Cyrene (atual Lbia), mas estudou, trabalhou e morreu
em Alexandria, onde atuou como bibliotecrio da famosa biblioteca dessa
cidade.
Eratstenes fez contribuies importantes para as reas de Matemtica e
Cincias. Foi o primeiro a calcular a circunferncia da Terra, usando
trigonometria e o conhecimento do ngulo de elevao do Sol ao meio-dia, em
duas cidades distantes.
H controvrsias sobre a unidade de medida usada por Eratstenes, mas
acredita-se que o valor obtido por ele esteja entre 39.690 Km e 46.620 Km,
valor prximo ao conhecido hoje, de 40.080 Km. Eratstenes mediu tambm a
distncia da Terra ao Sol, da Terra Lua e teria compilado um catlogo de
675 estrelas.
Eratstenes era conhecido na poca pelo apelido de beta, a segunda letra do

alfabeto grego. A razo do nome que, segundo seus contemporneos, ele


tinha grande conhecimento em vrias reas, mas em cada uma delas era
apenas o segundo melhor.

Atividades
1) Determine se os seguintes inteiros so primos:
a) N = 229
b) N = 1223
c) N = 481
2) Use o crivo de Eratstenes para determinar todos os primos at N=200. Determine 200 .

44

Aula 5 Aritmtica Modular

Aritmtica modular um sistema em que as operaes entre os inteiros so feitas mdulo um


outro inteiro n . O sentido desta frase ser melhor compreendido ao longo desta aula.
Para entender o sistema, pense em um relgio. Se ele marca 21 horas neste momento, daqui a 5
horas marcar 2 horas da manh, certo?
Isso ocorre porque, aps as 24 horas, o relgio volta a marcar 0 hora, reiniciando a contagem. Se
ele marca 18 horas, aps 10 horas marcar 4 horas da manh. Assim: 18 10=28 e

2824= 4 .
Esta aritmtica do relgio acontecer em qualquer evento cclico. semelhante ao cdigo de
Csar. Usando um alfabeto de 23 letras, se trocarmos cada letra pela prxima, duas unidades
frente, ento temos:

A 1
B 2

C 3
D 4

V 21 Z 23
X 22 A 1
Z 23 B 2
Veja que V (letra 21) substituda por Z (letra 23); X (letra 22) por A (letra 1) e Z (letra 23) por B
(letra 2). Em nmeros, esta substituio corresponde operao x x 2, com o detalhe de,

aps o 23, voltamos ao incio. Isto uma aritmtica modular, no caso mdulo 23.

Como voc estudou na primeira disciplina do curso, um cdigo de Csar


um mtodo em que uma chave, definida por um nmero, usada para
cifrar e para decifrar a mensagem. Leia mais sobre esse mtodo
criptogrfico na aula 5 do livro Introduo Criptografia.

Para definir exatamente essas noes, importante que voc conhea o estudo das relaes de
equivalncia e veja como a aritmtica modular se traduz em uma relao de equivalncia
chamada congruncia mdulo n .
Assim, nesta aula, voc vai estudar a definio de relao e o que uma relao de equivalncia,
45

e ainda vai aprender que congruncia mdulo n uma relao de equivalncia.

Texto 19 - Relaes
Uma relao em um conjunto S uma maneira de comparar os elementos de S .
Exemplo:
So relaes:

A relao de igualdade = nos inteiros.

A relao nos inteiros.

A relao ter a mesma idade em um grupo de pessoas.

A relao ser da mesma espcie no conjunto de animais em um zoolgico.

Isso lhe d uma idia do que seja uma relao. Veja a definio formal de relao no quadro a
seguir.

Podemos definir uma relao em um conjunto S como um subconjunto


de S S (conjunto dos pares ordenados { x , y ; x , y S } ).

Exemplos:

A relao de igualdade no conjunto {1,2,3,4,5 } o subconjunto

R ={1,1 , 2,2 , 3,3 , 4,4 , 5,5 } .

A relao no conjunto {1,2,3,4,5 } o subconjunto

R ={1,1 , 1,2 , 1,3 , 1,4 , 1,5 , 2,2 , 2,3 , 2,4 , 2,5 , 3,3 , 3,4 ,
.
3,5 , 4,4 , 4,5 , 5,5 }
A idia dessa representao que, para uma relao em um conjunto S, temos um subconjunto

R S S , tal que x , y R , quando x e y se relacionam.


Muitas relaes interessantes obedecem s propriedades que sero destacadas a seguir.

46

Seja S um conjunto e ~ uma relao em S . Dizemos que a relao ~

i. reflexiva, quando a ~a para todo a S .

ii. simtrica, quando a ~b b ~a para todo a , b S.

iii. transitiva, quando a ~b e b ~c a ~c , para todos a , b ,c S.

Confira alguns exemplos.

A relao de igualdade nos inteiros reflexiva, simtrica e transitiva (Verifique).

A relao nos inteiros reflexiva ( a a ) e transitiva ( a b e b c a c ), mas

no simtrica (por exemplo, se a b , ento no vale a b e b a ).

A relao no conjunto dos inteiros transitiva, mas no reflexiva nem simtrica.

A relao "ter a mesma idade que" no conjunto dos alunos de uma sala :
- reflexiva (aluno A tem a mesma idade que ele mesmo),
- simtrica (se A tem a mesma idade que B, ento B tem a mesma idade que A)
- transitiva (se A tem a mesma idade que B e B tem a mesma idade que C, ento A tem
a mesma idade que C).

A relao de incluso no conjunto P X dos subconjuntos de um conjunto X uma

relao reflexiva e transitiva, mas no simtrica.


H uma quarta propriedade que surge em vrias relaes importantes (inclusive ) :

Uma relao ~

iv. anti-simtrica, quando a ~b e b ~a a =b .

A relao no conjunto dos inteiros reflexiva, anti-simtrica e transitiva.

Podemos agora definir a relao de equivalncia.


Uma relao em um conjunto S chamada relao de equivalncia, se ela reflexiva,
simtrica e transitiva.
47

Exemplos.

A relao de igualdade nos inteiros relao de equivalncia.

A relao "ter a mesma idade que" no conjunto dos alunos de uma sala relao de
equivalncia.

A relao no conjunto dos inteiros no relao de equivalncia, pois no simtrica, mas

importante.

Muitas relaes interessantes so, assim como

, relaes reflexivas, anti-simtricas e

transitivas. Elas tambm recebem um nome especial.

Uma relao reflexiva, anti-simtrica e transitiva chamada relao de ordem.

So relaes de ordem:
A relao no conjunto dos inteiros.

A relao no conjunto dos subconjuntos de um conjunto X .

A relao "a divide b" no conjunto dos inteiros.


Agora, vamos voltar s congruncias mdulo n , ponto de partida desta aula.

Texto 20 Congruncia Mdulo n


Seja n um inteiro positivo. Dizemos que a b mod n , se a b um mltiplo de n , ou

seja, se a =b kn para algum k .

Exemplos:
14 6 mod 4 , pois 4 divide 14 6=8 .

37 mod 5 , porque 5 divide 37=10 .

10 0 mod 5 , pois 5 divide 10 0=10 .


48

Observe que a 0 mod n na 0 na , ou seja, os inteiros que so congruentes a 0

mdulo n so exatamente os mltiplos de n .


Sejam a inteiro e n inteiro positivo, q e r o quociente e o resto da diviso de a por

n . Temos que:

a =q n r a r =q n a r mod n .
Ento, por exemplo, todos os inteiros que tm resto 1 pela diviso por n so congruentes a 1
mdulo n .
Encontrar o resto da diviso de a por n equivalente a achar um inteiro r , 0r n , tal

que a r mod n . Esta observao importante porque veremos diversas frmulas que

permitem encontrar facilmente um inteiro pequeno que seja congruente mdulo n a uma dada
potncia.
Agora, vamos estabelecer o fato de que a relao de congruncia mdulo n uma relao de
equivalncia.
Proposio. Para todos a , b e c inteiros e n inteiro positivo, vale que:
1. a a mod n

(propriedade reflexiva)

2. a b mod n b a mod n

(propriedade simtrica)

3. a b mod n e b c mod n a c mod n (propriedade transitiva)

Como exerccio, faa a proposio 1 e 2. Depois, siga e veja a demonstrao da proposio 3. Ao


final, junto com a resposta dos exerccios, veja as demonstraes feitas.
Demonstrao. Quanto afirmao 3, se

a b mod n e b c mod n ,
ento,

na b e n b c n a b b c = a c a c mod n .
Esta proposio mostra que a relao de congruncia mdulo n uma relao de equivalncia.

49

No prximo texto, voc vai aprender que uma relao de congruncia em um conjunto cria uma
partio desse conjunto, que dada pelas classes de equivalncia.
Aps voc estudar estas classes, vai entender como se aplica a relao de congruncia mdulo

n .
Texto 21 - Classes de Equivalncia
Uma relao de congruncia em um conjunto S induz naturalmente a uma classificao dos
objetos do conjunto.
Por exemplo, a relao de equivalncia dada por "ter a mesma idade que" no conjunto dos alunos
de uma escola classifica-os em um subconjunto de alunos de mesma idade. Todos os alunos de
15 anos, por exemplo, so equivalentes por esta relao, e ficam dentro da mesma "classe".
Esta classificao expressa pelo conceito de classe de equivalncia.
Dada uma relao de equivalncia ~ em um conjunto S , a classe de equivalncia de um

elemento x S formada pelos elementos que so equivalentes a x por ~ .

Denotamos a classe de equivalncia de x por x assim:

x = {y S y ~ x }
Observe que, se

y x , ento x y , o que apenas outra forma de dizer que, se

y ~ x , ento x ~ y , que a propriedade de simetria de uma relao de equivalncia.


Por outro lado, se x y , ento x = y , pois, se z x , ento z ~ x . Como x y , ento

x ~ y ; logo z ~ x e x ~ y z ~ y z y .
Desta forma, z x z y
, o que mostra que x y .

Podemos mostrar de forma anloga que y x


, provando assim que x = y , quando x y .

Isso permite concluir que, se

x y , ento x = y , pois se z x y , ento

z x e z y z =x e z = y x = y .
Em outras palavras, duas classes de equivalncia ou so iguais, ou so disjuntas.

50

Observe ainda que, como x x , todo elemento de S est em alguma classe de equivalncia.

Essas observaes podem ser resumidas em duas propriedades muito importantes das classes
de equivalncia:
i. Duas classes distintas so disjuntas.
ii. A unio de todas as classes de equivalncia todo o conjunto S.
Desse modo, o conjunto das classes de equivalncia em um conjunto S formado por
subconjuntos no-vazios disjuntos de S, cuja unio S.

Este conjunto chamado espao

quociente da relao de equivalncia ~ e algumas vezes denotado por S /~ .

Uma partio de um conjunto S uma coleo de subconjuntos no-vazios S i , disjuntos dois

a dois ( S i S j = se i j ), tal que S a unio dos S i .

O que foi mostrado anteriormente que, dada uma relao de equivalncia em um conjunto S ,
o conjunto de suas classes de equivalncia forma uma partio de S .
Assim, fcil mostrar a recproca.

Dada uma partio de S, existe uma relao de equivalncia tal


que suas classes de equivalncia so os conjuntos da partio.

Texto 22 Classes de Congruncia


A relao de congruncia mdulo n uma relao de equivalncia.

Quais so as classes de equivalncia para congruncia mdulo n ?

Vamos a um exemplo: quais so as classes mdulo 5?


Primeiro, vamos obter a classe do 0:

x 0 mod 5 5 x 0 5x
x 0
51

formado pelos mltiplos de 5:


Portanto, 0

={5k k } = {... , 10,5,0,5,10,... }


0
Qual a classe de 1?

x 1 mod 5 5 x 1 x 1 =5k x =5k 1, para algum k .


x 1
formado pelos mltiplos de 5 somados a 1:
Assim, 1

={5k 1 k } = {... ,9, 4,1,6,11,. .. }


1
Continuando, obtemos:

={5k 2 k } = {... ,8, 3,2,7,12,... }


2

={5k 3 k } = {... ,7, 2,3,8,13,... }


3

={5k4 k } = {... ,6,1,4,9,14,. ..}


4

=0
.
, temos 5
? Como 50
Eo 5

,2
,3
,4
so todas as classes mdulo 5. Observe que, para qualquer a
,1
As classes 0
inteiro, existem inteiros q e r , tal que a =5q r , onde 0r 5 (diviso de n por 5).

Logo a r mod 5 a r .

,2
,3
,4
} o espao quociente (conjunto das classes de equivalncia) da relao
,1
Assim, {0
de congruncia mdulo 5. Chamamos este conjunto de 5 .

Podemos generalizar esta observao. Veja a seguir.


Proposio. Seja n inteiro positivo. O conjunto de todas as classes de congruncia mdulo

, ... , n 1 } .
,1
n o conjunto {0
Demonstrao
Dado qualquer inteiro a , existem inteiros q e r , tais que:

52

a =q n r , sendo 0r n.
Portanto a r mod n a r . Desta forma, todos os inteiros esto em alguma das classes

,1
, ... , n 1 .
0

, ... , n 1 so todas distintas, pois dois inteiros entre 0 e


,1
Por outro lado, as classes 0

n 1 s podem ser congruentes mdulo n se forem iguais.


Representamos por n o conjunto de todas as classes de congruncia mdulo n .

,1
, ... , n 1}
Ento: n ={0
Cada classe a
. Veja que,
um conjunto infinito. O inteiro a um representante da classe a

para uma classe, podemos escolher qualquer elemento dela como representante.

Por exemplo: para mdulo 5, qualquer inteiro da forma

.
5k 1 representante da classe 1

Nesta aula, voc estudou as relaes de congruncia mdulo n . Para isso,


aprendeu as relaes em geral, conheceu algumas propriedades e viu, em
particular, que as relaes reflexivas, simtricas e transitivas so chamadas
relaes de equivalncia.

Uma relao de equivalncia em um conjunto particiona este


conjunto em classes de equivalncia.
Outro ponto estudado foi a relao de congruncia mdulo n , que uma
relao de equivalncia. O conjunto das classes de congruncia mdulo n
denotado por n . Voc viu ainda a demonstrao de que:

,1
, , n 1 }.
n ={0
A congruncia mdulo n uma poderosa ferramenta na Teoria dos Nmeros. E
voc ver, ao longo da disciplina, que essa utilizada quase que universalmente.
Atividades
1) Seja S ={1,2,3,4 } . Considere as seguintes relaes em S:

53

R 1 ={1,1 , 2,2 , 3,3 , 4,4}


R 2 ={1,2 , 1,3 , 2,2 , 2,3}
R 3 ={1,1 , 1,2 , 2,2 , 2,3 , 3,3 , 4,4}
R 4 ={1,1 , 1,2 , 1,3 , 2,1 , 2,2 , 3,1 , 3,3}
R 5 ={1,1 , 1,2 , 1,3 , 1,4 , 2,2 , 2,3 , 2,4 , 3,3 , 3,4 , 4,4}
Para cada uma das relaes anteriores, indique se reflexiva, simtrica ou transitiva.
2) Determine se as afirmaes a seguir so verdadeiras ou falsas:
a) 25 1 mod 12

b) 514 mod 3

c) 122 mod 3

d) 57 t 5 mod 7, para todo t

e) x 2 17 y =3 mod 17 x 23 mod 17

54

Aula 6 - Operaes com Classes de Congruncia

A Matemtica a rainha das cincias e a


Aritmtica a rainha da Matemtica.
Carl Friedrich Gauss

Como voc estudou na primeira aula, a aritmtica, termo utilizado para se referir
Teoria dos Nmeros, tem como objetivo estudar os nmeros inteiros, suas
operaes e representaes.
Agora voc vai estudar as operaes com classes de congruncia. Neste prximo
passo, vai aprender a definio de soma e de produto de classes mdulo n .
Voc se lembra que a aula anterior, sobre Aritmtica Modular, iniciou com a
aritmtica das horas de um relgio? Vamos ver mais sobre esse exemplo.

Texto 23 Definio de Soma e de Produto de Classes

A aritmtica do relgio uma aritmtica mdulo 24. Por exemplo, se o relgio marca 23 horas,
aps 5 horas vai marcar 4 horas da manh. Isso acontece porque 23524=4 (aps s 24

horas, o relgio volta a marcar 0 hora). Para uma aritmtica mdulo 24, temos a soma

=4
.
23 5=4 . Mais precisamente, em 24 , temos 23 5

=a b . O problema desta
A operao de soma em n definida naturalmente por a
b

, respectivamente.
definio que a e b so representantes das classes a
e b
Nesse caso, se fossem utilizados outros representantes, seria obtido o mesmo resultado? Vamos
ver um exemplo.

.
=65 =11 =3
5
Em 8 , 65 =11 3 mod 8 . Logo, 6

e
Mas 146 mod 8 e 215 mod 8 , logo 14=6

mod 8 .
215

Se somarmos

, usando os representantes 14 e 21, vamos obter o mesmo resultado? Verificamos


5
6
facilmente que sim, pois

.
1421=1421=35=3

55

=a b faa sentido, temos


claro que este apenas um exemplo. Para que a definio a
b
de provar que, para qualquer inteiro positivo n , a soma

a b

no depende dos

.
representantes escolhidos nas classes a
e b
Na prxima proposio, vamos provar que tanto a soma como o produto de classes no
dependem da escolha dos representantes.

, ento
Proposio. Em n , se a' =a
e b' =b
1. a ' b ' =a b

2. a ' b ' =ab

Demonstrao

a' =a a ' a mod n a ' =a k 1 n , para algum k 1 .

b' =b b ' b mod n b ' =b k 2 n , para algum k 2 .


Logo,

a ' b ' = a k 1 n b k 2 n = a b k 1k 2 n a ' b ' a b mod n ,


o que mostra que a ' b ' =a b .

a ' b ' =a k 1 n b k 2 n =a b a k 2 n b k 1 n k 1 k 2 n 2=ab n bk 1 ak 2 k 1 k 2 n


.
Portanto a ' b ' a b mod n a ' b ' =ab .

Uma forma equivalente de ver a proposio anterior somar e multiplicar duas congruncias
mdulo n .
Se a a ' mod n e b b ' mod n , ento

a b a ' b ' mod n

a b a ' b ' mod n

Seja

um inteiro positivo. Ao multiplicar uma congruncia a b mod n


56

por ela mesma

k vezes, obtemos:

a b mod n a k b k mod n
Em particular, se a 1 mod n , ento a k 1 mod n para todo k inteiro positivo.

Pelo exposto, podemos, com toda a segurana, definir soma e produto de classes por

=a b
a
b
=ab
a
b
Assim, podemos agora somar e multiplicar classes em n . Este no s um conjunto, mas um

conjunto com operaes de soma e multiplicao.


Essas operaes herdam diversas propriedades da soma e da multiplicao dos inteiros:

Propriedades da soma


a b
c =a b
c
=b

a
b
a
=
a
0
a

a
a =0

Propriedades da multiplicao


ab
c =
a b
c
=b

a
b
a
=a
a
1

Distributividade

c =
a
b
ab
a
c
Um conjunto com operaes de soma e de multiplicao que satisfazem s oito propriedades
listadas anteriormente chamado um anel.
Podemos ento falar no Anel n .

57

Texto 24 Tabelas de Soma e de Multiplicao


Uma maneira de visualizar as operaes de soma e de multiplicao de classes em n

atravs de tabelas. Nelas, listamos todas as classes na primeira linha e na primeira coluna. Cada
entrada na tabela corresponde operao dos elementos indicados na primeira linha e na
primeira coluna.
Como exemplo, vamos fazer as tabelas de soma e de multiplicao de 5 :

4
. Na tabela de
=4
Veja que a ltima entrada ( direita e abaixo) da tabela soma 3
=4
4
.
multiplicao, a ltima entrada 1
Analise cuidadosamente todas as entradas dessas tabelas. Confira cada uma delas para ter
58

certeza de que voc entendeu a construo.

Tabelas de soma e de multiplicao de 4 :

Vamos continuar o estudo da estrutura de n na prxima aula. Agora, vamos trabalhar algumas

aplicaes da congruncia, iniciando pelas regras de divisibilidade.

Texto 25 Divisibilidade
As regras de divisibilidade por 2, 3, 5, 9 e 11 so bem conhecidas. Como exerccio de
congruncia, vamos entend-las.
Observe inicialmente que, como usamos um sistema de numerao de base 10, se um inteiro

a escrito como a =a ka k 1 ... a 1a 0 , ento:


59

a =a k10k a k 110k 1...a 110a 0 .


Por exemplo, se a=257 , ento a =210 2510 7 =200507 .

A seguir, veja os casos de divisibilidade:


Divisibilidade por 3 e 9

Como

101 mod 3 , ento

10 1 mod 3

para qualquer expoente i . Assim, se

a =a ka k 1 ... a 1a 0 , ento
a = a k10k a k 110k 1...a 110a 0 a k a k 1a 1a 0 mod 3 .
O inteiro a divisvel por 3 se, e somente se,

3a a 0 mod 3 a k a k 1a 1a 0 0 mod 3
ou seja, a divisvel por 3 se, e somente se, a soma de seus algarismos for divisvel por 3.
O mesmo vale para 9. Como 10 1 mod 9 , ento 10i 1 mod 9 para qualquer expoente

i . Nesse caso o mesmo raciocnio se aplica. Vale que um inteiro a divisvel por 9 se, e
somente se, a soma de seus algarismos for divisvel por 9.
Voc deve ter percebido, nesse primeiro exemplo, que o artifcio para deduzir regras de
divisibilidade por n verificar a classe de congruncia de 10 e suas potncias mdulo n .
Vamos a outro caso.
Divisibilidade por 2 e 4
Como 100 mod 2 , ento 10i 0 mod 2 , para todo i 0 . Assim, se

a =a ka k 1 ... a 1a 0 , ento

a =a k10k a k 110k 1...a 110a 0 a 0 mod 2 .


Logo, a divisvel por 2 se, e somente se, a 0 for divisvel por 2, isto , quando a par.
60

Com relao divisibilidade por 4, 102 mod 4 , mas 100 mod 4 ; logo

10i 0 mod 4 para todo i 2 .


Portanto, se a =a ka k 1 ... a 1a 0 , ento

a = a k10k a k 110k 1...a 110a 0 a 110a 0 mod 4 .


Assim, a divisvel por 4 se, e somente se, o nmero a 1cdot a 0 (nmero formado por seus dois

ltimos algarismos) for divisvel por 4.


Exemplo: 99.875.320 divisvel por 4, pois o nmero 20 .

Divisibilidade por 5 e 10
Como 100 mod 5 , ento 10i 0 mod 5 , para todo i 1 .

Assim, se a =a ka k 1 ... a 1a 0 , ento:

a = a k10k a k 110k 1...a 110a 0 a0 mod 10 .


Portanto, a divisvel por 5 se, e somente se, a 0=0 ou

a 0=5 .

Como 100 mod 10 , vale o mesmo raciocnio, e um inteiro a divisvel por 10 se, e

somente se, a 0 for divisvel por 10, isto , quando a 0=0 .

Divisibilidade por 11
Observe as classes mdulo 11 das potncias de 10.

101 mod 11 .

102 1 2 mod 11 1021 mod 11

103 1 3 mod 11 1031 mod 11

61

Em geral, ao elevar 10 1 mod 11 potncia i , temos: 10i 1 i mod 11 .

Mas 1 =

1
se i par
1 se i mpar

, logo 10

1 mod 11
se i par
1 mod 11 se i mpar

Assim,

a =a k10k a k 110k 1 ... a 110a 0 a k1k a k 11k 1...a 2a 1a 0 mod 11


Temos aqui uma soma alternada dos algarismos de a . O inteiro a divisvel por 11 se, e
somente se,

a 0 mod 11 a 0a 1a 2a 3 ...1 a k 0 mod 11 .


Ou seja, a divisvel por 11 se, e somente se, a 0a 1a 2 a3 ...1 a k for divisvel por

11.
Exemplo: a=28.435 divisvel por 11, pois 53 4 82 =0 , que divisvel por 11.

No prximo texto, vamos mostrar outra aplicao das congruncias: o clculo de potncias
mdulo n .

Texto 26 Potncias
Outra aplicao muito til da congruncia determinar o resto da diviso de uma potncia a k

por um inteiro n . A idia encontrar algum s , tal que a s seja um inteiro pequeno, e fazer a

diviso do expoente k pelo inteiro s .

Se k =q s r , com

0r s , ento a k =a qs r = as qa r .

Se a s congruente mdulo n a um inteiro pequeno, ento podemos reduzir a k a uma

potncia menor. Se, por exemplo, a s 1 mod n , ento:

a k = a s qa r 1 1a r a r mod n ,com 0 r s.
Veja a seguir alguns exemplos que vo facilitar a compreenso destas tcnicas.
Exemplos:
62

1) Calcule o resto da diviso de 1033 por 99 .

Vamos usar o fato de que 102 1 mod 99 . Como 33 =216 1 , ento:

1033 =102161 = 102 1610 1 110 mod 99 10 mod 99


Portanto, 10 o resto da diviso de 1033 por 99.

2) Calcule o resto da diviso de 234 por 15.

Inicialmente, vamos determinar se alguma potncia de 2 pode facilitar a soluo.


Veja:
1
2
3
4
2 =2, 2 =4, 2 =8, 2 =16 1 mod 15 .

Agora, utilizamos a potncia 24 . Sendo 343=4 853 , temos:

2343 =24times853=2 4 8523 1 8523 mod 15 8 mod 15 .


Portanto, o resto da diviso de 2343 por 15 8.

3) Calcule o resto de 3125 por 7 .

Vamos tentar as potncias de 3:

31=3, 3 2=92 mod 7, 33=271 mod 7


Podemos usar tanto 32 como 33 para resolver o problema. Para ilustrar, vamos fazer das duas

maneiras.

Usando 322 mod 7 e sendo 125=2621 , temos

125

=32621= 32 623 2623 mod 7 .


63

Agora, vamos tentar uma potncia de 2 adequada. Como 23=8 1 mod 7 , a diviso de 62 por

3 resolve o problema. Sendo 62=2032 , temos:

3125 2623 mod 72 32023 mod 7 23 2023 mod 7 1223 mod 7


ou seja, 3125 12 mod 7 5 mod 7 . Portanto, o resto de 3125 por 7 5.

A outra soluo usa 331 mod 7 . Temos que 125=41 32 , logo

3125 = 33 4132 1 4132 9 mod 7 5 mod 7 ,


o que confirma que o resto da diviso de 3125 por 7 5.

Esses trs exemplos demonstram o uso de congruncia para encontrar restos de potncias. Vale
destacar que a potncia exata a ser usada em cada caso depende do problema. Como vimos no
ltimo exemplo, nem sempre uma potncia a nica ou a melhor escolha.
Outra questo que, dados inteiros positivos a e n , nem sempre h uma potncia de a
que seja congruente a 1 mdulo n . Vamos voltar a esse assunto nas prximas aulas.

No endereo http://britton.disted.camosun.bc.ca/modart/jbmodart.htm h

uma discusso interessante sobre aritmtica modular e arte. Voc


tambm encontra um aplicativo que constri dinamicamente tabelas de
soma e de multiplicao modulares.

Nesta aula, definimos soma e produto de classes em n . Com estas operaes,

n deixa de ser s um conjunto e passa a ser um anel, isto , um conjunto com


operaes de soma e de produto que satisfazem s oito propriedades listadas
64

nesta aula.
Nas prximas aulas vamos aplicar as tcnicas de congruncia a dois problemas: o
dos testes de divisibilidade e o de determinao do resto pela diviso de potncias
grandes de um inteiro por n .

Saiba mais: Mdulo


A palavra mdulo foi introduzida na Matemtica pelo alemo Carl Friedrich
Gauss, em 1801, no seu famoso livro Disquisitiones Arithmeticae. Este um

livro-texto de Teoria de Nmeros; nele o matemtico Gauss rene os


resultados obtidos anteriormente por Fermat, Euler, Lagrange, Legendre e
pelo prprio autor.
Antes do livro, a Teoria dos Nmeros era considerada uma coleo de
resultados isolados e de conjecturas. Gauss, ento com 24 anos, deu uma
estrutura lgica aos resultados conhecidos, corrigiu demonstraes falhas,
preencheu as lacunas e ampliou vrios resultados.

Atividades
1) Elabore as tabelas de soma e de multiplicao de 6 .

2) Determine um teste de divisibilidade para 8.


3) Calcule o resto da diviso de:
a) 2303 por 15.

b) 7250 por 48.

c) 561 por 7 .

65

Aula 7 Diviso Modular

Na ltima aula, voc estudou as definies de operaes de soma, diferena e


multiplicao em n . Agora, vamos apresentar a diviso mdulo n .

Nesta parte, voc vai aprender tambm como escrever o mdc de dois inteiros
como combinao linear deles, utilizando o algoritmo de Euclides.

Texto 27 A inversa de uma classe de congruncia mdulo n

Para iniciar o estudo, vamos a uma questo:

O que significa dividir a por b ?

Se

c =a / b , ento a =b c . Podemos assim entender que dividir a por b como

encontrar um

tal que b x =a. Em n , seria a operao de encontrar uma classe x tal


que b
x =a , ou seja, encontrar x de modo que

bx a mod n.
Assim, dividir a por b equivalente a resolver a equao de congruncia anterior.
Uma outra forma de entender a diviso ver a / b como a1 / b =ab 1 , isto , a diviso de

a e b o produto de a pela inversa de b . J a inversa de b o nmero que


multiplicado por b resulta em 1, isto , b b 1=1.

b' =1 . Assim, o problema de encontrar


uma classe b' , tal que b
Em n , a inversa de b
a inversa de b equivalente a encontrar um inteiro b ' tal que:

b b ' 1 mod n.
Perceba que neste ponto temos duas dificuldades: nem sempre uma classe em n tem inversa,

assim como nem sempre a equao bx a mod n tem soluo. Em conseqncia, nem
66

sempre possvel dividir duas classes em n. .

Exemplos:

7
=21=1
. Por outro
, pois 3
tem inversa, que a classe 7
Em 10 , a classe 3

no tem inversa em 10 . Note que, se voc tentar encontrar uma


lado, a classe 2

, no vai obter a soluo.


classe x tal que 2
x =1

4
=1
.
3
=1
e 4
1
=1
, 2
Em 5 , todas as classes no-nulas tm inversa: 1

De acordo com o que foi apresentado anteriormente, somos levados seguinte questo: quais as
classes que possuem inversa em n ?

Texto 28 Quando uma classe em n tem inversa?

n . Se a
Seja a
tem inversa a' , ento:

aa ' 1 mod n n aa ' 1 .


a
a' =1
Logo, existe k , tal que:

a a ' k n =1.
Seja agora d = mdc a , n . Como d a e d n , ento:

d aa ' kn d 1 d =1.
n tem inversa, ento mdc a , n =1. Portanto,
Provamos, assim, que, se uma classe a

possua inversa.
mdc a , n =1 uma condio necessria para que a classe a

Mas ser essa uma condio suficiente?

De fato, se mdc a , n =1 , ento existem k 1 e k 2 , tais que ak 1 nk 2=1 . Logo

ak 1 1=nk 2 mltiplo de n , ou seja,


67


ak 1 1 mod n ak1=1
o que mostra que a
tem inversa em n .

Provamos desta forma a


Proposio: A classe a
em n tem inversa se, e somente se, mdc a , n =1.

Exemplos:

,7
, 11
}.
,5
As classes que tm inversa em 12 so {1

,7
,9
}.
,3
As classes que possuem inversa em 10 so {1

,3
,4
}.
,2
As classes que tm inversa em 5 so {1

Uma conseqncia da proposio que se p primo, ento todas as classes no-nulas em

possuem inversa. Isto acontece porque, sendo p primo e

1a p 1 , ento

mdc a , p =1. o caso de 5 , no exemplo anterior.


*
Chamamos de n o subconjunto de n formado pelas classes que tm inversa. Assim:

,7
, 11
}.
12 * ={1 , 5

,7
,9
}.
10 * ={1 , 3

}.
, , p 1 }= p * {0
p * ={1

O conjunto n * no fechado para a soma, isto , a soma de dois elementos que tm inversa
*

tm
e 5
mdulo n pode no ter inversa mdulo n . Por exemplo, em 12 , as classes 1

=6
no possui inversa.
5
inversa, mas 1
No entanto, vale que:

Lema: o conjunto n * fechado para a multiplicao. Assim, o produto

de duas classes que possuem inversa sempre tem inversa.

Demonstrao

68

duas classes em n * que tm inversa. Sejam suas inversas


Sejam a
e ,
e b

classe
respectivamente. A inversa de a
, pois:
b

ab = a b = 11 = 1 .

Texto 29 A congruncia linear a x b mod n

Vamos voltar seguinte questo: a congruncia linear a x b mod n tem soluo? Com o que

vimos anteriormente, podemos indicar uma situao em que a congruncia tenha soluo:
quando mdc a , n =1 .

Se mdc a , n =1 , ento o inteiro a tem inversa mdulo n . Logo

a x b mod n a x b mod n 1x b mod n x b mod n ,


o que mostra que a x b mod n tem uma soluo quando mdc a , n =1 .

E o que acontece quando mdc a , n 1 ? Neste caso, a equao a x b mod n pode ter

vrias solues ou nenhuma. Veja os exemplos:

2x 6 mod 8

tem

duas

solues:

x 3 mod 8

x 7 mod 8 ,

pois

236 mod 8 e 276 mod 8 , respectivamente. Observe que no h outra


soluo mdulo 8 testando todos os inteiros entre 0 e 7.

A congruncia 2x7 mod 8 no tem soluo, pois mdc 2,8=2 7. Voc pode

comprovar que isto verdade, testando os inteiros de 0 a 7.


A soluo completa para o problema sobre o nmero de solues da equao de congruncia
linear ax b mod n o seguinte

Teorema: A equao de congruncia ax b mod n tem soluo se, e somente se,

b for mltiplo de d = mdc a , n .


Alm disso, se d b , a equao possui exatamente d solues mdulo n . Se x 0 uma

soluo qualquer, ento as d solues mdulo n so dadas por:


69

x k = x 0

n
k,
d

k =0d 1.

Uma demonstrao do teorema pode ser encontrada em Introduo Teoria dos Nmeros, de

Jos Plnio de Oliveira Santos, 1998.


Retornando aos dois exemplos anteriores:

2x6 mod 8 tem duas solues, pois mdc 2,8=2 e 2divides6

O valor x 3 mod 8 uma soluo bvia, pois 23=6 . A outra soluo

8
2

x 3 7 mod 8.

2x 7 mod 8 no tem soluo, porque mdc 2,8=2 e 2 7 .

Observe que, quando dizemos que h d solues mdulo n , queremos mostrar que h d
classes mdulo n distintas que so solues da equao. H infinitos inteiros que so soluo
de

ax b mod n . No entanto, estes inteiros representam exatamente d classes de

congruncia mdulo n .
Por exemplo, a equao 2x6 mod 8 tem solues x 3 mod 8 e x 7 mod 8 , que so

as classes

que

e 7
em 8 . O inteiro
3

. Observe
x =11 tambm soluo, mas 11 3

.
x =15 tambm soluo, mas 15 7

Confira outro exemplo a seguir.


Determine todas as solues para a equao 6 x 9 mod 21 .

Inicialmente, observamos que d = mdc 6,21 =3 e 3 divide 9; logo a equao tem trs

solues mdulo 21. Tentando valores de x a partir de 0, encontramos a soluo x 0 =5 .

( 65 =309 mod 21 ).

A partir desta, encontramos todas as solues:

70

x k = x 0

n
k , k =0 d 1 x k =57k , k =0,1 e 2.
d

Portanto, as solues so x 5 mod 21 , x 12 mod 21 e x 19 mod 21 .

Neste exemplo, a primeira soluo no era totalmente bvia, mas conseguimos encontr-la com
poucas tentativas. claro que para nmeros maiores vamos precisar de outras tcnicas.
Uma tcnica que sempre funciona escrever d = mdc a , n em termos de a e n .

Sabemos que existem inteiros x 0 e y 0 , tais que d = x 0 a y 0 n . Como d b , ento b / d

um inteiro.
Ao multiplicar a equao anterior por este inteiro, o resultado :

y
bx 0
b
b
b
a b 0 n
d = x 0a y 0n b =
d
d
d
d
d

bx 0
a b mod n.
d

Vale destacar que a aplicao dessa tcnica depende de saber escrever o mdc de dois inteiros
como combinao linear desses inteiros. Ser o assunto do prximo texto.

Texto 30 - Como escrever o MDC de dois inteiros em combinao linear


A soluo para o problema est no algoritmo de Euclides, o mesmo utilizado para determinar o
mximo divisor comum de dois inteiros. Uma pequena modificao no algoritmo permite que ele
no apenas fornea o mdc a , b , mas tambm escreva d como combinao linear de a

e b .
Vamos iniciar com um exemplo para ilustrar o processo.
Exemplo:
Calcule mdc 4723,2350 e expresse esse mdc em termos de 4723 e

Para o clculo do mdc, fazemos as divises sucessivas:

71

2350 .

4723
2350
23
4

=
=
=
=

2235023
102234
543
131

O que mostra que mdc 4723,2350 =1.

Agora, vamos escrever 1 como combinao linear de 4723 e 2350 . O processo obter
o valor do resto na ltima equao e ir substituindo os valores dos restos, usando as outras
equaes, at chegarmos primeira. Veja:

Isolamos o 1 na ltima equao, obtendo: 1=413.

Obtemos o valor de 3 na penltima equao e substitumos:

3=23 5 4 1=4 1times3 =41 23 5 4 =6 4 123.

Obtemos o valor de 4 (2 equao) e substitumos:

4=235010223 1=64123=6235010223123
=6235061323.

Obtemos o valor de 23 (1 equao) e substitumos:

23=47232times2350 1=6235061323=6235061347232times2350
=123223506134723.
Conclumos que 1=123223506134723. Esta expresso tambm permite calcular a

inversa de 2350 mdulo 4723 . Reduzindo o mdulo 4723 a expresso, obtemos

123223501 mod 4723, ou seja, 1232 a inversa de 2350 mdulo 4723 .


O mtodo apresentado simples e sempre funciona, embora seja trabalhoso. Do ponto de vista
computacional, apresenta o srio inconveniente de que precisamos armazenar todos os
quocientes e restos intermedirios at o final. Em uma conta com muitos passos, armazenar
estes inteiros pode ser um problema.
H, no entanto, uma pequena mudana no algoritmo de Euclides que permite expressar o

mdc a , b como combinao linear de a e b , sem armazenar os quocientes e restos


intermedirios. A idia expressar cada resto intermedirio em termos de a e b , ou seja,
para todo resto intermedirio r k obter os inteiros x k e y k , tais que r k =ax k by k .

72

Os passos do algoritmo de Euclides so:

a = b q 1 r 1
b = r 1 q 2 r 2
r 1 = r 2 q 3 r 3

r k 2 = r k 1 q k r k
O

termo

geral

r k 2=r k 1 q k r k

implica

em

r k =r k 2 r k 1 q k .

Substituindo

r k 1=ax k 1 by k 1 e r k 2=ax k 2 by k 2 , que so as frmulas que expressam

r k 1 e r k 2 em termos de a e b , obtemos:

r k =r k 2 r k 1 q k = ax k 2 b y k 2 q k ax k 1 by k 1
= a x k 2q kx k 1 b y k 2 q ky k 1
Ao compararmos esta frmula com r k =ax k by k , temos que:

x k =x k 2q kx k 1
y k = y k 2q ky k 1

Assim, voc pode observar que o valor de um par x k , y k depende apenas dos valores

x k 1 , y k 1 e x k 2 , y k 2 correspondentes aos dois passos anteriores.


Para comearmos a aplicar a frmula, falta ainda um detalhe: o primeiro passo.
O primeiro passo do algoritmo a linha a =b q 1 r 1 r 1=1a q 1b . Assim, temos

x 1 =1 e y 1=q 1 na frmula r 1 =ax 1 by 1 . Para que a frmula (1) seja vlida tambm
para k =1 , temos que definir os valores de x 0 , y 0 e de x 1 , y 1 .

fcil ver que, ao definir x 0 , y 0 =0,1 e x 1 , y 1 =1,0 , ento x 1 =x 1q 1x 0 e

y 1= y 1q 1y 0 , ou seja, a frmula (1) permanece vlida para k =1 .


Parece complicado, no? Na verdade no . Acompanhe a seguir dois exemplos que vo facilitar
a compreenso.
Exemplo: Vamos refazer o exerccio de expressar 1=mdc 4723,2350 em termos de

4723

2350 .
73

direta das divises do algoritmo, escrevemos duas colunas para os valores de x k e de y k . A

cada passo fazemos x k = x k 2 q kx k 1 e y k = y k 2 q ky k 1 . Comeamos com as duas

linhas especiais com os valores de x 1 , y 1 =1,0 e x 0 , y 0 =0,1 . O algoritmo est

representado a seguir. Em cada linha est escrito o quociente em negrito para facilitar a
visualizao.

xk

4723
2350
23
4

=
=
=
=

2235023
102234
543
131

yk

1
0
0
1
120=1
021=2
01021=102
11022=205
15102=511
25205=1027
1021 511=613 2051 1027 =1232

Obtivemos o resultado 1=613 472312322350.

Para reforar, veja mais um exemplo. Desta vez vamos utilizar nmeros menores.
Exemplo: Calcule a inversa de 23 mdulo 41 .
Temos que mdc 23,41=1 . Vamos usar o algoritmo de Euclides para escrever 1 em

termos de 23 e 41 .

xk

41
23
18
5
3

=
=
=
=
=

12318
1185
353
132
121

yk

1
0
0
1
110=1
011=1
011=1
111=2
131=4 132=7
114=5 21 7=9
41 5=9 719=16

A concluso que 1=9411623 . Obtemos, ento, a congruncia: 1623 1 mod 41.

Portanto a inversa de 23 mdulo 41 16 . Como 2316=7 , podemos dizer que 7

a inversa de 23 mdulo 41 . Em outras palavras, x 7 mod 41 a nica soluo da

equao 23 x 1 mod 41 .

A aula 7 iniciou-se com a questo da diviso modular, o que nos levou a duas
74

perguntas:
1. Quando uma classe a
em n tem inversa?

2. Quando a equao de congruncia linear a x b mod n tem soluo?

A resposta primeira pergunta que uma classe a


em n tem inversa se, e

somente se, mdc a , n =1.

No caso da segunda questo, a resposta que a equao a x b mod n

tem

soluo se, e somente se, d = mdc a , n divide b . Neste caso, a equao

tem exatamente d solues mdulo n .

Outra questo apresentada foi: sendo

mdc a , n =1 , como possvel

efetivamente calcular a inversa de a mdulo n ? A resposta est em usar a


verso estendida do algoritmo de Euclides, apresentada durante a aula.

Atividades
1) Determine as classes que tm inversa em 9 e em 20

2) Para cada uma das seguintes equaes de congruncia, determine se ela tem soluo. Caso
tenha, determine todas as solues.
a) 3 x 8 mod 15

b) 2 x 20 mod 32

c) 5 x 7 mod 11

3) Usando o algoritmo de Euclides estendido, escreva mdc a , b em termos de a e b

para cada um dos pares de inteiros a seguir.


a) a =35 e b =65

b) a =15 e b =23

4) Calcule a inversa de 45 mdulo 91 .

75

Aula 8 - Teorema de Fermat


Nesta aula, voc vai estudar o teorema de Fermat e sua aplicao ao clculo de
algumas potncias.
Vamos iniciar o estudo apresentando quem foi Fermat, personagem importante na
histria da Matemtica.

Texto 31 - Fermat
O francs Pierre de Fermat (1601-1665) estudou direito e trabalhou como juiz em Toulouse. Era,
de certa forma, um matemtico amador, mas que fez enormes contribuies a vrias reas da
Matemtica.
considerado um dos precursores do clculo diferencial, sendo responsvel por avanos
notveis nas reas de geometria analtica e de probabilidade. Fez contribuies importantes para
a Teoria dos Nmeros.
Fermat trabalhou a Teoria dos Nmeros, enquanto lia uma traduo, para o latim, do livro
Aritmtica, do matemtico grego Diofante, que viveu de 200/214 a 284/298 d.C. Esse livro

apresentava todos o conhecimento dos gregos em Teoria dos Nmeros, organizado na forma de
perguntas e respostas. Continha mais de 100 problemas, cada qual com uma soluo detalhada.
Durante a leitura da publicao, Fermat escrevia notas nas margens largas do livro, detalhando
novas solues para os problemas, resultados que ele descobria. O matemtico morreu em
janeiro de 1665. Sua notvel contribuio Matemtica no foi registrada em livros, pois Fermat
no teve interesse em publicar. Ela consta apenas em trocas de cartas com matemticos
contemporneos e em anotaes soltas.
As contribuies teriam se perdido, se o filho mais velho de Fermat, chamado Clment-Samuel,
no tivesse a preocupao de reunir e divulgar as solues do pai. Cinco anos aps a morte do
matemtico, Clment-Samuel publicou uma edio especial de Aritmtica, com as observaes

de Fermat. A edio foi intitulada Aritmtica de Diofante contendo observaes de P. de Fermat.

Uma dessas observaes um teorema famoso conhecido como ltimo Teorema de Fermat.

76

No prximo texto, vamos estudar o pequeno teorema de Fermat ou, simplesmente, teorema de
Fermat. Fique atento para no confundir com o ltimo teorema de Fermat, que vamos
apresentar ao final da aula 8.

Texto 32 O Teorema de Fermat


Para ter uma idia do que diz o teorema de Fermat, vamos iniciar com um caso particular: o
inteiro 2 p 2 . Veja o valor de N =2 p 2 para alguns primos.

p =2 N =2 22 = 2 = 21

p =3 N =2 32 = 8 2 = 6 = 32

p =5 N =2 52 = 32 2 = 30 = 56

p =7 N =2 72 = 1282 = 126 = 718

p =11 N =2112 = 2.0482 = 2.046 = 11186


Voc deve ter percebido que, para estes valores de p primo, vale que p divide 2 p 2 . Esse

fato j era conhecido pelos chineses desde a Antiguidade. O teorema de Fermat mostra que o
fato observado anteriormente sempre verdadeiro, sendo vlido para todo primo p e base
inteira a .
Teorema de Fermat: Seja p um nmero primo e a um inteiro. Ento,

a p a mod p .
Perceba que a p a mod p o mesmo que p a p a .

Acompanhe mais alguns exemplos:

p =3 e a =5 3 divide a p a = 535 = 120

p =5 e a =4 5 divide a p a = 45 4 = 1.020
Vamos demonstrar o teorema de Fermat em breve, mas antes precisamos de um resultado
auxiliar.

, ... , n 1 } so todas as classes de congruncia mdulo


,1
Vimos que as classes {0
77

n .

Qualquer conjunto formado por n elementos, em que cada um representa uma das classes

,1
, ... , n 1 , um sistema completo de representantes mdulo n , tambm chamado
0
sistema completo de resduos mdulo n .
Assim:

{0,1,2,3,4 } um sistema completo de resduos mdulo 5.

{0, 6, 2, 13,24 } tambm um sistema completo de resduos mdulo 5, pois


, 61
, 2 2
, 13 3
e 24 4
.
00

Observe que, em um sistema completo de resduos, toda classe est representada e cada uma
representada uma nica vez.

Considere o conjunto {0, 1, 2, ... , p 1 } . Seja a inteiro, onde p a . Quais so as classes que

aparecem no conjunto {0a , 1a , 2a , ... , p 1 a } ?

Veja o exemplo a seguir.


Seja p =7 e a =4 . Vamos multiplicar os elementos do conjunto {0,1, 2,3,4,5,6 } por 4 :

04 0 mod 7
14 4 mod 7
24 1 mod 7

34 5 mod 7
44 2 mod 7
54 6 mod 7

64 3 mod 7

,1
,2
,3
,4
,5
e 6
. Portanto
Observe que, na coluna da direita, aparecem todas as classes 0
o conjunto {04, 14 , 24, 34, 54, 64 } forma um sistema completo de resduos mdulo

7 .
Viu que interessante? Elabore voc mesmo um exemplo. Tente com qualquer p primo e a
inteiro, em que p no divide a , e verifique que o conjunto {0a , 1a , ... , p 1 a } um

78

sistema completo de resduos mdulo p .


A demonstrao simples. Lembre-se que 0a =0 0 mod p . Para 1 i p 1 , como

.
mdc a , p =1 , p i , ento p i a . Assim nenhum i a , com 1 i p 1 est em 0
Agora, basta mostrar que os p 1 inteiros 1a , 2a , ... , p 1 a esto todos em classes de

,2
, ... , p 1 .
congruncia diferentes, o que implica que representam as p 1 classes 1
Se j a k a mod p , com 1 j , k p 1 , ento:

p j a k a p j k a p j k ,
pois mdc p ,a =1 . Mas p 1 j k p 1 , porque 1 j , k p 1 . Logo, se j k

mltiplo de p , ento j k =0 j =k .

Assim, dois inteiros distintos j a e k a , 1 j , k p 1 so no-congruentes mdulo p .

Desta forma, demonstra-se a


Proposio: Seja p primo e a inteiro, onde p a , o conjunto {0a , 1a , ... , p 1 a }

forma um sistema completo de resduos mdulo p .


Uma

conseqncia

que,

ao

multiplicar

todos

os

elementos

do

conjunto

{0a , 1a , ... , p 1 a } , vamos obter um resultado congruente mdulo p ao produto


12... p 1 , pois as classes so as mesmas. Assim:

1a 2a 3a p 1 a 123 p 1 mod p
Veja que nesse ponto estamos prontos para demonstrar o teorema de Fermat.
Demonstrao do Teorema de Fermat

Sejam p primo e a inteiro. Se p divide a , ento a 0 mod p e a p 0 mod p , logo

a p a mod p e nada temos a fazer.

79

Suponha que p no divide a . O artifcio usar o conjunto {1a , 2a , ... , p 1 a } .

Vimos anteriormente que

1a 2a 3a p 1 a 123 p 1 mod p
Lembre-se que p 1 ! =123 p 1 . Ao colocar os p 1 inteiros que aparecem no

lado esquerdo da equao anterior como potncia, temos:

a p 1 p 1 ! p 1 ! mod p

a p 1 p 1 ! p 1 ! 0 mod p

a p 11 p 1 !

0 mod p

p divide a p 1 1 p 1 !

fcil

ver

que

mdc p , p 1 ! =1 ,

porque

primo p no

aparece

em

p 1 ! =123... p 1 . Como p a p 1 1 p 1 ! e mdc p , p 1 ! =1 .


Assim, p divide a p 11 , isto , a p 11 mod p . Ao multiplicar os dois lados por a ,

obtemos:

a p a mod p ,
o que conclui a demonstrao do teorema de Fermat.
Uma forma equivalente de enunciar este teorema :
Teorema: Sejam a e p inteiros e p primo. Se p a , ento:

a p 11 mod p
Esta formulao equivalente primeira, porque:

Se p a , ento a p a mod p sempre verdade.

Se p a , ento a p a mod p a p 11 mod p .

80

Texto 33 Aplicao do Teorema de Fermat soluo de potncias


O teorema de Fermat pode ser aplicado soluo de potncias mdulo n . Veja algumas
aplicaes.
Exemplos:

Determine o resto de 2182 por

19 .

Como p =19 primo e 19 2 , temos que 2191 =2181 mod 19 .

Sendo 182=18102 , obtemos:

2182 = 218 1022 1 104 mod 19 2182 4 mod 19


Portanto o resto da diviso de 2182 por 19 4 .

Encontre o resto da diviso de 3100 por 7 .

Como

p =7 primo e 7 3 , ento 371=3 6 1 mod 7 .

Sendo 100=6164 , temos:

3100 = 36 1634 3 4 mod 7


Como 34 =81 4 mod 7 , ento o resto de 3100 por 7 4 .

Mostre que n =270 3 70 um mltiplo de 13 .

Para provar que 13n , vamos calcular separadamente as classes de 270 e 370 .

Como

p =13 primo e 13 2 , ento 212 1mod 13 .

Sendo 70=51210 , obtemos:


81

270 = 212 52102 10 mod 13


Para reduzir ainda mais esta potncia, podemos usar o fato de que 25=32 6 mod 13 ,

logo 210 = 25 2 62 mod 13 2 10 36 mod 13 210 10 mod 13 .

Assim, 270 10 mod 13 .

Agora vamos ao 370 . Em vez de usar o teorema de Fermat, mais simples considerar

que 33=27 1 mod 13 . Sendo 70=3231 , temos 370 = 33 23313 mod 13 .

Concluindo,
70
70
70
70
2 3 10 3 mod 13 2 3 0 mod 13 .

Portanto 13 divide 270 370 .

Texto 34 Equaes diofantinas


Uma aula que trata de Fermat no pode terminar sem meno ao ltimo teorema de Fermat.
Neste texto, vamos apresentar as equaes diofantinas, de forma geral, e mostrar como as
congruncias mdulo n podem ser usadas para resolver algumas destas equaes .

Uma equao diofantina uma equao polinomial


para a qual buscamos apenas solues inteiras.

Veja alguns exemplos:

ax by =1 . Esta uma equao diofantina linear: todos os termos tm grau 1 .

x 2 y 2=z 2 . Esta equao est relacionada ao teorema de Pitgoras. Um trio de inteiros


no-nulos que satisfaz esta equao chamado de terno pitagrico e so lados de um
tringulo retngulo, tendo o inteiro z como hipotenusa.

82

x 2 n y 2=1 . a chamada equao de Pell. Foi uma das equaes diofantinas estudadas
por Fermat.

A equao

x 2 y 2=z 2 tem infinitas solues. Fermat estudou o caso de equaes

x n y n =z n para n 3 e afirmou que nenhuma equao deste tipo tem soluo formada por
inteiros no-nulos.
Fermat escreveu este teorema em uma das margens da Aritmtica de Diofanto e assinalou que

tinha uma demonstrao maravilhosa para o teorema, mas a margem era muito pequena para
cont-la. O matemtico nunca escreveu a ningum sobre sua prova maravilhosa. O fato que
esse teorema se tornou o famoso ltimo teorema de Fermat e desafiou os maiores matemticos
do mundo pelos 357 anos seguintes.
Em junho de 1993, o matemtico ingls Andrew Wiles anunciou uma demonstrao do teorema.
Aps a divulgao, vrios problemas foram encontrados. Em setembro de 1994, Wiles, com a
ajuda do matemtico ingls Richard Taylor, seu antigo aluno, conseguiu demonstrar
definitivamente o teorema.
A histria do ltimo teorema de Fermat muito curiosa e rica, repleta de episdios fascinantes.
Uma tima descrio pode ser encontrada no livro O ltimo teorema de Fermat, de Simon Singh,

Editora Record, 1999.


H outras questes importantes em Teoria dos Nmeros que podem ser facilmente resolvidas
com o uso de congruncias. Vamos examinar alguns problemas.

Texto 35 - Uso das congruncias para resolver equaes diofantinas


Em alguns casos, congruncias podem ser usadas para mostrar que uma certa equao no tem
soluo, ou para fornecer indicaes sobre estas solues. Vamos explicar essa questo com um
exemplo.

83

1. Existem inteiros x , y e k tais que

x 2 y 2=4k 3 ?
Uma outra maneira de formular essa questo a seguinte: algum inteiro da forma n =4k3

pode ser escrito como soma de dois quadrados?


A resposta no. Uma maneira simples de provar isso usar congruncia mdulo 4 . Observe
que:

x 2 y 2=4k 3 x 2 y 23 mod 4
Vamos provar que essa ltima equao no tem soluo. Para tal, verificamos os valores
possveis para x 2 y 2 mdulo 4 .

H quatro classes de congruncia mdulo 4 . Seus quadrados so:

x
2

3
1

=1
.
=0
e 3
2 =9
2 =4
Observe que 2

1
=2
. No h classes x e y ,
1
=1
ou 1
0
=0
, 0
Assim, x 2 y 2 mod 4 pode ser 0
, ou seja, no h valores de x e y tais que x 2 y 23 mod 4 .
tais que x 2 y 2=3
Portanto, a equao diofantina x 2 y 2=4k 3 no apresenta solues.

Esta aula teve como tema central a figura de Pierre de Fermat. Falamos um pouco
deste grande matemtico. Em seguida, enunciamos e provamos o teorema de
Fermat.
Voc tambm estudou algumas aplicaes do teorema de Fermat, a soluo de
potncias e as equaes diofantinas.

84

Trecho escrito por Fermat na margem do livro Aritmtica de Diofanto.

Cubum autem in duos cubos, aut quadrato-quadratum in duos quadrato-quadratos,


et generaliter nullam in infinitum ultra quadratum potestatem in duos eiusdem
nominis fas est dividere cuius rei demonstrationem mirabilem sane detexi.
Hanc marginis exigitas non caperet.
Pierre de Fermat

A traduo :
" impossvel separar um cubo em dois
cubos, uma quarta potncia em duas
quartas

potncias,

e,

em

geral,

qualquer potncia mais alta que a


segunda em duas potncias iguais. Eu
descobri uma prova verdadeiramente
maravilhosa

para

margem

pequena

isso,

que

essa

demais

para

conter."

Atividades
1) Calcule o resto da diviso:
a) de 2172 por 17 ;

b) de 3334 por 23 ;

c) de 51266 por 127 .

2) Usando congruncia mdulo 8, mostre que a equao diofantina x 2 y 28z=6 no tem

solues.

85

86

Unidade

Criptografia de Chave Pblica


Caro aluno, na unidade 2 voc vai estudar as aplicaes
em criptografia de chave pblica dos conceitos
e resultados matemticos vistos na unidade 1.
Bom estudo!

87

Aula 9 Teste de Primalidade de Fermat


Uma questo importante em Teoria dos Nmeros e que tem interessantes
aplicaes em criptografia a questo de decidir se um dado inteiro ou no
primo. Testes que permitem tal deciso so chamados testes de primalidade. O
pequeno teorema de Fermat, estudado na aula passada, d origem a um teste de
primalidade bastante til.

Texto 36 - Testes de Primalidade


O teste de primalidade um algoritmo que determina se um dado nmero inteiro um primo.
importante notar que este um problema diferente e mais simples que o de fatorar um inteiro.
Na aula anterior, vimos o mtodo simples que consiste em dividir um inteiro n por todos os
primos menores ou iguais a

n . Caso nenhum destes primos seja divisor de n

, ento n

primo.
Este um teste determinstico, ou seja, que determina com certeza se o inteiro dado primo ou

no. No entanto, prtico apenas para inteiros pequenos ou inteiros que sejam divisveis por um
primo pequeno. Em criptografia, por exemplo, onde lidamos com inteiros bastante grandes, este
teste simples de pouca utilidade.
Alm dos testes determinsticos, existem os probabilsticos, que so os testes que podem provar
que um nmero composto, mas podem indicar, apenas com certa probabilidade, que um inteiro
primo.
Os testes probabilsticos so muito utilizados por serem mais rpidos que os testes
determinsticos. Alm disso, testes probabilsticos modernos, como o de Rabin-Miller, so
extremamente eficientes, no sentido de que, se um inteiro passar em vrias execues do teste,
h grande probabilidade de ele ser primo.
Vamos iniciar a aula apresentando um teste probabilstico simples, derivado do teorema de
Fermat.

88

Texto 37 Teste de Fermat


O teorema de Fermat d origem a um teste de primalidade probabilstico muito interessante,
chamado teste de Fermat.
Demonstrao.
Seja n um inteiro cuja primalidade queremos determinar. Pelo teorema de Fermat, se

n primo, ento a n 11 0 mod n para todo a , tal que mdc a , n =1 .


1. Escolhemos uma base a (geralmente um nmero primo pequeno), tal que

mdc a , n =1 .
2. Testamos se a n 11 0 mod n .

3. Se no vale a n 11 0 mod n , ento n no primo e dizemos que a base a

testemunha de que n composto.

4. Se a n 11 0 mod n , ento n passou no teste para a base a .

Se um inteiro n composto, mas passa no teste de Fermat para a base a , dizemos que

n pseudoprimo de Fermat para base a . Por exemplo, o nmero 341 pseudoprimo


para a base 2 , pois 2340 1 mod 341 , mas 341=1131 composto. Na verdade,

341 o menor pseudoprimo para a base 2 .


A existncia de pseudoprimos atesta que o teste de Fermat no determinstico. Mas
pseudoprimos so raros. Por exemplo, h apenas trs pseudoprimos para a base 2 menores
que mil: os inteiros 341 , 561 e 645 . H apenas 245 pseudoprimos para a base 2
entre 1 e um milho.

Podemos aumentar ainda mais a eficcia do teste de Fermat, aplicando-o repetidamente e


usando vrias bases. O nmero 341 , por exemplo, no passa no teste para a base 3 ,
porque 3340 56 mod 341 . Portanto 3 testemunha de que 341 composto.

89

O uso de duas bases aumenta a eficcia do teste de Fermat. Veja:

Entre 1 e 105 , por exemplo, h apenas 23 pseudoprimos para as bases 2 e 3 .

Entre 1 e 2,5109 existem 4.709 pseudoprimos para as bases 2 e 3 .

Ao adicionar a base 5 , restam apenas 2.552 pseudoprimos no mesmo intervalo. J, ao


acrescentar a base 7 , sobram apenas 1.770 pseudoprimos at 2,5109 .

A expresso pseudoprimo utilizada com significados diferentes nas


referncias. Alguns autores chamam de pseudoprimo qualquer inteiro
(primo ou no) que passe no teste de Fermat. Aqui estamos definindo
pseudoprimo como um inteiro composto mpar que passe nesse teste.
Pseudoprimos para a base 2 recebem tambm o nome de nmeros de
Poulet.

A expresso pseudoprimo tambm utilizada para designar um inteiro composto que passa em
um teste probabilstico. Por exemplo, um pseudoprimo de Euler um composto que passa no
teste de Euler. H tambm pseudoprimos de Lucas, pseudoprimos fortes etc.
A raridade dos pseudoprimos tem aplicaes prticas importantes na criptografia RSA, em que,
como vamos estudar, deve-se escolher um inteiro que seja produto de dois primos grandes.

O algoritmo usual para gerar primos grandes escolher um inteiro mpar


grande e testar se primo. Caso no seja, escolhemos arbitrariamente
outro mpar, ou somamos 2 ao mpar anterior, e testamos novamente.

Para que seja eficiente, este algoritmo de gerao de primos depende de testes de primalidade
rpidos, pois os algoritmos determinsticos so lentos. Muitas vezes prefervel tolerar uma
possibilidade muito pequena de usar um pseudoprimo e utilizar testes muito mais rpidos e
simples.

90

A tabela a seguir mostra o menor pseudoprimo para as bases entre 2 e 20. Uma tabela
semelhante, mas para bases at 200, pode ser encontrada no website da Wikipedia (disponvel
em http://en.wikipedia.org/wiki/Pseudoprime).

Inteiro a

Menor
pseudoprimo
para a base a

Inteiro a

Menor
pseudoprimo
para a base a

11 15=3 5

2 341=11 13

12 65 =5 13

3 91=7 13

13 21=3 7

4 15=3 5

14 15=3 5

5 124=2 31

15 341=11 13

6 35 =5 7

16 51 =3 17

7 25 =5

8 9=3

17 45 =3 5
2

18 25 =5

9 28 =2 7

19 45 =3 5

10 33=3 11

20 21=3 7

Texto 38 - Nmeros de Carmichael


Neste ponto, pode parecer que a soluo para evitar os pseudoprimos seria utilizar muitas bases
diferentes. Como vimos anteriomente, ao usar apenas as bases 2, 3, 5 e 7, restam apenas

1.770 pseudoprimos entre 1 e 2,5 109 . Usando mais bases, teremos ainda menos
pseudoprimos.
Testar para diversas bases um procedimento utilizado, mas no suficiente para garantir
primalidade. O fato que h inteiros que enganam o teste de Fermat para todas as bases.
Um nmero de Carmichael um inteiro positivo composto n que satisfaz a congruncia

b n 1 1 mod n para todos os inteiros b co-primos com n . Ele recebe esse nome em
homenagem ao matemtico americano Robert Carmichael (1879-1967).

Portanto nmeros de Carmichael so pseudoprimos de Fermat para todas as bases. Por isso, so
algumas vezes chamados de pseudoprimos absolutos.
Uma caracterizao para os nmeros de Carmichael dada pelo teorema de Korselt, de 1899.
91

Teorema (Korselt): Um inteiro positivo composto n um nmero de Carmichael se, e somente


se, todo fator primo p de n satisfaz as duas condies a seguir:
1. p 2 no divide n.

2. p 1 divide n 1 .

Korselt observou essas propriedades, mas no conseguiu encontrar um exemplo de tal nmero.
O primeiro exemplo foi descoberto em 1910 por Robert Carmichael, que observou que o nmero

510 atende s condies do teorema, pois 561=31117 livre de quadrados. E vale que:

2560, 10560 e 16560.


O nmero 561 o menor nmero de Carmichael. Os prximos seis nmeros de Carmichael
so:

1105=5 13 17

4 1104,12 1104, 16 1104

1729=7 13 19

6 1728, 12 1728,18 1728

2465=5 17 29

4 2464,16 2464, 28 2464

2821=7 13 31

6 2820, 12 2820,30 2820

6601=7 23 41

6 6600,22 6600, 40 6600

8911=7 19 67

6 8910, 18 8910,66 8910

Os nmeros de Carmichael no seriam um problema to grande para o teste de Fermat, se


houvesse apenas um nmero finito deles. O problema de existirem infinitos nmeros de
Carmichael permaneceu em aberto por bastante tempo at que, em 1994, os matemticos
William Alford, Andrew Granville e Carl Pomerance provaram que h infinitos nmeros de
Carmichael.
Todos os nmeros de Carmichael listados anteriormente tm trs fatores primos. O nmero
desse tipo com quatro fatores primos 41041=7 11 13 41 .

Demonstrao do teorema de Korselt

A prova completa do teorema de Korselt depende de alguns resultados que no sero estudados
nesta demonstrao. Voc pode encontr-los em Coutinho (1997).
Vamos provar aqui metade do teorema e comprovar que um inteiro que satisfaz as duas
92

condies do teorema um nmero de Carmichael.


Seja n um inteiro que satisfaz as condies 1 e 2. Seja b inteiro co-primo com n . Se

p um fator primo de n , ento p b . Pelo teorema de Fermat, b p 11 mod p .


Como, por hiptese, p 1 n 1 , temos que n 1= p 1 q para algum inteiro positivo

q . Portanto
q

b p 11 mod p b p 1 1 mod p b n 11 mod p .


Assim, para todo primo p divisor de n , temos b n 1 1 mod p .

Observe agora que a fatorao de n da forma n = p 1p 2p k , em que todos os primos


2
distintos p 1 , p 2 , , p k tm expoente 1, pela condio 1 do teorema ( p i n ).

Como provamos que b

n 1

1 mod p i para todo primo p i que divide n , segue-se que

b n 1 1 mltiplo de todos os p i , logo mltiplo de n = p 1p 2p k , ou seja,

b n 1 10 mod n b n 1 1 mod n .
O inteiro n , portanto, um nmero de Carmichael.

Texto 39 Teste de Miller-Rabin


O teste de primalidade de Miller-Rabin um teste probabilstico criado em 1976 por G.L. Miller e
modificado por M.O. Rabin. O teste uma pequena modificao do teste de Fermat, sendo bem
mais eficiente que este, ainda que permanea uma pequena chance de erro.
Seja n um inteiro positivo mpar cuja primalidade queremos testar. O inteiro n 1 par. Seja

s a maior potncia de 2 que divide n 1 , isto ,

n 1=2 sd , onde d mpar.


Seja 1 b n 1 um inteiro que servir de base para o teste. Considere as seguintes potncias

de b :
2d

b d , b 2d , b 2

, , b2
93

s 1 d

s 1 d

, b2

Se n for um nmero primo, ento a ltima desta potncia congruente a 1 mdulo n , pois,
pelo teorema de Fermat,
s

b 2 d = b n 11 mod n .
Talvez alguma potncia anterior a essa seja congruente a 1 mdulo n . Seja k o menor
expoente tal que b 2

Se k =0 , ento b 2
k

podemos fatorar b 2

1 mod n , isto , tal que n divide b 2

1 como

Como n primo e divide b 2

k 1

1= b 2

1 , ento divide um dos dois fatores direita na equao


k 1

k 1

anterior. Mas n no pode dividir b 2


k

1 .

1 mod n b d 1 mod n . Caso contrrio, se k 0 , ento

b2

n divide b 2

1 b 2

1 .

1 pela escolha de k como o menor inteiro, tal que

1 . Portanto n divide b 2

k 1

1 , isto , b 2

k 1

1 mod n .

Nossa anlise revelou o seguinte: se n primo, ento para toda base b , 1 b n 1 ,


2d

escrevendo as d potncias b d , b 2d , b 2

, , b2

s 1 d

, ou a primeira congruente a 1

mdulo n (caso k =0 como dito anteriormente), ou alguma delas ser congruente a 1

mdulo n . Se nada disso acontecer, ento o inteiro n composto e dizemos que b


testemunha de que n composto.

Se um inteiro positivo composto n passa no teste de Miller-Rabin para a base b , ento


afirmamos que n pseudoprimo forte para a base b .
Exemplos
Vamos ver agora algumas aplicaes.
1) Vimos que 341 pseudoprimo de Fermat para a base 2 . Vamos test-lo com o teste de
Miller-Rabin.

Se n =341 , temos que n 1=340=2285 . Precisamos calcular duas potncias: 285 e

94

285

. Calculando as potncias obtemos:

285 32 mod 341


2

2170 = 285 3221 mod 341


Como nem a primeira potncia congruente a 1 mdulo 341, nem alguma delas congruente a

1 mdulo 341, ento 2 testemunha de que 341 composto.


O segundo pseudoprimo de Fermat para a base 2 o nmero de Carmichael 561. Vamos ver se
passa no teste de Miller-Rabin com a base 2?
Se n =561 , ento n 1=560=2 435 . Temos, ento, que calcular as potncias mdulo
235

561 a seguir: 235 , 22 35 , 2 2

, 22

335

. Calculando essas potncias, obtemos:

235 263 mod 561


2

2235 = 235 2632166 mod 561


2

2435 = 270 166267 mod 561


2

2835 = 2140 672 1 mod 561


Como nem a primeira potncia congruente a 1 mdulo 561, nem alguma delas congruente a

1 mdulo 561, ento 2 testemunha de que 561 composto.


Mas mesmo esse teste tem os seus algozes. Os primeiros pseudoprimos fortes para a base 2 so
2.047, 3.277, 4.033, 4.681, 8.321, 15.841, 2.934, ... .
Os primeiros pseudoprimos fortes para a base 3 so 121, 703, 1.891, 3.281, 8.401, 8.911,
10.585, ... .
H mesmo alguns pseudoprimos fortes bem pequenos. fcil verificar que 25 pseudoprimo
forte para a base 7.
Apesar da existncia de pseudoprimos fortes, a aplicao do teste de Miller-Rabin com o uso de
vrias bases extremamente eficiente. Usando as bases 2 , 3 e 5 , o teste falha apenas
para 13 inteiros entre 1 e 2,5 1010 .

Se adicionamos a base 7 , ento existe um nico inteiro composto neste intervalo que passa no

95

teste de Miller, a saber, o inteiro 3.215 .031.751 . Adicionando a base 11 , no h


pseudoprimos fortes para as bases 2 , 3 , 5 , 7 e 11 entre 1 e 1012 . Veja no

endereo http://mathworld.wolfram.com/StrongPseudoprime.html.

No h um inteiro composto que passe no teste de Miller-Rabin para todas as bases. De fato,
pode-se provar que, se um inteiro n passa nesse teste para n /4 bases, ento n

certamente primo. Embora esta afirmao fornea um critrio determinstico de primalidade, este
no prtico, uma vez que testar n / 4 bases para inteiros n grandes totalmente invivel.

Nesta aula, estudamos dois testes de primalidade: os testes de Fermat e o de


Miller-Rabin. So dois testes probabilsticos: um nmero que no passa em um
destes testes certamente composto e, se passar no teste, ento, muito
provavelmente, ser primo. Porm h inteiros que enganam o teste; so os
chamados pseudoprimos.
Pseudoprimos para uma base b so inteiros compostos que passam no teste de
Fermat para a base b , enquanto que pseudoprimos fortes para uma base b
so inteiros compostos que passam no teste de Miller-Rabin para a base b .
H inteiros, alis um nmero infinito deles, que so compostos, mas passam no
teste de Fermat para todas as bases. So os chamados nmeros de Carmichael.
No h inteiros compostos que passam no teste de Miller-Rabin para todas as
bases.

Atividades
1) Mostre que 15 pseudoprimo para a base 4.
2) Mostre que 25 pseudoprimo para a base 7.
3) Mostre que 91 pseudoprimo para a base 3.
4) Mostre que 25 pseudoprimo forte para a base 7.

96

Aula 10 Teorema de Euler


Nesta aula, voc vai estudar a funo (letra grega pronuncia-se fi) de Euler e

conhecer o teorema de Euler, que tem grande importncia na criptografia RSA.

Texto 40 Euler
Leonhard Euler nasceu na Basilia, Sua, em 1707, e morreu aos 74 anos. Foi, sem dvida, um
dos grandes matemticos do sculo XVIII. As obras completas de Euler ocupam 75 volumes. Foi
estimado que, s para copiar mo as obras do matemtico, uma pessoa levaria 50 anos,
trabalhando oito horas por dia.
Euler ficou completamente cego durante os ltimos 17 anos de sua vida. Sua produo
matemtica neste perodo, no entanto, aumentou graas sua incrvel memria e capacidade de
realizar clculos complexos, sem auxlio de lpis e papel. Cerca de metade de sua produo
matemtica foi feita neste perodo.
Texto 41 A funo de Euler

Vimos que um inteiro a tem inversa mdulo n se, e somente se, mdc a , n =1 . Assim, as

classes que tm inversa em n so:


*

n ={
a 1a n 1 e mdc a , n =1 }
*

Quantos elementos tem n ? Observe que o nmero de elementos de n o nmero de

inteiros entre 1 e n 1 que so co-primos com n . Este nmero , por definio, n .

Portanto, para n 1,

n = nmero de inteiros entre 1 e n 1 co-primos com n .


Exemplos:

10 = 4

12 =4

15 =8

20 = 48

97

Antes de prosseguir, certifique-se de que entendeu a definio de n , verificando os valores

do exemplo anterior.
A funo n desempenha um papel importante na criptografia RSA, como voc ver nas

prximas aulas.
Se o valor de n pequeno, podemos calcular o valor de n simplesmente contando os

inteiros

entre 1 e n 1 co-primos com n . Porm,

para valores maiores de n ,

precisamos utilizar algumas propriedades dessa funo. Vamos enunciar estas propriedades
como proposies.
A primeira proposio diz respeito situao em que n primo. Nesse caso, todo inteiro a
entre 1 e p 1 co-primo com p . Provamos assim que:
Proposio 1 - Se p primo, ento p = p 1.

Exemplos:

5=4

17 =16

O prximo caso a tratar o da potncia de um primo.


Se n = p , ento quantos inteiros entre 1 e n 1 so co-primos com n ? Observe que

mdc a , p =1 se, e somente se, mdc a , p =1 . Ento, a pergunta : quantos inteiros


entre 1 e n 1 no so divisveis por p ?
Uma maneira de responder esta pergunta determinar quantos inteiros entre 1 e

n 1= p 1 so mltiplos de p . A questo complexa. Os mltiplos de p entre 1 e


n 1= p 1 so:
1
1p , 2p , 3p , , p 1 p

Observe que o ltimo nmero da lista exatamente p p , ou seja, o ltimo mltiplo de p

antes de p 1 , e que a lista tem exatamente p 11 inteiros.

Como h p 11 mltiplos de p entre 1 e p 1 , ento existem:


98

p 1

p 11 =

p p

total de inteiros

mltiplos de p

inteiros coprimos com p

inteiros que no so mltiplos de p entre 1 e p 1 . Esse o total de inteiros co-primos

com p , logo:

p = p p

Provamos ento a
Proposio 2 - Se p primo, ento p = p p 1 .

Exemplos:
3

27= 3 =3 3 =279=18.

25=5 =5 5 =255=20.

64=2 =2 2 =6432=32.

Observe que a proposio 1 um caso particular da proposio 2. Se fizermos =1 na

proposio 2 , obtemos:
1

p = p p

11

= p p = p 1.

A prxima proposio diz respeito s situaes em que desejamos calcular n , e n

produto de primos distintos. Com ela e a proposio anterior, somos capazes de calcular n

para qualquer inteiro n que consigamos fatorar em produto de potncias de primos.


Proposio

Se a e b so

inteiros

positivos

mdc a , b =1 ,

ento

ab = a b .
A demonstrao do teorema pode ser encontrada em Jos Plnio de Oliveira Santos, op. cit.

Alguns exemplos bastam para tornar bem claro como as proposies 2 e 3 so suficientes para
calcularmos n , para qualquer n a partir de sua fatorao em produtos de primos.
99

Exemplos:

15 = 35 = 3 5 =24=8. Observe que mdc 3,5 =1 .

375=35 = 35 =25 5 =2120=240.

Preste ateno frmula ab =a b que, em geral, no se verifica quando a e b

no so co-primos.
Exemplos:

10 = 25=2 5=14=4. (2 e 5 so co-primos)

4 =2.

40=2 5= 2 5=2 2 4=16.

Veja que 40 4 10 . (4 e 10 no so co-primos)

fcil provar, por induo, que a frmula vale para o produto de vrios fatores, desde que eles

a 1, a 2, , a k so inteiros positivos, tais que

sejam todos primos entre si, ou seja, se

mdc a i , a j =1 para i j . Ento


a 1 a 2 a k = a 1 a 2 a k .
Exemplos:

120 = 835 = 8 3 5 =424=32.

300=2 35 = 2 35 =2220=80.

Podemos concluir esta parte reunindo as propriedades 2 e 3 em uma nica frmula. Se n


inteiro positivo e fatora-se como
1

n = p 1 p 2 p k k
ento:

n = p 1 1p 22 p kk

= p 1 1 p 22 p k k = p 1 1 p 1 1 p 22 p 22 p k k p kk

= p 11 1

p1

p 2 2 1

p2

p kk 1

100

pk

Na ltima igualdade, fatoramos cada expresso p k k p k k

p kk 1

pk

por p kk , resultando em

. Podemos agora reunir todos os termos p kk da expresso.

Como n = p 11p 2 2 p k k , resulta que:

n =n 1

p1

p2

pk

onde p i so os primos que dividem n . Pode-se ainda tornar esta frmula um pouco mais

compacta, usando uma notao comum para produtos, que o smbolo

Podemos escrever, ento, que:

n =n

p i primo
p i divide n

pi

Antes de passar ao prximo tpico, acompanhe um ltimo comentrio que de extrema


importncia para a criptografia RSA.
Vimos anteriormente que fcil calcular n , caso conheamos a fatorao de n . Porm o

que acontece quando no conhecemos essa fatorao? Se n for muito grande, pode ser
computacionalmente impraticvel checar diretamente quais inteiros entre 1 e n 1 so coprimos com n .
De forma geral, a maneira mais rpida de calcular n fatorar n . Se no for possvel

fatorar n , no h como calcular n . Este simples fato est na base da segurana do RSA.

Veremos que a chave pblica do RSA um par n , e , em que n um produto de dois

primos distintos n = p q e o inteiro e tem inversa mdulo n .

A chave privada o par n , d , em que d a inversa de e mdulo n . Quem conhece

n pode facilmente calcular a inversa de e mdulo n , usando o algoritmo de Euclides


estendido.
Quem gerou as chaves sabe a fatorao n = p q e pode calcular facilmente:
101

n = p q = p q = p 1 q 1 .
Quem conhece n , mas no conhece a fatorao n = p q , deve fatorar n antes de poder

calcular n .

A segurana do RSA baseia-se no fato de que calcular n essencialmente equivalente a

fatorar n , e que fatorar um inteiro grande n um problema difcil.


Mas ainda cedo para explicarmos exatamente como funciona o RSA. Antes disso, deve-se
entender o Teorema de Euler, que o assunto da prxima parte.

Texto 42 Teorema de Euler


Vamos iniciar recordando o teorema de Fermat.
Se p primo e p a , ento a p 11 mod p . O teorema de Euler uma generalizao

deste resultado, apresentando uma frmula para o caso de um inteiro n qualquer. Veja a
seguir.
Teorema. Sejam n e a inteiros. Se mdc a , n =1 , ento

a n 1 mod n .
Exemplos:

Sejam a =3 e n =10 . Temos que mdc 3,10=1 . Pelo teorema,


10

4
4
1 mod 10 , ou seja, 3 1 mod 10 . De fato, 3 =811 mod 10 .

Sejam a =5 e n =12 . Como mdc 5,12=1 , ento 5 121 mod 12 , ou seja,


2
4
2 2
4
5 1 mod 12 . De fato, 5 =251 mod 12 5 = 5 1 mod 12 .

Para demonstrar o teorema, precisamos primeiro provar o lema que vamos enunciar a seguir.
Lembre-se que h n classes que tm inversa mdulo n . Portanto, qualquer conjunto

formado por inteiros que pertencem a classes mdulo n distintas e que representam todas as
classes que tm inversa mdulo n , tem n elementos.
102

Lema: Se {a 1, a 2, ,a n } um conjunto de representantes de todas as classes

que tem inversa mdulo n , e se inteiro que tem inversa mdulo n (isto ,

mdc , n =1 ), ento { a 1, a 2, , a n } tambm um conjunto de


representantes de todas as classes que tem inversa mdulo n .

Demonstrao
Inicialmente, observe que a 1, a 2, , a n so todos inversveis mdulo n , pois o produto

de elementos inversvel mdulo n inversvel mdulo n .


Os inteiros a 1, a 2, , a n representam classes distintas mdulo n , porque:
1

a i a j mod n a i a j mod n a i a j mod n i = j


(lembre que os a i ' s esto em classes distintas mdulo n , logo a i a j mod n i = j .)

Portanto, o conjunto {a 1, a 2, ,a n } formado por n elementos, todos inversveis mdulo

n , e que esto em classes distintas mdulo n , o que prova que formam um conjunto de
representantes das classes inversveis mdulo n .
Veja que provamos, em outras palavras, que:

{a 1 , a 2 , , a n }={ a 1 , a 2 , , a n }.
Agora, estamos em posio de provar o teorema de Euler.

Demonstrao do Teorema de Euler

Seja a inteiro, em que mdc a , n =1 . Escolha um conjunto

{a 1, a 2, ,a n }

de

representantes das classes que possua inversa mdulo n . Pelo lema anterior, o conjunto

{aa 1, aa 2, ,aa n } tambm um conjunto de representantes das classes que tem inversa
103

mdulo n . Ao multiplicar os elementos desses conjuntos obtemos:

a 1a 2a n = aa 1aa 2aa n
ou seja,

a 1a 2a n aa 1aa 2aa n mod n


Ao fatorar o termo a do lado direito da congruncia, obtemos:

a 1a 2a n a n a 1a 2a n mod n
Por fim, observe que o termo a 1a 2a n um produto de elementos inversveis mdulo

n , logo inversvel mdulo n e pode ser cancelado dos dois lados da congruncia (o que
equivalente a multiplicar os dois lados da congruncia pela inversa dele). Da resulta que

a n =1 mod n .
Exemplo:
Calcule o resto da diviso de 9122 por 28 .

Como 28 = 47 =26 =12 e mdc 9, 28=1 , pelo teorema de Euler


12
9 1 mod 28 .

Sendo 120=1210 =2 , obtemos:


10

9122 =912102= 9 12 92 92 mod 28.


Como 92=81 25 mod 28 , temos que o resto de 9122 por 28 25 .

Para terminar, observe que o teorema de Fermat um caso especial do teorema de Euler, pois,
se p primo, vale que p = p 1 . Logo, para p a , o teorema de Euler assegura que:

a p =a p 11 mod p ,

104

sendo exatamente o teorema de Fermat.

Chegamos ao fim desta aula. Nela, estudamos a funo de Euler, definida por

n , que o nmero de inteiros entre 1 e n 1 que so co-primos com

n .
Voc tambm estudou as principais propriedades da funo . So elas:

p = p 1 para todo p primo.

p = p p

=p

Se mdc a , b =1 , ento ab = a b .

Como

um

inteiro a possui

inversa

mdulo n se,

somente

se,

mdc a , n =1 , ento n exatamente o nmero de classes mdulo n


que tm inversa.
Vimos o teorema de Euler, que diz que a n 1 mod n se mdc a , n =1 ,

generalizando o teorema de Fermat, visto na aula passada.


O teorema de Euler o que faz o mtodo empregado na criptografia RSA
funcionar, como veremos na aula sobre o RSA, ainda nesta disciplina.

Atividades
1) Encontre o valor de n para os seguintes valores de n :

a) n =90 .
105

b) n =250

c) n =1620

2) Mostre que:
a)

{1, 5, 7 11} um conjunto de representantes das classes que tm inversa mdulo


12 .

b) Multiplique todos os elementos deste conjunto por 7 e mostre que o conjunto


resultante tambm formado por representantes de todas as classes inversveis
mdulo

12 .

3) Usando o teorema de Euler, calcule os restos de:


a) 1781 por 24.

b) 24208 por 49.

106

Aula 11 - Teorema Chins dos Restos

O chins Qin Jiushao, que viveu de 1202 a 1261, considerado um dos grandes
matemticos do sculo XIII. Jiushao no se dedicava exclusivamente
Matemtica. Possua conhecimentos em vrias reas e ocupou cargos burocrticos
em diversas provncias chinesas.
O matemtico chins publicou, em 1247, o livro chamado Shu-shu chiu-chang,

tratado matemtico dividido em nove sees. Nele aparece, pela primeira vez, o
que hoje chamado Teorema Chins dos Restos, assunto desta aula.
Jiushao contribuiu tambm para a soluo de sistemas lineares, clculo de somas
de sries aritmticas e tcnicas de soluo de equaes. Foi o responsvel pela
adoo do smbolo zero na matemtica chinesa.
Para iniciar o estudo sobre o Teorema Chins dos Restos e a aplicao deste
criptografia, vamos comear com um exemplo.

Texto 43 Exemplo com duas equaes


Em nosso exemplo, encontramos uma soluo para o sistema de congruncias:

{xx

4 mod 3
2 mod 5

Uma forma de resolver o sistema encontrar a soluo geral da primeira congruncia e fazer a
substituio na segunda.
Como x 4 mod 3 , ento x =43t , para algum t . Substituindo este valor na segunda,

obtemos:

x 2 mod 5 43t2 mod 5 3t2 mod 5


Ao multiplicar pela inversa de 3 mdulo 5, que 2 23 =61 mod 5 , temos:

23t 22 mod 5 6t 4 mod 5 t 1 mod 5 .


Assim, t =15k , para algum k .
107

Finalmente, substituindo este valor de t em x =43t , obtemos:

x =43 1 5k =4 315k =7 15k


O clculo anterior mostra que todo inteiro da forma x =715k soluo para o sistema e,

reciprocamente, toda soluo da forma x =715k . Isso mostra que, se por um lado o

sistema tem infinitas solues inteiras, por outro, todos so congruentes a 7 mdulo 15 .

Dizemos ento que a soluo nica mdulo 15 .

Assim, o sistema

{xx

4 mod 3
tem soluo nica mdulo 15 , dada por x 7 mod 15 .
2 mod 5

Antigos chineses e gregos estudavam este tipo de problema relacionando-o com a astronomia. O
sistema de congruncia anterior resolve um problema do tipo: se um astro A foi visvel no ms
4 e visvel a cada trs meses, e o astro B foi visto no ms 2 e visvel a cada cinco meses,
de quantos em quantos meses sero visveis juntos?
A resposta, que calculamos resolvendo o sistema, que sero visveis no ms 7 e, depois, a
cada 15 meses.
Texto 44 Exemplo com trs equaes
Vamos agora usar a mesma tcnica para resolver um sistema de trs equaes.
Apresentamos o exemplo como problema de astronomia, traduzimos em forma de sistema e
resolvemos a questo com a mesma tcnica empregada para o sistema de duas equaes,
conforme resoluo anterior.
Problema:
Um certo corpo celeste foi visvel no ms 1 e observaes anteriores revelam que visvel a cada
11 meses. Outro astro foi visvel no ms 3 e sabe-se que visvel a cada 13 meses. Um terceiro
astro foi visvel no ms 4 e visvel a cada 15 meses. Quando os trs corpos celestes sero
visveis no mesmo ms?

Chamando de

x o ms:

o primeiro astro visvel nos meses x =111t ,


108

o segundo em x =313k ,

e o terceiro em x =415l .

Escrevendo em forma de congruncia, temos que encontrar uma soluo para o sistema:

x 1 mod 11
x 3 mod 13
x 4 mod 15

Vamos empregar a mesma tcnica utilizada para o sistema anterior, com duas equaes. A
primeira congruncia nos diz que x =111t para algum t .

Substituindo este valor na segunda congruncia, obtemos:

x 3 mod 13 111t3 mod 13 11t2 mod 13


A inversa de 11 mdulo 13 6, pois 116 =66 1 mod 13 . Ao multiplicar os dois lados da

congruncia por 6, temos:

6 11t 62 mod 13 66t 12 mod 13 t 12 mod 13 .


Assim, t =1213k , para k . Substituindo esse valor de t no valor de x ,

x =111t =111 1213k =133143k .


Para todo k , o valor de x =133143k satisfaz s duas primeiras congruncias.

Substituindo-o na terceira, temos:

x 4 mod 15 133143k4 mod 15 .


Mas 1438 mod 15 e 13313 mod 15 , logo

13 8k 4 mod 15 8k 9 mod 15 8k 6 mod 15


A inversa de 8 mdulo 15 2 , pois 82=161 mod 15 . Assim,

109

28k 26 mod 15 16 k 12 mod 15 k 12 mod 15 .


Temos ento k =1215w para w . Substituindo no valor de x, obtemos:

x =133143k =133143 1215w =1.8492145w .


Assim, os astros sero simultaneamente visveis no ms 1.849 , e da a cada 2.145
meses.
Observe que 2.145=111315 o produto dos mdulos. Novamente, a soluo nica

mdulo o produto entre os mdulos.


Este mtodo de resolver os sistemas lidando com as equaes, duas a duas, pode ser
empregado com um nmero qualquer de equaes. Contudo, nem sempre h solues, como
mostra o prximo exemplo.
Exemplo.
Resolva o sistema:

{xx

3 mod 5
6 mod 15

Da primeira equao obtemos x =35t . Substituindo na segunda, temos:

x 6 mod 15 35t6 mod 15 5t 3 mod 15 .


Mas mdc 5,15=5 3 ; logo a equao anterior no tem soluo, o que mostra que o sistema

tambm no possui.

Texto 45 Teorema Chins dos Restos


Vamos agora enunciar e demonstrar o teorema para um sistema com duas equaes, utilizando a
mesma tcnica anterior.
Teorema Chins dos Restos

110

Sejam m 1 e m 2 inteiros positivos e primos entre si. Ento o sistema

x b 1 mod m 1
x b 2 mod m 2

tem soluo, e essa soluo nica mdulo m 1m 2 .

Demonstrao
A primeira equao pode ser escrita na forma x =b 1 k m 1 . Substituindo na segunda,

obtemos:

x b 2 mod m 2 b 1 k m 1 b 2 mod m 2 m 1k b 2 b 1 mod m 2


Para que essa congruncia tenha soluo, necessrio (e suficiente) que mdc m 1, m 2 divida

b 2b 1 .
Como, por hiptese, mdc m 1, m 2 =1 , ento a congruncia sempre tem soluo.

Seja o inverso de m 1 mdulo m 2 .

m 1k b 2 b 1 mod m 2 m 1 k b 2 b 1 mod m 2

k b 2b 1 mod m 2
Logo, existe t , tal que k = b 2b 1t m 2 .

Substituindo esse valor de k em x =b 1 m 1k , temos:

x =b 1 m 1 b 2b 1t m 2

x =b 1 m 1 b 2b 1 t m 1m 2

x =1m 1 b 1b 2m 1 t m 1m 2 .

Como inversa de m 1 mdulo m 2 , ento:

111

m 1 1 mod m 2 m 1m 2=1 m 2=1m 1


para algum .

Substituindo este valor, obtemos:

x =b 2m 1b 1m 2t m 1m 2 , em que e so inteiros tais que m 1 m 2=1 e


podem ser facilmente calculados usando o algoritmo de Euclides estendido.
Provamos ento que h soluo e, no processo, encontramos uma frmula que fornece as
solues.
Vejamos agora a questo da unicidade. A maneira usual de provar unicidade mdulo m 1m 2

supor que haja outra soluo y e mostrar que x y mod m 1m 2 .

Sejam, portanto, x e y duas solues do sistema.


Ento:

x b 1 mod m 1
e
x b 2 mod m 2

y b 1 mod m 1
y b 2 mod m 2

Subtraindo as equaes com o mesmo mdulo, resulta em x y 0 mod m 1 m 1 x y

e x y 0 mod m 2 m 2 x y .

Mas mdc m 1, m 2 =1 . Como x y mltiplo comum de m 1 e

m 2 , ento mltiplo de

mmc m 1, m 2 =m 1m 2 , ou seja, x y 0 mod m 1m 2 x y mod m 1m 2 .


Observe que a condio mdc m 1, m 2 =1 garante a existncia de soluo, porm, segundo a

a demonstrao anterior, haver tambm soluo de

mdc m 1, m 2 1

desde que

mdc m 1, m 2 divida b 2b 1 .
E se tivermos mais de duas equaes?
Nesse caso, a condio para garantir a existncia da soluo que os mdulos sejam dois a dois
primos entre si. Por exemplo, se forem trs equaes:

112

x b 1 mod m 1
x b 2 mod m 2
x b 3 mod m 3

ento, a condio mdc m 1, m 2 =mdc m 1, m 3 =mdc m 2, m 3 =1 .

Como mdc m 1, m 2 =1 , o teorema para um sistema de duas equaes mostra que h soluo

x f 1 mod m 1m 2 .
As duas equaes x b 1 mod m 1

e x b 2 mod m 2

podem ser substitudas pela

equao x f 1 mod m 1m 2 , pois x soluo das duas equaes se, e somente se, a

soluo de x f 1 mod m 1m 2 .

Assim, o sistema com trs equaes equivalente (tem as mesmas solues) que o sistema com
duas equaes:

x f 1 mod m 1m 2
.
x b 3 mod m 3

claro que mdc m 3 , m 1m 2 =1 , pois mdc m 3, m 2 =1 e mdc m 3, m 1 =1 .

Ao aplicar novamente o teorema para duas equaes, resulta que existe, e nica mdulo

m 1m 2m 3 , uma soluo para:

x f 1 mod m 1m 2
x b 3 mod m 3

o que prova o teorema para trs equaes.


O processo descrito anteriormente permite demonstrar o teorema para um sistema com um
nmero qualquer de equaes. Usando o teorema j demonstrado para duas equaes,
reduzimos de n equaes para n 1 equaes, da para n 2 etc., sucessivamente at

chegarmos a duas equaes.


Dessa forma, conclumos o

113

Teorema chins dos restos: Se m 1, m 2, ... , m k so inteiros positivos dois a dois primos entre

si, ento o sistema

x b 1 mod m 1
x b 2 mod m 2

x b k mod m k

tem uma nica soluo mdulo m 1m 2...m k .

Texto 46 Aplicaes criptografia: partilha de um segredo


H uma aplicao muito interessante do Teorema Chins dos Restos criptografia, no que diz
respeito ao problema da partilha de um segredo.
Em criptografia, um esquema de partilha de um segredo um mtodo para distribuio deste
entre vrios participantes de um grupo. Assim, cada um recebe uma parte do segredo, que s

pode ser reconstrudo quando todas as partes forem reunidas. Partes individuais no permitem
por si s descobri-lo.
Contudo, h aplicaes em que no necessria a juno de todas as partes para que o segredo
seja revelado, mas sim um nmero suficiente de pessoas. Por exemplo, um segredo industrial
pode ser partilhado entre dez funcionrios de uma indstria, de tal forma que, se seis deles se
reunirem, suas partes podero reconstruir o segredo. A idia aqui pode ser que talvez alguns
funcionrios possam ser subornados, descuidados com sua parte do segredo etc., mas no seis
deles ao mesmo tempo.
Sejam n e k inteiros positivos, k n . Um esquema de diviso de um segredo, em que este

partilhado em um grupo de n pessoas, chamado

k , n -crtico se:

1. Ao reunirem-se k ou mais partes, possvel descobrir o segredo.


2. A reunio de um nmero menor que k de partes no permite descobrir o segredo.
H vrios esquemas simples que so

n , k -crticos. Veja alguns exemplos:

Suponha que o segredo seja a palavra criptografia e desejamos partilh-lo entre quatro
pessoas em um esquema 4,4 -crtico. Um esquema simples seria usar as quatro
partes:
114

CRIP _ _ _ _ _ _ _ _,
_ _ _ _ TO _ _ _ _ _ _,
_ _ _ _ _ _ GRA _ _ _

_ _ _ _ _ _ _ _ _ FIA.
Apenas as quatro partes juntas poderiam recuperar a palavra toda. Uma pessoa que tivesse
apenas uma das partes teria que tentar todas as possibilidades nas outras posies de letras, o
que seria um nmero muito grande de combinaes possveis.
Note que esse esquema no ser bem sucedido, uma vez que o conhecimento de um nmero
menor que quatro partes prov informao valiosa sobre o segredo. Uma pessoa que tivesse a
primeira parte saberia que se trata de uma palavra com 12 letras comeando por CRIP. No
seria difcil adivinhar o resto.

Outro esquema

n , n -crtico o seguinte:

Codifique o segredo como um inteiro s . Gere n 1 inteiros aleatrios r 1, r 2, ... ,r

Distribua

esses

inteiros

para

n 1

pessoas

ltima

pessoa

n 1

inteiro

s r 1r 2...r n 1 . Se as n pessoas revelarem juntas suas partes, ento podem som-la:

r 1 r 2...r n 1 s r 1r 2... r n 1 =s
No entanto cada parte totalmente aleatria, no revelando nenhuma informao sobre o inteiro

s .
No prximo texto, vamos usar o Teorema Chins dos Restos para construir um esquema

n , k -crtico de partilha de um segredo.

Texto 47 Partilha de um segredo com o Teorema Chins dos Restos


Sejam n e k inteiros, k n . Vamos usar o Teorema Chins dos Restos para desenvolver

um sistema de partilha de um segredo que seja n , k -crtico. Suponha que o segredo que
desejamos dividir seja codificado como um inteiro s .
Temos que escolher um conjunto S de n inteiros com uma propriedade muito especial.

115

Seja A o produto dos k menores elementos de S . Ento, o produto s de quaisquer k


ou mais elementos sempre maior ou igual a A .
Seja B o produto dos k 1 maiores elementos do conjunto. Ento, o produto de menos de

k elementos do conjunto sempre menor ou igual a B . Suponha que o conjunto S seja


escolhido de tal forma que:

B s A.
Sejam m 1, m 2, , m n os n elementos do conjunto S . Distribui-se entre os participantes os

pares m i , s i , onde s i s mod m i . Se t participantes se renem para tentar descobrir

o segredo, devem resolver o sistema:

x s 1 mod m 1

x s 2 mod m 2

x s t mod m t
Como os mdulos m i , 1 i t so primos dois a dois, ento, pelo Teorema do Resto Chins, o

sistema sempre tem soluo, que nica mdulo m 1m 2m t .

Mas ser esta soluo igual ao segredo inicial s ?


Seja s 0 a soluo encontrada para o sistema anterior. Como s tambm soluo j que

s s i mod m i e a soluo nica mdulo m 1m 2m t , ento:

s 0 s mod m 1m 2m t .
Se t k , ento m 1m 2m t o produto de menos de k elementos no conjunto S;

portanto menor ou igual a B . Assim, podemos apenas garantir que s s 0 mltiplo de

m 1m 2m t . Como s B e s 0 m 1m 2m t B , ento s s 0 .
Se t k , ento m 1m 2m t o produto de k ou mais elementos de S, logo ser maior ou

igual a A. Como s A , s 0 s mod m 1m 2m t e A m 1m 2m t , ento devemos

ter s =s 0 e o segredo estar recuperado.


116

No caso de t k , a segurana do sistema est na existncia de muitos mltiplos de

m 1m 2m t entre A e B, uma vez que A s B e que s 0 s mod m 1m 2m t .


Isto , queremos que A B seja grande se comparado com todos os produtos m 1m 2m t

possveis ( t k ).

Exemplo.

Queremos desenvolver um sistema de partilha de um segredo que seja

5,4 -crtico, ou seja,

so cinco participantes, mas o segredo ser descoberto se quatro deles revelarem suas partes ao
mesmo tempo.
Seja S ={11,13, 15,16,17 } . O produto dos trs maiores elementos 151617=4080 .

Por outro lado, o produto dos quatro menores elementos 11131516=34320 . Suponha

que o segredo seja codificado como o nmero s =32000 . Os participantes recebero o

seguinte:

s 1 mod 11 - participante 1 recebe o par 1,11 .

s 7 mod 13 - participante 2 recebe o par 7,13 .

s 5 mod 15 - participante 3 recebe o par 5,15 .

s 0 mod 16 - participante 4 recebe o par 0,16 .

s 6 mod 17 - participante 5 recebe o par 6,17 .

A reunio de apenas trs desses sistemas resulta em um que ter soluo s 0 que nica

mdulo M, onde M o produto dos trs mdulos envolvidos.


Temos que M 151617= 4080 . Como s soluo, ento s s 0 mod M . Portanto

fica revelada a classe de s mdulo M, o que d informao relevante sobre s , mas no seu
valor exato.

Nesta aula, voc estudou o famoso Teorema Chins dos Restos. Apresentamos

117

alguns exemplos e provamos o teorema para mdulos primos entre si.


Voc aprendeu tambm uma aplicao prtica deste teorema em criptografia, o
que permite construir um sistema de partilha de um segredo que seja n , k crtico.

Atividades
1. Resolva o sistema

{xx

1 mod 11
7 mod 15

2. Resolva o sistema

x 1 mod 7
x 4 mod 9
x 5 mod 10

3. Resolva o sistema

2x 1 mod 3
3x 4 mod 7
x 1 mod 8

Sugesto: multiplique a primeira equao pelo inverso de 2 mdulo 3 e a segunda pelo inverso de
3 mdulo 7. Depois, resolva de maneira usual.

4. Crie um sistema de partilha de um segredo que seja

118

6,3 -crtico.

Aula 12 RSA

Na disciplina Criptografia Geral, conhecemos a criptografia de chave pblica.


Naquele momento, descrevemos os princpios gerais dos sistemas de chave
pblica e mostramos que eles funcionam com base em funes matemticas que
envolvem conhecimentos na rea de Teoria dos Nmeros.
Bem, chegou a hora de descrevermos o funcionamento exato do RSA.

Texto 48 A criptografia de chave pblica


Vamos iniciar com uma reviso do conceito de criptografia de chave pblica.
Um sistema desse tipo permite ao usurio enviar uma mensagem de forma segura sem conhecer
qualquer chave secreta. O sistema opera com um par de chaves criptogrficas, geralmente
denominadas chave privada e chave pblica. Essas chaves so relacionadas matematicamente,

mas o conhecimento de uma delas no permite descobrir o valor da outra.


A chave privada utilizada para cifrar uma mensagem, enquanto a chave pblica ser utilizada
para decifr-la. A figura a seguir ilustra o esquema usual de criptografia de chave pblica.

chave
privada

chave
pblica
Texto
Claro

Cifragem

Texto
Cifrado

Decifragem

Texto
Cifrado

Neste esquema, cada um gera seu par de chaves. Se duas pessoas, Alice e Bob, querem se
comunicar, cada qual gera seu par de chaves D A , E A e D B , E B , onde D A a chave

privada de Alice e E A sua chave pblica. D B e E B so as chaves privada e pblica de Bob.

As chaves pblicas podem ser divulgadas e as chaves privadas devem ser mantidas em sigilo.
Para mandar a mensagem P para Bob, Alice a criptografa usando E B , o que resulta no texto

criptografado E B P , que enviado. Para decifrar a mensagem, Bob usa sua chave privada

D B e recupera o texto inicial: D B E B P =P .


119

Na criptografia moderna, toda mensagem ou, de maneira geral, qualquer informao,


representada por um nmero inteiro. Os processos de cifrar e decifrar so, na verdade, funes
que atuam em inteiros. Assim, D B e E B so funes matemticas inversas uma da outra:

D B E B P =P

E B D B C =C

tais que o conhecimento de uma delas no permite a deduo da outra. Isto , so funes que
tm inversa, porm no computacionalmente vivel calcular essa inversa.
Descrevemos assim um sistema de chave pblica em linhas gerais. A questo que surge agora :
como isto implementado na prtica? Que funes matemticas so utilizadas?
H vrias implementaes para o esquema de chave pblica: uma das primeiras e mais
conhecidas o RSA, que vamos estudar em detalhe nesta aula. Mas existem outras
implementaes. Algumas destas sero apresentadas ao longo do curso, como o esquema
chamado ElGamal, as tcnicas baseadas em curvas elpticas, entre outras.

A criptografia de chave pblica foi inventada, no incio da dcada de 70,


pelo matemtico Clifford Cocks, que trabalhava para o servio secreto
ingls, o GCHQ. A descoberta foi mantida em sigilo at 1997. Em 1976,
um esquema geral de criptografia de chave pblica foi proposto por
Diffie e Hellman, que trabalhavam no problema de combinao de
chaves na criptografia tradicional.
Em 1977, os matemticos Rivest, Shamir e Adleman criaram um
algoritmo de chave pblica chamado RSA, as iniciais de seus nomes. O
RSA usa exponenciao mdulo o produto de dois primos grandes para
cifrar e decifrar uma mensagem. Sua segurana est baseada na
dificuldade matemtica de fatorar um inteiro grande.

No prximo texto, vamos detalhar o funcionamento do RSA.

120

Texto 49 RSA
O primeiro passo no algoritmo a gerao das chaves. Cada participante deve gerar seu par de
chaves.
Gerao de chaves

Os passos envolvidos na gerao das chaves so:


Passo 1 Escolha, de modo aleatrio, dois primos grandes distintos p q .

Passo 2 Calcule n = p q .

Passo 3 Calcule o valor da funo de Euler n :

n = p q = p q = p 1 q 1 .
Passo 4 Escolha um inteiro e , em que 1e n e MDC e , n =1 .

Passo 5 Calcule o inteiro d , tal que 1d n e d e 1 mod n .

As chaves so:
- a chave pblica o par e , n .

- a chave privada o par d , n .

Algumas observaes sobre os passos do processo de gerao de chaves:

No passo 1 no procedimento da escolha de dois primos aleatrios distintos, pode-se


escolher um inteiro mpar aleatrio. Depois, faz-se o teste nesse inteiro, para
determinar se primo. Caso no seja, testa-se o inteiro mpar consecutivo a ele e
assim por diante. Esse mtodo requer testes de primalidade rpidos que tenham uma
margem de erro muito pequena.
O teste de Fermat, utilizando vrias bases, uma boa opo: rpido e seguro.
Embora os nmeros de Carmichael enganem o teste, eles so extremamente raros.

Os passos 4 e 5 podem ser realizados por meio do algoritmo de Euclides estendido.


Como mdc e , n =1 , ento o inteiro e tem inversa mdulo n , isto ,

existe inteiro

d , 1d n , tal que ed 1 mod n .

121

Processo de criptografia

Suponha que a mensagem a ser cifrada seja o inteiro P . Em sistemas criptogrficos, as


mensagens so transformadas em nmeros e quebradas em blocos de bits de tamanho
especificado. Assim, P na verdade um certo inteiro de tamanho mximo conhecido. O inteiro

n , que faz parte da chave pblica n , e , deve ser maior que P .


Se um outro participante, Bob, por exemplo, deseja enviar mensagem para algum, digamos
Alice, deve obter a chave pblica de Alice n , e .

O processo de cifragem muito simples. A mensagem cifrada o inteiro C, 1C n , tal que

C P e mod n .
O clculo de P e mod n , uma exponenciao mdulo n , pode ser feito de forma rpida.

Processo de decifragem

Decifrar uma mensagem consiste em realizar uma nova exponenciao, desta vez usando a
chave privada d , que s Alice conhece. Para decifrar a mensagem C , Alice calcula

C d mod n . Com isso, Alice recupera a mensagem original.


Como ed 1 mod n , ento e d =1 k n para algum k . Logo:
d

C d = P e = P ed = P 1k n = P P n .
Aqui entra o teorema de Euler. Se mdc P , n =1 , ento P n 1 mod n .

Portanto:
k

C d = P P n P mod n .
Assim, a mensagem original P recuperada.
Exemplo:
Faremos um exemplo completo, mas com nmeros pequenos. O exemplo apenas didtico, uma
vez que uma escolha de nmeros to pequenos no oferece qualquer segurana.
122

Vamos escolher o mdulo e gerar as chaves:


Passo 1 - Escolhemos p =61 e

q =71 , dois primos distintos.

Passo 2 - n =6171=4331 ser o mdulo utilizado.

Passo 3 - Calculamos n =6070 =4200 .

Passo 4 - Escolhemos e =23 como parte da chave pblica.

Passo 5 - Calculamos d e 1 mod 4200 . Usando o algoritmo estendido de

Euclides, verificamos que d =3287 a inversa de

23 mdulo

4200 .

A chave pblica o par 23,4331 .

A chave privada o par 3287, 4331 .

A funo de cifragem a funo E P =P 23 mod 4331 .

A funo de decifragem a funo D C =C 3287 mod 4331 .

Por exemplo, a mensagem

P =20 cifrada por:

E 20 =2023 mod 4331 =2388 mod 4331 .


Para decifrar esta mensagem, usamos a funo

D 2388 =23883287 mod 4331 =20 mod 4331


que recupera a mensagem original.
Evidentemente, o mdulo escolhido anteriormente n =4331 muito pequeno para oferecer

qualquer segurana real. Por outro lado, mesmo para esse valor pequeno, as contas de
exponenciao so grandes para serem feitas mo.
No prximo texto, mostraremos como as contas anteriores foram feitas utilizando um pacote de
computao algbrica.

Texto 50 O GP/Pari
H muitos programas matemticos de uso geral que lidam bem com aritmtica modular. H vrios
deles comerciais, com o Maple e o Mathematica, alguns gratuitos e outros ainda de cdigo livre.
Um programa de cdigo livre bastante popular entre os matemticos que trabalham com Teoria
123

dos Nmeros o programa PARI/GP. H verses para diversos sistemas operacionais e pode ser
obtido (cdigo fonte inclusive) no endereo http://pari.math.u-bordeaux.fr/. H um manual

detalhado e um tutorial para os que quiserem utilizar o programa.


Pari/GP possui amplo suporte para aritmtica modular, testes de primalidade, fatorao de
inteiros etc. As contas do exemplo anterior foram feitas usando o Pari/GP. Segue, na figura, a
captura de tela das operaes realizadas, utilizando o GP/Pari em sistema Linux.

Vamos acompanhar, passo a passo, as operaes realizadas:


Linha 1 Definimos n =6171 =4331 . A multiplicao dada pelo smbolo

Observe que o sistema numera os resultados obtidos. O prompt ? o sinal que o


sistema aguarda nova entrada. O valor 4331 est agora armazenado na varivel n .
Linha 2 Armazenamos na varivel fi o valor eulerphi n . Esta a funo n .

Assim, fi =4200 = 4331 .

Linha 3 Definimos e =23 .

124

Linha 4 Definimos a =Mod e , fi =Mod 23,4200 . A funo Mod utilizada

para aritmtica modular. Assim, o que fizemos foi definir a =23 mod 4200 .

Linha 5 Para calcular a inversa de 23 mdulo 4200 , pedimos o valor de 1 / a ,


que o sistema entende como a inversa de 23 mod 4200. O resultado

3287 mod 4200.


Linha 6 Definimos d =3287 .
Agora que calculamos as chaves, vamos criptografar a mensagem.
Linha 7 Definimos P =20 mod 4331 .

Linha 8 A mensagem criptografada C =P e . A exponenciao em GP/Pari dada

pelo smbolo ^ . Obtivemos C =2388 mod 4331 .

Linha 9 Para decifrar a mensagem, fazemos C d , o que resulta em 20 mod 4331 ,

que a mensagem original P.


Embora o GP/Pari no seja um sistema especfico para criptografia, uma ferramenta bastante
til para todos aqueles interessados em Teoria dos Nmeros.

Texto 51 Consideraes prticas: escolha dos primos e preenchimento de bits


Vrias questes prticas devem ser consideradas em uma implementao real do RSA.
A primeira est relacionada com a escolha dos primos. Os primos p e q devem ser grandes,
uma vez que fcil fatorar um inteiro que tenha um fator primo pequeno.
Outra considerao que p e q no devem ser muito prximos. Pois, nesse caso, o inteiro

n = p q pode ser facilmente fatorado com o mtodo de fatorao de Fermat.


Outro fator que deve ser considerado que as mensagens m =0 e m =1 resultam em

c =0 e =0 e c =1 e =1 , o que fornece a um atacante informao sobre o texto claro.


Alm disso, caso a mensagem m e a chave pblica e forem to pequenas que m e n ,
125

ento a mensagem transmitida m e . Um atacante pode recuperar a mensagem m

simplesmente extraindo a raiz e-sima de m e (como nmero real).

Os problemas expostos anteriormente exigem que se faa alguma forma de pr-tratamento da


mensagem, um sistema de preenchimento de bits, conhecido por ambos os participantes, e que
evite que mensagens pequenas sejam criptografadas.
Outro problema que o sistema descrito totalmente determinstico, devido ausncia de
qualquer componente aleatria. Assim, uma vez escolhido um par de chaves, uma mesma
mensagem clara M resultar sempre na mesma mensagem criptografada C .
Nesse caso, um atacante pode cifrar uma srie de palavras escolhidas, criando seu prprio
dicionrio de textos criptografados. Ao tentar decifrar uma mensagem criptografada, ele pode
comparar a mensagem com seu dicionrio, procurando por textos cifrados para os quais ele
conhece o texto claro, e assim ganhar informao sobre a mensagem.

A soluo algum tipo de pr-tratamento que faa com que a mesma


mensagem clara na entrada resulte em diferentes textos cifrados na
sada do algoritmo, tornando impraticvel a construo de um
dicionrio de textos cifrados.

Observe que o uso de preenchimento da mensagem uma tcnica antiga, utilizada h sculos.
Uma forma comum adicionar no incio e/ou no final da mensagem expresses escolhidas em
uma lista combinada. O recipiente da mensagem pode facilmente reconhecer as expresses e
retir-las, mas o uso destas expresses torna o nmero de textos cifrados possveis,
correspondendo a um certo texto claro, bem extenso.
Existem diversos esquemas de preenchimento padronizados que so usados em implementaes
reais do RSA, tais como o PCKS.

Saiba mais informaes sobre o PCKS no endereo


http://www.rsasecurity.com/rsalabs/node.asp?id=2124.

Texto 52 Assinatura digital


126

A criptografia de chave pblica tambm utilizada como um meio de assinatura digital. Esta, tal
como uma assinatura em papel, consiste em um bloco de informao adicionado mensagem
que comprova a identidade do emissor, confirmando quem ele diz ser.
H trs usos bsicos para assinaturas digitais:
1. Garantir autenticidade como a chave pblica conhecida, qualquer pessoa pode usar a
chave pblica de Alice e enviar uma mensagem para ela fazendo-se passar por Bob.
Outro exemplo: uma pessoa deposita R$ 100,00 em uma agncia bancria, intercepta a
mensagem da agncia para a central, informando o depsito, e passa a repetir a
mensagem vrias vezes.
2. Garantir integridade uma pessoa pode interceptar uma mensagem que foi enviada por
Bob para Alice (usando a chave pblica de Alice), alterar a mensagem, recriptografar a
mensagem com a chave pblica de Alice e envi-la novamente a Bob.
3. Garantir no-repudiao Bob pode enviar uma mensagem para Alice e depois negar tla enviado. Uma assinatura digital garante que s Bob poderia ter enviado a mensagem.
Todos esses trs servios so garantidos por um esquema de assinatura. Mas como implementar
um esquema de assinatura digital usando a criptografia de chave pblica?
Existem vrios esquemas de assinatura digital. Veja um exemplo a seguir.
Esquema

Bob usa sua chave privada para criptografar algum texto que ele e Alice conhecem. Alice usa a
chave pblica de Bob para decifrar a mensagem e comparar com o texto combinado. Se so
iguais, ento foi de fato Bob quem enviou a mensagem, uma vez que s ele conhece sua chave
privada.
O texto combinado deve ser algo que no possa ser reutilizado; caso contrrio, um atacante
poderia usar posteriormente a mesma assinatura.
Usualmente, utilizam-se as chamadas funes de hash, que tm como entrada a mensagem e

resultam em um inteiro. Uma funo de hash deve possuir caractersticas que tornem improvvel
que dois textos distintos tenham o mesmo hash e seja impossvel inverter a funo (a partir do
127

hash obter o texto).


Assim, Bob envia uma mensagem para Alice, criptografando a mensagem com a chave pblica
de Alice, e assina, criptografando o hash da mensagem com sua chave privada. Ou seja, Bob
envia:

E A P ,D B H P
onde:
- E A a chave pblica de A;

- D B a chave privada de B;

- P o texto claro;
- H a funo de hash utilizada.
Alice recebe este par e usa sua chave privada para recuperar a mensagem P =D A E A P .

Ao obter a mensagem, calcula seu hash H P . Ento, ela aplica E B na segunda parte do

par, obtendo E B D B H P , e compara com H P . Se forem idnticos, ento a assinatura

confere.

Texto 53 A segurana do RSA


A segurana do RSA est baseada na dificuldade de dois problemas matemticos:

a fatorao de inteiros grandes;

o problema RSA.

Este ltimo pode ser definido como o problema de extrair a e-sima raiz mdulo de um inteiro
composto n . Em outras palavras, dados inteiros n ,e e m e mod n , como se faz para

deduzir o valor de m .
Atualmente, a melhor forma de resolver o problema RSA fatorar o inteiro n . Se um atacante
conseguir fatorar n = p q , ento poder calcular facilmente o valor de n e, assim, o valor

de d e 1 mod n , descobrindo a chave privada.

At o momento, no se conhece um algoritmo para fatorao de inteiros grandes, em um


computador clssico, que funcione em tempo polinomial. Nem foi provado que um algoritmo deste
128

tipo possa existir.


Portanto, para chaves suficientemente grandes, o RSA seguro, levando-se em conta o
conhecimento matemtico atual do problema da fatorao de inteiros grandes.
Em 1993, Peter Schor mostrou que uma nova forma de computadores, o computador quntico,
pode, em princpio, fatorar inteiros grandes em tempo polinomial, usando o algoritmo de Schor.
No entanto no se espera que haja computadores qunticos em funcionamento antes de 2015.
At meados de 2005, o maior inteiro fatorado usando mtodos gerais um inteiro de 663 bits, isto
, escrevendo estes inteiros em base 2, usamos 663 bits. Quando falamos em mtodos gerais,
aludimos ao fato de que h inteiros muito maiores j fatorados, mas inteiros de um tipo
especfico, o que permite mtodos especiais de fatorao.
O inteiro de 663 bits foi fatorado como parte do esforo de quebrar o RSA-200, um dos desafios
RSA (falaremos sobre isto a seguir). Este feito foi alcanado com um grande nmero de
computadores, trabalhando de forma distribuda. Estima-se que um computador com processador
de 2.2 Ghz levaria algo em torno de 75 anos para fatorar esse inteiro. Normalmente, so usadas
chaves RSA de 1024 a 2048 bits, o que d uma idia da segurana que estes algoritmos
oferecem.

Texto 54 Os desafios RSA


Os desafios RSA so colocados pela empresa RSA Laboratories. Trata-se de inteiros semiprimos
(produto de dois primos distintos) e o desafio fator-los. Os inteiros so numerados de acordo
com seu tamanho. No incio, eram numerados conforme o nmero de dgitos decimais. O primeiro
desafio foi o RSA-100 (um semiprimo com 100 dgitos decimais), que foi fatorado em poucos
dias.
O ltimo inteiro a ser fatorado foi o RSA-200 (200 dgitos decimais), fatorado em maio de 2005. O
maior inteiro na lista de desafios RSA um inteiro de 2048 bits (RSA-2048), com 617 dgitos
decimais. Atualmente, oferecido um prmio de US$ 200 mil para quem conseguir fatorar este
nmero. Isso mostra a confiana existente de que nmeros desta ordem ainda esto muito alm
dos que podem ser fatorados hoje em dia.

Nesta aula, detalhamos o funcionamento do algoritmo de chave pblica RSA,


129

discutimos alguns detalhes de sua implementao e aspectos de sua segurana.


Vimos tambm um software de computao algbrica de uso geral bastante til
para aqueles interessados em Teoria dos Nmeros, o GP/Pari. Exploramos uma
das aplicaes importantes da criptografia de chave pblica, que a de possibilitar
as assinaturas digitais.

Atividade
1) A chave pblica de Alice (143,23). Bob utiliza essa chave para criptografar uma mensagem
para Alice. Bob envia a mensagem C =2 . Quebre o cdigo, descubra a chave privada de Alice
e revele a mensagem original.

130

Aula 13 Logaritmo Discreto

Nesta aula, voc vai estudar os logaritmos discretos, que tm aplicao importante
em criptografia, em especial no esquema de troca de chaves de Diffie-Hellman, no
algoritmo de assinatura digitas (digital signature algorithm DSA) e no sistema
criptogrfico ElGamal.

Texto 55 Razes primitivas Mdulo n

Pelo teorema de Euler, que voc estudou na aula 10, se a e n so inteiros primos entre si,
ento:

a n 1 mod n ,
o que mostra que a equao

a x 1 mod n
sempre tem pelo menos uma soluo.
De fato, em geral, esta equao tem vrias solues, inclusive, em alguns casos, inteiros
positivos menores que n . Chamaremos de ordem de a mdulo n , denotado ord n a ,

ao menor inteiro positivo m , tal que a m 1 mod n .

Exemplos:

- A ordem de 7 mdulo 15 4 , pois:

1
7 7 mod 15 .

72= 491 mod 15 .

73=7497 8 mod 15 .

74 = 72 121 mod 15.

Dessa forma, percebemos que 74 1 mod 15 e que nenhuma potncia de 7 menor que

4 congruente a 1 mdulo 15 . Logo, ord 15 7=4 . Observe que 15 =8.


Como atividade, desenvolva os dois exemplos a seguir.
131

- A ordem de 4 mdulo 9 3 . Observe que 9 =6.

- A ordem de 2 mdulo 9 6 .
Dos trs exemplos anteriores, apenas no ltimo temos que a ordem de a mdulo n n .

No entanto, nos trs casos, ord n a um divisor de n . Esse fato conseqncia do

teorema a seguir.
Teorema: Sejam a e n inteiros positivos primos entre si e seja ord n a a ordem de a

mdulo n . Ento, a x 1 mod n se, e somente se,

x mltiplo de ord n a .

Demonstrao
Seja m =ord n a . Por um lado, se x mltiplo de m , ento x =mk para algum k

inteiro. Logo
k

a x =a mk = a m 1k =1 mod n .
Por outro lado, se x no mltiplo de m e a x 1 mod n , ento sejam q e r ,

respectivamente, o quociente e o resto da diviso de x por m :

x =mq r , 0r m.
Observe que r 0 , pois m x . Portanto
q

a x =a mq r a x =a r a m

1a r1q mod n a r 1 mod n ,

em que usamos a x 1 mod n e a m 1 mod n .

Porm a r 1 mod n e 0r m contrariam a escolha de m como o menor inteiro

positivo, tal que a m 1 mod n .

Assim, se x no mltiplo de m , ento no pode ocorrer a x 1 mod n , o que conclui a

demonstrao do teorema.
Pelo teorema de Euler, a n 1 mod n .

Dessa forma, pelo teorema anterior, n


132

necessariamente um mltiplo da ordem de a mdulo n , o que confirma a observao feita


aps os exemplos.
Quando n a ordem de a mdulo n , ento dizemos que a uma raiz primitiva

mdulo n .
Exemplo: O inteiro 2 uma raiz primitiva mdulo 9 , porque a ordem de 2 mdulo 9

9 =6.

Razes primitivas tm importantes aplicaes em criptografia.


Voc estudar algumas delas ainda nesta aula.

Texto 56 Grupos e Subgrupos


Quando estudamos aritmtica modular, definimos n como o conjunto das classes de

congruncia mdulo n e definimos soma e produto de classes.


Voc tambm estudou que estas operaes atendem a certas propriedades, caracterizando
assim uma estrutura chamada anel.
*

O conjunto dos elementos inversveis mdulo n , denotado n , fechado para a operao de


*

multiplicao. Isso significa que o produto de dois elementos em n um elemento em n , ou

seja, o produto de duas classes inversveis uma classe inversvel.


*

Acontece que n , com a operao de multiplicao de classes, atende as seguintes

propriedades que caracterizam uma estrutura denominada grupo:


associatividade: a
b
c =
a b
c.

=b

comutatividade: a
b
a.

=a .
existncia do elemento neutro: a
1

existncia do elemento inverso: para toda classe a


=1 .

, tal que a
existe classe

Podemos dizer, ento, que n um grupo.

133

Estudo de grupos
O estudo de grupos muito interessante. Os grupos podem subdividirem-se em subgrupos.
*

Se G um subconjunto de n , ento este herda automaticamente a associatividade e


*

comutatividade de n .

Caso

e todo elemento em G
G seja fechado para o produto de classes, possua a classe 1
*

contenha uma inversa em G , ento G um subgrupo dentro do grupo n .


*

Todo elemento a n gera um subgrupo de n da seguinte forma: se m a ordem de a

mdulo n , ento o conjunto

, a 2 , a 3 , , a m 1 }
a
={1, a
*

forma um subgrupo de n .

Para compreender que a


subgrupo, observe que

a
fechado para o produto.
De fato, qualquer potncia de a
est no conjunto, pois dado z inteiro positivo,

existem q e r

, tais que z =q m r , 0 r m .
q

z
q m r
m
r
r
r
qa
Logo, a
.
z =
a r a
= a

a
=1
=a
. Como 0r m , ento a
=a

a .
1
m j
j
, que tambm est em
Dados a
, com 1 j m 1 , sua inversa a

em a

j
.
a
, pois a

a m j =a m =1

Observe que, se m a ordem de a mdulo n , ento os inteiros 1, a , a 2, , a m 1 so

todos no-congruentes mdulo n .

Para provar isso, note que, se a i a j mod n , com 0 i j m 1 , ento, ao dividir

ambos os lados da congruncia por a i o que possvel, pois mdc a , n =1 , temos


134

a j i 1 mod n . Se i j , ento a congruncia anterior contraria a minimalidade de m ,


porque 0 j i m .
*

O subgrupo a
. Quando a for uma raiz
chamado subgrupo cclico de n gerado por a

primitiva

mdulo

n,

acontece

algo

muito

interessante:

como

as

classes

*
n 1 } so todas no-congruentes mdulo n e n tem exatamente
{1, a , a 2 , a 3 , , a

n elementos, ento
*

n ={1, a , a
,a
, , a

n 1

},

isto , o prprio grupo n cclico e gerado por a


.

Observe que nem todo inteiro positivo n tem uma raiz primitiva. Pode-se mostrar que n tem
raiz primitiva se, e somente se, n for da forma 2, 4, p e 2p , em que p um primo

mpar.
Exemplos:

Vimos anteriormente que 2 raiz primitiva mdulo 9 . O inteiro 9 da forma 32 .

,3
,5
,7
} .
No h raiz primitiva mdulo 8. De fato, 8 ={1
*

tem ordem
A classe 1

e 7
possuem ordem 2 , enquanto que
,5
1 e as classes 3

8 =4.
Texto 57 Logaritmos discretos
Os logaritmos discretos na aritmtica modular tm propriedades semelhantes ao logaritmos de
nmeros reais positivos. Por isso, antes de definir logaritmos discretos, vamos fazer uma breve
reviso da funo logaritmo.
Sejam b e y nmeros reais positivos, com b 1. O logaritmo de y na base
nmero real x , tal que y =b x , o que se denota por

x =logb y
Exemplos:

log2 8=3 , pois 23=8 .


135

b um

1
2

log 1 16=4 , porque

log 10 0,01=2 , pois 102 =0,01 .

log10 1=0 , porque 100 =1 .

=16 .

So conseqncias diretas da definio que, para todo b real positivo, b 1.

log b 1=0

log b b =1
So vlidas tambm as seguintes propriedades, em que b, y e z so reais positivos e b 1.

log b yz =log b y logb z

log b y / z =logb y log b z

log b y =r log b y

y =b

logb y

Todas essas propriedades podem ser demonstradas facilmente a partir da definio de logaritmo.
Vamos agora voltar aritmtica modular.
Seja

p um primo e

a uma raiz primitiva mdulo

primitivas mdulo um primo

a menor potncia de

p (lembre-se que sempre h razes

p ). A ordem de a mdulo p p = p 1 , isto , p 1

a congruente a 1 mdulo p .
*

Assim, os inteiros a 1 , a 2, , a p 1 so todos no-congruentes mdulo p . Como p tem

p 1 elementos, ento
*

2,

p ={a ,a , a
136

p 1

}.

Para todo inteiro b , se

p b , ento b *p . Logo existe um nico inteiro

j ,

0 j p 1 , tal que:

b a j mod p .
Vamos denotar este inteiro j por ind a ,p b e cham-lo ndice do inteiro b na base a

mdulo p .
Portanto, por definio, ind a , p b o menor inteiro maior ou igual a zero, tal que:

ind a , p b

b mod p .

Exemplo:
As potncias de 2 mdulo 11 so as seguintes:

20 =1
21 =2
22 =4
23 =8

24=165
5
2 =3210
6
2 =649
7
2 =1287

28=2563
9
2 =5126
10
2 =10241

mod 11 ,

o que mostra que 2 raiz primitiva mdulo 11.


A tabela anterior indica tambm os valores de ind 2 , 11 x . Por exemplo, ind 2 , 11 1=0 , pois

20=1 e ind 2 , 11 6=9 . E 296 mod 11 .


A prxima tabela mostra os valores de ind 2 , 11 x para todos os valores de x entre 1 e 10.

Compare com os valores da tabela anterior para ter certeza de que entendeu a definio de
ndice.

10

ind 2 , 11 x

Agora, podemos verificar que esta funo ind a ,p x satisfaz propriedades semelhantes s

propriedades do logaritmo listadas anteriormente.


Vale que:
137

1)

ind a ,p 1=0

2)

ind a ,p a =1

3)

ind a ,p xy ind a ,p x ind a ,p y mod p 1

4)

ind a ,p x r r ind a , p x mod p 1

As duas primeiras afirmaes so conseqncias diretas da definio. Em relao terceira,


temos que

ind a , p x

x mod p

ind a , p y

y mod p .

Ao multiplicar as duas congruncias obtemos:

ind a , p x ind a , p y

xy a
u

ind a , p xy

Mas, como a raiz primitiva mdulo p , ento a a

mod p ,

mod p u v mod p 1 .

Portanto, a congruncia anterior mostra que:

ind a ,p xy ind a ,p x ind a ,p y mod p 1 .


r

Em relao quarta afirmao, ind a ,p x r ind a , p x mod p 1 , basta fazer

x = y na terceira afirmao e aplic-la novamente.


Exemplo:
Na tabela anterior, para x =9 e y =7 temos:

ind 2 , 11 9=6 e ind 2 , 11 7=7

ind 2 , 11 97= ind 2 , 11 63=ind 2 , 11 8=3


Por outro lado, ind 2 , 11 9ind 2 , 11 7=67=133 mod 10 , de acordo com a terceira

afirmao.
138

As quatro afirmaes listadas anteriormente, vlidas para a funo ind a ,p x , mostram que, se

definirmos esta funo como

ind a , p x : *n n 1
ento a funo possui as mesmas propriedades do logaritmo usual.

Esta funo chamada logaritmo discreto de base a mdulo

p e tem vrias aplicaes interessantes em criptografia.


Voc vai estud-las na prxima aula.

Devido complexidade dos temas levantados durante a aula 13, segue uma dica:
leia algumas vezes os pontos abordados at compreend-los totalmente. So
conhecimentos importantes, em virtude da variedade de aplicaes em criptografia
que usam os conceitos de raiz primitiva mdulo n , os grupos e grupos cclicos,
e o logaritmo discreto de base a mdulo p .

Atividades
1) Encontre todas as razes primitivas mdulo 18 .
2) Calcule:
a) a ordem de 3 mdulo 8 .
b) a ordem de 5 mdulo 16 .
c) a ordem de 7 mdulo 20 .
3) Elabore uma tabela com todos os valores da funo ind a ,p x com a =2 e p =13 .

139

Aula 14 Aplicaes Criptografia


Nesta aula, voc vai estudar as aplicaes criptografia dos conceitos vistos nas
aulas anteriores, sobre ordem mdulo n , raiz primitiva mdulo n e sobre o
problema do logaritmo discreto.

Texto 58 Teste de Lucas


Na ltima aula, observamos que existe uma raiz primitiva mdulo n se, e somente se, n for
da forma 2 , 4 , p e 2p , em que p um primo mpar.

Em particular, se p primo, ento existe uma raiz primitiva b mdulo p . Como b tem
ordem p = p 1 , ento os p 1 elementos

b , b 2, b 3, , b p 1
so todos no-congruentes mdulo p , o que mostra que
*

2,

3,

p ={b , b b , b

p 1

}.

Isso demonstra, portanto, que p cclico.

Esse fato pode ser usado como teste de primalidade. Dado um inteiro n , caso possamos testar
*

facilmente se o grupo n dos inteiros inversveis mdulo n cclico de ordem n 1 , ento

podemos testar a primalidade de n .


*

A questo como provar que n cclico de ordem n 1 . Isso o mesmo que perguntar se

existe algum inteiro b inversvel mdulo n , tal que b tenha ordem

Dado

um

inteiro b inversvel

mdulo n ,

caso b possua

n 1 .
ordem

n 1 ,

ento

b n 1 1 mod n e n 1 o menor expoente.


Se b n 1 1 mod n e n 1 no ordem de b , ento n 1 um mltiplo da ordem de

b , ou seja, existe k tal que n 1=k ord n b .


140

Seja p um divisor primo de k . Como k divide n 1 , ento p tambm divisor de

n 1 . Assim, temos que:

n 1 k
= ord n b b
p
p

n 1
p

= b

k
ord n b p

1 mod p .

Conclumos que, se b n 1 1 mod n e a ordem de b no n 1 , ento existe algum

divisor primo de n 1 , tal que b

n 1
p

1 mod p .

Deste modo, dado inteiro n , se encontrarmos uma base b tal que


- b n 1 1 mod n

- para todo divisor primo p de n 1 no vale b

n 1
p

1 mod p ,

ento b tem ordem n 1 , o que mostra que n primo.

O teste de Lucas consiste em encontrar uma tal base b .


Teste de Lucas
Seja n um

inteiro

positivo

mpar

e b um

inteiro

b n 1 1 mod n e se todo fator primo p de n 1 vale b

tal
n 1
p

que

2 b n 1 .

Se

1 mod p , ento n

primo.
Observe que o teste de Lucas um teste que prova que n primo. Os testes de Fermat e
Miller-Rabin, apresentados anteriormente, podem provar que n composto, mas no que n
primo.
H duas dificuldades claras para a aplicao do teste de Lucas:
1) Temos que conseguir fatorar n 1 .

2) preciso encontrar a base b correta.

141

Em relao primeira dificuldade: muitos primos n grandes interessantes so tais que n 1

pode ser fatorado facilmente, o que possibilita a aplicao do teste de Lucas.


Exemplo:
Seja n =71 e b =11 . Temos que 1170 1 mod 71 . Como 70=257 , devemos testar

as classes mdulo 71 de 11 elevado aos expoentes

70
70
70
=10 .
=14 e
=35 ,
7
5
2

Temos:

35
11 70

1 mod 71 .

1114 54

1 mod 71 .

1135 32

1 mod 71 .

Como nenhuma delas congruente a 1 mdulo 71 , resulta que 11 tem ordem 70 e

71 um inteiro primo.
O exemplo anterior bastante artificial. mais fcil provar que 71 primo tentando dividi-lo pelos
primos menores que

71 8,43 . No entanto, o teste de Lucas muito eficiente para verificar a

primalidade dos chamados nmeros de Mersenne.


J falamos deles, voc se lembra? Os nmeros de Mersenne so nmeros da forma

M n =2 n 1 .
Veja que, para que M n seja primo, necessrio, mas no suficiente, que n seja primo.
p

Assim, temos que analisar apenas os inteiros da forma M p =2 1 para p primo.

O teste de Lucas muito eficiente quando aplicado a nmeros desta forma, o que permite provar
a primalidade de primos de Mersenne muito grandes. Esta uma das razes pela qual os
maiores primos conhecidos sejam os de Mersenne.

Dos dez maiores primos conhecidos atualmente, sete deles so primos de


Mersenne, incluindo os quatro primeiros. Voc pode conferir os primos
recordes no endereo http://primes.utm.edu/largest.html#biggest.

142

Texto 59 Esquema de troca de chaves de Diffie-Hellman


O esquema de troca de chaves de Diffie-Hellman um protocolo criptogrfico que permite que
dois participantes possam combinar uma chave secreta comunicando-se atravs de um canal
inseguro. baseado no problema do logaritmo discreto.
Foi publicado pela primeira vez em 1976 por Whitfield Diffie and Martin Hellman. No entanto havia
sido descoberto, mas mantido em sigilo, anos antes pelo matemtico Malcom Williamson, que
trabalhava para o servio secreto britnico.
*

A forma mais simples do esquema usa o grupo multiplicativo p dos elementos inversveis

mdulo p , onde p primo. J vimos que este grupo cclico. Seja g um elemento
primitivo mdulo p ; podemos escrever:

*p ={g , g 2, g 3, , g p 1 }.
*

Dizemos que g um gerador para o grupo cclico p . Qualquer raiz primitiva mdulo p

um gerador do grupo.
O esquema de troca de chaves funciona da seguinte maneira: suponha que Alice e Bob estejam
se comunicando por um canal inseguro e desejam combinar uma chave secreta para utilizar em
algum sistema criptogrfico simtrico.
1. Alice e Bob combinam usar um certo primo p e uma certa raiz primitiva g mdulo

p . Os atacantes podem conhecer p e g .


2. Alice escolhe um inteiro aleatrio e envia g mod p a Bob.

3. Bob escolhe um inteiro aleatrio e envia g mod p a Alice.

4. Alice calcula g = g mod p .

5. Bob calcula g = g mod p .

Dessa forma, os dois conhecem o valor de g mod p . E qualquer atacante que interceptar

toda essa comunicao ter acesso somente a g , g , g .

Para calcular g mod p , o atacante teria que conhecer tambm o valor de ou de , isto

, calcular o logaritmo discreto de g mod p ou de g mod p na base g . Se o primo

143

p e os inteiros a e b so grandes o suficiente, ento este problema computacionalmente


complexo.
O algoritmo pode ser implementado da mesma forma com qualquer grupo cclico G e gerador

g .
Repare que o esquema anterior no envolve uma forma de autenticao. O atacante poderia
passar-se por Bob e combinar uma secreta com Alice. Alis, poderia interceptar e modificar todas
as comunicaes, combinar chaves secretas distintas com Alice e Bob e passar a receber a
mensagem de um deles, decifr-la, modific-la, criptograf-la novamente e envi-la a outro.
Se for utilizado algum outro esquema para garantir autenticao, o sistema de troca de chaves de
Diffie-Hellman considerado bastante seguro. importante que a ordem do grupo multiplicativo

G utilizado seja um primo ou tenha algum fator primo grande; caso contrrio bem fcil
resolver o problema do logaritmo discreto, tendo como base um gerador de G.
*

Se for utilizado G = p , em que p primo, ento G tem ordem p 1 . Nesse caso, uma

boa escolha so os chamados primos de Sophie German, que so da forma p =2q1 , onde

q tambm primo. Assim, p 1=2q tem um fator primo grande.


O esquema de Diffie-Hellman bastante utilizado na prtica, sendo inserido em alguns protocolos
criptogrficos.
Antes de finalizar esta seo, vamos fazer um exemplo prtico, ainda que com nmeros
artificialmente pequenos.
Exemplo

1. Alice e Bob escolhem o primo

p =31 e a raiz primitiva mdulo 31 dada por g =3 .

Verifique que g =3 de fato raiz primitiva mdulo 31 . Esta verificao pode ser feita
usando o programa GP/Pari. O comando znorder x d a ordem de x mdulo n .
Verifique que znorder Mod 3,31 =30.
2. Alice escolhe o inteiro a =10 e envia 310 25 mod 31 . Usando GP/Pari, verifique que

Mod 3 ^ 10,31=Mod 25,31 .

144

3. Bob escolhe o inteiro b =17 e envia 317 22 mod 31 . Utilizando GP/pari, verifique

esta congruncia.
4. Alice calcula 2210 mod 31 =5 mod 31 .

5. Bob calcula 2517 mod 31 =5 mod 31 .

A chave secreta combinada entre os dois 5 .

Texto 60 ElGamal
O algoritmo ElGamal um algoritmo criptogrfico assimtrico baseado no esquema de troca de
chaves de Diffie-Hellman, proposto pelo criptgrafo egpcio Taher Elgamal em 1984.
Este algoritmo vem sendo muito utilizado atualmente. Faz parte de diversos sistemas
criptogrficos, incluindo o software livre GNU privacy guard, e de vrias implementaes do PGP.
Assim como no esquema de troca de chaves de Diffie-Hellman, o algoritmo comea com a
escolha de um grupo cclico G , de ordem n , e de um gerador g de G. Uma escolha
*

simples, mas no a mais segura, escolher um p primo e G = p , o grupo das classes

inversveis mdulo p . O gerador g pode ser qualquer raiz primitiva mdulo p . O grupo

G tem ordem p 1 .
Confira os passos do algoritmo a seguir.
Processo de gerao de chaves

1. Alice escolhe um grupo cclico G , de ordem n , e um gerador g do grupo.


2. Alice escolhe, de forma aleatria, um inteiro x , 0 x n 1 .

3. Alice calcula h =g x . A chave pblica de Alice G , n , g , h , isto , o grupo G , sua

ordem n , o gerador escolhido g e o elemento h G . A chave secreta de Alice o inteiro

x .

145

Processo de cifragem de uma mensagem

4. Bob quer enviar a mensagem M para Alice. Bob codifica a mensagem como um elemento
de G , de uma forma bem conhecida por todos, e consegue a chave pblica de Alice.
5. Bob escolhe aleatoriamente um inteiro y , 0 x n 1 e calcula

c 1= g y

c 2 =M h y

6. Bob envia o texto cifrado c 1, c 2 para Alice.

Processo de decifragem da mensagem


c x1

Este o texto claro original, porque:


7. Alice usa sua chave secreta x e calcula c
1 .
2left
c 1x
x 1

c 2left 1= M h y g y

M g x
M g xy
M h y
=M
=
=
xy
xy
g xy
g
g

cx

1
Como s Alice conhece a chave secreta x , s ela pode calcular c
1 .
2left

A segurana do algoritmo ElGamal reside na dificuldade do problema do logaritmo discreto para


um grupo cclico G , que o de calcular o expoente x , dados gerador g G e um elemento
*
h =g x . H vrios modos de escolher o grupo G . A escolha G = p , com p primo, no

considerada segura.
*

Uma opo interessante um subgrupo de p . Se o primo p escolhido de forma que

p =2 q 1 , com q primo, possvel optar por um elemento g *p , que tenha ordem q ,


e usar o subgrupo G ={g , g 2, , g q } , com q elementos.

O sistema ElGamal tipicamente utilizado para combinar uma chave entre duas partes. Esta
chave ser utilizada por um sistema simtrico, que muito mais rpido. Trata-se, ento, de um
sistema de criptografia hbrido:

usa criptografia assimtrica para combinar a chave;

e utiliza criptografia simtrica para cifrar e decifrar a mensagem.


146

Texto 61 Algoritmo de assinatura digital


H diversos sistemas de assinatura digital de chave pblica que esto baseados na dificuldade do
problema do logaritmo discreto. Um sistema que merece ateno especial o DSA Digital
Signature Algorithm que passamos a descrever agora.
O DSA um padro de assinatura digital adotado pelo governo americano. Foi proposto pelo
NIST (National Institute of Standards and Technology) em 1991, adotado como padro em 1993 e
confirmado como padro, com pequenas modificaes, em 1996 e 2000.
O sistema usa um par de chaves, uma pblica outra privada. Como todo sistema de assinatura
digital, divide-se em trs partes:

gerao das chaves pblica e privada;

assinatura de uma mensagem;

verificao da assinatura.

Vamos agora descrever o sistema.


Suponha que nossa velha conhecida, a expert em criptografia Alice, queira enviar uma
mensagem M ao seu correspondente usual Bob, sempre disposto a testar novos sistemas
criptogrficos.
Gerao das chaves

Para a gerao das chaves, Alice deve fazer os seguintes procedimentos:


1. Escolher um primo p de L bits, ou seja, 2L 1 p 2 L , onde L um mltiplo de

64

entre 512 e 1024 . Quanto maior o valor de L , maior ser a segurana do

sistema. Hoje, recomenda-se usar apenas o valor L =1024 .

2. Selecionar um primo q de 160 bits que seja divisor de p 1 . claro que, para que

isso possa ser feito, o primo p deve ter sido escolhido de tal forma que p 1 tenha um

divisor primo de 160 bits.

3. Escolher

g = h

o
p 1
q

inteiro h , 1h p 1 ,

mod p .
147

tal

que

p 1
q

mod p 1 .

Seja

4. Escolher o inteiro

x tal que 0 x q .

5. Calcular y =g x mod p .

A chave pblica de Alice p , q , g , y . Sua chave privada x .

Para se comunicar com outras pessoas, Alice pode usar os mesmos valores p , q , g e utilizar

outros valores de x e de y =g x mod p .

Assinatura

Para assinar uma mensagem

M , Alice deve:

1. Gerar um inteiro aleatrio k , 1k q . Esse inteiro ser usado apenas uma vez por

mensagem.
2. Calcular r = g k mod p mod q .

3. Calcular s = k 1 H M x r mod q , onde M a mensagem a ser enviada, e

H M o hash de M , obtido pelo uso da funo de hash SHA-1.


A assinatura o par r , s .

Alice envia para Bob a mensagem M e a assinatura

r , s , usando algum sistema

criptogrfico. Por exemplo, Alice pode usar o RSA, utilizando a chave pblica de Bob.
Bob recebe estes valores, decodifica e tem acesso a M , r e s . Agora, ele deve verificar a
assinatura de Alice.

Verificao

148

Para verificar a assinatura r , s de Alice, Bob precisa:

1. Calcular w = s 1 mod q .

2. Calcular u 1=H M w mod q , onde H M o hash da mensagem M usando a

funo SHA-1.
3. Calcular u 2= r w mod q .

4. Calcular v = g u 1y u 2 mod p mod q .

A assinatura ser vlida se v =r .


Bastante trabalho, no ? Por que funciona?

Para comear, como g = h

p 1
q

mod p , ento:

p 1
q

h p 1 1 mod p ,

em que usamos o pequeno teorema de Fermat. Como q primo e g q 1 mod p , ento g

tem ordem q mdulo p .


Como s = k 1 H M x r mod q , ento ao multiplicar os dois lados da congruncia por

k s 1 , temos
ks 1 s k s 1 k 1 H M x r mod q k H M s 1 x r s 1 mod q .
Substituindo w s 1 mod q , obtemos

k H M w x r w mod q .
Como g tem ordem q e k H M w x r w mod q , ento

149

g k g H M w xr w mod q
H M w
xr w
g
g
mod q
H M w
r w
g
y
mod p mod q

g 1y

Como

v = g 1y

u2

mod p mod q

u2

mod p mod q

r = g k mod p mod q , ento a congruncia

anterior nos informa que, se a assinatura for correta, ento v =r .

Iniciamos esta aula com o teste de primalidade de Lucas e depois apresentamos


trs sistemas criptogrficos de chave pblica que usam o problema do logaritmo
discreto:

o sistema de troca de chaves de Diffie-Hellman;

o sistema de criptografia de mensagens ElGamal;

e, por ltimo, o sistema de assinatura digital DSA.

Na prxima aula, voc vai estudar as curvas elpticas e ver que todos estes
sistemas criptogrficos descritos possuem verses que as utilizam.

Atividades
1) Usando o teste de Lucas com a base b =3 , prove que n =31 primo.

2) Alice e Bob querem combinar uma chave secreta usando o esquema de Diffie-Hellman. Eles
escolhem o primo p =23 e o gerador g =5 . Alice escolhe o inteiro a =9 e Bob escolhe o

inteiro b =7 . Cada um mantm sua escolha em segredo. Como ocorre a troca de chaves e

qual a chave combinada?

150

Aula 15 Criptografia com o uso de Curvas Elpticas


Chegamos ao ltimo tpico desta disciplina: as curvas elpticas. Este estudo de
grande importncia na Teoria dos Nmeros e vem sendo muito pesquisado
atualmente.
A utilizao de curvas elpticas em criptografia foi proposta inicialmente pelos
matemticos Neal Koblitz e Victor Miller, em 1985. Como veremos, sistemas como
ElGamal, Diffie-Hellman e o Algoritmo de Assinatura Digital podem ser modificados
para o uso de curvas elpticas.
A vantagem desta utilizao que por ela se consegue o mesmo nvel de
segurana, com chaves menores, do que o obtido nos sistemas de chaves pblicas
tradicionais. A desvantagem que a implementao mais complexa.
Nesta aula, vamos definir curvas elpticas, mostrar a existncia de um grupo
formado por certos pontos da curva e, em seguida, falar sobre as aplicaes em
criptografia.

Texto 62 Curvas Elpticas


Uma curva elptica uma curva plana definida por uma equao do tipo

y 2= x 3ax b
e que seja no-singular. Isso significa que seu grfico no tem auto-interseo e no possui as
chamadas cspides, que so pontos onde o grfico da curva no suave, existindo uma quina.
Assim, nem toda curva de equao y 2= x 3ax b um curva elptica. Para alguns valores de

a e b , a curva singular, isto , seu grfico no suave sem auto-interseo.


Pode-se mostrar que uma curva dada pela equao y 2= x 3ax b no-singular se, e

somente se, o valor de


3

=4a 27b
for diferente de 0 .
151

O parmetro chamado discriminante da curva.

As figuras a seguir mostram os grficos de algumas curvas elpticas.

Figuras elaboradas com o uso do software Mathematica


(Fonte: http://mathworld.wolfram.com/EllipticCurve.html. Acesso em: 25 ago. 2005)

Como voc pode observar, o grfico de uma curva elptica pode ter um ou dois pedaos.
Os grficos anteriores so de curvas definidas para os reais, ou seja, os valores dos parmetros

a e b so nmeros reais e os valores das variveis x e y na equao so reais. No


entanto, uma curva elptica pode estar definida sobre qualquer corpo. Em criptografia, estamos
interessados em curvas elpticas definidas sobre corpos finitos.

Mas o que um corpo finito?

Texto 63 - Corpos Finitos


Um corpo um conjunto com duas operaes normalmente soma e multiplicao que
satisfazem s propriedades usuais da soma e da multiplicao de nmeros reais.
A soma deve ser comutativa, associativa, ter elemento neutro (zero) e elemento simtrico (para
todo x no conjunto deve existir um x ).

A multiplicao tem de ser comutativa, associativa, possuir elemento neutro (um) e todo elemento
no-nulo deve possuir uma inversa (para todo x 0 deve existir o elemento 1 / x ). Alm disso,

precisa ser vlida a propriedade da distributividade da multiplicao em relao soma


( x y z =x y x z ).

152

O conjunto dos racionais , dos reais e dos complexos so exemplos de corpos.

Um corpo finito formado por um nmero finito de elementos.

Voc j trabalhou bastante com um corpo finito: para p primo, o conjunto p , as operaes

de soma e de produto de classes so um corpo finito com p elementos.


Se F um corpo finito com q elementos, ento q uma potncia de algum primo p , ou
seja, q = p m , para algum primo p e inteiro m . Alm disso, todos os corpos com q

elementos so equivalentes de certa maneira. Esta equivalncia dada pela noo de


isomorfismo.

Dois corpos finitos com mesmo nmero de elementos q so


isomorfos. Isso significa que existe uma aplicao bijetiva entre
estes corpos que preserva a soma e a multiplicao.

Por causa dessa equivalncia, comum falar-se no corpo finito de p m elementos, como se

houvesse apenas um. Este corpo denotado GF p m ou F p m .

A notao GF p m vem da expresso em ingls Galois Field que, em portugus, significa

corpo de Galois1, em homenagem ao matemtico francs variste Galois, que fez contribuies
relevantes para a teoria dos corpos.
Galois morreu aos 20 anos em um duelo, aparentemente, para defender a honra de uma mulher.
Existe um ramo muito bonito da lgebra chamado Teoria de Galois, que trata dos corpos e
solues de polinmios.
Agora, vamos voltar ao estudo das curvas elpticas.

1 A estrutura algbrica corpo chamada em ingls de field.

153

Texto 64 Grupo de uma Curva Elptica


Um aspecto importante sobre as curvas elpticas a possibilidade de definir uma operao de
soma nos pontos da curva. O conjunto de pontos obtido com esta operao um grupo.

Lembre-se que um grupo um conjunto com uma operao


(tipicamente soma ou multiplicao) que comutativa, associativa,
possui elementos neutro (zero) e

simtrico (para todo

x no

conjunto h um x ).

Nos sistemas criptogrficos de Diffie-Hellman e ElGamal, h uma escolha inicial de um grupo


*

cclico G . Uma implementao simples desses sistemas usa G = p ou um subgrupo cclico

dele. Os sistemas criptogrficos de curva elptica utilizam como grupo G o grupo dos pontos da
curva.
Antes de ingressar na criptografia, preciso que voc compreenda este grupo de pontos da
curva. Por isso, vamos descrev-lo para seu melhor entendimento.
Descrio do grupo de pontos

Dados dois pontos P e Q em uma curva elptica, podemos identificar de maneira nica um
ponto

R como o terceiro ponto de interseo da reta que passa por P e Q com a curva.

Observe a figura a seguir.

Se a reta que passa por P e Q for tangente curva em algum dos pontos, esse ser
154

considerado o terceiro ponto de interseo R .


Na prxima figura, o terceiro ponto de interseo o prprio Q .

Se a reta que passa por P e Q vertical, ento definimos o terceiro ponto de interseo
como o ponto no infinito. Essa noo de ponto no infinito importante para podermos definir o
grupo dos pontos na curva. Esse ponto ocupa o papel do 0 (elemento neutro) do grupo.
Dessa forma, toda reta vertical (paralela ao eixo y ) passa pelo ponto no infinito. As figuras, a
seguir, mostram os dois casos em que o terceiro ponto de interseo o ponto no infinito.

Podemos, assim, definir uma operao de soma ( + ) nos pontos da curva da seguinte forma:

consideramos o ponto no infinito como o elemento neutro 0 da soma e dizemos que

P Q R =0 , quando P , Q e R so pontos da curva e esto em uma mesma reta.


155

Nas quatro figuras anteriores, temos as seguintes somas:

(Fonte: http://en.wikipedia.org/wiki/Elliptical_curve. Acesso em: 25 ago. 2005)

Desse modo, se P , Q e R esto na mesma reta, ento

P Q R =0 , ou seja,

R =P Q .
Caso R 1 e R 2 estejam em uma reta vertical, ento R 1 R 20=0 , ou seja, R 2 =R 1 .

resultado que, dados pontos P e Q , para encontrar o ponto P Q devemos traar a reta

que passa por P e Q .


O terceiro ponto de interseo com a curva o ponto R =P Q . Em seguida, traamos a

vertical que passa por R . O ponto em que essa vertical corta a curva o ponto R =P Q .

Veja na figura a seguir:

156

Agora que definimos a soma de dois pontos P e Q , podemos definir k P , para k inteiro

positivo, como a soma P P P com k fatores.

Assim:

2P= P P
3P=P P P
e assim por diante.
Esse mesmo grupo pode ser definido algebricamente. No difcil encontrar uma frmula que,
dadas as coordenadas dos pontos P e Q , fornea as coordenadas do ponto P Q .

Agora que possumos um grupo para pontos de uma curva elptica, vamos voltar nossa
criptografia.

Texto 65 Criptografia de Curvas Elpticas


No texto anterior, definimos uma operao de soma para pontos de uma curva elptica. Em
criptografia usam-se curvas elpticas definidas sobre corpos finitos.
Uma curva elptica E , definida sobre um corpo finito GF q , dada por uma equao no-

singular y 2= x 3a x b , em que a , b GF q . Aqui, o interesse est no conjunto dos

pontos x , y da curva com x , y GF q .

Esse conjunto, com a operao de soma de

pontos que definimos, forma um grupo.


Como voc se recorda, os sistemas criptogrficos de chave pblica de Diffie-Hellman, ElGamal,
algoritmo de assinatura digital (DSA), entre outros, utiliza um grupo cclico G . A segurana
desses sistemas est na dificuldade do problema do logaritmo discreto. Recordando, este
problema o seguinte: dados o grupo cclico G e um gerador g deste grupo, e dado h =g x ,

como calcular x .
Seja agora P um ponto de uma curva elptica E , definida sobre um corpo finito GF q .

157

Lembre-se que definimos:

2P= P P ,

3P=P P P
etc.
Ou seja, definimos uma operao k P para qualquer k inteiro.

Como estamos trabalhando em um corpo finito, na seqncia P , 2P , 3P , , kP , em algum

momento, existiro elementos repetidos, pois h apenas um nmero finito de pontos x , y

possveis.
Dessa forma, temos iP = jP , para i j , o que mostra que i j P =0 . O menor n tal que

nP =0 a ordem do ponto P no grupo dos pontos da curva.


Isso resulta que o conjunto

{P , 2P , 3P , , n 1 P , nP }
um grupo cclico de ordem n gerado por P.
Em aplicaes criptogrficas, um grupo como este utilizado no lugar dos subgrupos cclicos de
*
n , que so usados nos sistemas de chave pblica tradicionais.

O problema do logaritmo discreto para curvas elpticas o seguinte: dados pontos P e

Q =k P em uma curva elptica sobre um corpo finito, como determinar o valor do inteiro k ?
Acredita-se que esse problema seja mais complexo que o do logaritmo discreto.
Ao utilizar o grupo de uma curva elptica, podemos formular sistemas de chave pblica com
curvas elpticas modificando os sistemas usuais.
O sistema de troca de chaves de Diffie-Hellman, com o uso de curvas elpticas, funciona da
seguinte maneira:
1. Alice e Bob escolhem uma curva elptica E e um ponto P de E . Esta informao no
secreta.
2. Alice escolhe, aleatoriamente, um inteiro k A e envia o ponto k AP
158

para Bob. O inteiro

k A a chave secreta de Alice, enquanto que o ponto k AP sua chave pblica.


3. Bob escolhe, de forma aleatria, um inteiro k B e envia o ponto k BP para Alice.

4. Alice calcula o ponto k A k B P = k Ak B P . Esse ponto a chave secreta combinada

entre os dois.
5. Bob calcula o ponto k B k A P = k Ak B P .

Realizar as operaes necessrias para os clculos citados anteriormente soma de pontos em


curvas elpticas um processo mais lento do que efetuar a exponenciao mdulo um primo,
que a operao utilizada nos sistemas tradicionais.
No entanto, como o problema do logaritmo discreto para curvas elpticas mais complexo, o
mesmo nvel de segurana pode ser conseguido com uma chave menor.

Uma chave menor implica em operaes mais rpidas, o que na


prtica compensa a maior complexidade das operaes.

A mesma adaptao simples, vista anteriormente, do sistema de Diffie-Hellman para usar curvas
elpticas pode ser feita com outros sistemas de chave pblica.

Essencialmente todo sistema de chave pblica pode ser adaptado para o uso
de curvas elpticas. Basta substituir a operao de exponenciao mdulo

p por soma de pontos em um grupo cclico de uma curva elptica.

Assim, h verses para curvas elpticas dos algoritmos ElGamal, Diffie-Hellman e para o RSA.
Existem tambm vrios algoritmos utilizados para assinatura digital que usam curvas elpticas.
Por sua complexidade, vrios detalhes na implementao destes sistemas no sero discutidos
neste momento. Como exemplo, as escolhas da curva elptica E e do ponto P devem atender
exigncia de que P tenha como ordem um primo grande.

159

Em fevereiro de 2005, a agncia de segurana americana NSA (National Security Agency)


anunciou a adoo da criptografia de curva elptica como parte dos padres de segurana do
governo norte-americano.
A NSA adotou um conjunto de sistemas criptogrficos que foi chamado de Suite B . Nesse

modelo consta:
1. Um algoritmo de troca de chaves denominado Menezes-Qu-Vanstone de curva elptica
(ECMQV). Na sigla, as iniciais EC vm de Elliptic Curve.
2. O algoritmo de troca de chaves Diffie-Hellman de curva elptica (ECDH).
3. O algoritmo de assinatura digital de curva elptica (ECDSA - Elliptic curve digital signature
algorithm).
4. O algoritmo simtrico AES.
5. A funo de Hash SHA (secure hashing algorithm).

Na ltima aula desta disciplina, abordamos um ponto bastante recente e importante


da criptografia de chave pblica: o uso de curvas elpticas.
O uso de curvas elpticas permite um grau muito maior de segurana para chaves
de mesmo tamanho que os sistemas de chave pblica usuais. Dessa forma,
oferece a mesma segurana que os sistemas usuais, mas com a utilizao de
chaves menores, o que favorece implementaes mais rpidas destes algoritmos.
A matemtica envolvida, como voc deve ter notado, mais complexa que a
matemtica do RSA e dos sistemas baseados no problema do logaritmo discreto
(como Diffie-Hellman e ElGamal). Vrios tpicos relacionados aos assuntos
abordados nesta aula so focos de ativas pesquisas matemticas atuais.
Enfim, o assunto complexo. O importante compreender o que uma curva
elptica e como elas so utilizadas nos modernos sistemas criptogrficos de chave
pblica.
H ainda outras aplicaes das curvas elpticas que interessam criptografia,
como algoritmos de fatorao de inteiros.
160

Atividades
1) Defina curva elptica.
2) Como se define a operao de soma de pontos em uma curva elptica? Qual o zero desta
soma?
3) Como o grupo dos pontos de uma curva elptica usado em sistemas criptogrficos?
4) Quais so as vantagens do uso de sistemas criptogrficos de curvas elpticas?

161

Complemente seu estudo

Leituras
Na ltima aula, voc estudou as curvas elpticas. Para saber mais sobre este
tema e sua utilizao em criptografia, indicamos duas interessantes
referncias.

HANKERSON, Darrel; MENEZES, Alfred J.; VANSTONE, Scott. Guide to


elliptic curve cryptography. Berlim: Springer Verlag, 2004.

WASHINGTON, Lawrence C. Elliptic curves: number theory and


cryptography. Boca Raton, FL.: Chapman & Hall/CRC, 2003.

Website
H implementaes de muitos algoritmos criptogrficos com cdigo aberto
disponvel na internet. A biblioteca de programas Crypto++ possui
implementao de diversos algoritmos simtricos e assimtricos, incluindo
algoritmos de curvas elpticas. Para acessar esses programas, o endereo
http://www.eskimo.com/~weidai/cryptlib.html .

162

Solues das atividades


Aula 1

1)

D 10 ={1, 2,5, 10 } {1,2, 4, 5,10,20 }=D 20

2) 3 e 5, 5 e 7, 11 e 13, 17 e 19, 29 e 31. interessante que no se sabe se h infinitos primos


gmeos.
3) H o caso 3, 5 e 7. o nico caso possvel, pois dados 3 inteiros n, n+2 e n+4 fcil ver que
um deles deve ser mltiplo de 3.
4) 4 = 2+2, 6 = 3+3, 8 = 3+5, 10 = 5+5 etc. Um dos problemas no-resolvidos mais antigos na
Teoria dos Nmeros a chamada conjectura de Goldbach, que afirma que todo inteiro par
pode ser escrito como soma de dois primos. Esta conjectura foi proposta em 1742, em uma
carta de Goldbach para Euler.

Aula 2

1)

a) q = 2e r = 11
b) q = 2 e r = 6

c) q = 1 e r = 75
2)
a) mdc 35,12=1 e mmc 35,12=420.

b) mdc 30,18 =6 e mmc 30,18=90.

c) mdc 315,250 =5 e mmc 315,250 =15750.

Aula 3

1)

a)

mdc a , b =7 e mmc a , b =11011

b)

mdc a , b =33 e mmc a , b =17325

163

Aula 6

1) As tabelas so as seguintes:

2) Um inteiro a divisvel por 8 se, e somente se, o nmero formado por seus trs ltimos
algarismos for divisvel por 8.
3)
a) O resto da diviso de 2303 por 15 8.

b) O resto da diviso de 7250 por 48 1.

c) O resto da diviso de 561 por 7 5.

Aula 7

1)

*
,3
,7
,9
, 11
, 13
, 17
, 19}.

,2
,4
,5
,7
,8
} , *20 ={1
9 ={1

2)
a) A equao 3 x 8 mod 15 no tem soluo, pois mdc 3,15=5 8 .

b) A equao 2 x 20 mod 32 tem duas solues, porque mdc 2,32=220. As

solues so x 10 mod 32 e x 26 mod 32 .

c) A equao 5 x 7 mod 11 possui uma nica soluo, pois mdc 5,11=1 . A

soluo x 9 mod 11 .

3)
a) a =35 e b =65 ; mdc 35,65=5 e 235 165 =5 .
164

Aula 4

1)

a) 229 primo. Como curiosidade, o 50 primo.


b) 1223 primo. Este o 200 primo.
c) 481 no primo ( divisvel por 13).

2) 200 =46.

Aula 5

1)
1. R 1 relao de equivalncia: reflexiva, simtrica e transitiva. a relao de

igualdade.
2. R 2 no reflexiva, no simtrica, mas transitiva.

3. R 3 reflexiva, no simtrica e no transitiva.

4. R 4 no reflexiva, simtrica e no transitiva.

5. R 5 reflexiva, no simtrica, mas transitiva.

2)
a) Verdadeira.
b) Verdadeira.
c) Falsa.
d) Verdadeira.
e) Verdadeira.

165

b) a =15 e b =23 ; mdc 15,23=1 e 315223=1 .

4) A inversa de

45

mdulo

91

89 .

Aula 8

1)
a) 16
b) 12
c) 4
2) x 2 y 28z=6 x 2 y 2 6 mod 8. Verifique que no h inteiros

x e y , tais que

x 2 y 26 mod 8.

Aula 9
7

1) 414 = 42 =167 1 mod 15


12

2) 724 = 72 =4912 1121 mod 15

3) Temos que calcular 390 mod 91 . Sabemos que 34 =8110 mod 91 .

Multiplicando essa congruncia por 32 obtemos 3690 1 mod 91 .


15

Logo 390 = 36 1 mod 91 .

4) Como 24 =233 , temos que calcular as trs potncias 73 ,

Temos:
3
2
7 =77 =749 71 7 mod 25 .

723= 73 72 491 mod 25.

72

=7222= 723 12 1 mod 25.

Logo 25 pseudoprimo forte para a base 7.

166

723 e 72

mdulo 25.

Aula 10

1)
a) 90 =24

b) 250 =100

c) 1620=432

3)
a) o resto 17.
b) o resto 11.

Aula 11

1) x 67 mod 165 .

2) x 85 mod 630 .

3) x 41 mod 168

Aula 12

1) Temos n =143=1113 . Ento n =1113=1113=1012=120. Como

e =23 , a chave privada d a inversa de 23 mdulo 120 que 47 (use o algoritmo


de Euclides estendido).
A mensagem original P =C d =223 mod 143=85 mod 143 .

Aula 13

1) Como 18 =6 . As razes primitivas mdulo

18 .
Calculando as ordens, obtemos:

a ordem de 1 mdulo 18 1.

a ordem de 5 mdulo 18 6.
167

18 os inteiros que tm ordem

6 mdulo

a ordem de 7 mdulo 18 3.

a ordem de 11 mdulo 18 6.

a ordem de 13 mdulo 18 2.

a ordem de 17 mdulo 18 2.

Assim, as razes primitivas mdulo 18 so 5 e 11.

2)
a) a ordem de 3 mdulo 8 2.
b) a ordem de 5 mdulo 16 4.
c) a ordem de 7 mdulo 20 4.
3)
x

10

11

12

ind 2 , 13 x

11

10

Aula 14
30

30

1) Basta verificar que 330 1 mod 31 e que nenhuma das potncias 3 2 =3 15 , 3 5 =3 6 e


30

3 3 =3

10

congruente

mdulo

31.

Verifique

que

15
3 30 mod 31 ,

10
6
3 16 mod 31 e 3 25 mod 31 .

2) A combinao de chaves se dar da seguinte forma: Alice envia 5911 mod 23 para Bob.

Este envia

7
5 17 mod 23

para Alice. Para calcular a chave secreta, Alice faz

7
9
17 7 mod 23 , enquanto Bob faz 11 7 mod 23 . A chave combinada 7.

Aula 15

1) Uma curva elptica uma curva dada por uma equao y 2= x 3a x b , em que
4 a 327 b 20 .

2) Dados pontos

P e Q . O ponto P Q obtido da seguinte forma: traamos a reta que


168

passa por

Q . Esta reta corta a curva em um terceiro ponto

R (caso a reta seja

tangente curva, o ponto de tangncia contado duas vezes). Traamos a reta vertical
passando por

R . O outro ponto onde esta vertical corta a curva o ponto P Q .

3) Em sistemas criptogrficos que usam o problema do logaritmo discreto, este substitudo pelo
problema do logaritmo discreto para curvas elpticas: dada uma curva elptica

E , dados pontos

P e Q em E , sendo Q =k P , encontrar o valor de k .


4) Sistemas criptogrficos de curvas elpticas oferecem o mesmo nvel de segurana que
sistemas usuais utilizando chaves significativamente menores.

169

Referncias
Livros e publicaes
COUTINHO, S.C. Nmeros inteiros e criptografia RSA. Rio de Janeiro: IMPA/SBM, 1997.
KOBLITZ, Neal. Algebraic aspects of cryptography. 2.ed. Berlim: Springer Verlag, 1999.
MENEZES, A. J. et al. Handbook of applied cryptography. Boca Raton, FL.: CRC Press, 1997.
SANTOS, Jos Plnio de O. Introduo teoria dos nmeros. Rio de Janeiro: IMPA, 1998.
STALLINGS, William. Cryptography and network security: principles and practice. 2.ed. N.
Jersey: Prentice Hall, 1999.

Websites
Elliptic curve. Math World. Disponvel em: <http://mathworld.wolfram.com>. Acesso em 25 ago.
2005.
Elliptic curve. Wikipdia, enciclopdia livre. Disponvel em: <http://en.wikipedia.org/wiki/Elliptical
_curve>. Acesso em 25 ago. 2005

Paul Erds. Wikipdia, enciclopdia livre. Disponvel


em:<http://pt.wikipedia.org/wiki/Paul_Erd%C3%B6s>. Acesso em 24 ago. 2005.
Universidade de Lisboa. Departamento de Educao. Faculdade de Cincias. Pgina dos
Nmeros

Primos.

Disponvel

em:

<http://www.educ.fc.ul.pt/icm/icm98/icm12/Mat_kz.htm#Marin%20Mersenne>. Acesso em 25 ago.


2005.

170

Autor

Luiz Manoel Silva de Figueiredo


Professor adjunto da Universidade Federal Fluminense (UFF), onde
leciona desde 1992. Bacharel em Fsica pela Universidade Federal
do Rio de Janeiro (UFRJ), o prof. Luiz Manoel Figueiredo Mestre
em Matemtica pelo Instituto de Matemtica Pura e Aplicada
(IMPA), Rio de Janeiro, e Doutor em Matemtica pela University of
Cambridge (Reino Unido). Sua rea de doutorado em teoria dos
nmeros e atualmente trabalha com Criptografia.

171

I SBN 85 - 7648 - 331 - 9

9 788576 483311

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