Escolar Documentos
Profissional Documentos
Cultura Documentos
Criptografia Coutinho
Criptografia Coutinho
2009/6/30
i page 1
Estilo OBMEP
i
i
Criptografia
S. C. Coutinho
i
i
cripto
2009/6/30
i page 2
Estilo OBMEP
i
i
i
i
cripto
2009/6/30
i page i
Estilo OBMEP
i
i
Antes de Comear
Estas notas tratam de uma aplicao da matemtica criptografia.
Embora algumas pessoas ainda associem mensagens codificadas a 007
ou outros agentes igualmente secretos, h mais de uma dcada que
esta no a aplicao mais importante da criptografia. Isto porque,
hoje em dia, uma grande variedade de transaes que envolvem dinheiro so feitas de maneira eletrnica, desde compras por carto de
crdito via internet a saques em caixas eletrnicos. A informao referente a estas transaes segue por linha telefnica ou redes de alta-velocidade e, em ambos os casos, est facilmente sujeita a escutas.
Se a histria acabasse a, eu seria o primeiro a desejar que os
bancos regridissem era do papel! Felizmente, estas informaes
no trafegam em aberto pela rede telefnica, elas so codificadas, de
modo que s o banco, empresa de carto de crdito ou loja que voc
est utilizando consegue ler a informao. Assim, mesmo que algum
intercepte a informao com a inteno de esvaziar sua conta, ele no
conseguir interpretar suas informaes, que continuaro seguras.
Os processos pelos quais informaes enviadas eletronicamente so
codificadas depende, de maneira crucial, do uso da matemtica. O
i
i
i
cripto
2009/6/30
i page ii
Estilo OBMEP
i
i
ii
mais curioso que at os anos 1960, a teoria dos nmeros, que a
parte da matemtica mais utilizada nas aplicaes criptografia, era
considerada quase que destituda de utilidade prtica.
O que os matemticos entendem como teoria dos nmeros o
estudo das propriedades dos nmeros inteiros, e no de quaisquer
tipos de nmeros. Por exemplo, questes referentes fatorao de
inteiros, ao clculo do mximo divisor comum e ao estudo dos nmeros
primos, fazem parte desta teoria. Na verdade, juntamente com a geometria, essa uma das reas mais antigas da matemtica.
Nestas notas desenvolvemos os mtodos da teoria dos nmeros
necessrios s aplicaes em um sistema de criptografia especfico, o
chamado RSA. H duas razes para isto. A primeira que os resultados matemticos utilizados neste sistema so relativamente elementares; a segunda que se trata do mais utilizado dos mtodos
de criptografia atualmente em uso.
Estas notas se dirigem a um estudante com conhecimento bsico
sobre a fatorao de inteiros e primos, que tenha certa facilidade no
clculo com frmulas elementares e que tenha interesse matemtico
suficiente para apreciar argumentos de demonstraes bastante bsicas. Gostaria de agradecer a todas as pessoas que me ajudaram na
preparao das notas, especialmente Florncio Ferreira Guimares
Filho que primeiro sugeriu a ideia destas notas, Suely Druck e Mrio
Jorge Dias Carneiro que leram todo o texto e deram inmeras sugestes para melhor-lo e a Francisca Frana que leu todo o texto,
corrigindo-o, revisando-o e preparando-o para a publicao.
Rio de Janeiro, 13 de maio de 2008
S. C. Coutinho
i
i
cripto
2009/6/30
i page iii
Estilo OBMEP
i
i
Sumrio
Introduo
Criptografia . . . . . . . . . . . . . . . . . . . . . . . . . . .
Criptografia RSA . . . . . . . . . . . . . . . . . . . . . . . .
1 Nmeros Inteiros
15
1.1
15
1.2
Fatorando Inteiros . . . . . . . . . . . . . . . . . . . .
19
2 Aritmtica Modular
37
2.1
37
2.2
. . . . . . . . . .
45
2.3
Critrios de Divisibilidade . . . . . . . . . . . . . . . .
61
3 Inversos Modulares
79
3.1
Motivao e Definies . . . . . . . . . . . . . . . . . .
79
3.2
Inexistncia de Inverso . . . . . . . . . . . . . . . . . .
84
iii
i
i
cripto
2009/6/30
i page iv
Estilo OBME
i
i
iv
SUMRIO
3.3
Existncia de Inverso . . . . . . . . . . . . . . . . . . .
92
3.4
O Teorema e um Exemplo . . . . . . . . . . . . . . . .
97
102
4.1
Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.2
5 Potncias
121
5.1
5.2
5.3
Potncias . . . . . . . . . . . . . . . . . . . . . . . . . 139
6 Criptografia RSA
146
6.1
Pr-codificao . . . . . . . . . . . . . . . . . . . . . . 147
6.2
6.3
7 Encontrando Primos
168
7.1
7.2
7.3
Solues
200
Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
i
i
cripto
2009/6/30
i page v
Estilo OBMEP
i
i
SUMRIO
Referncias Bibliogrficas
v
217
i
i
cripto
2009/6/30
i page vi
Estilo OBMEP
i
i
cripto
2009/6/30
i page 1
Estilo OBMEP
i
i
Introduo
O foco deste livro o mtodo de criptografia de chave pblica
conhecido como RSA.1 Toda a matemtica que vamos estudar estar
ligada diretamente a este mtodo. Na introduo apresentaremos a
ideia central por trs do funcionamento do RSA.
Criptografia
Em grego, cryptos significa secreto, oculto. A criptografia estuda
os mtodos para codificar uma mensagem de modo que s seu destinatrio legtimo consiga interpret-la. a arte dos cdigos secretos.
O Cdigo de Csar
Um dos cdigos secretos mais simples consiste em substituir uma
letra do alfabeto pela seguinte. Por exemplo, a mensagem AMO A
1
i
i
cripto
2009/6/30
i page 2
Estilo OBMEP
i
i
2
OBMEP seria codificada como
BN P BP CN F Q.
Um cdigo semelhante a este foi usado, por exemplo, pelo ditador
romano Jlio Csar para comunicar-se com as legies romanas em
combate pela Europa. Este parece ser o primeiro exemplo de um cdigo secreto de que se tem notcia.
i
i
cripto
2009/6/30
i page 3
Estilo OBMEP
i
i
3
Letra
A
B
C
D
E
F
%
14,64
1,04
3,88
4,10
12,57
1,02
Letra
G
H
I
J
L
M
%
1,30
1,28
6,18
0,40
2,78
4,75
Letra
N
O
P
Q
R
S
%
5,05
10,73
2,52
1,20
6,53
7,81
Letra
T
U
V
X
Z
%
4,34
4,64
1,70
0,21
0,47
i
i
cripto
2009/6/30
i page 4
Estilo OBMEP
i
i
4
IFSER IFZLU FOZTIE HFSUO EZLSJ DSHZF ZZNCT ZFZGC
SVFZFI EUITO QIEES UFSDI ECEZTI EHSMIE ZMSLZSE
TCFZJDS ZESQC JTZQC SFFZL CJTOZM SJDFS SEDSE SEDZB
ZIUIM IEEICL UILHC DZTIF UIEJD FCOTI JZOJQ MZDSF
FZHIF CLZSG COHSM OTSFZ TZHIF ZMZJD CFOJQ CLTIE
RCJTZ TIFSE TZUILH CDZUZI UOSJDO ROUZ
Exerccio 1. Ser que voc notou que o pargrafo acima foi codificado? Use o mtodo de contagem de frequncia para quebrar o cdigo
e poder decodificar e ler o pargrafo. Para no simplificar as coisas,
foram eliminados espaos, acentos e pontuao.
Cdigos em Bloco
Por sorte, existe uma maneira simples de tornar invivel a aplicao de uma contagem de frequncia. Para isso, subdividimos a
mensagem em blocos de vrias letras e embaralhamos estes blocos.
Por isso este processo de criptografar uma mensagem conhecido
como cdigo de bloco. Por exemplo, considere a mensagem AMO A
OBMEP. Para codific-la seguiremos os seguintes passos:
eliminamos os espaos e completamos a mensagem com um A
no final, caso tenha uma quantidade mpar de letras;
subdividimos a mensagem em blocos de duas letras;
refletimos cada bloco;
permutamos os blocos trocando o primeiro com o ltimo, o terceiro com a antepenltimo, e assim por diante, mas deixando os
outros como esto.
i
i
cripto
2009/6/30
i page 5
Estilo OBMEP
i
i
5
Aplicando isto, passo a passo, mensagem acima, obtemos primeiro
AMOAOBMEPA
depois
AM-OA-OB-ME-PA
em seguida
MA-AO-BO-EM-AP
e, finalmente,
AP-AO-BO-EM-MA
que nos d como mensagem codificada
APAOBOEMMA.
Exerccio 2. Discuta as seguintes questes com seus colegas:
(a) Por que a contagem de frequncia no funciona quando usamos cdigos em bloco?
(b) Por que escolhemos acrescentar exatamente a letra A quando
a mensagem tem quantidade mpar de letras, em vez de usar, por
exemplo, X ou Y?
Apesar de cdigos como este serem melhores que o cdigo de
Csar, eles apresentam uma grande desvantagem quando se trata de
i
i
cripto
2009/6/30
i page 6
Estilo OBMEP
i
i
6
aplicaes comerciais da criptografia. Por exemplo, digamos que resolvo fazer uma compra via web usando o meu computador, em uma
loja em que nunca comprei antes. Para isso entro na pgina da loja,
escolho os produtos que desejo e, quando estou pronto para comprar,
escolho ir para o caixa. O pagamento ser feito usando o meu carto
de crdito. Para isso, preciso informar a loja sobre os dados do meu
carto: geralmente o nmero e a data de vencimento. Mas isto significa que qualquer outra pessoa que tenha estes dados pode fazer
compras em meu nome. Para evitar este problema, as informaes
sobre o meu carto so codificadas pelo meu computador antes de
serem enviadas.
Note, contudo, que meu computador no pode usar um cdigo
qualquer para codificar estas informaes, porque a loja precisa l-las
e, para isso, tem que saber como decodificar a mensagem. Na prtica
o que ocorre que o meu computador comunica-se com o da loja, que
lhe informa como deve ser feito o processo de codificao. Isto , meu
computador codifica as informaes do carto de crdito usando um
processo de codificao que enviado pela loja.
Infelizmente os cdigos de blocos no se prestam a este tipo de
aplicao porque o computador da loja usa a linha telefnica (ou de
banda larga) qual meu computador esta interligado para enviar o
processo de codificao a ser utilizado. Como fcil pr uma escuta na linha, uma outra pessoa pode facilmente descobrir como meu
computador vai codificar as informaes sigilosas que sero enviadas
loja. Usando a mesma escuta fcil interceptar tambm as mensagens que contm os dados do carto. Mas isto basta porque, se
sabemos como foi feito o embaralhamento dos blocos, podemos facil-
i
i
cripto
2009/6/30
i page 7
Estilo OBMEP
i
i
7
mente desfaz-lo e ler os dados do carto!
A nica maneira de contornar este problema ter acesso ao que
conhecido como um canal seguro: uma maneira secreta de fazer
a informao sobre o processo de codificao chegar at o computador do usurio da loja. Talvez a loja pudesse mandar, pelo correio
registrado, um carto especial com os dados a serem usados para a
codificao. O problema que isto tornaria a transao lenta, j
que seria necessrio esperar dias pela chegada do carto nesse meio
tempo eu talvez preferisse escolher uma loja real, mesmo que fosse
longe da minha casa. E ainda h outro problema, mais srio. Se o
meu computador for invadido por um hacker, o processo de codificao ser descoberto e qualquer mensagem enviada com ele poder
ser lida.
i
i
cripto
2009/6/30
i page 8
Estilo OBMEP
i
i
8
prtica. claro que quo difcil ser desfazer o procedimento depende dos recursos disponveis a quem interceptou a mensagem.
Vejamos um exemplo. Voc j viu uma dessas armadilhas usadas
para pescar lagostas? Elas consistem de uma gaiola com uma porta
fechada atrs e uma entrada para a lagosta na frente. O segredo est
na entrada, que tem a forma de um funil: larga na parte externa e
cada vez menor medida que a lagosta vai entrando na gaiola. Para
uma ilustrao da entrada da armadilha veja a figura 2.
i
i
cripto
2009/6/30
i page 9
Estilo OBMEP
i
i
9
enquanto, vamos s observar que tais cdigos so conhecidos como de
chave pblica, j que o processo (ou chave) de codificao pode ser
conhecido de qualquer um sem comprometer a segurana do cdigo.
Criptografia RSA
O mais conhecido dos mtodos de criptografia de chave pblica o
RSA. Este cdigo foi inventado em 1977 por R. L. Rivest, A. Shamir
e L. Adleman, que na poca trabalhavam no Massachussets Institute
of Technology (M.I.T.), uma das melhores universidades americanas.
As letras RSA correspondem s iniciais dos inventores do cdigo. H
vrios outros cdigos de chave pblica, mas o RSA continua sendo o
mais usado em aplicaes comerciais.
O Mtodo RSA
A descrio completa do funcionamento do RSA justamente o
tema desta apostila. Para entender como funciona precisaremos estudar vrias ideias e tcnicas novas de matemtica. Nesta seo explicaremos apenas o suficiente sobre o RSA para que voc entenda como
possvel um problema ser fcil de fazer e difcil de desfazer. Isto
tambm nos ajudar a identificar os problemas matemticos que precisaremos abordar para poder discutir os detalhes do funcionamento
do RSA.
Digamos que voc vai criar uma implementao do RSA para
uma determinada loja, que vai us-lo na codificao de dados de
clientes em compras pela internet. Para comear, voc precisa escolher
i
i
cripto
2009/6/30
i page 10
Estilo OBMEP
i
i
10
dois nmeros primos distintos e multiplic-los, obtendo um nmero
inteiro n. A loja manter secreta a informao sobre quais so os
primos escolhidos, porque isto que necessrio para decodificar as
mensagens enviadas usando a verso do RSA que voc est construindo. J n vai ser enviado para o computador de qualquer pessoa
que compre nessa loja pela web, porque dele que o computador do
usurio necessita para codificar os dados sobre o do carto de crdito
e envi-los ao computador da loja. Portanto, no caso do RSA, o problema fcil de fazer e difcil de desfazer simplesmente multiplicar
dois primos.
J consigo imaginar voc pensando:
S isso? Mas para desfazer o problema basta fatorar o
nmero e achar os primos!
verdade, mas h um detalhe que esqueci de contar: estes nmeros
primos sero muito, muito grandes. Na prtica uma chave segura de
RSA gerada a partir de nmeros primos de cerca de 100 algarismos
cada, de forma que n, que o produto destes primos, ter cerca de
200 algarismos. Acontece que, como veremos na pgina 29, podem
ser necessrios zilhes de anos para fatorar um nmero deste tamanho
e achar seus fatores primos mesmo se usarmos os mais poderosos
computadores existentes atualmente.
Resumindo:
para implementar o RSA escolhemos dois primos distintos muito
grandes p e q e calculamos o produto n = p q;
para codificar uma mensagem usamos n;
i
i
cripto
2009/6/30
i page 11
Estilo OBMEP
i
i
11
para decodificar uma mensagem usamos p e q;
n pode ser tornado pblico;
p e q precisam ser mantidos em segredo;
quebrar o RSA consiste em fatorar n, que leva muito tempo se
n for grande.
Teoria de Nmeros
O que vimos acima sugere que os principais problemas matemticos relacionados ao RSA so: como achar nmeros primos e como
fatorar um nmero. A rea da matemtica a que estes problemas pertencem conhecida como teoria de nmeros e tem por objetivo geral
o estudo das propriedades dos nmeros inteiros. Entre os problemas
que teremos que estudar para podermos descrever completamente o
RSA tambm esto:
como calcular os restos da diviso de uma potncia por um
nmero dado;
como achar um nmero que deixa restos especificados quando
dividido por uma srie de nmeros dados;
como estabelecer critrios de divisibilidade por nmeros primos.
H muitos outros problemas que so parte da teoria dos nmeros,
mas dos quais no trataremos aqui, entre eles:
1. calcular o mximo divisor comum entre dois nmeros dados;
i
i
cripto
2009/6/30
i page 12
Estilo OBMEP
i
i
12
2. determinar todos os inteiros a, b e c que satisfazem a2 + b2 = c2 ;
3. mostrar que se trs inteiros a, b e c satisfazem an + bn = cn ,
onde n > 2 um inteiro positivo, ento a, b ou c tm que ser
iguais a zero;
n
i
i
cripto
2009/6/30
i page 13
Estilo OBMEP
i
i
13
espao disponvel na margem do livro no seria suficiente para conter
seu argumento.
improvvel que a demonstrao de Fermat estivesse correta,
j que o resultado permaneceu sem demonstrao at 1995. Como
este foi o ltimo resultado enunciado por Fermat a ser demonstrado,
tornou-se conhecido como o ltimo Teorema de Fermat. Para complicar, os mtodos usados por A. Wiles em sua prova de (3) so extremamente sofisticados e sequer existiam h 50 anos atrs.
A questo (4) outra que est ligada ao nome de Fermat. Na
verdade, o nmero
n
F (n) = 22 + 1
conhecido como o n-simo nmero de Fermat porque, em uma de
suas cartas a um outro matemtico, Fermat props que F (n) seria
sempre primo, qualquer que fosse o valor de n. De fato, calculando
F (n) para n de 0 a 4 obtemos os nmeros listados na tabela 2.
n
0
1
2
3
4
F (n)
3
5
17
257
65537
i
i
cripto
2009/6/30
i page 14
Estilo OBMEP
i
i
14
forma F (n) conhecido quando n > 4, da o problema enunciado em
(4), que ningum at hoje sabe como resolver.
A questo (5) conhecida como Conjectura de Goldbach, em homenagem a Christian Goldbach, um outro matemtico amador, que
viveu na mesma poca que Euler, com quem trocava frequentes cartas sobre matemtica. Embora se saiba que todo nmero par com
menos de 18 algarismos seja mesmo a soma de dois primos mpares,
ningum at hoje conseguiu provar o enunciado de Goldbach. Apesar
disso, alguns resultados parciais so conhecidos. Um dos mais recentes
foi a demonstrao descoberta em 2002 por Roger Heath-Brown e
Jan-Christoph Schlage-Puchta de que todo nmero par muito grande
pode ser escrito como a soma de dois primos mpares e exatamente
13 potncias de 2.
Se voc tentar descobrir duas potncias de inteiros pequenos, que
sejam consecutivas, vai logo dar de cara com 8 e 9, que so iguais
a 23 e 32 , respectivamente. Por mais que procure, no encontrar
outros exemplos. Em vista disso, o matemtico belga Eugne Charles
Catalan props em 1844 que essas duas potncias seriam as nicas
solues do problema (5). Isto correto, como foi provado pelo matemtico romeno Preda Mihilescu em 2002.
Talvez voc tenha percebido que, embora os enunciados das cinco
questes acima sejam muito fceis de entender, resolv-las pode ser
muito difcil: o ltimo Teorema de Fermat levou mais de 300 anos
para ser provado e o problema proposto por Catalan levou 158 anos.
Sem falar da conjectura de Goldbach e do problema relativo aos
nmeros de Fermat, que at hoje ningum sabe resolver.
i
i
cripto
2009/6/30
i page 15
Estilo OBMEP
i
i
Captulo 1
Nmeros Inteiros
Neste captulo estudaremos algumas propriedades bsicas dos nmeros inteiros que sero necessrias em nossa descrio do RSA no
captulo 6. Comearemos relembrando algumas definies bastante
simples.
1.1
1.1.1
Divisores e Mltiplos
i
i
cripto
2009/6/30
i page 16
Estilo OBMEP
i
i
16
i
i
cripto
2009/6/30
i page 17
Estilo OBMEP
i
i
17
i
i
cripto
2009/6/30
i page 18
Estilo OBMEP
i
i
18
1.1.2
Primos e Compostos
i
i
cripto
2009/6/30
i page 19
Estilo OBMEP
i
i
19
1.2
Fatorando Inteiros
1.2.1
Encontrando um Fator
i
i
cripto
2009/6/30
i page 20
Estilo OBMEP
i
i
20
que se quer fatorar. Se nenhum fator for encontrado, podemos concluir que o nmero dado primo. Por exemplo, se queremos fatorar
91, devemos verificar se divisvel
por 2? no, pois mpar;
por 3? como 9 + 1 = 10 no divisvel por 3 ento 91 tambm
no ;
por 4? podemos pular 4 j que 91 mpar;
por 5? no, j que no acaba em 5 nem em 0;
por 6? outro par que podemos pular;
por 7? dividindo 91 por 7 achamos resto zero e quociente 13;
logo, 7 e 13 so fatores de 91. Note que houve bastante redundncia
neste processo. De fato, se 2 no divide 91, nenhum nmero par
vai dividi-lo. Com isto poderamos ter restringido as tentativas aos
mpares.
Exerccio 6. Generalize a afirmao feita no pargrafo acima, mostrando que, se um inteiro k divide outro inteiro m, que por sua vez
divide ainda outro inteiro n, ento k divide n.
Vamos parar para pensar um minuto. Este exerccio nos diz que
o que fizemos para 2 se aplica tambm a outros nmeros; 3, por
exemplo. Ento, se 3 no divide 91, nenhum mltiplo de 3 pode
i
i
cripto
2009/6/30
i page 21
Estilo OBMEP
i
i
21
1.2.2
Algoritmo?
i
i
cripto
2009/6/30
i page 22
Estilo OBMEP
i
i
22
Po-de-l
Ingredientes:
3 xcaras de farinha de trigo;
3 ovos;
3 colheres de sopa de acar.
Modo de fazer: Ponha o forno para esquentar, em temperatura mdia, por 10 minutos. Enquanto isto, separe a clara e a gema dos ovos.
Bata as claras em neve. Acrescente as gemas e continue batendo
at que a misture fique bem clara. Adicione o acar e continue
batendo. Acrescente a farinha, uma colher de cada vez, misturando-a
bem massa com uma colher. Asse por mais ou menos vinte minutos.
Uma olhada rpida nesta receita nos mostra que vem em trs
partes: o ttulo, os ingredientes e o procedimento a ser seguido. O
ttulo nos diz o que vai resultar se fizermos a receita; neste caso, um
bolo, e no um biscoito ou um mingau. Os ingredientes indicam o que
precisamos ter mo para fazer o bolo. J o procedimento descreve
passo a passo o que devemos fazer para obter um bolo de verdade.
Todos os algoritmos, mesmo os de natureza matemtica, tm uma
estrutura semelhante receita acima. Ao ttulo da receita corresponde a sada do algoritmo; isto , o que vai resultar se utilizarmos
o algoritmo. Os ingredientes por sua vez, correspondem entrada do
algoritmo. No caso do algoritmo descrito na seo 1.2.1, a entrada
i
i
cripto
2009/6/30
i page 23
Estilo OBMEP
i
i
23
o nmero do qual desejamos achar um fator. Finalmente, o procedimento da receita ... Bem, o procedimento do algoritmo ( difcil
dizer isto de outro jeito).
Podemos organizar nosso algoritmo segundo estas etapas. Como
geralmente h muitos algoritmos com a mesma entrada e sada,
costume dar um nome ao algoritmo que se descreve. Isto comum
em receitas tambm, como quando escrevemos Po-de-L da Vov
para distinguir uma receita de outra. Na verdade, os algoritmos so
frequentemente nomeados em homenagem a quem os criou. Como
nosso algoritmo to antigo que ningum lembra quem o inventou,
vamos cham-lo de Algoritmo acha-fator.
Algoritmo acha-fator
Entrada: um inteiro positivo n;
Sada: um fator prprio de n ou a concluso de que n primo;
Procedimento: tente dividir n por 2. Se for divisvel pre, pois
descobrimos que 2 fator de n, se no for, tente dividi-lo por 3. Se
for divisvel pre, pois descobrimos que 3 fator de n, se no for, tente
dividi-lo por 3. Continue desta maneira at encontrar um nmero que
divida n ou at que o candidato a divisor seja n. Neste ltimo caso,
n primo.
A nica coisa que os matemticos exigem de um algoritmo que
a execuo do procedimento que ele descreve sempre chegue ao fim.
i
i
cripto
2009/6/30
i page 24
Estilo OBMEP
i
i
24
1.2.3
Algoritmo e Al-Khowarazmi
i
i
cripto
2009/6/30
i page 25
Estilo OBMEP
i
i
25
i
i
cripto
2009/6/30
i page 26
Estilo OBMEP
i
i
26
1.2.4
O Algoritmo acha-fator
O algoritmo acha-fator trs um bnus grtis: o fator que ele encontra , necessariamente, um nmero primo. Para entender o porqu,
lembre-se que o algoritmo consiste em fazer uma busca pelo fator de
um nmero n, comeando sempre por 2, que o menor fator prprio
positivo possvel para qualquer nmero. Por isso, o fator encontrado
por este algoritmo sempre o menor fator possvel p do nmero n
dado. Contudo, se p no for primo, ento admite um fator q < p.
Acontece que, segundo o exerccio 6, como q divide p, que divide n,
devemos ter que q divide n. Mas isto no possvel, uma vez que
q < p e j tnhamos concordado que p era o menor fator positivo
possvel de n.
Outro detalhe importante deste algoritmo que podemos parar
nossa busca, e decretar que n primo, muito antes de chegar a n. A
chave para entender isto , mais uma vez, o fato do algoritmo achar
sempre o menor fator do nmero n que se quer fatorar.
Para poder discutir os detalhes, suponhamos que o nmero inteiro
positivo n, que se deseja fatorar, composto. Neste caso o algoritmo
acha-fator encontra o menor fator p de n. Portanto, podemos escrever
n=pc
onde c o cofator de p como divisor de n. Contudo, c tambm um
i
i
cripto
2009/6/30
i page 27
Estilo OBMEP
i
i
27
que equivalente a
n.
de nossa busca ultrapassar n. Isto nos permite reformular o algoritmo acha-fator de maneira bem mais eficiente, como segue.
Algoritmo acha-fator
i
i
cripto
2009/6/30
i page 28
Estilo OBMEP
i
i
28
n;
2. p 4 divide 6n + 7 e 3n + 2.
Determine todos os possveis valores de n.
Desafio 1. Qual o maior nmero possvel de fatores primos de um
inteiro n que no tem nenhum fator n1/3 ?
i
i
cripto
2009/6/30
i page 29
Estilo OBMEP
i
i
1.2.5
29
Custo da Fatorao
i
i
cripto
2009/6/30
i page 30
Estilo OBMEP
i
i
30
(so 30 zeros)
(meros 11 zeros)
anos. Podemos, portanto, concluir, sem qualquer receio, que impossvel confirmar que um nmero de 100 ou mais algarismos primo
usando este algoritmo.
Isto significa que o algoritmo intil? Certamente que no. Se
vamos fatorar um inteiro sobre o qual nada sabemos, h sempre a possibilidade que tenha um fator primo pequeno, digamos menor que um
milho. Neste caso, o acha-fator encontrar um tal fator rapidamente.
i
i
cripto
2009/6/30
i page 31
Estilo OBMEP
i
i
1.2.6
31
i
i
cripto
2009/6/30
i page 32
Estilo OBMEP
i
i
32
o fator encontrado 13 e
247
= 19,
13
de modo que
12 103 = 72 247 = 72 (13 19).
ww
ww
w
ww
ww
7
1 719
w
ww
w
w
ww
ww
7
247
w
ww
w
w
ww
ww
13
19
w
ww
ww
w
w
ww
19
1
i
i
cripto
2009/6/30
i page 33
Estilo OBMEP
i
i
33
12 103
12 103
12 103
12 103
1 729
247
247
247
19
19
19
19
2
3
5
7
7
9
11
13
13
15
17
19
...
...
...
...
...
...
...
...
...
...
...
...
no divisvel
no divisvel
no divisvel
divisvel
divisvel
no divisvel
no divisvel
divisvel
no divisvel
no divisvel
no divisvel
divisvel
i
i
cripto
2009/6/30
i page 34
Estilo OBMEP
i
i
34
i
i
cripto
2009/6/30
i page 35
Estilo OBMEP
i
i
35
1.2.7
i
i
cripto
2009/6/30
i page 36
Estilo OBMEP
i
i
36
que, se no fizssemos isto no poderamos falar da unicidade da fatorao no teorema acima. Por exemplo, se 1 fosse primo, ento
2 e 12 2 seriam duas fatoraes distintas do nmero 2. Usando a
mesma ideia de multiplicar o nmero por uma potncia de 1
(ou de 1) teramos uma infinidade de fatoraes distintas para cada
inteiro. Para excluir este tipo de fatorao trivial, dizemos que 1
no so primos.
No provaremos a unicidade da fatorao nesta apostila, mas os
detalhes podem ser encontrados nas referncias [2, captulo 2], [1]
ou [3]. Para que voc possa apreciar a importncia da unicidade na
fatorao, aqui esto dois exerccios que seriam muito difceis de fazer,
no fosse por ela (especialmente o 10). Ao fazer os exerccios procure
identificar exatamente onde est utilizando a unicidade da fatorao.
Exerccio 9. Determine se existem inteiros positivos x, y e z que
satisfaam a equao 30x 35y = 21x 140 52x .
Exerccio 10. Determine se existem inteiros positivos x, y e z que
satisfaam a equao 2x 34 26y = 39z .
Exerccio 11. Seja n um inteiro positivo e p > 1 um nmero primo
que divide n. Mostre que a multiplicidade de p na fatorao de n o
maior expoente e tal que pe divide n.
O prximo exerccio apareceu originalmente no Banco de Questes
da OBMEP-2007 (p. 99).
Exerccio 12. Quais nmeros naturais m e n satisfazem a
2n + 1 = m2 ?
i
i
cripto
2009/6/30
i page 37
Estilo OBMEP
i
i
Captulo 2
Aritmtica Modular
Neste captulo estudaremos a aritmtica dos fenmenos peridicos;
isto , aqueles que se repetem a intervalos regulares. No dia-a-dia nos
deparamos constantemente com fenmenos deste tipo: o dia que tem
24 horas, a semana que tem 7 dias, o ano que tem 365 dias, a OBMEP
ocorre uma vez a cada ano e o Colquio Brasileiro de Matemtica uma
vez a cada dois anos, s para citar alguns.
2.1
i
i
cripto
2009/6/30
i page 38
Estilo OBMEP
i
i
38
ponde ao menor tempo que leva para dar uma volta em torno do Sol.
A Lua, por sua vez, tem perodo de rotao de 27 dias e perodo de
revoluo (em torno da Terra) de 27 dias.
Antes que voc ache que encontrou um erro tipogrfico (Ele estava
distrado e repetiu o mesmo nmero do perodo de translao!) deixa
eu esclarecer que no se trata disto. Na verdade, os perodos de
revoluo da Lua em torno da Terra e de sua rotao em torno de
seu prprio eixo so exatamente os mesmos, e por isso que a Lua
sempre tem a mesma face voltada para a Terra. Se voc est pensando
mas que incrvel coincidncia!, ento prepare-se para um desapontamento. A verdade que esta coincidncia de perodos foi causada
por um efeito de frico relacionado s mars que a Lua provoca na
Terra. Fascinante, no?
2.1.1
Horrios Escolares
i
i
cripto
2009/6/30
i page 39
Estilo OBMEP
i
i
39
Resto
Dia
0
segunda
1
tera
2
quarta
3
quinta
4
sexta
5
sbado
6
domingo
i
i
cripto
2009/6/30
i page 40
Estilo OBMEP
i
i
40
2.1.2
Um Jogo de Tabuleiro
Embora seja natural comear pensando no perodo como o intervalo de tempo entre duas ocorrncias de um dado fenmeno, esta no
sua nica aplicao. Para um exemplo que no envolve tempo, considere um jogo de dados cujo tabuleiro formado por um caminho
quadrado na forma ilustrada na tabela 2.2.
I
i
i
cripto
2009/6/30
i page 41
Estilo OBMEP
i
i
41
i
i
cripto
2009/6/30
i page 42
Estilo OBMEP
i
i
42
voc est neste momento e a casa inicial. Mas 21 pode ser escrito na
forma
21 = 6 3 + 3,
de modo que, para ganhar nesta rodada preciso tirar 3 nas duas jogadas do dado. Note que, mais uma vez, o clculo matemtico requerido para resolver o problema foi uma diviso.
Exerccio 13. Quanto voc deve tirar nas duas jogadas do dado para
ganhar em uma jogada a partir da posio marcada pelo no tabuleiro
2.4?
I
i
i
cripto
2009/6/30
i page 43
Estilo OBMEP
i
i
2.1.3
43
175
234 .
409
Para conferir se fizemos a conta corretamente, somamos os algarismos das duas parcelas, subtraindo nove cada vez que a soma chegue,
ou passe, de nove ou, como costume dizer, fazendo noves fora.
Aplicando a prova dos nove ao exemplo acima somamos 1 + 7 + 5
que d 13, noves fora 4 (isto , 13 9 = 4). Continuando, somamos
os algarismos da segunda parcela: 4 + 2 + 3 = 9, noves fora zero, de
modo que as parcelas do como resultado 4+0 = 4. Se a conta estiver
correta, devemos obter 4 ao aplicar o mesmo processo ao resultado
que calculamos. Mas, 13 noves fora d 4, que era o valor esperado.
Isto indica (mas no garante!) que a conta esteja certa.
Observe que, ao fazer noves fora, estamos calculando o resto da
diviso de um nmero por 9. Na prtica, a prova dos nove consiste
em calcular o resto de diviso de uma soma por 9 de duas maneiras
diferentes, como veremos na pgina 66.
Exerccio 16. D exemplo onde a prova dos nove falha. Explique
o que precisa acontecer para que a prova dos nove no seja capaz de
detectar um erro cometido em uma adio.
i
i
cripto
2009/6/30
i page 44
Estilo OBMEP
i
i
44
Exerccio 17. A prova dos nove tambm funciona para a multiplicao. D exemplo de uma multiplicao errada que a prova dos nove
no detecta como tal. Explique o que precisa acontecer para que a
prova dos nove no seja capaz de detectar um erro cometido em uma
multiplicao.
2.1.4
Restos de Inteiros
Nos exemplos anteriores, resolvemos os problemas propostos usando diviso de inteiros com resto. Isto sugere que o prprio resto da
diviso se comporta de maneira peridica. Por exemplo, os mltiplos
de 2 se repetem de dois em dois e, portanto, com perodo igual a
2. J os mltiplos de 3 tm perodo 3 e os de 12, perodo 12. Mais
precisamente,
os restos dos inteiros sucessivos na diviso por um inteiro
positivo qualquer n repetem-se com perodo n.
Por exemplo, dividindo os nmeros de 0 em diante por 4, obtemos os
restos como na tabela 2.5.
Inteiros
Restos
0
0
1
1
2
2
3
3
4
0
5
1
6
2
7
3
8
0
9
1
10
2
11
3
12
0
13
1
14
2
i
i
cripto
2009/6/30
i page 45
Estilo OBMEP
i
i
45
2.2
2.2.1
Sistematizando
i
i
cripto
2009/6/30
i page 46
Estilo OBMEP
i
i
46
i
i
cripto
2009/6/30
i page 47
Estilo OBMEP
i
i
47
(mod 7).
2.2.2
(mod 5).
A congruncia modular satisfaz algumas propriedades que a tornam muito semelhante igualdade usual. As propriedades mais elementares da igualdade so as seguintes:
reflexiva todo nmero igual a si prprio;
simtrica se a = b ento b = a;
transitiva se a = b e b = c, ento a = c.
Na verdade, costumamos usar estas propriedades da igualdade sem
ter sequer conscincia que o fazemos.
i
i
cripto
2009/6/30
i page 48
Estilo OBMEP
i
i
48
No caso da congruncia modular no assim to bvio que estas propriedades so satisfeitas, mas podemos verific-las sem muito
trabalho como faremos adiante. Antes porm, convm perguntarmos para que fazer o esforo de provar que estas propriedades valem
para a congruncia modular. Ser mera curiosidade? A resposta,
naturalmente, que no se trata apenas de curiosidade: precisamos
dessas propriedades para poder utilizar de forma correta a congruncia modular nas contas que faremos nas prximas sees, incluindo-se
a codificao de uma mensagem pelo RSA. para isto que vamos
provar que a congruncia modular satisfaz propriedades anlogas s
enunciadas acima para a igualdade; mais precisamente:
reflexiva todo nmero congruente mdulo n a si prprio;
simtrica se a b (mod n) ento b a (mod n);
transitiva se a b (mod n) e b c (mod n)
ento a c (mod n);
onde n um inteiro positivo.
Para mostrar que a congruncia mdulo n reflexiva, devemos
verificar que
a a (mod n).
Mas, pela definio, isto o mesmo que dizer que a a = 0 mltiplo
de n. Contudo, zero mltiplo de qualquer inteiro n, uma vez que
0 n = 0.
Passemos simtrica. Pela definio de congruncia mdulo n,
a b (mod n) o mesmo que dizer que a b mltiplo de n. Em
i
i
cripto
2009/6/30
i page 49
Estilo OBMEP
i
i
49
i
i
cripto
2009/6/30
i page 50
Estilo OBMEP
i
i
50
2.2.3
Resduos
Antes de prosseguir, precisamos estudar em mais detalhes a relao entre a congruncia mdulo n e a divisibilidade de inteiros, j
que isto que torna a congruncia to til. Para comear, observe
que a propriedade reflexiva da congruncia mdulo n equivalente
afirmao de que zero divisvel por n. Por sua vez, propriedade
simtrica equivale a dizer que se um dado nmero divisvel por n
ento, ao multiplic-lo por 1, obtemos outro mltiplo de n. Finalmente, a transitiva nos diz apenas que a soma de mltiplos de n
tambm um mltiplo de n. Em outras palavras, as trs propriedades
que provamos correspondem s propriedades dos mltiplos listadas na
proposio em 1.1.1.
Mas podemos ir bem mais longe que isto. Digamos que a um
inteiro positivo. Dividindo a por n temos
a = n q + r e 0 r < n.
Assim,
a r = n q;
que equivale a dizer que
ar
(mod n).
i
i
cripto
2009/6/30
i page 51
Estilo OBMEP
i
i
51
(mod n) com 0 r n 1;
a r0
(mod n) com 0 r0 n 1;
i
i
cripto
2009/6/30
i page 52
Estilo OBMEP
i
i
52
(mod 6).
Observe que 1 no o resduo de 55 mdulo 6 porque 1 negativo. Contudo, como 6 = 5 (1), obtemos
1 5 (mod 6);
e a propriedade transitiva da congruncia nos permite concluir que
55 5 (mod 6).
Portanto, 55 tem resduo 5 mdulo 6.
Para tratar o caso geral, podemos seguir as etapas do exemplo
acima. Primeiramente, como estamos supondo que a negativo, ento
a deve ser positivo. Dividindo-o por n,
a = n q + r
e 0 r < n,
e 0 r < n;
isto
a r
(mod n)
e 0 r < n.
i
i
cripto
2009/6/30
i page 53
Estilo OBMEP
i
i
53
(mod n),
(mod n).
a se a 0;
|a| =
a se a < 0;
que chamado de mdulo de a. Por exemplo,
|4| = 4 ao passo que | 5| = 5.
Proposio 3. Sejam a e n > 1 nmeros inteiros e r o resto da
diviso de |a| por n, ento o resduo de a mdulo n igual a:
0 se r = 0;
r se r 6= 0 e a 0;
n r se r 6= 0 e a < 0.
i
i
cripto
2009/6/30
i page 54
Estilo OBMEP
i
i
54
Vejamos um exemplo:
Quais so os resduos possveis mdulo 6 que um primo
p > 3 pode ter?
Para comear, os possveis resduos mdulo 6 so 0, 1, 2, 3, 4 ou 5.
Como p primo, ento 0 certamente no um resduo possvel. J 1
possvel, afinal 7 primo e tem resduo 1 mdulo 6. Quanto a 2,
p 2 (mod 6)
implica que p 2 par. Mas isto s possvel se p for par e todo
par maior que 2 composto. Um argumento semelhante mostra que
4 tambm no pode ser resduo de um tal primo. Por outro lado,
p3
(mod 6)
equivale a
p = 6 k + 3 para algum inteiro k 0.
Disto segue que
p = 3 (2 k + 1),
que tambm no admissvel, porque p primo e maior que 3.
Finalmente, 5 um resduo possvel; afinal, o prprio 5 primo.
Vamos resumir este resultado para referncia futura.
Proposio 4. Se p > 3 primo, ento p s pode ter resduos iguais
a 1 ou a 5 mdulo 6.
i
i
cripto
2009/6/30
i page 55
Estilo OBMEP
i
i
55
2.2.4
Antes de poder apreciar completamente o poder de fogo da congruncia mdulo n, precisamos estabelecer a relao entre a congruncia e as operaes usuais de adio e multiplicao de inteiros.
H dois fatos importantes que sabemos sobre a congruncia mdulo n. O primeiro, discutido no artigo anterior, nos diz que a con-
i
i
cripto
2009/6/30
i page 56
Estilo OBMEP
i
i
56
gruncia funciona de maneira muito semelhante igualdade de inteiros. O segundo consequncia da prpria definio e nos diz que
nmeros inteiros diferentes podem ser congruentes mdulo n. Para
usar uma imagem concreta, a congruncia mdulo n funciona como
uma espcie de filtro: quando olhamos os inteiros atravs dela, h
muitos inteiros que no conseguimos mais distinguir de outros. No
exatamente isto que acontece quando olhamos atravs de um filtro colorido? Por exemplo, se olhamos para vrias bolas coloridas
iguais, exceto pela cor, atravs de um filtro vermelho, veremos as bolas brancas e vermelhas como se fossem da mesma cor (neste caso,
vermelho); e as bolas azuis e pretas como se fossem da mesma cor
(neste caso, preto). Da mesma forma, 31, 1 e 51 so diferentes, mas se
olhamos para eles atravs da congruncia mdulo 5, no conseguimos
distingui-los entre si: eles so todos congruentes mdulo 5.
Este papo todo tem como nica meta introduzir a seguinte pergunta:
Se a a0 (mod n) e b b0 (mod n), o que podemos
afirmar sobre a relao entre a + b e a0 + b0 ?
Usando a imagem da congruncia como um filtro fcil descobrir
qual deveria ser a resposta a esta pergunta. De fato, se no temos
como distinguir entre duas bolas coloridas a e a0 , nem entre duas
bolas coloridas b e b0 porque estamos olhando para elas atravs de um
filtro vermelho, como poderemos ser capazes de distinguir entre os
conjuntos formados por a e b, de um lado, e a0 e b0 do outro? claro
que, neste caso, os conjuntos parecero iguais. Portanto, inspirados
na concluso fornecida por esta imagem, esperamos poder mostrar
i
i
cripto
2009/6/30
i page 57
Estilo OBMEP
i
i
57
que:
(mod 5),
ao passo que
51 + 43 = 94 e 31 + 103 = 134;
contudo,
94 134 = 40 = 5 8 donde 94 134
(mod 5).
Embora exemplos como este e quaisquer outros que decidamos inventar aumentem nossa confiana na concluso, no podemos d-la como
certa a no ser que consigamos prov-lo com rigor matemtico.
Como ainda estamos no incio de nosso estudo de congruncia,
pouco sabemos sobre as suas propriedades. Assim, para ter um ponto
de partida slido e j estabelecido no qual nos apoiar, mostraremos
que a propriedade desejada consequncia de fatos bem conhecidos
dos nmeros inteiros. Nisto vamos apenas repetir a mesma estratgia
que j usamos em 2.2.2.
i
i
cripto
2009/6/30
i page 58
Estilo OBMEP
i
i
58
(mod n) e b b0
(mod n).
i
i
cripto
2009/6/30
i page 59
Estilo OBMEP
i
i
59
(mod n).
(mod 5),
que
51 43 = 2 193 e 31 103 = 3 193;
cuja diferena 1 000 e, portanto, um mltiplo de 5, assim
51 43 31 103 (mod 5),
como havamos previsto. Logo, esperamos poder provar que
se a a0 (mod n) e b b0 (mod n), ento a b a0 b0 (mod n).
Como no caso da adio, as congruncias
a a0
(mod n) e b b0
(mod n).
i
i
cripto
2009/6/30
i page 60
Estilo OBMEP
i
i
60
i
i
cripto
2009/6/30
i page 61
Estilo OBMEP
i
i
61
2.3
Critrios de Divisibilidade
i
i
cripto
2009/6/30
i page 62
Estilo OBMEP
i
i
62
nos d o bem conhecido critrio de divisibilidade por 5. Nossa familiaridade com este critrio mera consequncia da observao do
comportamento dos mltiplos de 5. Outro critrio que tambm conhecemos bem por pura experincia o dos mltiplos de 2:
um nmero inteiro divisvel por 2 se, e somente se, seu
algarismo das unidades 0, 2, 4, 6 ou 8;
ou, dito em outras palavras,
um nmero inteiro par se, e somente se, seu algarismo
das unidades par.
Exerccio 20. Prove os critrios de divisibilidade por 2 e por 5 enunciados acima.
2.3.1
Divisibilidade por 3
i
i
cripto
2009/6/30
i page 63
Estilo OBMEP
i
i
63
so estes algarismos, onde a0 o algarismo das unidades, a1 o algarismo das dezenas, e assim por diante. Note que, como a0 , a1 , . . . , an
so algarismos, cada um deles maior ou igual a 0 e menor ou igual
a 9, exceto por an que no pode ser igual a zero. Dizer que a tem
como algarismos decimais an an1 . . . a1 a0 o mesmo que dizer que
a = an 10n + an1 10n1 + + a1 10 + a0 .
(2.3.1)
i
i
cripto
2009/6/30
i page 64
Estilo OBMEP
i
i
64
(mod 3).
i
i
cripto
2009/6/30
i page 65
Estilo OBMEP
i
i
65
(mod 3).
(mod 3),
(mod 3),
i
i
cripto
2009/6/30
i page 66
Estilo OBMEP
i
i
66
2.3.2
a
se a < 9;
a noves fora igual a
a 9 se a 9.
Sejam a e a0 os dois nmeros inteiros positivos que desejamos somar. Como a prova aplicada aos algarismos dos nmeros, precisamos
list-los. Mas um nmero a com n + 1 algarismos da forma
an an1 . . . a1 a0 ,
i
i
cripto
2009/6/30
i page 67
Estilo OBMEP
i
i
67
(mod 9).
(mod 9);
a
se an < 9;
n
rn =
0
se a = 9.
n
(mod 9).
i
i
cripto
2009/6/30
i page 68
Estilo OBMEP
i
i
68
(mod 9).
i
i
cripto
2009/6/30
i page 69
Estilo OBMEP
i
i
69
2.3.3
Divisibilidade por 7
Em 2.3.1 vimos como enunciar e provar os critrios de divisibilidade por 2, 3 e 5. Alm disso, propusemos no exerccio 22 um critrio
para a divisibilidade por 11. Considerando os primos de 2 a 11, o
nico para o qual ainda no temos um critrio 7. Voc conhece
algum critrio de divisibilidade por 7?
Muito provavelmente sua resposta pergunta foi no. Mas nada
nos impede de usar a mesma estratgia utilizada na obteno de um
critrio por 3 e por 11 para tentar achar um critrio para divisibilidade
por 7? A resposta, naturalmente, nada! Vejamos o que acontece
se fizermos isto. Para comear, sabemos que expressar um inteiro a a
partir dos seus algarismos
an an1 a1 a0
significa que
a = an 10n + an1 10n1 + a1 10 + a0 .
i
i
cripto
2009/6/30
i page 70
Estilo OBMEP
i
i
70
(mod 7),
(mod 7),
10 10 10 (1) 3 4
(mod 7),
(mod 7),
(mod 7),
i
i
cripto
2009/6/30
i page 71
Estilo OBMEP
i
i
71
(mod 7).
(mod 7);
e a transitividade nos d
10m 10r
(mod 7).
i
i
cripto
2009/6/30
i page 72
Estilo OBMEP
i
i
72
i
i
cripto
2009/6/30
i page 73
Estilo OBMEP
i
i
73
(mod 7).
(mod 7);
(2.3.2)
isto ,
i
i
cripto
2009/6/30
i page 74
Estilo OBMEP
i
i
74
(mod 7),
(mod 7).
a + 2 a0 0 (mod 7),
(2.3.3)
i
i
cripto
2009/6/30
i page 75
Estilo OBMEP
i
i
75
a + 2 a0 0 (mod 7),
(2.3.4)
ento a 0 (mod 7). Para isto precisamos desfazer o que fizemos ao
multiplicar a equao toda por 2. Mas isto fcil de fazer. Como
2 3 1 (mod 7),
temos ao multiplicar ambos os lados de (2.3.4) por 3, que
3 (
a + 2 a0 ) 3 0 (mod 7).
Usando a distributividade do lado esquerdo,
3 a
+ 6 a0 0 (mod 7);
de modo que 6 1 (mod 7) nos d
3 a
a0 0 (mod 7).
Pondo 1 em evidncia
(3 a
+ a0 ) 0 (mod 7).
(2.3.5)
Acontece que
3a
+ a0 a (mod 7)
i
i
cripto
2009/6/30
i page 76
Estilo OBMEP
i
i
76
a + 2 a0 = 1 079 + 2 4 = 1 071.
Como isto ainda no fcil de determinar, vamos usar o critrio
i
i
cripto
2009/6/30
i page 77
Estilo OBMEP
i
i
77
c + 2 c0 = 10 + 2 5 = 0
claramente divisvel por 7, ento 7 divide c = 105. Mas isto implica,
pelo critrio, que 7 divide b = 1 071 que, por sua vez, implica que 7
divide a = 10 794, que o que queramos saber.
Observe que aplicamos a regra dada pelo critrio a nmeros sucessivamente menores, at obter um caso em que sabamos a resposta
sem fazer sequer uma conta. Temos, assim, uma regra recursiva, que
o termo utilizado pelos matemticos para descrever uma regra que
reduz um dado problema a um problema anlogo mas com dados
menores.
Exerccio 28. Use o critrio de divisibilidade por 7 tantas vezes quantas forem necessrias para determinar se 35 994 e se 36 003 so di-
i
i
cripto
2009/6/30
i page 78
Estilo OBMEP
i
i
78
visveis por 7.
Para encerrar, aqui est um exerccio um pouco diferente que pode
ser resolvido facilmente usando congruncias.
Exerccio 29. Ache um fator primo mpar de 525 1.
i
i
cripto
2009/6/30
i page 79
Estilo OBMEP
i
i
Captulo 3
Inversos Modulares
Nesta seo discutiremos um tema que vai ter importncia decisiva tanto para o principal teorema desta apostila, quanto para o
funcionamento do prprio RSA. Comeamos analisando os clculos
que efetuamos para obter o critrio de divisibilidade por 7 na seo
anterior.
3.1
Motivao e Definies
i
i
cripto
2009/6/30
i page 80
Estilo OBMEP
i
i
80
(mod 7).
Como
3 4
(mod 7) e
25
(mod 7),
2 4 1 (mod 7) e 5 3 1
(mod 7).
a0
i
i
cripto
2009/6/30
i page 81
Estilo OBMEP
i
i
81
Resduo
1
2
3
4
5
6
7
8
9
10
Inverso Mdulo 11
1
6
4
3
9
2
8
7
5
10
i
i
cripto
2009/6/30
i page 82
Estilo OBMEP
i
i
82
(mod n)
(a00 a) a0 1 a0 a0
(mod n).
e tambm que
Mas tudo o que fizemos foi mudar a posio dos parnteses, e isto no
i
i
cripto
2009/6/30
i page 83
Estilo OBMEP
i
i
83
(mod n).
i
i
cripto
2009/6/30
i page 84
Estilo OBMEP
i
i
84
3.2
Inexistncia de Inverso
i
i
cripto
2009/6/30
i page 85
Estilo OBMEP
i
i
85
i
i
cripto
2009/6/30
i page 86
Estilo OBMEP
i
i
86
Resduos
1
2
3
4
5
6
7
Inverso Mdulo 8
1
i
i
cripto
2009/6/30
i page 87
Estilo OBMEP
i
i
87
i
i
cripto
2009/6/30
i page 88
Estilo OBMEP
i
i
88
e a = p e,
(mod n);
donde
c a c p e 0 (mod n).
(3.2.1)
Bacana, no? Mas, como usar isto para verificar que a no tem inverso mdulo n? Bem, de fato estes clculos mostram que a no pode
ter inverso mdulo n. Para entender porqu, procederemos por contradio. Suponhamos que a realmente tivesse inverso a0 mdulo n.
Neste caso, deveramos ter que
a a0 1 (mod n).
i
i
cripto
2009/6/30
i page 89
Estilo OBMEP
i
i
89
(3.2.2)
(mod n).
i
i
cripto
2009/6/30
i page 90
Estilo OBMEP
i
i
90
3.2.1
Cancelamento
(mod 6) e 3 6 0
(mod 6)
ao passo que
2360
(mod 6).
i
i
cripto
2009/6/30
i page 91
Estilo OBMEP
i
i
91
a = p e,
i
i
cripto
2009/6/30
i page 92
Estilo OBMEP
i
i
92
Como
a a0 1 (mod n),
resta apenas
b c (mod n);
mostrando que o cancelamento pode mesmo ser feito neste caso. Resumimos isto em um teorema para referncia futura.
Teorema 2. Suponha que a tem inverso mdulo n. Se
a b a c (mod n),
para b, c Z, ento
b c (mod n).
3.3
Existncia de Inverso
Tudo isto pode ser muito interessante, mas no deixa de ser muito
negativo. Descobrimos como detectar que certos nmeros no tm
inverso mdulo n, e provamos que nosso palpite estava correto. Mas,
e quanto aqueles que tm inverso? O palpite mais bvio, claro,
que todos os nmeros que no tm fator prprio comum com n tero
inverso mdulo n. Sem esquecer, que este palpite confirmado por
todas as tabelas que calculamos anteriormente.
De fato, este resultado verdadeiro mas, para prov-lo, teremos
que trabalhar um pouco. Voltando s definies, sabemos que um
i
i
cripto
2009/6/30
i page 93
Estilo OBMEP
i
i
93
(3.3.1)
(3.3.2)
i
i
cripto
2009/6/30
i page 94
Estilo OBMEP
i
i
94
Exerccio 34. Calcule 5 elementos em cada um dos seguintes conjuntos V (5, 12), V (7, 15) e V (5, 10).
Uma pergunta razovel :
Por que introduzimos este estranho conjunto V (a, n)?
A resposta simples. Se fomos capazes de mostrar que 1 V (a, n)
ento tm que existir dois inteiros, digamos x0 e y0 , tais que
1 = x0 a + y0 b.
Mas, tomando a0 = x0 e k = y0 , obtemos
1 = a0 a + k b,
que equivalente equao desejada (3.3.2). Outro ponto importante
a ser notado que,
se 1 V (a, n), ento ele tem que ser o menor elemento
de V (a, n),
pois este conjunto s tem elementos positivos.
Voltando ao caso geral, observamos que V (a, n) no pode ser vazio
porque tomando x = 0 e y = 1, vemos que
x a + y n = 0 a + 1 n = n > 0;
logo n pertence a V (a, n). Na verdade, isto nos diz mais. Como a
quantidade de inteiros entre 1 e n finita, podemos escolher o menor
i
i
cripto
2009/6/30
i page 95
Estilo OBMEP
i
i
95
i
i
cripto
2009/6/30
i page 96
Estilo OBMEP
i
i
96
i
i
cripto
2009/6/30
i page 97
Estilo OBMEP
i
i
97
3.4
O Teorema e um Exemplo
i
i
cripto
2009/6/30
i page 98
Estilo OBMEP
i
i
98
i
i
cripto
2009/6/30
i page 99
Estilo OBMEP
i
i
99
de corona, que quer dizer coroa. Da a palavra passou a ser usada para
significar tambm uma pequena guirlanda de flores entrelaadas, por
causa de sua semelhana a uma coroa pequena. Corollarium comeou
significando o dinheiro pago para comprar uma corona, mas seu sentido acabou se generalizando para cobrir um presente ou qualquer
coisa dada de graa. Foi da que veio o significado moderno: uma
consequncia quase que imediata (portanto, gratuita) de uma afirmao ou teorema.
3.4.1
Um Exemplo
1
4
2
10
3
16
4
22
5
28
6
34
7
40
8
46
9
52
10
58
i
i
cripto
2009/6/30
i page 100
Estilo OBMEP
i
i
100
(mod n);
donde
3(2 k 1) 1
(mod n);
(mod n).
i
i
cripto
2009/6/30
i page 101
Estilo OBMEP
i
i
101
i
i
cripto
2009/6/30
i page 102
Estilo OBMEP
i
i
Captulo 4
4.1
Exemplos
4.1.1
Restos
i
i
cripto
2009/6/30
i page 103
Estilo OBMEP
i
i
103
i
i
cripto
2009/6/30
i page 104
Estilo OBMEP
i
i
104
quando temos mais de uma equao para resolver, tentamos combinlas para achar a resposta desejada. Entretanto, estas duas congruncias tm mdulos diferentes e, portanto, no podemos combin-las
diretamente. O que fazer?
A sada usar uma estratgia hbrida: substituiremos n = 5q2 + 2
no na equao n = 3 q1 + 1, mas sim na primeira congruncia, isto
, em n 1 (mod 3). Efetuando a substituio, obtemos
5q2 + 2 1
(mod 3).
(mod 3);
ou ainda a
2q2 2
(mod 3),
i
i
cripto
2009/6/30
i page 105
Estilo OBMEP
i
i
105
i
i
cripto
2009/6/30
i page 106
Estilo OBMEP
i
i
106
i
i
cripto
2009/6/30
i page 107
Estilo OBMEP
i
i
107
q3
-3
-2
-1
0
1
2
3
15q3 + 7
-38
-23
-8
7
22
37
52
i
i
cripto
2009/6/30
i page 108
Estilo OBMEP
i
i
108
(mod 5).
4.1.2
Um Exemplo Astronmico
i
i
cripto
2009/6/30
i page 109
Estilo OBMEP
i
i
109
x = 8 + 19n3 ;
(mod 13),
(4.1.1)
x 4 (mod 15),
x 8 (mod 19).
Desta vez temos trs equaes, ao contrrio das duas do problema
anterior, mas no vamos nos deixar intimidar. J que o mtodo
i
i
cripto
2009/6/30
i page 110
Estilo OBMEP
i
i
110
(mod 15).
i
i
cripto
2009/6/30
i page 111
Estilo OBMEP
i
i
111
i
i
cripto
2009/6/30
i page 112
Estilo OBMEP
i
i
112
i
i
cripto
2009/6/30
i page 113
Estilo OBMEP
i
i
113
4.2
O procedimento de substituio que utilizamos nas sees anteriores para resolver sistemas de congruncias conhecido como algoritmo chins do resto, porque um dos primeiros lugares em que
i
i
cripto
2009/6/30
i page 114
Estilo OBMEP
i
i
114
(mod m),
(4.2.1)
x b (mod n),
onde m e n so inteiros positivos distintos e digamos que o nmero
inteiro x0 uma soluo desta congruncia. Isto significa que x0
satisfaz a ambas as congruncias:
x0 a (mod m),
x0 b (mod n).
Como os mdulos so diferentes, s podemos combinar as duas congruncias se convertermos uma delas em uma igualdade de inteiros.
Fazendo isto com a primeira equao, verificamos que
x0 = a + m k, onde k um inteiro qualquer,
(4.2.2)
(mod n).
(4.2.3)
i
i
cripto
2009/6/30
i page 115
Estilo OBMEP
i
i
115
(4.2.4)
Mas fcil ver que, qualquer que seja o inteiro t, uma expresso
da forma a + m(m0 (b a) + n t) tem que ser soluo do sistema
(4.2.1). Para comeo de conversa, a + m(m0 (b a) + n t) claramente
congruente a a mdulo m. Por outro lado,
a + m (m0 (b a) + n t) a + m m0 (b a) (mod n).
Como, mm0 1 (mod n) por construo, ento
a + m (m0 (b a) + n t) a + 1 (b a) b (mod n);
i
i
cripto
2009/6/30
i page 116
Estilo OBMEP
i
i
116
(mod m),
x b (mod n),
sempre tem soluo e qualquer uma de suas solues pode ser escrita
na forma
a + m (m0 (b a) + n t),
onde t um inteiro qualquer e m0 o inverso de m mdulo n.
Cuidado para no se confundir e achar que mm0 = 1, j que m e
m0 so inversos um do outro. De fato eles so inversos, mas somente
mdulo n, de modo que a relao correta mm0 1 (mod n); que
no simplifica a frmula de nenhuma maneira significativa.
4.2.1
i
i
cripto
2009/6/30
i page 117
Estilo OBMEP
i
i
117
(mod 4),
x 1 (mod 6),
e o segundo
x2
(mod 4),
x 1 (mod 6).
Note que a nica diferena entre eles est no coeficiente direita da
primeira congruncia que, no primeiro exemplo 3 e no segundo
2. Procederemos exatamente como antes. Portanto, comeamos por
tirar o valor de x da segunda congruncia, que nos d
x = 1 + 6y para algum inteiro y.
(4.2.5)
(4.2.6)
6y 1 (mod 4).
(4.2.7)
e no segundo
i
i
cripto
2009/6/30
i page 118
Estilo OBMEP
i
i
118
(mod 2);
isto
y = 1 + 2t para algum inteiro t.
Substituindo em (4.2.5),
x = 1 + 6(1 + 2t) = 7 + 12t,
que a soluo do sistema, como podemos facilmente verificar por
substituio.
Passando agora ao outro sistema, precisamos resolver a congrun-
i
i
cripto
2009/6/30
i page 119
Estilo OBMEP
i
i
119
(4.2.8)
i
i
cripto
2009/6/30
i page 120
Estilo OBMEP
i
i
120
i
i
cripto
2009/6/30
i page 121
Estilo OBMEP
i
i
Captulo 5
Potncias
Neste captulo veremos como calcular os restos de potncias usando
aritmtica modular. Lembre-se que j fizemos um pouco disto quando
calculamos as potncias de 10 mdulo 3, mdulo 7 e mdulo 11 ao
tratar dos critrios de divisibilidade na seo 2.3 do captulo 2.
5.1
Restos de Potncias
5.1.1
i
i
cripto
2009/6/30
i page 122
Estilo OBMEP
i
i
122
CAP. 5: POTNCIAS
(mod 7).
(mod 31).
(mod 31).
(mod 31).
i
i
cripto
2009/6/30
i page 123
Estilo OBMEP
i
i
123
Como 0 4 < 31, podemos concluir que 2124 512 deixa resto 4 na
diviso por 31.
Exerccio 42. Calcule o resto da diviso por 31 das potncias 26 556 423
e 27 987 668 .
98 765
25q+1 (25 )q 2
(mod 31).
i
i
cripto
2009/6/30
i page 124
Estilo OBMEP
i
i
124
CAP. 5: POTNCIAS
98 765
98 765
por 31 2.
(mod 5),
o que parece sugerir que seu comentrio se justifica. Porm, calculando as potncias de 3 mdulo 5, vemos facilmente que
34 81 1
(mod 5).
Portanto, podemos aplicar a 398 765 o j conhecido argumento, e dividir o expoente da potncia por 4. Como o resto da diviso de 98 765
por 4 1 e o quociente 24 691, obtemos
398 765 3424 691+1 3
(mod 5).
Logo, 1398 765 deixa resto 3 na diviso por 5; isto , 1398 765 = 5 q 0 + 3
i
i
cripto
2009/6/30
i page 125
Estilo OBMEP
i
i
125
213
(25 )q 23 23 8
98 765
(mod 31);
5.1.2
45 231
Os clculos com potncias feitos acima s foram to fceis de executar porque, em cada caso, descobrimos um expoente positivo para o
qual uma potncia da base dava 1 quando tomada em mdulo. Assim,
106 36 1
i
i
cripto
2009/6/30
i page 126
Estilo OBMEP
i
i
126
CAP. 5: POTNCIAS
(mod n),
i
i
cripto
2009/6/30
i page 127
Estilo OBMEP
i
i
127
(mod 6),
23 8 2 (mod 6),
24 16 4 (mod 6),
e j deu para ver que os valores das potncias de 2 mdulo 6 vo se
alternar entre 2 e 4. Assim, podemos concluir que nenhuma potncia
de 2 d congruente a 1 mdulo 6. Alis, isto fcil de generalizar,
como mostra o prximo exerccio.
Exerccio 45. Mostre que se a e n so inteiros positivos pares, ento
nenhuma potncia de a congruente a 1 mdulo n.
Voltando ao exemplo, o que mais voc acha que podemos concluir
dos clculos acima? Algum mais ousado talvez ache que isto indica
i
i
cripto
2009/6/30
i page 128
Estilo OBMEP
i
i
128
CAP. 5: POTNCIAS
(mod 6),
32 9 3 (mod 6),
33 27 3 (mod 6),
34 81 3
(mod 6).
(mod 6),
4 16 4 (mod 6),
tudo bem, j podemos parar: toda potncia de 4 mdulo 6 d 4. Ao
que tudo indica, nenhuma potncia positiva de um inteiro mdulo 6
d igual a 1 a no ser que o inteiro seja 1, claro! Mas, s para
tirar a prova, testemos o nico inteiro menor que 6 cujas potncias
ainda no calculamos, o 5. Contudo,
52 25 1 (mod 6),
de modo que 5 tem ordem 2 mdulo 6.
i
i
cripto
2009/6/30
i page 129
Estilo OBMEP
i
i
129
i
i
cripto
2009/6/30
i page 130
Estilo OBMEP
i
i
130
CAP. 5: POTNCIAS
Isto explica porque apenas 1 e 5 admitem potncias positivas congruentes a um mdulo 6 entre todos os inteiros positivos menores que
6, afinal, 2, 3 e 4 tm fatores prprios comuns com 6. Por outro lado,
se p > 1 primo ento nenhum inteiro 1 b p1 tem fator prprio
comum com p e, portanto, todos estes inteiros so inversveis mdulo
p:
(mod 7);
i
i
cripto
2009/6/30
i page 131
Estilo OBMEP
i
i
131
(mod 7),
54 5 6 30 2
(mod 7),
55 5 2 10 3
(mod 7),
5 5 3 15 1
(mod 7).
Portanto, 5 tem ordem 6 mdulo 7. Podemos organizar o que descobrimos em uma tabela:
i
i
cripto
2009/6/30
i page 132
Estilo OBMEP
i
i
132
CAP. 5: POTNCIAS
Nmero
1
2
3
4
5
6
Ordem mdulo 7
1
3
6
3
6
2
5.1.3
Mais Exemplos
(mod 16);
de modo que
635 64 631 0 (mod 16),
i
i
cripto
2009/6/30
i page 133
Estilo OBMEP
i
i
133
(mod 31).
claro que a vantagem de trabalhar com 2 est no fato de j conhecermos a ordem de 2. Usando esta ltima congruncia,
364 (33 )21 3 (22 )21 3 (2)42 3 (mod 31).
Como 25 1 (mod 31) e 42 = 8 5 + 2, temos que
242 (25 )8 22 4 (mod 31).
Assim,
364 (2)42 3 4 3 12 (mod 31).
Como 12 19 (mod 31), o resto da diviso de 364 por 31 19.
i
i
cripto
2009/6/30
i page 134
Estilo OBMEP
i
i
134
CAP. 5: POTNCIAS
Exerccio 48. Determine a ordem de 3 mdulo 31 e refaa o clculo do resto de 364 por 31 usando o resultado obtido. Mas, tenha pacincia, a ordem bem grande.
Exerccio 49. Calcule o resto da diviso de 398 745 por 43 procedendo
da seguinte maneira:
(a) calcule a ordem de 6 mdulo 43;
(b) determine uma potncia de 3 que d congruente a
6 mdulo 43;
(c) use (a) e (b) para calcular o resto desejado.
5.2
O Teorema de Fermat
i
i
cripto
2009/6/30
i page 135
Estilo OBMEP
i
i
135
(mod p);
i
i
cripto
2009/6/30
i page 136
Estilo OBMEP
i
i
136
CAP. 5: POTNCIAS
Contudo,
(a 1) (a 2) (a 3) (a (p 1)) = ap1 (1 2 3 (p 1));
de forma que
r1 r2 r3 rp1 ap1 (1 2 3 (p 1))
(mod p).
i
i
cripto
2009/6/30
i page 137
Estilo OBMEP
i
i
137
i
i
cripto
2009/6/30
i page 138
Estilo OBMEP
i
i
138
CAP. 5: POTNCIAS
Portanto,
ap1 (1 2 3 (p 1)) 1 2 3 (p 1)
(mod p).
(mod p) se b 6 0
(mod p),
i
i
cripto
2009/6/30
i page 139
Estilo OBMEP
i
i
139
(mod p),
5.3
Potncias
Agora que temos o Teorema de Fermat, podemos us-lo para simplificar o clculo de restos de potncias.
i
i
cripto
2009/6/30
i page 140
Estilo OBMEP
i
i
140
5.3.1
CAP. 5: POTNCIAS
Mdulos Primos
1 033 = 32, 14 . . .
s precisamos mostrar que 1 033 no divisvel pelos primos menores
que 32 para ter certeza que primo. Estes primos so,
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
e fcil verificar que nenhum deles divide 1 033. Agora que temos
i
i
cripto
2009/6/30
i page 141
Estilo OBMEP
i
i
141
(mod 1 033)
i
i
cripto
2009/6/30
i page 142
Estilo OBMEP
i
i
142
CAP. 5: POTNCIAS
5.3.2
Mdulos Compostos
Aparentemente a nica coisa que teramos a dizer sobre a aplicao do Teorema de Fermat ao clculo de potncias quando o mdulo composto seria isto no possvel ! O que faria desta a seo
mais curta da apostila. Contudo, podemos combinar o Teorema de
Fermat com o Algoritmo Chins do Resto e, com isso, simplificar
drasticamente as contas dos clculos com potncias em alguns casos
especiais, mesmo quando o mdulo composto.
Vejamos um exemplo numrico. Digamos que queremos calcular
o resto da diviso de 26 754 por 1 155. Fatorando 1 155 vemos que
igual a 3 5 7 11. Aplicando o Teorema de Fermat a cada um destes
primos, obtemos
22 1 (mod 3),
24 1 (mod 5),
26 1 (mod 7),
210 1 (mod 11).
i
i
cripto
2009/6/30
i page 143
Estilo OBMEP
i
i
143
(mod 3),
(mod 5),
(mod 7),
(mod 11).
26 754 1
6 754
(mod 3),
2 4 (mod 5),
i
i
cripto
2009/6/30
i page 144
Estilo OBMEP
i
i
144
CAP. 5: POTNCIAS
logo,
26 754 1 (mod 3),
26 754 4 (mod 5),
26 754 2 (mod 7),
26 754 5 (mod 11).
Precisamos, portanto resolver o sistema
x 1 (mod 3),
x 4 (mod 5),
x 2 (mod 7),
x 5 (mod 11).
Usando o algoritmo chins, que foi descrito na seo 4.2 do Captulo 4, temos que x = 1 + 3y. Substituindo isto na segunda equao,
obtemos
1 + 3y 4 (mod 5),
isto ,
y 1 (mod 5),
i
i
cripto
2009/6/30
i page 145
Estilo OBMEP
i
i
145
i
i
cripto
2009/6/30
i page 146
Estilo OBMEP
i
i
Captulo 6
Criptografia RSA
chegada a hora de reunir tudo o que fizemos anteriormente, na
descrio do mtodo RSA. A descrio do RSA propriamente dita
consiste em explicitar as receitas usadas para codificao e decodificao de mensagens. Isto fcil de fazer, uma vez que depende apenas
do clculo dos resduos de potncias, assunto de que j tratamos com
detalhes anteriormente. Lembre-se, contudo, que decodificar significa
passar da mensagem codificada mensagem original. Por isso, nossa
misso neste captulo no se resume a descrever as receitas de codificao e decodificao; precisamos tambm verificar que se aplicadas
nesta ordem voltamos a obter mensagem original. Afinal, se isto
no fosse verdade, de que serviria este mtodo de criptografia?
146
i
i
cripto
2009/6/30
i page 147
Estilo OBMEP
i
i
147
6.1
Pr-codificao
Como dissemos acima, o que fazemos para codificar uma mensagem no RSA calcular sua potncia mdulo n relativamente a
um expoente especialmente escolhido. Entretanto, para que isto seja
vivel, a mensagem deve ser um nmero inteiro. Mas no isto o
que ocorre em geral: a maior parte das mensagens um texto. Por
isso, a primeira coisa a fazer, se desejamos usar o mtodo RSA, inventar uma maneira de converter a mensagem em uma sequncia de
nmeros.
Suponhamos, para simplificar, que a mensagem original um texto
onde no h nmeros, apenas palavras, e no qual todas as letras so
maisculas. Portanto, em ltima anlise a mensagem constituda
pelas letras que formam as palavras e pelos espaos entre palavras.
Chamaremos esta primeira etapa de pr-codificao, para distingui-la
do processo de codificao propriamente dito.
Na pr-codificao convertemos as letras em nmeros usando a
seguinte tabela de converso:
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
O espao entre duas palavras ser substitudo pelo nmero 99, quando
for feita a converso. Por exemplo, a frase AMO A OBMEP con-
i
i
cripto
2009/6/30
i page 148
Estilo OBMEP
i
i
148
vertida no nmero
1022249910992411221425.
Observe que precisamos fazer cada letra corresponder a um nmero
de, pelo menos, dois algarismos para evitar ambiguidades. Se fizssemos A corresponder ao nmero 1, B ao 2, e assim por diante, no
teramos como saber se 12 representa AB ou L, j que esta ltima
a dcima segunda letra do alfabeto.
Antes de continuar precisamos determinar os parmetros do sistema RSA que vamos usar. Estes parmetros so dois primos distintos, que vamos denotar por p e q, e cujo resto na diviso por 6 tem que
ser 5. A razo para esta estranha condio ser explicada na seo
6.3.
Em seguida, ponha n = pq. A ltima fase do processo de prcodificao consiste em quebrar em blocos o longo nmero produzido
anteriormente. Estes blocos devem ser nmeros menores que n. Por
exemplo, se escolhermos p = 17 e q = 23, ento n = 391. Neste caso, a mensagem, cuja converso numrica foi feita acima, pode ser
quebrada nos seguintes blocos:
102 224 99 109 92 41 122 142 5.
A maneira de escolher os blocos no nica e os blocos no precisam
sequer ter o mesmo tamanho. Contudo, certos cuidados devem ser
tomados. Por exemplo, no permitido escolher um bloco que comece
por 0 porque isto traria problemas na hora de decodificar, j que, por
exemplo, no temos como distinguir o bloco 071 do bloco 71.
i
i
cripto
2009/6/30
i page 149
Estilo OBMEP
i
i
149
Observe que os blocos em que quebramos a mensagem no correspondem a nenhuma unidade lingustica, seja ela palavra, letra ou
qualquer outra. Isto muito bom, porque torna a decodificao por
contagem de frequncia essencialmente impossvel.
6.2
i
i
cripto
2009/6/30
i page 150
Estilo OBMEP
i
i
150
6.2.1
Codificao
(mod 391);
i
i
cripto
2009/6/30
i page 151
Estilo OBMEP
i
i
151
5 5 5 25 5 125
(mod 391);
(mod 391);
(mod 391).
6.2.2
Decodificao
Vejamos como fazer para decodificar um bloco da mensagem codificada. Em outras palavras, queremos saber qual a receita que
nos permite, de posse de um bloco codificado e da chave pblica,
reconstruir o bloco original, antes da codificao.
A informao que precisamos para poder decodificar consiste de
dois nmeros: n e o inverso d > 0 de 3 mdulo (p 1)(q 1). Pela
definio de inverso isto significa que devemos ter
3d 1 (mod (p 1)(q 1)).
i
i
cripto
2009/6/30
i page 152
Estilo OBMEP
i
i
152
i
i
cripto
2009/6/30
i page 153
Estilo OBMEP
i
i
153
i
i
cripto
2009/6/30
i page 154
Estilo OBMEP
i
i
154
Efetuar esta conta sem um computador seria totalmente impossvel, se no tivssemos o algoritmo chins do resto e o Teorema de
Fermat. Aplicando o mtodo estudado na seo 5.3 do captulo 5, calculamos 34235 mdulo 17 e mdulo 23, que so os primos em que n
se fatora. Para comeo de conversa,
34 0 (mod 17),
34 11 (mod 23).
Assim,
34235 0235 0 (mod 17).
Aplicando o Teorema de Fermat outra congruncia,
11235 (1122 )10 1115 1115
(mod 23).
Mas,
11 12 4 3
(mod 23);
de forma que
11235 1115 415 315
(mod 23).
Contudo,
411 1 (mod 23),
311 1 (mod 23),
i
i
cripto
2009/6/30
i page 155
Estilo OBMEP
i
i
155
de modo que
415 230 (211 )2 28 28 3
(mod 23),
que podemos resolver utilizando o algoritmo chins do resto. Da segunda congruncia, obtemos
x = 10 + 23y
que, ao ser substitudo na primeira congruncia, nos d
10 + 23y 0 (mod 17).
i
i
cripto
2009/6/30
i page 156
Estilo OBMEP
i
i
156
Assim,
6y 7 (mod 17).
Mas, 6 tem inverso 3 mdulo 17, de forma que
y 3 7 4 (mod 17).
Portanto,
x = 10 + 23y = 10 + 23 4 = 102;
como seria de esperar, afinal estamos decodificando 34, que corresponde codificao do bloco 102.
Exerccio 57. Decodifique os demais blocos da mensagem
34 129 228 37 105 44 386 125,
usando o procedimento acima.
Exerccio 58. Fatore a chave pblica que voc recebeu quando fez o
exerccio 56, calcule d e decodifique a mensagem para saber de quem
ela veio.
6.2.3
Segurana
i
i
cripto
2009/6/30
i page 157
Estilo OBMEP
i
i
157
i
i
cripto
2009/6/30
i page 158
Estilo OBMEP
i
i
158
mesmo tendo interceptado a mensagem codificada pela empresa e conhecendo n, o agente A no seja capaz de achar p e q e, assim, decodificar a mensagem? A resposta que, atualmente, as implementaes
comerciais do RSA usam chaves pblicas com cerca de 200 algarismos, mas algumas destas implementaes chegam a permitir chaves
pblicas com at 2 467 algarismos.
Durante algum tempo, o RSA Laboratory, que pertence empresa
que detm os direitos do sistema de codificao RSA, lanou desafios,
que consistiam de uma possvel chave pblica de RSA que deveria ser
fatorada. A ltima destas chaves a ser fatorada tem 193 algarismos e
corresponde ao produto dos primos
16347336458092538484431338838650908598417836700330
92312181110852389333100104508151212118167511579
e
1900871281664822113126851573935413975471896789968
515493666638539088027103802104498957191261465571.
A fatorao foi finalizada em novembro de 2005 por F. Bahr, M.
Boehm, J. Franke e T. Kleinjung no Escritrio Federal de Segurana
de Informao da Alemanha. Os clculos utilizaram 80 computadores
de 2.2 GHz cada um e, mesmo assim, foram necessrios 5 meses para
completar as contas! A maior das chaves proposta como desafio tem
617 algarismos e, evidentemente, est longe de ser fatorada. Mais
detalhes podem ser encontrados no verbete RSA numbers da verso
em ingls da Wikipedia.
i
i
cripto
2009/6/30
i page 159
Estilo OBMEP
i
i
159
Na prtica, isto significa que se a empresa est usando uma implementao do RSA com chave pblica de uns 200 algarismos, ento
A no tem a menor chance de ler a mensagem. Outro detalhe prtico
importante que segue desta argumentao que a empresa precisa
calcular o valor de d a partir dos valores de p e q: se n for calculado e
p e q forem esquecidos, j no temos mais como determinar o valor de
n, porque ningum mais ser capaz de fatorar n. Portanto, primeiro
escolhem-se p e q, que so usados para calcular d; depois multiplicamse p e q para determinar n. Uma vez de posse do par (n, d) os valores
de p e q podem at ser apagados por medida de segurana.
Uma observao final. Quando usamos congruncias para efetuar
a codificao do bloco 102 na pgina 150, dissemos que estvamos
usando congruncias para facilitar as contas. Isto no estritamente
verdade, porque em uma aplicao comercial do RSA teramos que
calcular potncias de nmeros muito grandes, com mdulos maiores
ainda, e isto no vivel se no utilizarmos aritmtica modular. Em
outras palavras, no mera questo de facilitar nada, os clculos
seriam impossveis sem aritmtica modular. Para convenc-lo disto,
aqui vai um exemplo. Comecei escolhendo dois primos
p = 100000000000000000000000000000000000000000000000151
e
q = 100000000000000000000000000000000000000162735465691
i
i
cripto
2009/6/30
i page 160
Estilo OBMEP
i
i
160
106824592360317689994495293731276889004322696993731601
3731140625,
que corresponde codificao C(m) da mensagem m. Se j difcil
imaginar o clculo do cubo de m mdulo n, o que dizer da decodificao de C(m), que consiste em elevar este nmero de 63 algarismos
i
i
cripto
2009/6/30
i page 161
Estilo OBMEP
i
i
161
6.3
i
i
cripto
2009/6/30
i page 162
Estilo OBMEP
i
i
162
original. Vimos nos exerccios 57 e 58 que, ao menos nestes exemplos, a decodificao reproduziu a mensagem original. Falta, apenas,
convencer-nos de que isto sempre ocorre.
6.3.1
d = 4 k 1.
i
i
cripto
2009/6/30
i page 163
Estilo OBMEP
i
i
163
congruentes depois da decodificao, mas eles no seriam necessariamente iguais. Em outras palavras, no teramos de volta a mensagem
original o que, convenhamos, no seria muito satisfatrio.
Vamos ao argumento. Recapitulando, o que queremos mostrar
a congruncia
DC(b) b (mod n).
Mas, pela definio de D e de C temos que
C(b) b3
(mod n);
C(a) ad
(mod n).
e que
(mod n).
(6.3.1)
Queremos, portanto, mostrar que b3d b (mod n). Mas, por definio,
3d 1 (mod (p 1)(q 1)),
donde
3d = 1 + k(p 1)(q 1).
(6.3.2)
Lembrando que n = pq, onde p e q so primos distintos, calcularemos os resduos de b3d mdulo p e mdulo q e usaremos o teorema
chins do resto para construir, a partir deles, o resduo mdulo n.
Como os clculos dos resduos so anlogos para ambos os primos,
basta mostrar como executar um deles. Digamos que queremos achar
i
i
cripto
2009/6/30
i page 164
Estilo OBMEP
i
i
164
(mod p).
Em seguida queremos usar o Teorema de Fermat, mas para isto precisamos saber que p no divide b. Se isto for verdade, ento
bp1 1 (mod p)
por Fermat, e obtemos
b3d b (1)k(q1) b (mod p)
mostrando o que queramos. Por outro lado, se p dividir b, ento tanto b quanto b3d so congruentes a zero mdulo n. Logo, tambm neste
caso, b3d b (mod p). Resumindo, no importa qual seja o inteiro b,
sempre temos que
b3d b (mod p).
Fazendo um argumento anlogo para o primo q, obtemos o par de
congruncias
b3d b (mod p),
3d
(6.3.3)
b (mod q).
i
i
cripto
2009/6/30
i page 165
Estilo OBMEP
i
i
165
i
i
cripto
2009/6/30
i page 166
Estilo OBMEP
i
i
166
6.3.2
Comentrio
i
i
cripto
2009/6/30
i page 167
Estilo OBMEP
i
i
167
i
i
cripto
2009/6/30
i page 168
Estilo OBMEP
i
i
Captulo 7
Encontrando Primos
Neste captulo veremos como encontrar primos para utilizar no
RSA. Como o conhecimento dos fatores primos p e q de n permite
a qualquer um descobrir uma mensagem codificada usando n como
chave pblica, os primos p e q precisam ser muito grandes. Por isto
o problema que desejamos resolver neste captulo pode ser mais precisamente formulado pela pergunta:
Como achar primos grandes cujo resto na diviso
por 6 5?
Responderemos a esta pergunta:
1. provando que existem infinitos primos cujo resto na diviso por
6 5;
2. descrevendo um procedimento pelo qual podemos encontrar todos os primos deste tipo menores que um dado inteiro t.
168
i
i
cripto
2009/6/30
i page 169
Estilo OBMEP
i
i
169
7.1
7.1.1
Infinitos Primos
i
i
cripto
2009/6/30
i page 170
Estilo OBMEP
i
i
170
i
i
cripto
2009/6/30
i page 171
Estilo OBMEP
i
i
171
i
i
cripto
2009/6/30
i page 172
Estilo OBMEP
i
i
172
7.1.2
i
i
cripto
2009/6/30
i page 173
Estilo OBMEP
i
i
173
i
i
cripto
2009/6/30
i page 174
Estilo OBMEP
i
i
174
(7.1.1)
i
i
cripto
2009/6/30
i page 175
Estilo OBMEP
i
i
175
i
i
cripto
2009/6/30
i page 176
Estilo OBMEP
i
i
176
7.2
Encontrando os Primos
i
i
cripto
2009/6/30
i page 177
Estilo OBMEP
i
i
7.2.1
177
O Crivo de Eratstenes
i
i
cripto
2009/6/30
i page 178
Estilo OBMEP
i
i
178
3
23
43
5
25
45
7
27
47
9
29
49
11
31
51
13
33
53
15
35
55
17
37
57
19
39
59
63
23
43
5
25
6 45
7
6 27
47
69
29
49
11
31
6 51
13
6 33
53
6 15
35
55
17
37
6 57
19
6 39
59
63
23
43
65
6 25
6 45
7
6 27
47
69
29
49
11
31
6 51
13
6 33
53
6 15
6 35
6 55
17
37
6 57
19
6 39
59
6 21
41
63
23
43
65
6 25
6 45
7
6 27
47
69
29
6 49
11
31
6 51
13
6 33
53
6 15
6 35
6 55
17
37
6 57
19
6 39
59
Ao final da quarta passagem do crivo (de 11 em 11), a lista continua a mesma acima. A quinta passagem seria de 13 em 13, mas
novamente nada vai mudar na lista. Na verdade nenhuma passagem
i
i
cripto
2009/6/30
i page 179
Estilo OBMEP
i
i
179
i
i
cripto
2009/6/30
i page 180
Estilo OBMEP
i
i
180
7.2.2
Primos da Forma 6k + 5
i
i
cripto
2009/6/30
i page 181
Estilo OBMEP
i
i
181
i
i
cripto
2009/6/30
i page 182
Estilo OBMEP
i
i
182
Do contrrio alguns compostos no seriam riscados j que o riscarisca de p em p est agora limitado aos nmero que deixam resto 5
na diviso por 6. Que (1) na verdade consequncia de resultados
que j vimos antes. De fato, como vimos em 2.2.3, qualquer nmero
primo deixa resto 1 ou 5 quando dividido por 6. Porm, se todos os
fatores primos de um nmero n deixarem resto 1 na diviso por 6,
teremos n 1 (mod 6), de modo que n ter necessariamente resto 1
na diviso por 6. Isto nos permite concluir que,
se um inteiro positivo deixa resto 5 quando dividido por
6 ento pelo menos um dos seus fatores primos deixa o
mesmo resto quando dividido por 6.
A segunda coisa que precisamos mostrar que
(2) todos os mltiplos de p que aparecem na tabela continuam espaados de p em p.
Afinal de contas, removemos 5/6 dos nmeros da tabela, o que alterou
completamente a posio de cada um deles em relao aos outros,
pondo em risco nossa capacidade de detectar mltiplos apenas por
manterem um espaamento constante.
Talvez este ltimo ponto precise ser um pouco melhor elaborado.
Considere, por exemplo, a lista dos mpares at 30:
1
11
13
15
17
19
21
23
25
27
29
i
i
cripto
2009/6/30
i page 183
Estilo OBMEP
i
i
183
11
13
17
19
23
25
29
(mod 6),
x 0 (mod p).
Para resolver o sistema pelo algoritmo chins do resto, tomamos
x = yp da segunda congruncia e substitumos na primeira, obtendo
yp 5 (mod 6).
(7.2.1)
i
i
cripto
2009/6/30
i page 184
Estilo OBMEP
i
i
184
donde,
y 1 (mod 6).
Assim, y = 1 + 6r e, portanto,
x = p + 6rp.
Em outras palavras, mostramos que todos os mltiplos de p em uma
tabela que s contm nmeros de resduo 5 mdulo 6 so da forma
p + 6rp, o que nos permite concluir que
para irmos de um mltiplo de p que deixa resto 5 na diviso por 6 ao seguinte basta somar 6p a este nmero.
Como os nmeros em nossa tabela j esto espaados de seis em seis
(pois so da forma 6k+5), se pularmos de um mltiplo de p ao seguinte
na tabela teremos dois nmeros cuja diferena 6p. Pela concluso
enunciada acima estes so precisamente dois mltiplos de p da forma
6k + 5 consecutivos, o que prova (2).
Antes de executarmos o crivo restrito a uma tabela que s contenha os nmeros que deixam resto 5 na diviso por 6, h um detalhe
que precisamos considerar. Na verso original do crivo, vimos que
qualquer nmero composto admite um fator primo menor
ou igual que sua raiz quadrada.
Por outro lado, de acordo com (1),
se um inteiro positivo que deixa resto 5 quando dividido
por 6 ento pelo menos dos seus fatores primos deixa o
mesmo resto quando dividido por 6.
i
i
cripto
2009/6/30
i page 185
Estilo OBMEP
i
i
185
161 = 12, 68 . . .
de modo que 161 no tem nenhum fator menor que sua raiz quadrada
que deixe resto 5 na diviso por 6. Do ponto de vista prtico isto
significa que, ao contrrio do que fizemos na verso usual do crivo de
Eratstenes,
no podemos parar de riscar quando p > n se restringirmos nossa tabela apenas aos nmeros da forma 6k + 5.
Passando ao exemplo, usaremos a estratgia desenvolvida acima
para determinar os primos da forma 6k + 5 que so menores que 60.
Os nmeros da forma 6k + 5 menores que 60 so
5
11
17
23
29
35
41
47
53
59
11
17
23
29
6 35
41
47
53
59
i
i
cripto
2009/6/30
i page 186
Estilo OBMEP
i
i
186
7.3
Um Teste de Composio
i
i
cripto
2009/6/30
i page 187
Estilo OBMEP
i
i
187
i
i
cripto
2009/6/30
i page 188
Estilo OBMEP
i
i
188
i
i
cripto
2009/6/30
i page 189
Estilo OBMEP
i
i
189
se
resduo
G. W. Leibniz, o famoso matemtico alemo do sculo XVII, acreditava que se 2n1 1 (mod n) ento n teria que ser primo. Se isto
fosse verdade, teramos um teste extremamente eficiente para determinar a primalidade de um nmero inteiro. Infelizmente, a habilidade
de Leibniz em matemtica no lhe impediu de cometer este erro; de
fato,
pode acontecer que um nmero mpar composto satisfaa
bn1 1 (mod n) mesmo quando b 6 1 (mod n).
Um exemplo simples n = 25 quando b = 7. Neste caso, precisamos
calcular o resduo de 724 mdulo 25. Mas 24 = 8 3 e
73 18
(mod 25);
donde
724 ((73 )2 )4 (182 )4 (24)4 (1)4 1 (mod 25).
Portanto, o nmero composto 25 satisfaz a congruncia
724 1 (mod 25).
Em outras palavras, 25 comporta-se como se fosse um nmero primo
relativamente congruncia do Teorema de Fermat, quando tomamos
a base da potncia como sendo 7. Tais nmeros so conhecidos como
pseudoprimos; isto , falsos primos (pseudo um prefixo grego que
i
i
cripto
2009/6/30
i page 190
Estilo OBMEP
i
i
190
(mod 25),
(mod 11),
r 2340
(mod 31).
i
i
cripto
2009/6/30
i page 191
Estilo OBMEP
i
i
191
(mod 11),
i
i
cripto
2009/6/30
i page 192
Estilo OBMEP
i
i
192
F (14) = 22 + 1
um dos mais espetaculares. Este nmero de 4 933 algarismos pseudoprimo para a base 2. Contudo, o resduo de 3F (14)1 mdulo F (14)
9266364202294755118302156584814258901280315479290422530388
6097614299720435210171437432968640006392902224715504620168
0095001725604630114472589558837940517046729438437748180083
1645097710516064151644731353621343233869471436258644642614
3404140194390198961769077788060540423932971248642995994518
5380752855773923829816713629478959807118043023411329069843
5918386510735172924058647619992288213210540491141093275957
0335468822169985631103470075481624938903793797306018707624
7843687388416174331487323349153272420349291556136382834077
1679624096206834211574398349814328539564737533064291530596
5788572000985851480646485181676557975568586764218376704438
continua...
i
i
cripto
2009/6/30
i page 193
Estilo OBMEP
i
i
193
0609884881302631172126361083233964505570126176409342149337
8652139954789464193009285094711628063432954634626708587436
7594463444139625279802423469187735988169809740798016076355
8756660915732373393355687126433151023684356948795074681449
5366102470470308386446567739129683404278437245037495377700
7491128599236856457726437662611536680740287906911185798788
7842108444553841368100395987050604541817029567526486493583
1300066049180516581348572289935984373033218327619142378706
7066989761084120454048840413780649009776228255511924299511
0548464682066431343714167187770687195870049693812084690516
4150156692624094182349789590144877540962982320907818130345
4651634419058586295097381771400433332253182091087518191373
9964774561356018160131641245372602875035168510650472282456
0043757300004448144561923398161715371451535611350494602034
9421627541720123626726413278735673890406938540849234508550
9297197760087826382470805424211327315246255840301596485309
8216754717890271627922382773031557667932618099223155763262
2957058064387928193998735873865903801681009121549568217921
6272435643998723867142738576833301406169458707777337835643
1259035182961453497743067137867268169891960319091925185387
continua...
i
i
cripto
2009/6/30
i page 194
Estilo OBMEP
i
i
194
6764699510693890723124314879886857934757435609511498303631
3184482333406227325114404370409493199218730847899005245713
7262589157129312078042493366031343888921155946218315119689
0824691664947272076796853149272031772292723384678001487673
7289485199611040141169941570563464614331433825101237485028
2551540449120046780973081044244014767741281300291825405153
6662450553353080033618137315962021316238275075900462137814
6887272133760235138339124403618026146022497784037955983873
8106235330733724665038646006196783875613152976381049791233
9519502118800801010921866059557028885049053649233386186846
2293457874567301266626810211810517093398552281226240984566
1532354438296954820814066000994097063264255070300898292412
5496882595564447114246751422155740073823527127475651798531
1028057096845788109976392735550166125004557244441709616600
4678524716450796935361023345710385526247352937331815633300
1700220182361523365263097713881060293294769367726122819869
0730538976503932288071552286660658027816772182941835429267
6105433021000072632686528671653305019350583545229716468801
7600704028734065754263297922208019302142304992036994114511
5395692083829829127759337589147382283144757893138698782367
continua...
i
i
cripto
2009/6/30
i page 195
Estilo OBMEP
i
i
195
4960132062939955165969811950826493537398880556427059940676
0151759614385138660551353702532710344209861260306992151220
6491196140182604994527812792098357721628098443058943757381
8993574605834732242634770665833451870497469411031398760678
4691748814808710597793230354951146962786688724393282734233
6766674755399503915926422345813552266000767650733554802250
3290586961513720156305182728786969285962256153101352016029
2789911403225602267534784409091403252749485669809224389864
2225228726999955715234451099649284822014988445646906870856
0687344984932764868189113207434302275831390136874473275610
2049318851588609633761376006845924402609516283154658749932
4411209386536068440370854512156044540340439706700963382206
1448672696638585769812464786783087209776034508314405974562
8538838044904201295785245824550483832529686053887853018932
6847879111220292345808615508661056210593212298139150716832
7376850039576125448497337508566882256055070174814260336989
9198249347826265874560095153249285038574130230205892752609
9314884508593056148018263020465818819981893510070049325812
6858764215906417840636307876012637703053991445764802732796
3986565069519909277264869794934951743339858296269946169751
continua...
i
i
cripto
2009/6/30
i page 196
Estilo OBMEP
i
i
196
5767722567946729190402238410127417897149773901275188203885
4875445968557341857521192305032447353155620391519830057834
4876043229651234507101232599676867795300534399281154330366
9561543133291104876022846635712773603755805368778662398435
0641126547572149014680068579593366753172005548119021674441
4461318127515595223785701620105649922262886079532365232976
6625056061650120464853768291381463183738603219745698745725
8065949430682912755117725405126442032692160838612266387888
3517903902198194036900560975373472283211077363328017623773
4638563339609601320040017448859818675802421313089099680661
2395196333178133084564313983286325230943963680919341251290
5466765334951445060146002079878932880934085645861962318355
5766170926604159837144983067589856601662702757157733868440
784972302728473757238028342337093591349409533609378842206167
que, com certeza, no igual a 1, provando assim que F (14) um
nmero composto. Este caso ainda mais espetacular do que R(101)
porque, apesar de meu computador precisar de apenas 13 segundos
para determinar que F (14) composto usando o teste de composio,
ningum ainda foi capaz de determinar fatores para este nmero!
Voc talvez esteja imaginando porque os nmeros R(101) e F (14)
ganharam estes nomes, em vez de serem chamados simplesmente de
i
i
cripto
2009/6/30
i page 197
Estilo OBMEP
i
i
197
F (n) = 22 + 1;
chamados de nmeros de Fermat, e dos quais j falamos um pouco na
introduo.
Como vimos na pgina 13, Fermat acreditava que todos os nmeros
da forma F (n) fossem primos, qualquer que fosse o inteiro n 0 escolhido. Esta afirmao de Fermat foi trazida ao conhecimento de
Euler, e em 1730 ele provou que 641 fator de F (5), mostrando, assim, que a afirmao de Fermat falsa. Como estes nmeros vm
sendo estudados h bastante tempo, sabe-se muito sobre eles. Por
exemplo, conhecemos a fatorao completa dos nmeros de Fermat
correspondentes a 5 n 11. J para
n = 12, 13, 15, 16, 17, 18, 19, 21 e 23,
conhecemos alguns fatores, mas no todos. Tambm so conhecidos
fatores de nmeros de Fermat muito grandes. A mais recente descoberta deve-se a Payam Samidoost que, em agosto de 2008, mostrou
que 6 089 279 223 + 1 divide F (79 221). Por outro lado, apesar de
sabermos se n = 14, 20, 22 e 24, ento o os nmeros F (n) corres-
i
i
cripto
2009/6/30
i page 198
Estilo OBMEP
i
i
198
i
i
cripto
2009/6/30
i page 199
Estilo OBMEP
i
i
199
i
i
cripto
2009/6/30
i page 200
Estilo OBMEP
i
i
Solues
Exerccios
1. O texto o seguinte:
claro que quebrar uma mensagem por contagem de
frequncia ainda mais simples se temos um computador. Se a lngua conhecida a maior parte do
processo pode ser automatizado, o que torna inviveis
todos os cdigos que envolvem substituio de letras,
como o que estamos utilizando para codificar esta
mensagem. Na verdade alguns dos primeiros computadores foram criados precisamente para ajudar a
quebrar os cdigos secretos usados pelos alemes durante a Segunda Guerra Mundial. Entre estes estava
o Colosso, um computador construdo na Inglaterra
por uma equipe liderada por Alan Turing, um dos
fundadores da computao cientfica.
200
i
i
cripto
2009/6/30
i page 201
Estilo OBMEP
i
i
201
2. A contagem no funciona porque a estrutura da frase foi desfeita; acrescentamos o A porque a letra mais frequente.
3. (d) Se a e a + 1 tiverem um divisor comum ento por (a) este
divisor tambm divide (a + 1) a = 1; logo o divisor tem que
ser 1.
4. A.
5. k fator de n! + k para todo 2 k n 1. Alm disso, o
cofator no pode ser um.
6. Se k divide m, ento m = c k. Se m divide n, ento n = d m.
Substituindo a primeira equao na segunda, n = d c k; donde
k divide n.
7. p = 3 ou p = 5 e n = p2 .
8. Se c tivesse um fator menor que p, este que seria o menor fator
de n, e no p.
9. x = 2 e y = 3.
10. No h soluo.
11. Se n = pe11 pet t e p1 < < pt ento a multiplicidade de p1
na fatorao de n , por definio, e1 . Contudo,
n
= pe22 pet t
p1
i
i
cripto
2009/6/30
i page 202
Estilo OBMEP
i
i
202
de modo que pe11 divide n. Por outro lado, se pe11 +1 dividisse n,
ento poderamos escrever
pe21 pet t = pe11 +1 c
para algum inteiro positivo c. Cancelando, pe1 dos dois lados
da equao, obtemos
pe22 pet t = p1 c.
Como do lado esquerdo todos os primos so distintos e diferentes de p1 , a unicidade da fatorao nos d uma contradio.
Portanto, nenhuma potncia de p1 maior que e1 divide n e uma
afirmao anloga vale para todos os outros primos.
12. Escreva 2n = (m 1)(m + 1) e use a unicidade da fatorao. A
resposta n = 3.
13. 3 na primeira jogada e 6 na segunda.
14. 5 na primeira jogada e 2 na segunda.
15. Uma possibilidade tirar 5 na primeira jogada e 3 na segunda
e, da em diante, 5 na primeira jogada e 2 na segunda de cada
vez.
16. Basta haver uma diferena de nove unidades entre a soma correta e a soma que foi calculada erradamente.
i
i
cripto
2009/6/30
i page 203
Estilo OBMEP
i
i
203
17. Basta haver uma diferena de nove unidades entre o produto
correto e o produto que foi calculado erradamente.
18. Os resduos possveis de qualquer nmero por 4 so 0, 1, 2 e 3.
Mas se o resduo for 0 ou 2 o nmero par. Logo um primo
mpar tem resduo igual a 1 ou 3. Por exemplo, 5 tem resduo
1 mdulo 4, ao passo que 7 tem resduo 3 mdulo 4.
19. Se a a0 (mod n) e b b0 (mod n), ento a a0 = k n e
b b0 = ` n, onde k e ` so os respectivos cofatores. Subtraindo
estas duas igualdades, obtemos
(a b) (a0 b0 ) = k n ` n = (k `) n;
que equivale a dizer que a b a0 b0 (mod n).
20. Basta notar que o algarismo das unidades de um nmero igual
a seu resduo mdulo 10 e determinar quais os resduos possveis
mdulo 10 para um nmero par e para um mltiplo de 5.
21. As duas maneiras diferentes correspondem a escrever 104 como
103 10 ou 102 102 e usar os valores j encontrados para estas
potncias mdulo 7.
22. A soma alternada (isto , com os sinais alternando entre mais e
menos) dos algarismos do nmero divisvel por 11 se, e somente
se, o nmero divisvel por 11.
23. Faa trs fora, como fizemos no caso dos noves fora.
i
i
cripto
2009/6/30
i page 204
Estilo OBMEP
i
i
204
24. Basta haver uma diferena de trs unidades entre a soma correta
e a soma que foi calculada erradamente.
25. Suponha que, dividindo n por m obtemos quociente q e resto r.
Se a conta estiver correta devemos ter que n noves fora tem que
ser igual a m noves fora vezes q noves fora mais r noves fora.
26. Os restos so, respectivamente, 1, 6 e 5.
27. Os valores so dados na tabela 7.1.
a
87 645 564 348
85 735 214 421
981 231 111
a0
8
1
1
28. Para 35 994 ser divisvel por 7 preciso que 3 599+8 = 3 591;
para 3 591 ser divisvel por 7 preciso que 359 + 2 = 357;
para 357 ser divisvel por 7 preciso que 35+14 = 21. Como
21 divisvel por 7, ento 35 994 tambm . O outro nmero
no divisvel por 7.
29. Calcule 525 mdulo cada um dos primos mpares at achar resduo 1. A resposta 11.
i
i
cripto
2009/6/30
i page 205
Estilo OBMEP
i
i
205
30. Os inversos so dados nas tabelas abaixo.
Resduo
1
2
3
4
5
6
Inverso
1
4
5
2
3
6
Inverso
1
7
9
10
8
11
2
5
3
4
6
12
i
i
cripto
2009/6/30
i page 206
Estilo OBMEP
i
i
206
32. Os inversos so dados nas tabelas abaixo.
Resduo
1
2
3
4
5
Inverso
1
?
?
?
5
Inverso
1
8
?
4
?
?
13
2
?
?
11
?
7
14
i
i
cripto
2009/6/30
i page 207
Estilo OBMEP
i
i
207
33. Os valores so os seguintes:
Resduo
2
3
4
Inverso
3
2
3
Inverso
5
3
5
5
3
5
i
i
cripto
2009/6/30
i page 208
Estilo OBMEP
i
i
208
Substituindo isto na equao (3.3.3),
a = (x1 a + y1 n) q 0 + r0 ,
que equivale a
r0 = (x1 ) a + (1 y1 q 0 ) n.
Assim, r0 V (a, n). Contudo, se r0 < M fosse positivo teramos
um elemento em V (a, n) ainda menor que m, o que no possvel. Logo r0 = 0, e m divide a.
36. Se houvesse um fator primo comum, teria que dividir 3. Como
3 primo o fator teria que ser igual a 3. Mas se 3 dividisse
6 k 2, ento tambm dividiria
3 (2 k) (6 k 2) = 2,
o que no possvel.
37. Como 6k 1 (mod 6k + 1) temos que os inversos so congruentes, respectivamente, a 3k, 2k e k.
38. 2 913.
39. 33.
40. A quantidade (mnima) total de arroz 3 105 288.
i
i
cripto
2009/6/30
i page 209
Estilo OBMEP
i
i
209
41. 1065 deixa resto 5 na diviso por 7 e 378 deixa resto 1 na diviso
por 7.
42. Ambos os restos so iguais a 3.
45 231
Ordem
1
10
5
5
5
10
10
10
5
2
i
i
cripto
2009/6/30
i page 210
Estilo OBMEP
i
i
210
47. Os nicos resduos que tm ordem mdulo 12 so 1, que tem
ordem 1 e 5, 7 e 11, que tm ordem 2 cada um.
48. A ordem de 3 mdulo 31 30.
49. 6 tem ordem 3 mdulo 43; 37 37 6 (mod 43) e
398 745 27 (mod 43).
50. Pelo Teorema de Fermat, 342 1 (mod 43). Mas,
98 745 = 2 351 42 + 3.
Logo,
398 745 (342 )2 351 33 27 (mod 43).
i
i
cripto
2009/6/30
i page 211
Estilo OBMEP
i
i
211
59. Se duas chaves pblicas tm um primo em comum ento podemos descobri-lo, e com isso fatorar as chaves, calculando o mximo divisor comum das duas chaves pblicas.
60. p = 13.
61. (a) Como p# e p# 1 so nmeros consecutivos, tm que ser
primos entre si por ???.
(b) Se houvesse infinitos nmeros primos e o maior deles fosse
p, ento p# 1 teria que ter um fator primo maior que p
pelo resultado em (a), que uma contradio.
(c) p = 7.
62. Os primos so:
5
11 17 23
83 89 101 107
179 191 197 227
281 293 311 317
419 431 443 449
29
113
233
347
461
41
131
239
353
467
47
137
251
359
479
53 59 71
149 167 173
257 263 269
383 389 401
491
(mod 641).
i
i
cripto
2009/6/30
i page 212
Estilo OBMEP
i
i
212
Desafios
1. trs.
2. Os resduos possveis so iguais aos primos entre n + 1 e n!.
3. Por exemplo, se a > 2 um inteiro qualquer, ento a tem inverso
mdulo n = a2 1.
4. A primeira congruncia nos diz que x = a + my para algum
inteiro y. Substituindo na segunda congruncia, obtemos
my b a (mod n).
Se m e n no so primos entre si, no podemos simplesmente
inverter o m para deixar o y livre. Convertendo esta ltima congruncia em uma expresso de inteiros, temos que
my = b a + nk, para algum inteiro k.
Em outras palavras,
my nk = b a.
Se d o mximo divisor comum entre m e n ento existem
inteiros m0 e n0 tais que m = dm0 e n = dn0 . Substituindo na
ltima equao, obtemos
(m0 y n0 k)d = b a.
i
i
cripto
2009/6/30
i page 213
Estilo OBMEP
i
i
213
Portanto, para que haja soluo preciso que d divida b a. Se
b a = dc para algum inteiro c, ento
m0 y n0 k = c,
que nos d m0 y c (mod n0 ). Como cancelamos o mximo divisor comum entre m e n, os inteiros so m0 e n0 so primos
entre si e m0 pode ser invertido em m0 y c (mod n0 ), o que
nos d o valor de y. Portanto, quando d divide b a o sistema
tem soluo.
(mod p),
pela definio de k. Como ap1 1 (mod p), pelo Teorema de Fermat, podemos concluir que ar 1 (mod p).
(c) Se r 6= 0 ento teramos que 0 < r < k satisfaz ar 1
(mod p), o que impossvel pela definio de k como sendo
o menor inteiro positivo tal que ak 1 (mod p). Logo,
r = 0.
(d) Substituindo r = 0 em p1 = kq+r, temos que p1 = kq,
de modo que k tem que dividir p 1.
6. p = 3.
i
i
cripto
2009/6/30
i page 214
Estilo OBMEP
i
i
214
7. Temos que
m = (p 1)(q 1) = pq (p + q) + 1 = n (p + q) + 1.
Logo,
(p + q) = n m + 1.
Para achar p e q quando conhecemos p + q e pq basta resolver
uma equao quadrtica. Outra soluo consiste em notar que
(p q)2 = (p + q)2 2pq = (n m + 1)2 2n.
Com isto temos p + q e p q em funo de n e m e podemos
resolver um sistema linear para achar p e q.
8. (a) Qualquer nmero dividido por 4 tem resto 0, 1, 2 ou 3.
Como um primo diferente de 2 mpar, os nicos resduos
possveis mdulo 4 neste caso so 1 e 3.
(b) Tm resduo 1 mdulo 4 os primos 5, 13, 17, 29 e 37 e tm
resduo 3 mdulo 4 os primos 3, 7, 11, 19 e 23.
(c) (4n + 1)(4k + 1) = 4(4nk + n + k) + 1 ou use congruncia
mdulo 4. Note que foi preciso escolher letras diferentes k
e n, porque os nmeros 4n+1 e 4k+1 podem ser diferentes.
(d) No. Por exemplo 3 7 = 21 = 4 5 + 1.
(e) Pelo Teorema de Fatorao nica, o nmero 4(p1 . . . pk )+3
pode ser escrito como um produto de primos. Estes primos
no podem pertencer ao conjunto {p1 , . . . , pk }. S nos resta mostrar que os primos na fatorao de 4(p1 . . . pk ) + 3
no podem ser todos da forma 4n + 1. Mas se fosse este
i
i
cripto
2009/6/30
i page 215
Estilo OBMEP
i
i
215
o caso, o produto destes primos seria da forma 4n + 1 por
(c), o que no verdade pois 4(p1 . . . pk ) + 3 deixa resto 3
na diviso por 4.
(f) Suponha, por absurdo, que {3, p1 , . . . , pk } o conjunto de
todos os primos da forma 4n + 3 e aplique (e).
9. (a) Mostre que
R(n) = (10n 1)/9 =
99
= 1 1.
9
i
i
cripto
2009/6/30
i page 216
Estilo OBMEP
i
i
216
i
i
cripto
2009/6/30
i page 217
Estilo OBMEP
i
i
Referncias Bibliogrficas
[1] COELHO, S. P.; POLCINO MILIES, C. Nmeros: uma Introduo Matemtica. So Paulo: Editora da Universidade de So
Paulo, 2 000.
[2] COUTINHO, S. C. Nmeros inteiros e criptografia RSA. Srie de
Computao e Matemtica n. 2, IMPA e SBM, segunda edio
(revisada e ampliada), 2 000.
[3] HEFEZ, A. Elementos de Aritmtica. Sociedade Brasileira de
Matemtica, 2 005.
217
i
i