Documente Academic
Documente Profesional
Documente Cultură
Volume
Introduo Criptografia
Introduo Criptografia
Volume 2 - Mdulo 2
Apoio:
Material Didtico
ELABORAO DE CONTEDO
Eduardo Bordoni
PRODUO GRFICA
Osias Ferraz
Patricia Seabra
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
Governador
Srgio Cabral Filho
Universidades Consorciadas
UENF - UNIVERSIDADE ESTADUAL DO
NORTE FLUMINENSE DARCY RIBEIRO
Reitor: Almy Junior Cordeiro de Carvalho
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
Contedo
Onde encontrar
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
Textos 17 e 18
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
Textos 27 a 30
Contedo
Onde encontrar
Textos 31 a 35
Equaes diofantinas
Carga horria: 25 h
Unidade 2 Criptografia de Chave Pblica
Contedo
Onde encontrar
Textos 36 a 39
Nmeros de Carmichael
Teste de Miller-Rabin
Aula 10 Teorema de Euler
Textos 40 a 42
Funo de Euler
Textos 43 a 47
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
Textos 62 a 65
Unidade
primo;
algoritmos de fatorao de inteiros - determinam a fatorao em primos de um
dado inteiro.
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 ,
Significa que todo inteiro divide a si mesmo. Isto segue da definio. Observe que n =1n .
2. 1n
3. n0
Demonstrao
Como ab e b a , ento existem inteiros k 1 e k 2 , tais que a =k 1b e b =k 2a .
a =k 1 k 2a a = k 1k 2 a k 1k 2=1
Como k 1 e
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 .
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:
Portanto, c ma nb .
Exemplo: D 12 ={1, 2, 3, 4, 6, 12 }
n =k d n =k d d n.
Assim, os divisores de um inteiro vm sempre em pares de inteiros simtricos.
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
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 ,
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.
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:
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
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,
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
12
so os primos de Mersenne.
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.
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.
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.
Veja um exemplo.
O inteiro 60 pode ser escrito como 60 =223 5. Esta a fatorao de 60 em produto de
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
3 tem multiplicidade 2.
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 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
matemtico
grego.
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
Nesta aula, voc vai conhecer o chamado algoritmo da diviso, que , na verdade,
um teorema, e no propriamente um algoritmo.
a =61
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 :
31342413.
3 1342 4 13 .
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
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 .
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 .
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
b t e b t b , ento t =0.
A demonstrao anterior usa o argumento com t =r r 1 .
A definio de mdc :
20
Exemplos:
- mdc 15,25=5
- 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
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.
relativamente primos.
Uma propriedade muito importante do mdc a , b que ele sempre pode ser escrito como
21
k 1 e k 2 tais que
d = k 1 a k 2 b .
Exemplos:
Observe que at agora no falamos sobre como calcular efetivamente o mdc a , b , nem
isso em breve.
Para terminar esta parte, voc vai conhecer agora uma propriedade muito importante do
mdc a , b .
Exemplos:
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.
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
Por outro lado, se um inteiro positivo d atende aos itens (i) e (ii), ento :
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.
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
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
Exemplo: a =35 e
Os inteiros
35
=7 e
5
75
=15 so primos entre si.
5
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 .
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 3, 5 =15.
Veremos na prxima aula que o mmc de dois inteiros est diretamente relacionado ao mdc, por
meio de uma frmula simples.
a 1, a 2, , a t .
Exemplos:
- mdc 20,30,50=10
- mmc 20,30,50=300
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
27
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
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
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
Ento,
inteiros positivos. Podemos assumir que a b . Caso contrrio, invertemos a ordem dos
nmeros.
Se a =b , teremos d = mdc a , b =a = b.
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
, respectivamente.
b =q 2r 1r 2, em que 0r 2r 1
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
= 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
a = p 1 p 2 p k e b = p 1 p 2 p k
1
Exemplo: Sejam a =12 e b =21 . Temos que a =223 e b =37 . Ao escrever essas
de p i nas fatoraes de a e b .
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 .
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
d divisor comum e todo divisor comum d ' divide d , o que prova que d = mdc a , b .
Se a = p 1 p 2 p kk e b = p 1 p 2 p kk , ento,
fatorao de
a e b .
Logo,
mmc 84,18=22327=252.
No entanto o clculo do mmc a , b no prtico, se os inteiros a e b forem grandes,
Euclides. O que existe uma relao direta com o mdc a , b , permitindo o clculo de um a
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
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
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,
33
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.
Este algoritmo definido por recorrncia, isto , o algoritmo cita ele mesmo vrias vezes, a fim de
obter o resultado.
34
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.
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
35
passo ( mdc b , r ).
nmero do par fica reduzido a, no mximo, metade do valor. Voc pode observar que os restos
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
log2 a =
k
2
1 log2 a 1=
k
2
k =2log 2 a 2.
Assim,
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
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.
n .
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
n .
127
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.
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
40
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
41
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.
Exemplos:
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
Esse resultado significa que, se x muito grande, ento x deve estar prximo de
x
log x
x
log x
N .
43
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
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.
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
Texto 19 - Relaes
Uma relao em um conjunto S uma maneira de comparar os elementos de S .
Exemplo:
So relaes:
Isso lhe d uma idia do que seja uma relao. Veja a definio formal de relao no quadro a
seguir.
Exemplos:
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
46
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).
Uma relao ~
Exemplos.
A relao "ter a mesma idade que" no conjunto dos alunos de uma sala relao de
equivalncia.
importante.
So relaes de ordem:
A relao no conjunto dos inteiros.
Exemplos:
14 6 mod 4 , pois 4 divide 14 6=8 .
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)
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
x = {y S y ~ x }
Observe que, se
x ~ y ; logo z ~ x e x ~ y z ~ y z y .
Desta forma, z x z y
, o que mostra que x y .
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.
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.
x 0 mod 5 5 x 0 5x
x 0
51
=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 .
, ... , 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
,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.
.
5k 1 representante da classe 1
,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
b) 514 mod 3
c) 122 mod 3
e) x 2 17 y =3 mod 17 x 23 mod 17
54
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.
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
.
1421=1421=35=3
55
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
Demonstrao
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
Seja
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
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
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
Vamos continuar o estudo da estrutura de n na prxima aula. Agora, vamos trabalhar algumas
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
Como
10 1 mod 3
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
Com relao divisibilidade por 4, 102 mod 4 , mas 100 mod 4 ; logo
Divisibilidade por 5 e 10
Como 100 mod 5 , ento 10i 0 mod 5 , para todo i 1 .
a 0=5 .
Como 100 mod 10 , vale o mesmo raciocnio, e um inteiro a divisvel por 10 se, e
Divisibilidade por 11
Observe as classes mdulo 11 das potncias de 10.
101 mod 11 .
61
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,
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
Se k =q s r , com
0r s , ento a k =a qs r = as qa r .
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
maneiras.
125
Agora, vamos tentar uma potncia de 2 adequada. Como 23=8 1 mod 7 , a diviso de 62 por
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
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 .
Atividades
1) Elabore as tabelas de soma e de multiplicao de 6 .
c) 561 por 7 .
65
Nesta parte, voc vai aprender tambm como escrever o mdc de dois inteiros
como combinao linear deles, utilizando o algoritmo de Euclides.
Se
encontrar um
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
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
Exemplos:
7
=21=1
. Por outro
, pois 3
tem inversa, que a classe 7
Em 10 , a classe 3
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 ?
n . Se a
Seja a
tem inversa a' , ento:
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
ak 1 1 mod n ak1=1
o que mostra que a
tem inversa em n .
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
1a p 1 , ento
,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:
Demonstrao
68
classe
respectivamente. A inversa de a
, pois:
b
ab = a b = 11 = 1 .
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 .
E o que acontece quando mdc a , n 1 ? Neste caso, a equao a x b mod n pode ter
2x 6 mod 8
tem
duas
solues:
x 3 mod 8
x 7 mod 8 ,
pois
A congruncia 2x7 mod 8 no tem soluo, pois mdc 2,8=2 7. Voc pode
x k = x 0
n
k,
d
k =0d 1.
Uma demonstrao do teorema pode ser encontrada em Introduo Teoria dos Nmeros, de
8
2
x 3 7 mod 8.
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
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
Inicialmente, observamos que d = mdc 6,21 =3 e 3 divide 9; logo a equao tem trs
( 65 =309 mod 21 ).
70
x k = x 0
n
k , k =0 d 1 x k =57k , k =0,1 e 2.
d
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 .
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.
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
71
2350 .
4723
2350
23
4
=
=
=
=
2235023
102234
543
131
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:
4=235010223 1=64123=6235010223123
=6235061323.
23=47232times2350 1=6235061323=6235061347232times2350
=123223506134723.
Conclumos que 1=123223506134723. Esta expresso tambm permite calcular a
72
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 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 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 .
4723
2350 .
73
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
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
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?
tem
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
b) a =15 e b =23
75
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
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.
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
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 .
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 .
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:
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
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
.
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 .
conseqncia
que,
ao
multiplicar
todos
os
elementos
do
conjunto
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
79
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
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
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:
80
19 .
Como
Para provar que 13n , vamos calcular separadamente as classes de 270 e 370 .
Como
Agora vamos ao 370 . Em vez de usar o teorema de Fermat, mais simples considerar
Concluindo,
70
70
70
70
2 3 10 3 mod 13 2 3 0 mod 13 .
82
x 2 n y 2=1 . a chamada equao de Pell. Foi uma das equaes diofantinas estudadas
por Fermat.
A equao
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,
83
x 2 y 2=4k 3 ?
Uma outra maneira de formular essa questo a seguinte: algum inteiro da forma n =4k3
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 .
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
A traduo :
" impossvel separar um cubo em dois
cubos, uma quarta potncia em duas
quartas
potncias,
e,
em
geral,
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 ;
solues.
85
86
Unidade
87
, 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
mdc a , n =1 .
2. Testamos se a n 11 0 mod n .
Se um inteiro n composto, mas passa no teste de Fermat para a base a , dizemos que
89
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.
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
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
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:
1105=5 13 17
1729=7 13 19
2465=5 17 29
2821=7 13 31
6601=7 23 41
8911=7 19 67
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
q . Portanto
q
n 1
b n 1 10 mod n b n 1 1 mod n .
O inteiro n , portanto, um nmero de Carmichael.
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 como
k 1
1= b 2
k 1
1 .
b2
n divide b 2
1 b 2
1 .
1 . Portanto n divide b 2
k 1
1 , isto , b 2
k 1
1 mod n .
escrevendo as d potncias b d , b 2d , b 2
, , b2
s 1 d
, ou a primeira congruente a 1
94
285
, 22
335
Se adicionamos a base 7 , ento existe um nico inteiro composto neste intervalo que passa no
95
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.
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
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
n ={
a 1a n 1 e mdc a , n =1 }
*
Portanto, para n 1,
10 = 4
12 =4
15 =8
20 = 48
97
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
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
p 1
p 11 =
p p
total de inteiros
mltiplos de p
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.
proposio 2 , obtemos:
1
p = p p
11
= p p = p 1.
produto de primos distintos. Com ela e a proposio anterior, somos capazes de calcular n
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:
no so co-primos.
Exemplos:
4 =2.
fcil provar, por induo, que a frmula vale para o produto de vrios fatores, desde que eles
300=2 35 = 2 35 =2220=80.
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
p kk 1
pk
por p kk , resultando em
n =n 1
p1
p2
pk
onde p i so os primos que dividem n . Pode-se ainda tornar esta frmula um pouco mais
n =n
p i primo
p i divide n
pi
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.
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 .
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:
4
4
1 mod 10 , ou seja, 3 1 mod 10 . De fato, 3 =811 mod 10 .
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
que tem inversa mdulo n , e se inteiro que tem inversa mdulo n (isto ,
Demonstrao
Inicialmente, observe que a 1, a 2, , a n so todos inversveis mdulo n , pois o produto
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.
{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
a 1a 2a n = aa 1aa 2aa n
ou seja,
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 .
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
Chegamos ao fim desta aula. Nela, estudamos a funo de Euler, definida por
n .
Voc tambm estudou as principais propriedades da funo . So elas:
p = p p
=p
Se mdc a , b =1 , ento ab = a b .
Como
um
inteiro a possui
inversa
mdulo n se,
somente
se,
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)
12 .
106
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.
{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:
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 .
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 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 .
109
{xx
3 mod 5
6 mod 15
tambm no possui.
110
x b 1 mod m 1
x b 2 mod m 2
Demonstrao
A primeira equao pode ser escrita na forma x =b 1 k m 1 . Substituindo na segunda,
obtemos:
b 2b 1 .
Como, por hiptese, mdc m 1, m 2 =1 , ento a congruncia sempre tem soluo.
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 .
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 .
111
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
e x y 0 mod m 2 m 2 x y .
m 2 , ento mltiplo 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
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
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
Ao aplicar novamente o teorema para duas equaes, resulta que existe, e nica mdulo
x f 1 mod m 1m 2
x b 3 mod m 3
113
Teorema chins dos restos: Se m 1, m 2, ... , m k so inteiros positivos dois a dois primos entre
x b 1 mod m 1
x b 2 mod m 2
x b k mod m k
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
k , n -crtico se:
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:
Distribua
esses
inteiros
para
n 1
pessoas
ltima
pessoa
n 1
inteiro
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
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
B s A.
Sejam m 1, m 2, , m n os n elementos do conjunto S . Distribui-se entre os participantes os
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
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;
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
possveis ( t k ).
Exemplo.
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
seguinte:
A reunio de apenas trs desses sistemas resulta em um que ter soluo s 0 que nica
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
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.
118
6,3 -crtico.
Aula 12 RSA
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
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 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.
120
Texto 49 RSA
O primeiro passo no algoritmo a gerao das chaves. Cada participante deve gerar seu par de
chaves.
Gerao de chaves
Passo 2 Calcule n = p q .
n = p q = p q = p 1 q 1 .
Passo 4 Escolha um inteiro e , em que 1e n e MDC e , n =1 .
As chaves so:
- a chave pblica o par e , n .
existe inteiro
121
Processo de criptografia
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 = 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
23 mdulo
4200 .
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
124
para aritmtica modular. Assim, o que fizemos foi definir a =23 mod 4200 .
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.
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
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
confere.
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
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
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.
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 ,
Exemplos:
1
7 7 mod 15 .
73=7497 8 mod 15 .
Dessa forma, percebemos que 74 1 mod 15 e que nenhuma potncia de 7 menor que
- A ordem de 2 mdulo 9 6 .
Dos trs exemplos anteriores, apenas no ltimo temos que a ordem de a mdulo n n .
teorema a seguir.
Teorema: Sejam a e n inteiros positivos primos entre si e seja ord n a a ordem de a
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 ,
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
demonstrao do teorema.
Pelo teorema de Euler, a n 1 mod n .
mdulo n .
Exemplo: O inteiro 2 uma raiz primitiva mdulo 9 , porque a ordem de 2 mdulo 9
9 =6.
associatividade: a
b
c =
a b
c.
=b
comutatividade: a
b
a.
=a .
existncia do elemento neutro: a
1
, tal que a
existe classe
133
Estudo de grupos
O estudo de grupos muito interessante. Os grupos podem subdividirem-se em subgrupos.
*
comutatividade de n .
Caso
e todo elemento em G
G seja fechado para o produto de classes, possua a classe 1
*
, a 2 , a 3 , , a m 1 }
a
={1, a
*
forma um subgrupo de n .
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
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
},
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:
,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:
b um
1
2
=16 .
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 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 menor potncia de
a congruente a 1 mdulo p .
*
p 1 elementos, ento
*
2,
p ={a ,a , a
136
p 1
}.
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 ,
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
1)
ind a ,p 1=0
2)
ind a ,p a =1
3)
4)
ind a , p x
x mod p
ind a , p y
y mod p .
ind a , p x ind a , p y
xy a
u
ind a , p xy
mod p ,
mod p u v mod p 1 .
afirmao.
138
As quatro afirmaes listadas anteriormente, vlidas para a funo ind a ,p x , mostram que, se
ind a , p x : *n n 1
ento a funo possui as mesmas propriedades do logaritmo usual.
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
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
}.
Esse fato pode ser usado como teste de primalidade. Dado um inteiro n , caso possamos testar
*
A questo como provar que n cclico de ordem n 1 . Isso o mesmo que perguntar se
Dado
um
inteiro b inversvel
mdulo n ,
caso b possua
n 1 .
ordem
n 1 ,
ento
n 1 k
= ord n b b
p
p
n 1
p
= b
k
ord n b p
1 mod p .
n 1
p
1 mod p .
n 1
p
1 mod p ,
inteiro
positivo
mpar
e b um
inteiro
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 .
141
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 .
71 um inteiro primo.
O exemplo anterior bastante artificial. mais fcil provar que 71 primo tentando dividi-lo pelos
primos menores que
M n =2 n 1 .
Veja que, para que M n seja primo, necessrio, mas no suficiente, que n seja primo.
p
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.
142
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
Dessa forma, os dois conhecem o valor de g mod p . E qualquer atacante que interceptar
Para calcular g mod p , o atacante teria que conhecer tambm o valor de ou de , isto
143
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
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
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 .
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
*
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
x .
145
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
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
considerada segura.
*
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:
verificao da assinatura.
64
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
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 .
Para se comunicar com outras pessoas, Alice pode usar os mesmos valores p , q , g e utilizar
Assinatura
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 .
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
1. Calcular w = s 1 mod q .
funo SHA-1.
3. Calcular u 2= r w mod q .
p 1
q
mod p , ento:
p 1
q
h p 1 1 mod p ,
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
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
150
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
=4a 27b
for diferente de 0 .
151
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 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,
152
Voc j trabalhou bastante com um corpo finito: para p primo, o conjunto p , as operaes
Por causa dessa equivalncia, comum falar-se no corpo finito de p m elementos, como se
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.
153
x no
conjunto h um x ).
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.
Se a reta que passa por P e Q for tangente curva em algum dos pontos, esse ser
154
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:
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
vertical que passa por R . O ponto em que essa vertical corta a curva o ponto R =P Q .
156
Agora que definimos a soma de dois pontos P e Q , podemos definir k P , para k inteiro
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.
como calcular x .
Seja agora P um ponto de uma curva elptica E , definida sobre um corpo finito GF q .
157
2P= P P ,
3P=P P P
etc.
Ou seja, definimos uma operao k P para qualquer k inteiro.
possveis.
Dessa forma, temos iP = jP , para i j , o que mostra que i j P =0 . O menor n tal que
{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.
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
entre os dois.
5. Bob calcula o ponto k B k A P = k Ak B P .
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
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
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).
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
Leituras
Na ltima aula, voc estudou as curvas elpticas. Para saber mais sobre este
tema e sua utilizao em criptografia, indicamos duas interessantes
referncias.
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
1)
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.
Aula 3
1)
a)
b)
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.
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 .
soluo x 9 mod 11 .
3)
a) a =35 e b =65 ; mdc 35,65=5 e 235 165 =5 .
164
Aula 4
1)
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.
2)
a) Verdadeira.
b) Verdadeira.
c) Falsa.
d) Verdadeira.
e) Verdadeira.
165
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
Temos:
3
2
7 =77 =749 71 7 mod 25 .
72
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
Aula 13
18 .
Calculando as ordens, obtemos:
a ordem de 1 mdulo 18 1.
a ordem de 5 mdulo 18 6.
167
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.
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
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
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
passa por
tangente curva, o ponto de tangncia contado duas vezes). Traamos a reta vertical
passando por
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
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
Primos.
Disponvel
em:
170
Autor
171
9 788576 483311