You are on page 1of 225

i i

cripto 2009/6/30 i page 1 Estilo OBMEP


i

Criptograa
S. C. Coutinho

i i i

i i

cripto 2009/6/30 i page 2 Estilo OBMEP


i

Texto j revisado pela nova ortograa.

i i i

i i

cripto 2009/6/30 i page i Estilo OBMEP


i

Antes de Comear
Estas notas tratam de uma aplicao da matemtica criptograa. Embora algumas pessoas ainda associem mensagens codicadas a 007 ou outros agentes igualmente secretos, h mais de uma dcada que esta no a aplicao mais importante da criptograa. 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 codicadas, 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 codicadas depende, de maneira crucial, do uso da matemtica. O i

i i i

i i

cripto 2009/6/30 i page ii Estilo OBMEP


i

ii mais curioso que at os anos 1960, a teoria dos nmeros, que a parte da matemtica mais utilizada nas aplicaes criptograa, 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 criptograa especco, 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 criptograa 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 suciente 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 i

i i

cripto 2009/6/30 i page iii Estilo OBMEP


i

Sumrio
Introduo Criptograa . . . . . . . . . . . . . . . . . . . . . . . . . . . Criptograa RSA . . . . . . . . . . . . . . . . . . . . . . . . 1 Nmeros Inteiros 1.1 1.2 Fatores e Nmeros Primos . . . . . . . . . . . . . . . . Fatorando Inteiros . . . . . . . . . . . . . . . . . . . . 1 1 9 15 15 19 37 37 45 61 79 79 84

2 Aritmtica Modular 2.1 2.2 2.3 Fenmenos Peridicos e Aritmtica . . . . . . . . . . . Denies e Primeiras Propriedades . . . . . . . . . .

Critrios de Divisibilidade . . . . . . . . . . . . . . . .

3 Inversos Modulares 3.1 3.2 Motivao e Denies . . . . . . . . . . . . . . . . . . Inexistncia de Inverso . . . . . . . . . . . . . . . . . . iii

i i i

i i

cripto 2009/6/30 i page iv Estilo OBME


i

iv 3.3 3.4

SUMRIO

Existncia de Inverso . . . . . . . . . . . . . . . . . . . O Teorema e um Exemplo . . . . . . . . . . . . . . . .

92 97 102

4 Algoritmo Chins do Resto 4.1 4.2

Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . 102 O Teorema Chins do Resto . . . . . . . . . . . . . . . 113 121

5 Potncias 5.1 5.2 5.3

Restos de Potncias . . . . . . . . . . . . . . . . . . . . 121 O Teorema de Fermat . . . . . . . . . . . . . . . . . . 134 Potncias . . . . . . . . . . . . . . . . . . . . . . . . . 139 146

6 Criptograa RSA 6.1 6.2 6.3

Pr-codicao . . . . . . . . . . . . . . . . . . . . . . 147 Codicando e Decodicando uma Mensagem . . . . . . 149 Por que funciona? . . . . . . . . . . . . . . . . . . . . . 161 168

7 Encontrando Primos 7.1 7.2 7.3

Innidade dos Primos . . . . . . . . . . . . . . . . . . 169 Encontrando os Primos . . . . . . . . . . . . . . . . . . 176 Um Teste de Composio . . . . . . . . . . . . . . . . 186 200

Solues

Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Desaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

i i i

i i

cripto 2009/6/30 i page v Estilo OBMEP


i

SUMRIO

v 217

Referncias Bibliogrcas

i i i

i i

cripto 2009/6/30 i page vi Estilo OBMEP


i

i i i

i i

cripto 2009/6/30 i page 1 Estilo OBMEP


i

Introduo
O foco deste livro o mtodo de criptograa 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.

Criptograa
Em grego, cryptos signica secreto, oculto. A criptograa estuda os mtodos para codicar 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
Se sua curiosidade para saber o que as letras signicam irresistvel, olhe na pgina 9
1

i i i

i i

cripto 2009/6/30 i page 2 Estilo OBMEP


i

2 OBMEP seria codicada 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.

Figura 1: Jlio Csar (100-44 a.C.) Vejamos como codicar uma mensagem simples. Cdigos como o de Csar padecem de um grande problema: so muito fceis de quebrar. Quebrar um cdigo signica ser capaz de ler a mensagem, mesmo no sendo seu destinatrio legtimo. Na verdade, qualquer cdigo que envolva substituir cada letra sistematicamente por outro smbolo qualquer sofre do mesmo problema. Isto ocorre porque a frequncia mdia com que cada letra aparece em um texto de uma dada lngua mais ou menos constante. Por exemplo, a frequncia mdia de cada letra na lngua portuguesa dada na tabela 1.

i i i

i i

cripto 2009/6/30 i page 3 Estilo OBMEP


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

Tabela 1: Frequncia das letras no portugus Assim, apenas contando a frequncia de cada smbolo no texto, podemos descobrir a que letra correspondem os smbolos mais frequentes. Isto geralmente suciente para quebrar o cdigo e ler toda a mensagem. Observe, entretanto, que este mtodo para quebrar o cdigo s funciona bem se a mensagem for longa. fcil escrever uma mensagem curta cuja contagem de frequncia seja totalmente diferente da contagem de frequncia mdia do portugus. Por exemplo, em Zuza zoou da Zez a letra mais frequente o Z que aparece 5 vezes em um texto de 14 letras. Como 5/14 = 0, 35... a porcentagem do Z no texto acima de cerca de 35%; muito acima dos usuais 0, 47%. J o A aparece uma s vez, o que d uma porcentagem de cerca de 7%; portanto, abaixo dos 14% usuais. SUMZFI GCSGC SVZFC LZLSJ EZQSL HIFUI JDZQS LTSRF SGCSJ UOZSZ OJTZL ZOEEO LHMSE ESDSL IECLU ILHCD ZTIFE SZMOJ QCZSU IJPSU OTZZL ZOIFH ZFDST IHFIU SEEIH ITSES FZCDI LZDOA ZTIIG CSDIF JZOJB OZBSO EDITI EIEUI TOQIE GCSSJ BIMBS LECVE DODCO UZITS MSDFZ EUILI IGCSS EDZLIE CDOMO AZJTI HZFZU ITORO UZFSE DZLSJ EZQSL JZBSF TZTSZ MQCJE TIEHF OLSOF IEUIL HCDZT

i i i

i i

cripto 2009/6/30 i page 4 Estilo OBMEP


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 codicado? Use o mtodo de contagem de frequncia para quebrar o cdigo e poder decodicar e ler o pargrafo. Para no simplicar 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 codic-la seguiremos os seguintes passos: eliminamos os espaos e completamos a mensagem com um A no nal, caso tenha uma quantidade mpar de letras; subdividimos a mensagem em blocos de duas letras; reetimos 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 i

i i

cripto 2009/6/30 i page 5 Estilo OBMEP


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, nalmente, AP-AO-BO-EM-MA que nos d como mensagem codicada 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 i

i i

cripto 2009/6/30 i page 6 Estilo OBMEP


i

6 aplicaes comerciais da criptograa. 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 signica 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 codicadas pelo meu computador antes de serem enviadas. Note, contudo, que meu computador no pode usar um cdigo qualquer para codicar estas informaes, porque a loja precisa l-las e, para isso, tem que saber como decodicar 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 codicao. Isto , meu computador codica as informaes do carto de crdito usando um processo de codicao 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 codicao a ser utilizado. Como fcil pr uma escuta na linha, uma outra pessoa pode facilmente descobrir como meu computador vai codicar 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 i

i i

cripto 2009/6/30 i page 7 Estilo OBMEP


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 codicao 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 codicao. 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 codicao ser descoberto e qualquer mensagem enviada com ele poder ser lida.

Cdigos de Chave Pblica


As diculdades que relacionamos acima parecem condenar de maneira irremedivel a possibilidade de fazer transaes pela web. Anal, seja qual for o cdigo utilizado, se sabemos como fazer a codicao, basta desfaz-la e decodicamos a mensagem. Ou no? De fato, isto basicamente verdade; mas h um porm. Acontece que podemos imaginar um processo que seja fcil de fazer mas muito difcil de desfazer e, ao utiliz-lo para criptografar uma mensagem, estaramos garantindo que quem a interceptasse, mesmo sabendo como foi codicada, teria um trabalho enorme em decodic-la. Abusando um pouco da fantasia, podemos imaginar que o trabalho de desfazer o processo levasse tanto tempo que ningum conseguisse p-lo em

i i i

i i

cripto 2009/6/30 i page 8 Estilo OBMEP


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 gura 2.

Figura 2: Entrada de armadilha de lagosta A lagosta ca presa na gaiola porque, para poder sair, teria que encontrar e passar pela parte estreita do funil, que um problema complicado demais para uma lagosta, cujo crebro tem o tamanho aproximado de uma ervilha. No preciso dizer que uma armadilha desse tipo no funcionaria para pegar um macaco, nem mesmo um passarinho. Muito interessante, mas que problema matemtico satisfaz esta condio de ser fcil de fazer e difcil de desfazer, para que possamos utiliz-lo em criptograa? Isto o que veremos na prxima seo. Por

i i i

i i

cripto 2009/6/30 i page 9 Estilo OBMEP


i

9 enquanto, vamos s observar que tais cdigos so conhecidos como de chave pblica, j que o processo (ou chave) de codicao pode ser conhecido de qualquer um sem comprometer a segurana do cdigo.

Criptograa RSA
O mais conhecido dos mtodos de criptograa 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 suciente sobre o RSA para que voc entenda como possvel um problema ser fcil de fazer e difcil de desfazer. Isto tambm nos ajudar a identicar 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 codicao de dados de clientes em compras pela internet. Para comear, voc precisa escolher

i i i

i i

cripto 2009/6/30 i page 10 Estilo OBMEP


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 decodicar 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 codicar 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 codicar uma mensagem usamos n;

i i i

i i

cripto 2009/6/30 i page 11 Estilo OBMEP


i

11 para decodicar 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 especicados 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 i

i i

cripto 2009/6/30 i page 12 Estilo OBMEP


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; 4. provar que 22 + 1 composto se n > 4; 5. provar que todo nmero par soma de dois primos mpares; 6. determinar todos os inteiros consecutivos que so potncias de nmeros inteiros. Os problemas acima tm grau de diculdade muito varivel. A soluo de alguns deles conhecida desde a antiguidade, como o caso de (1) e (2). Na verdade, bem provvel que voc saiba resolver (1) usando o mtodo descrito por Euclides em seu livro Elementos escrito por volta de 300 a.C.; j (2) est relacionado ao Teorema de Pitgoras o que talvez baste para lembrar-lhe de algumas solues possveis. Todas as outras questes so muito mais difceis. Para comear temos (3), que muito parecida com (2), exceto pelo fato do expoente n ter que ser pelo menos 3. Este problema tem uma histria muito interessante. Em algum momento entre 1621 e 1636 o francs Pierre de Fermat, magistrado da corte de Toulouse, adquiriu uma cpia da recm-publicada traduo latina da Aritmtica escrita pelo matemtico grego Diofanto mais de mil anos antes. Fermat, que era um matemtico amador, leu o texto de Diofanto, fazendo vrias anotaes na margem do texto. Em uma dessas anotaes ele armou ter uma demonstrao do fato enunciado em (3) mas, segundo ele, o
n

i i i

i i

cripto 2009/6/30 i page 13 Estilo OBMEP


i

13 espao disponvel na margem do livro no seria suciente 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 sosticados 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

Tabela 2: Nmeros de Fermat primos que so todos primos. Aparentemente, foi nessa tabela que Fermat baseou-se para fazer a sua armao. Infelizmente, generalizar a partir de alguns casos sempre uma prtica perigosa em matemtica e, neste caso, Fermat deu-se realmente mal. Nenhum nmero primo da

i i i

i i

cripto 2009/6/30 i page 14 Estilo OBMEP


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 i

i i

cripto 2009/6/30 i page 15 Estilo OBMEP


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 denies bastante simples.

1.1

Fatores e Nmeros Primos

Comeamos revisando algumas noes bsicas relativas divisibilidade de inteiros.

1.1.1

Divisores e Mltiplos

Um inteiro b divide outro inteiro a se existe um terceiro nmero inteiro c tal que a = bc. Neste caso, tambm dizemos que b um divisor ou fator de a, ou ainda que a mltiplo de b. Todas estas 15

i i i

i i

cripto 2009/6/30 i page 16 Estilo OBMEP


i

16

CAP. 1: NMEROS INTEIROS

expresses signicam a mesma coisa. Quando 1 < b < a, dizemos que b um fator ou divisor prprio de a. Naturalmente s h dois divisores que no so prprios, 1 e o prprio a. O nmero c, na denio acima chamado de cofator de b em a. Por exemplo, 5 divide 20 porque 20 = 5 4. Neste exemplo 4 o cofator de 5 em 20. Na prtica, determinamos que b divide a efetuando a diviso e vericando que o resto zero. O cofator o quociente da diviso. Nosso primeiro resultado uma lista das propriedades dos mltiplos. Dois inteiros quaisquer sempre tm pelo menos 1 como fator comum; anal, um divide qualquer inteiro. Se 1 for o nico fator comum a dois nmeros, diremos no tm fator prprio comum ou que so primos entre si. Note que um par de primos distintos no tm fator prprio comum. Mas h muitos nmeros compostos sem fator prprio comum, como o caso de 6 e 35, por exemplo. Propriedades dos Mltiplos. Sejam a, b, c e d quatro nmeros inteiros. 1. d divide 0; 2. se d divide a e b, ento tambm divide a + b; 3. se d divide a ento divide a c. Demonstrao. Vamos provar que cada uma destas propriedades verdadeira. A primeira mais ou menos bvia porque 0 = 0 d; de modo que 0 mltiplo de qualquer nmero. Para provar a segunda

i i i

i i

cripto 2009/6/30 i page 17 Estilo OBMEP


i

SEC. 1.1: FATORES E NMEROS PRIMOS

17

propriedade, observemos que dizer que d divide a e b signica, pela denio, que existem inteiros a e b tais que a=da e b=db; isto , estamos chamando de a e de b os cofatores de d em a e b, respectivamente. Mas, usando as expresses acima, a + b = (d a ) + (d b ) e pondo d em evidncia a + b = d(a + b ) mostrando que d divide a + b, tendo a + b como cofator. Finalmente, para mostrar (3), apenas multiplicamos a = d a por c, o que nos d, c a = c (d a ) = d (c a ); de forma que d divide c a com cofator igual a c a . Estas no so as nicas propriedades dos mltiplos, embora sejam as mais importantes. Algumas outras propriedades so listadas no prximo exerccio. Exerccio 3. Sejam a, b e d nmeros inteiros. Suponha que d divide a. Mostre que: (a) se d tambm divide b ento d divide a b; (b) se d tambm divide a + b ento d divide b;

i i i

i i

cripto 2009/6/30 i page 18 Estilo OBMEP


i

18

CAP. 1: NMEROS INTEIROS

(c) se d tambm divide a b ento d divide b; (d) a e a + 1 no podem ter nenhum fator prprio comum. O prximo exerccio do Banco de Questes da OBMEP-2006 uma consequncia fcil destas propriedades. Exerccio 4. Da igualdade 9 174 532 13 = 119 268 916 pode-se concluir que um dos nmeros abaixo divisvel por 13. Qual este nmero? (a) 119 268 903 (d) 119 268 913 (b) 119 268 907 (e) 119 268 923 (c) 119 268 911

1.1.2

Primos e Compostos

Se vamos decompor inteiros em primos, conveniente comearmos recordando a denio de nmero primo. Um nmero inteiro p primo se p = 1 e os nicos divisores de p so 1 e p. Portanto 2, 3, 5 e 7 so primos, mas 45 = 5 9 no primo. Um nmero inteiro, diferente de 1, que no primo chamado de composto. Logo 45 composto. Observe que a denio de primo exclui os nmeros 1. Isto , os nmeros 1 no so primos; mas tambm no so compostos! Voltaremos a esta questo ao nal do captulo. Exerccio 5. Seja n > 1 um inteiro. Lembre-se que n! denido como o produto de todos os nmeros inteiros positivos menores ou iguais a n; isto n! = 1 2 (n 1) n.

i i i

i i

cripto 2009/6/30 i page 19 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

19

Mostre que os nmeros n! + 2, n! + 3, . . . , n! + (n 1) so todos compostos. Finalmente, uma questo histrica (ou melhor dizendo, etimolgica), voc j se perguntou porque os nmeros primos tm este nome? O nome uma herana grega e, naturalmente, no se refere a nenhuma relao de parentesco. Os gregos classicavam os nmeros em primeiros ou indecomponveis e secundrios ou compostos. Os nmeros compostos so secundrios por serem formados a partir dos primos. Os romanos apenas traduziram literalmente a palavra grega para primeiro, que em latim primus. da que vm nossos nmeros primos.

1.2

Fatorando Inteiros

Nesta seo tratamos de maneira sistemtica um problema que voc j deve ter aprendido a resolver: como fatorar um inteiro; isto , como encontrar todos os seus fatores primos. Comearemos descrevendo um problema mais simples: como calcular um fator (ou divisor) de um nmero.

1.2.1

Encontrando um Fator

O procedimento mais bsico consiste em uma busca sistemtica por um fator, comeando de 2 e prosseguindo at chegar ao nmero

i i i

i i

cripto 2009/6/30 i page 20 Estilo OBMEP


i

20

CAP. 1: NMEROS INTEIROS

que se quer fatorar. Se nenhum fator for encontrado, podemos concluir que o nmero dado primo. Por exemplo, se queremos fatorar 91, devemos vericar 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 armao 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 zemos para 2 se aplica tambm a outros nmeros; 3, por exemplo. Ento, se 3 no divide 91, nenhum mltiplo de 3 pode

i i i

i i

cripto 2009/6/30 i page 21 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

21

dividi-lo. Isto signica que, tendo vericado que 3 no divide 91 poderamos pular todos os seus mltiplos se o procedimento acima tivesse continuado. Apesar de parecer uma ideia esperta, essa maneira de proceder acaba sendo pouco til porque introduz uma complicao extra no nosso mtodo de achar um fator. Anal, para aplic-la, teramos que ser capazes de detectar que um dado nmero mltiplo de 3 para poder pul-lo. Se isto j complicado de fazer com 3, imagine se tentssemos com 7 ou 13. Apesar disto, veremos na seo 7.2 do captulo 7 que a mesma ideia pode ser reciclada como um mtodo para achar primos. Nosso algoritmo para achar fatores tem algumas propriedades importantes que ainda precisamos analisar.

1.2.2

Algoritmo?

Como assim, algoritmo? Os matemticos chamam de algoritmo qualquer mtodo sistemtico utilizado para fazer alguma coisa. Meio vago, no? Anal, uma receita de bolo e um conjunto de instrues sobre como ir de uma cidade outra so mtodos sistemticos para fazer alguma coisa, ou no? Claro que so, e nada nos impede de cham-los de algoritmos (embora talvez no seja uma boa ideia cham-los assim em pblico...). Alis uma receita um bom lugar para comear, se queremos falar de algoritmos. Vejamos um exemplo.

i i i

i i

cripto 2009/6/30 i page 22 Estilo OBMEP


i

22

CAP. 1: NMEROS INTEIROS

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 que 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 zermos 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 i

i i

cripto 2009/6/30 i page 23 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

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 m.

i i i

i i

cripto 2009/6/30 i page 24 Estilo OBMEP


i

24

CAP. 1: NMEROS INTEIROS

fcil dar exemplos de procedimentos que no param nunca. Que tal este: comece com k = 3; verique se k divisvel por 2: se for, pre; se no for, incremente k de 2 (isto , passe para k + 2) e tente dividir novamente por 3; continue repetindo isto enquanto um mltiplo de 2 no for encontrado. Como nenhum nmero , simultaneamente, par e mpar, este procedimento vai se repetir para sempre, de modo que no um algoritmo. Observe que no resta a menor dvida de que acha-fator satisfaz esta condio. Anal de contas, estamos procurando por fatores positivos de um nmero n que, por serem fatores, tm que ser menores n. Mas, por maior que seja n, a quantidade de inteiros positivos menores que n tem que ser nita. Logo, na pior das hipteses, visitamos cada um dos inteiros entre 2 e n sem achar fator e paramos porque encontramos n que, neste caso, ser primo.

1.2.3

Algoritmo e Al-Khowarazmi

A origem da palavra algoritmo muito curiosa. Originalmente a palavra era escrita algorismo, que vem da palavra rabe Al-Khowarazmi, o homem de Khowarazm. Esse era o nome pelo qual o matemtico rabe Ibn Musa cou conhecido. Ele, que viveu no sculo IX, escreveu um livro chamado Al-jabr wal muqabalah atravs do qual o sistema de numerao usado na ndia chegou Europa Medieval. por isso que, ainda hoje, falamos em algarismos indoarbicos. Alis algorismo e algarismo so variantes da mesma palavra e signicavam, originalmente, os numerais indo-arbicos.

i i i

i i

cripto 2009/6/30 i page 25 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

25

Figura 1.1: Al Khowarazmi

Com o passar do tempo, a palavra algorismo deixou de signicar apenas os nmeros e passou a ser usada tambm para descrever a aritmtica e o clculo com nmeros. A maneira como algorismo ganhou um t no menos curiosa. Outra palavra usada para nmero na Idade Mdia era aritmos que simplesmente nmero em grego. Algum, em algum momento, confundiu-se na ortograa e misturou as duas, trocando o s de algorismo pelo t de aritmos. Como, naquela poca, os livros eram copiados mo, uns dos outros, o erro acabou se propagando. O sentido atual da palavra algoritmo, contudo, bem mais recente. No claro como a palavra passou a signicar mtodo sistemtico, mas ela j estava sendo usada mais ou menos neste sentido em 1800. Assim, algoritmo uma palavra muito antiga, mas que ganhou um signicado novo. Voc reparou no nome do livro de Ibn Musa? Al-jabr no lhe lembra nada? da que vem a palavra lgebra. Hoje em dia dizemos que um algebrista um matemtico que trabalha em lgebra, mas

i i i

i i

cripto 2009/6/30 i page 26 Estilo OBMEP


i

26

CAP. 1: NMEROS INTEIROS

este no era, originalmente, o signicado da palavra. No passado, um algebrista era um mdico que consertava ossos. Mas chega de conversa mole, voltemos matemtica.

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 i

i i

cripto 2009/6/30 i page 27 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

27

divisor de n. Levando em conta que p o menor destes divisores, podemos escrever c p. Combinando esta desigualdade com a equao anterior, obtemos n = p c p p. Em outras palavras, n p2 que equivalente a p n.

Resumimos o resultado nal em uma proposio para referncia futura. Proposio 1. Se n for composto, o menor fator prprio de n menor ou igual raiz quadrada de n. Assim, se n for composto, algum fator dever ser encontrado antes de nossa busca ultrapassar n. Isto nos permite reformular o algoritmo acha-fator de maneira bem mais eciente, como segue.

Algoritmo acha-fator

Entrada: um inteiro positivo n; Sada: um fator prprio de n ou a concluso de que n primo;

i i i

i i

cripto 2009/6/30 i page 28 Estilo OBMEP


i

28

CAP. 1: NMEROS INTEIROS

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 5. Continue desta maneira at encontrar um nmero que divida n ou at que o candidato a divisor seja maior que n. Neste ltimo caso, n primo.

Naturalmente, a nica diferena entre esta verso e a anterior que paramos assim que o divisor a ser experimentado ultrapassa a raiz quadrada de n. Com isto, buscamos o divisor entre uma quantidade muito menor de inteiros do que vnhamos fazendo anteriormente. Finalmente, convm resumir tudo o que aprendemos nesta subseo como uma proposio. Proposio 2. O fator de um nmero inteiro n > 1 encontrado pelo algoritmo acha-fator acima sempre um nmero primo menor ou igual que a raiz quadrada de n. Encerraremos este tpico com dois exerccios. Exerccio 7. Seja n um nmero inteiro positivo composto e p seu menor fator primo. Sabe-se que: 1. p n;

2. p 4 divide 6n + 7 e 3n + 2. Determine todos os possveis valores de n. Desao 1. Qual o maior nmero possvel de fatores primos de um inteiro n que no tem nenhum fator n1/3 ?

i i i

i i

cripto 2009/6/30 i page 29 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

29

1.2.5

Custo da Fatorao

Apesar de ser fcil de entender e de utilizar, o algoritmo acha-fator muito ineciente, mesmo se usarmos um computador. Isto facilmente ilustrado se estimarmos o tempo que um computador levaria para achar um fator de um nmero grande usando este algoritmo. Lembre-se que, tendo n por entrada, acha-fator executa no m ximo n tentativas de diviso antes de encontrar um fator para n. Na verdade, o pior caso possvel ocorre quando precisamos efetuar exatamente n tentativas de diviso, o que corresponde a dizer que n primo. precisamente este o caso cujo tempo de execuo vamos estimar. Para xar as ideias, consideremos um nmero primo p, de 100 ou mais algarismos. Isto p 10100 e, portanto, p 1050 . Assim, precisaremos executar pelo menos 1050 divises para garantir que p primo pelo algoritmo acha-fator. Para transformar isto em tempo de clculo, precisamos ter uma ideia de quantas divises um computador capaz de efetuar em um segundo. Vamos exagerar e supor que usamos um supercomputador capaz de executar 1010 divises por segundo. Para voc ter uma ideia de quo exagerado isto , o computador no qual estou escrevendo esta apostila no faz mais do que 50 divises por segundo! Seja como for, usando nosso suposto supercomputador, precisaramos de, pelo menos, 1050 = 1040 segundos 1010

i i i

i i

cripto 2009/6/30 i page 30 Estilo OBMEP


i

30

CAP. 1: NMEROS INTEIROS

para determinar que n primo usando acha-fator. Como um ano tem 60 60 24 365 = 31 536 000 segundos, conclumos que 1040 segundos corresponde a 1040 31 536 000 que aproximadamente igual a 317 000 000 000 000 000 000 000 000 000 000 (so 30 zeros)

anos que muito mais tempo do que conseguimos imaginar. Anal de contas, as ltimas estimativas da idade do universo indicam que no deve ultrapassar 20 bilhes de anos; ou seja 200 000 000 000 (meros 11 zeros)

anos. Podemos, portanto, concluir, sem qualquer receio, que impossvel conrmar que um nmero de 100 ou mais algarismos primo usando este algoritmo. Isto signica 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 i

i i

cripto 2009/6/30 i page 31 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

31

1.2.6

Fatorando Nmeros Inteiros

At aqui vimos apenas como encontrar um fator prprio de um nmero inteiro n, se existir tal fator, ou comprovar que o nmero primo. Entretanto, nosso objetivo inicial era bem mais ousado: queramos escrever n como produto de potncias de nmeros primos. Mas, de posse do algoritmo acha-fator, isto fcil de fazer, basta aplicar acha-fator vrias vezes. Vejamos um exemplo. Considere o inteiro 12 103. Aplicando o algoritmo acha-fator a este nmero (deixo as contas para voc fazer) achamos o fator 7. Como 12 103 = 1 729, 7 temos que 12 103 = 7 1 729. Como os fatores encontrados por acha-fator so sempre primos, sabemos que 7 primo. Portanto, s necessrio aplicar acha-fator novamente ao cofator 1 729 de 7 em 12 103. Aplicando acha-fator a 1 729, descobrimos que 7 tambm fator deste nmero. Mas, 1 729 = 247, 7 de modo que 12 103 = 7 1 729 = 7 (7 247) = 72 247. Novamente, resta-nos aplicar acha-fator ao cofator 247. Desta vez,

i i i

i i

cripto 2009/6/30 i page 32 Estilo OBMEP


i

32 o fator encontrado 13 e 247 = 19, 13 de modo que

CAP. 1: NMEROS INTEIROS

12 103 = 72 247 = 72 (13 19). Contudo, 19 = 4, 35... e fcil vericar que 19 no divisvel por 2, nem 3. Isto nos permite concluir, pela proposio 2 que 19 primo. Reunindo tudo isto conclumos que a fatorao de 12 103 em potncias de primos 12 103 = 72 13 19. Uma maneira bastante ilustrativa de organizar os clculos que zemos acima disp-los ao longo de ramos, da seguinte forma:
w ww ww ww ww 7 1 719 ww ww w ww ww 7 247 ww ww w ww ww ww ww ww w ww

12 103

13 19

19 1

Quando este algoritmo efetuado no papel, costume organiz-lo da seguinte maneira:

i i i

i i

cripto 2009/6/30 i page 33 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

33 ... ... ... ... ... ... ... ... ... ... ... ... no divisvel no divisvel no divisvel divisvel divisvel no divisvel no divisvel divisvel no divisvel no divisvel no divisvel divisvel

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

A primeira coisa a observar que, desta maneira, executamos o algoritmo acha-fator algumas vezes sucessivamente de maneira sistemtica; sempre sobre o cofator do primo achado na rodada anterior. A segunda coisa tem a ver com a passagem da quarta para a quinta linha. Na quarta linha achamos 7 como fator de 12 103; o cofator encontrado foi 1 729. A partir da quinta linha deveramos aplicar acha-fator a 1 729 mas, estranhamente, comeamos de 7 e no de 2: por qu? A explicao est no prximo exerccio. Exerccio 8. Seja n um inteiro positivo e p o fator encontrado pelo algoritmo acha-fator. Se c o cofator de p como divisor de n, mostre que o menor fator que c pode ter p. Podemos formular tudo o que zemos at agora da seguinte maneira:

i i i

i i

cripto 2009/6/30 i page 34 Estilo OBMEP


i

34

CAP. 1: NMEROS INTEIROS

Teorema da Fatorao. Dado um inteiro positivo n 2 podemos sempre escrev-lo na forma n = pe1 . . . pek , 1 k onde 1 < p1 < p2 < p3 < < pk so nmeros primos e e1 , . . . , ek so inteiros positivos. Os expoentes e1 , . . . , ek na fatorao acima so chamados de multiplicidades. Assim, a multiplicidade de p1 na fatorao de n e1 . Observe que n tem k fatores primos distintos, mas que a quantidade total de fatores primos (distintos ou no) a soma da multiplicidades e1 + + ek . Por exemplo, na fatorao 12 103 = 72 13 19; o primo 7 tem multiplicidade 2, ao passo que 13 e 19 tm multiplicidade 1 cada.

Figura 1.2: C. F. Gauss

i i i

i i

cripto 2009/6/30 i page 35 Estilo OBMEP


i

SEC. 1.2: FATORANDO INTEIROS

35

O primeiro a enunciar o resultado acima foi C.F. Gauss no 16 de seu famoso livro Disquisitiones arithmetic. Isto no signica que este fato no houvesse sido usado implicitamente por matemticos desde a Grcia Antiga. Anal Euclides j havia provado na Proposio 31 do Livro VII de seus Elementos que todo nmero composto divisvel por algum primo.

1.2.7

O Teorema da Fatorao nica

Para ser honesto, h mais sobre a fatorao de inteiros do que o enunciado acima leva a crer. De fato cada inteiro maior que 1 admite apenas uma fatorao, desde que, como no enunciado acima, ordenemos os primos em ordem crescente e agrupemos primos iguais em uma nica potncia. Isto pode parecer bvio anal, quem j viu acontecer de duas pessoas obterem fatoraes diferentes de um mesmo nmero? mas no . Discutiremos esta questo com mais detalhes na seo seguinte. O enunciado nal do teorema da fatorao, incluindo sua unicidade, dado a seguir. Teorema da Fatorao nica. Dado um inteiro positivo n 2 podemos escrev-lo, de modo nico, na forma n = pe1 . . . pek , 1 k onde 1 < p1 < p2 < p3 < < pk so nmeros primos ao passo que e1 , . . . , ek so inteiros positivos. Tendo o enunciado preciso deste teorema, podemos explicar porque necessrio excluir 1 da denio de nmero primo. A verdade

i i i

i i

cripto 2009/6/30 i page 36 Estilo OBMEP


i

36

CAP. 1: NMEROS INTEIROS

que, se no zssemos 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 innidade 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 identicar 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 i

i i

cripto 2009/6/30 i page 37 Estilo OBMEP


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

Fenmenos Peridicos e Aritmtica

Naturalmente, o que caracteriza os fenmenos peridicos o fato de se repetirem com regularidade. O tempo que decorre entre uma ocorrncia e outra destes fenmenos chamado de perodo do fenmeno. Assim, a Terra leva 24 horas. para dar uma volta em torno de si mesma, de forma que seu perodo de rotao de 24 horas. J o perodo de revoluo da Terra de 365 dias e um quarto, e corres37

i i i

i i

cripto 2009/6/30 i page 38 Estilo OBMEP


i

38

CAP. 2: ARITMTICA MODULAR

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 tipogrco (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

Quando um fenmeno quase que perfeitamente peridico, tudo se passa como se a histria do fenmeno se repetisse cada vez que o perodo se completa. Em outras palavras, se conhecemos quanto vale o perodo de um tal fenmeno, tudo que precisamos saber a seu respeito pode ser resumido em uma descrio do que ocorre ao longo da passagem de um perodo. Vivemos isto todo dia, por exemplo, nos horrios de aula de uma escola. Embora seja necessrio descrever os horrios de aula de cada matria ao longo de todo o ano, simplicamos esta tarefa utilizando o fato destes horrios se repetirem a cada sete dias. Assim, descrevendo a distribuio de aulas ao longo de uma semana, podemos estend-la

i i i

i i

cripto 2009/6/30 i page 39 Estilo OBMEP


i

SEC. 2.1: FENMENOS PERIDICOS E ARITMTICA

39

para todo o ano letivo, simplesmente repetindo o mesmo horrio a cada semana. Por exemplo, imagine que sua me lhe pergunta se voc ter aula de matemtica no dia 23 de setembro. Para responder esta pergunta basta voc descobrir em que dia da semana cai 23 de setembro e olhar o seu horrio. Como hoje segunda-feira 10 de setembro e como 23 10 = 13, o dia 23 est a 13 dias desta segunda. Por outro lado, 13 = 7 + 6. S que, passado sete dias, estaremos de volta a uma segunda-feira e, a seis dias desta segunda temos um domingo; portanto, a resposta que no h aula de matemtica neste dia qualquer que seja o seu horrio escolar. Antes de encerrar este exemplo, faamos uma anlise matemtica mais detalhada do procedimento usado para resolver o problema do pargrafo anterior. Em primeiro lugar, precisamos conhecer a periodicidade do horrio, que de 7 dias, e quanto tempo vai passar entre hoje e o dia no qual queremos saber se vai ou no haver aula de matemtica. Se d dias vo se passar, dividimos d por 7 e tomamos nota do quociente q e do resto r desta diviso. Mas, a cada sete dias camos no mesmo dia da semana que hoje. Portanto, daqui a d r = 7 q dias tero passado exatamente q semanas e estaremos de volta a uma segunda-feira, como o dia de hoje. O dia da semana daqui a d dias pode ento ser determinado a partir do resto r conforme mostra a tabela 2.1.

Resto Dia

0 segunda

1 tera

2 quarta

3 quinta

4 sexta

5 sbado

6 domingo

Tabela 2.1: Dias da semana

i i i

i i

cripto 2009/6/30 i page 40 Estilo OBMEP


i

40

CAP. 2: ARITMTICA MODULAR

A observao crucial que, do ponto de vista deste problema, quaisquer dois dias que diferem por um intervalo de sete dias, representam o mesmo dia da semana. Uma vez que isto tenha sido observado, o problema se reduz a determinar o resto da diviso de um dado nmero pelo perodo do problema, que neste caso 7.

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

Tabela 2.2: A tabela do jogo No incio do jogo, todos os jogadores devem pr suas peas na casa inicial marcada com o I. Para sair desta casa, cada jogador deve

i i i

i i

cripto 2009/6/30 i page 41 Estilo OBMEP


i

SEC. 2.1: FENMENOS PERIDICOS E ARITMTICA

41

atirar o dado duas vezes consecutivas. Se tirar q da primeira vez e r na segunda, deve andar 6q + r casas no sentido dos ponteiros do relgio. claro que tanto r como q s podem ser nmeros entre 1 e 6, j que foram tirados no dado. Por exemplo, se tirei 3 na primeira jogada do dado e 2 na segunda, devo andar 6 3 + 2 = 20 casas no tabuleiro. Os jogadores continuam atirando os dados desta maneira e avanando ao longo do tabuleiro. Quem chegar primeiro casa nal, marcada com I, ganha o jogo. Digamos que, depois de um certo nmero de jogadas, voc se encontra na casa do tabuleiro marcada com na tabela 2.3. I

Tabela 2.3: Quanto ganhar para encerrar o jogo? A pergunta : Quanto voc tem que tirar em cada uma das jogadas do dado para ganhar o jogo nesta rodada? Uma simples contagem mostra que h 21 casas entre a posio que

i i i

i i

cripto 2009/6/30 i page 42 Estilo OBMEP


i

42

CAP. 2: ARITMTICA MODULAR

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

Tabela 2.4: Tabela do Exerccio 13 Uma pergunta interessante est formulada no prximo problema. Exerccio 14. Ser que possvel ganhar o jogo j na primeira rodada? Quanto algum teria que tirar em cada uma dos lances de dados para que isto acontecesse? Uma coisa ruim deste jogo que ele pode nunca terminar. Exerccio 15. D exemplo de uma sucesso innita de jogadas que faz com que o jogo nunca acabe para um determinado jogador.

i i i

i i

cripto 2009/6/30 i page 43 Estilo OBMEP


i

SEC. 2.1: FENMENOS PERIDICOS E ARITMTICA

43

2.1.3

Prova dos Nove

Outra situao em que o perodo no corresponde a uma variao de tempo ocorre na prova dos nove que aprendemos a fazer no ensino fundamental. Por exemplo, so dados dois nmeros que queremos somar; digamos que so 175 e 234. Efetuamos o resultado e obtemos + 175 234 . 409

Para conferir se zemos 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 i

i i

cripto 2009/6/30 i page 44 Estilo OBMEP


i

44

CAP. 2: ARITMTICA MODULAR

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

Tabela 2.5: Alguns restos mdulo 4 Em geral, dividindo um inteiro positivo a por outro inteiro positivo n, obtemos a = nq + r e 0 r < n.

i i i

i i

cripto 2009/6/30 i page 45 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

45

Por isto, o mesmo resto na diviso por n se repete a cada n inteiros sucessivos, como vimos, experimentalmente, na tabela 2.5 para o caso n = 4. Em vista disto, podemos dizer que os restos da diviso por n se repetem com perodo exatamente igual a n. Note que se trata aqui de uma extenso da utilizao usual da palavra perodo que, neste contexto, no se refere a um intervalo de tempo. Para evitar confuso chamaremos estes perodos generalizados de mdulos.

2.2

Denies e Primeiras Propriedades

hora de sistematizar os clculos efetuados nos vrios exemplos da seo anterior e de considerar algumas aplicaes elementares.

2.2.1

Sistematizando

Para comear, temos um inteiro positivo n que representa o perodo ou mdulo do fenmeno que estamos estudando. Dias, anos, horas e casas na tabela so todos dados por nmeros inteiros e este o nico caso que vamos considerar. Isto , no vamos tratar de perodos como 1 365 4 que o nmero exato de dias que formam um ano. Alis, por isso que a cada quatro anos temos um ano bissexto, que aquele no qual fevereiro tem 29 dias. Analisando cada um dos trs exemplos vistos na seo anterior, vericamos que: no calendrio a cada sete dias estamos no mesmo dia da semana.

i i i

i i

cripto 2009/6/30 i page 46 Estilo OBMEP


i

46

CAP. 2: ARITMTICA MODULAR

no jogo a cada 32 movimentos de uma pea, chegamos mesma casa do tabuleiro; na prova dos nove cada vez que a soma d maior ou igual a 9, retemos apenas sua diferena por 9; nos restos a cada n inteiros obtemos um nmero que deixa o mesmo resto na diviso por n. Lembrando que o mdulo , no primeiro caso 7, no segundo 38, no terceiro 9 e no quarto n, vamos fazer a seguinte denio: se n o mdulo e a e b so nmeros inteiros, ento diremos que a congruente a b mdulo n se a b um mltiplo de n. Assim: o nmero de dias que se passaram, desde primeiro de janeiro, entre dois sbados de um mesmo ano so congruentes mdulo 7; o nmero de movimentos de uma pea, desde o comeo do jogo, ao nal de duas jogadas diferentes que levam a pea a uma mesma casa do tabuleiro so congruentes mdulo 32; dois nmeros que so iguais noves fora, diferem por um mltiplo de 9; dois inteiros com o mesmo resto na diviso por n so congruentes mdulo n.

i i i

i i

cripto 2009/6/30 i page 47 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

47

Se dois inteiros a e b so congruentes mdulo n, escrevemos a b (mod n); se no so congruentes, escrevemos a b (mod n). Assim, 3 8 (mod 5), ao passo que 3 8 Por outro lado, 3 25 (mod 7), embora 3 25 (mod 5). (mod 7).

2.2.2

Propriedades da Congruncia Modular

A congruncia modular satisfaz algumas propriedades que a tornam muito semelhante igualdade usual. As propriedades mais elementares da igualdade so as seguintes: reexiva 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 i

i i

cripto 2009/6/30 i page 48 Estilo OBMEP


i

48

CAP. 2: ARITMTICA MODULAR

No caso da congruncia modular no assim to bvio que estas propriedades so satisfeitas, mas podemos veric-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 codicao 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: reexiva 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 reexiva, devemos vericar que a a (mod n). Mas, pela denio, 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 denio de congruncia mdulo n, a b (mod n) o mesmo que dizer que a b mltiplo de n. Em

i i i

i i

cripto 2009/6/30 i page 49 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

49

outras palavras, se a b (mod n) ento existe algum inteiro k tal que a b = k n. Multiplicando esta equao por 1, obtemos b a = (k) n; isto , b a mltiplo de n, ou ainda, b a (mod n). Para a transitiva, tomamos por hiptese que a b (mod n) e que b c (mod n). Mas estas duas congruncias se traduzem, por denio, nas igualdades a b = k n e b c = n, onde k e so inteiros escolhidos de maneira adequada. Somando estas duas ltimas equaes, (a b) + (b c) = k n + n. Cancelando o b esquerda e usando a distributividade da direita, obtemos a c = (k + ) n, que equivalente congruncia a c (mod n), como requerido pela propriedade transitiva.

i i i

i i

cripto 2009/6/30 i page 50 Estilo OBMEP


i

50

CAP. 2: ARITMTICA MODULAR

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 reexiva da congruncia mdulo n equivalente armao 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).

Vericamos com isto que todo inteiro positivo congruente mdulo n ao resto de sua diviso por n, que um nmero entre 0 e n. Em geral, se a r (mod n) e 0 r < n, dizemos que r o resduo de a mdulo n. Note que usamos o artigo denido ao denir

i i i

i i

cripto 2009/6/30 i page 51 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

51

resduo: o resduo e no um resduo. Isto porque cada nmero s pode ter um resduo mdulo n. De fato, se ar ar (mod n) com 0 r n 1; (mod n) com 0 r n 1;

ento, pelas propriedades simtrica e transitiva, temos que r r (mod n). Digamos que r r . Pela denio da congruncia, isto signica que r r um mltiplo de n. Mas tanto r, quanto r so menores que n, de modo que 0 r r < n. Isto signica que r r s pode ser mltiplo de n se o cofator correspondente for zero; o que nos d r = r , mostrando que os dois resduos, r e r tm que ser iguais. Aparentemente a nica coisa que zemos ao introduzir os resduos foi inventar um nome novo para o resto, mas no bem assim. Note que o termo resduo se aplica a qualquer inteiro, positivo ou negativo, ao passo que o resto geralmente usado quando dividimos um inteiro positivo por n. O que ocorre, ento, se a for negativo? Para tornar o argumento mais claro, convm comear com um exemplo. Seja n = 6 e a = 55. Nosso objetivo calcular o resduo de 55 mdulo 6; em outras palavras, queremos achar um inteiro 0 r < 6 tal que 55 r (mod 6). Poderamos proceder por tentativa, mas vamos tratar o problema de maneira mais sistemtica para podermos lidar mesmo com o caso em que o n for grande. Para isto, dividimos 55 por 6, obtendo quociente 9 e resto 1: 55 = 9 6 + 1.

i i i

i i

cripto 2009/6/30 i page 52 Estilo OBMEP


i

52 Multiplicando tudo por 1,

CAP. 2: ARITMTICA MODULAR

55 = (9) 6 1, de forma que 55 1 (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,

onde q e r so o quociente e o resto da diviso. Multiplicando esta equao por 1, obtemos a = n (q) r isto a r (mod n) e 0 r < n. e 0 r < n;

i i i

i i

cripto 2009/6/30 i page 53 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

53

Se r = 0, ento a 0 (mod n) e j achamos o resduo. Se r = 0, ento (n r) (r) = n nos diz que r n r (mod n),

de modo que a transitividade da congruncia nos permite concluir que anr (mod n).

Ainda precisamos nos certicar que n r um resduo mas, para isto, basta vericar que est entre 0 e n 1. Como r 0 e r = 0, temos que r > 0. Logo n r < n. Entretanto, r < n, donde conclumos que n r > 0. Para poder descrever o que zemos de maneira sucinta, denimos 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 = 0 e a 0; n r se r = 0 e a < 0.

i i i

i i

cripto 2009/6/30 i page 54 Estilo OBMEP


i

54 Vejamos um exemplo:

CAP. 2: ARITMTICA MODULAR

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, anal 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 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; anal, 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. (mod 6)

i i i

i i

cripto 2009/6/30 i page 55 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

55

H uma outra maneira de dizer que a deixa resduo r mdulo n que, apesar de s vezes produzir alguma confuso, usual e muito conveniente. Como a r (mod n) signica que, para algum inteiro k, a = k n + r, dizemos simplesmente que a da forma kn + r. Usando esta terminologia, o enunciado da proposio 4 passaria a ser todo primo p > 3 da forma 6k + 1 ou da forma 6k + 5. O prximo exerccio est enunciado usando esta terminologia. Exerccio 18. Mostre que todo primo mpar da forma 4k + 1 ou da forma 4k + 3. D exemplos de nmeros da forma 4k + 1 e da forma 4k + 3 que no so primos. O desao abaixo uma generalizao da proposio 4. Antes de abord-lo talvez voc queira rever o exerccio 5, ao qual est relacionado. Desao 2. Seja n > 3 um inteiro e p > n um nmero primo. Quais os resduos possveis para n! mdulo p?

2.2.4

Adio, Multiplicao e Congruncia

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 i

i i

cripto 2009/6/30 i page 56 Estilo OBMEP


i

56

CAP. 2: ARITMTICA MODULAR

gruncia funciona de maneira muito semelhante igualdade de inteiros. O segundo consequncia da prpria denio 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 ltro: 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 ltro colorido? Por exemplo, se olhamos para vrias bolas coloridas iguais, exceto pela cor, atravs de um ltro 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 a (mod n) e b b (mod n), o que podemos armar sobre a relao entre a + b e a + b ? Usando a imagem da congruncia como um ltro fcil descobrir qual deveria ser a resposta a esta pergunta. De fato, se no temos como distinguir entre duas bolas coloridas a e a , nem entre duas bolas coloridas b e b porque estamos olhando para elas atravs de um ltro vermelho, como poderemos ser capazes de distinguir entre os conjuntos formados por a e b, de um lado, e a e b do outro? claro que, neste caso, os conjuntos parecero iguais. Portanto, inspirados na concluso fornecida por esta imagem, esperamos poder mostrar

i i i

i i

cripto 2009/6/30 i page 57 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

57

que:

se a a (mod n) e b b (mod n), ento a + b a + b (mod n).

O problema que o ltro colorido apenas uma imagem para nos guiar, no h como ter certeza de que esta imagem vai ser adequada neste caso. Contudo, uma vez que tenhamos tomado uma deciso sobre qual deveria ser a resposta, podemos test-la em alguns casos simples. Por exemplo, 51 31 (mod 5) e 43 103 ao passo que 51 + 43 = 94 e 31 + 103 = 134; contudo, 94 134 = 40 = 5 8 donde 94 134 (mod 5). (mod 5),

Embora exemplos como este e quaisquer outros que decidamos inventar aumentem nossa conana 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 i

i i

cripto 2009/6/30 i page 58 Estilo OBMEP


i

58 Temos, ento, como hiptese que aa

CAP. 2: ARITMTICA MODULAR

(mod n) e b b

(mod n).

Mas, usando a denio, podemos traduzir estas congruncias na forma das seguintes igualdades de inteiros a a = k n e b b = n, onde, como em ocasies anteriores, k e so os respectivos cofatores. Somando, agora, as duas equaes, resulta que (a a ) + (b b ) = k n + n. Rearrumando o lado esquerdo e usando a distributividade do lado direito, (a + b) (a + b ) = (k + ) n; que, traduzido na linguagem de congruncias, nos d (a + b) (a + b ) (mod n); conrmando nossas suspeitas. Exerccio 19. Mostre que, se a a (mod n) e b b (mod n), ento a b a b (mod n). Passando, agora, pergunta anloga para a multiplicao: Se a a (mod n) e b b (mod n), o que podemos armar sobre a relao entre a b e a b ?

i i i

i i

cripto 2009/6/30 i page 59 Estilo OBMEP


i

SEC. 2.2: DEFINIES E PRIMEIRAS PROPRIEDADES

59

Nossa experincia anterior com a adio nos permite armar, com uma conana razovel, que a resposta deve ser que aba b (mod n).

Testando nossa concluso no mesmo exemplo usado no caso da adio, temos de 51 31 (mod 5) e 43 103 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 a (mod n) e b b (mod n), ento a b a b (mod n). Como no caso da adio, as congruncias aa (mod n) e b b (mod n). (mod 5),

se traduzem como as igualdades de inteiros aa =kn e bb = n onde k e so inteiros. Copiando o que zemos no caso da adio, deveramos multiplicar estas equaes; s que, desta vez, mais con-

i i i

i i

cripto 2009/6/30 i page 60 Estilo OBMEP


i

60

CAP. 2: ARITMTICA MODULAR

veniente reescrever estas equaes em outra forma, antes de fazer clculos com elas. A forma desejada a=a +kn para a primeira, e b = b + n, para a segunda. Multiplicando estas duas equaes, membro a membro, temos a b = (a + k n)(b + n). (2.2.1) Utilizando a distributividade da multiplicao sobre a soma, o lado direito se expande na forma (a + k n)(b + n) = a b + a n + k n b + k n n. Pondo n em evidncia, (a + k n)(b + n) = a b + n (a + k b + k n). Comparando esta ltima equao com (2.2.1), vemos que a b = a b + n (a + k b + k n); donde, a b a b = n (a + k b + k n), de modo que a diferena a b a b um mltiplo de n. Mas isto equivale a dizer que ab a b (mod n), como pretendamos mostrar. Resumindo, provamos as seguintes frmulas.

i i i

i i

cripto 2009/6/30 i page 61 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

61

Proposio 5. Se a a (mod n) e b b (mod n), ento: a + b a + b (mod n); a b a b (mod n). Em particular, ak (a )k (mod n), para qualquer k 0. Tendo feito o esforo de vericar estas propriedades, resta-nos ver que realmente valeu a pena.

2.3

Critrios de Divisibilidade

Nesta seo utilizaremos o que aprendemos sobre a congruncia modular para estabelecer alguns critrios simples de divisibilidade por primos. Como bnus, provaremos tambm que a prova dos nove funciona corretamente. Se n for um inteiro positivo, ento um critrio de divisibilidade por n uma regra que nos permite determinar se um dado inteiro , ou no divisvel por n, a um custo menor que o de efetuar a diviso. claro que a parte crtica desta denio a ltima: o custo de aplicar a regra que corresponde ao critrio tem que ser menor que dividir o nmero dado por n, seno o critrio simplesmente no vale a pena. Por exemplo, um nmero inteiro divisvel por 5 se, e somente se, seu algarismo das unidades 0 ou 5

i i i

i i

cripto 2009/6/30 i page 62 Estilo OBMEP


i

62

CAP. 2: ARITMTICA MODULAR

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

Um outro critrio bem conhecido o de divisibilidade por 3: um nmero inteiro divisvel por 3 se, e somente se, a soma dos seus algarismos divisvel por 3. S que, desta vez, o critrio no segue imediatamente as regularidades relativas aos mltiplos de 3 que nos so familiares. Usaremos, a seguir, a congruncia mdulo 3 para provar que este critrio verdadeiro. Para comear, seja a o nmero inteiro que queremos saber se ou no divisvel por 3. Para poder aplicar o critrio, precisamos conhecer os algarismos de a. Digamos que an an1 . . . a1 a0 ,

i i i

i i

cripto 2009/6/30 i page 63 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

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 . Contudo, 10 1 (mod 3). Por outro lado, 102 = 10 10, satisfaz 102 10 10 1 1 1 (mod 3). Observe que a congruncia da esquerda bvia pois dois nmeros iguais so congruentes qualquer que seja o mdulo escolhido. J a segunda congruncia bem mais interessante. Como vimos em 2.2.4, (2.3.1)

se a a (mod n) e b b (mod n), ento a b a b (mod n).

Tomando, a = b = 10 e a = b = 1, podemos concluir de 10 1 (mod 3) que 102 12 1 (mod 3). Nada nos impede de parar aqui. Assim, 103 = 102 10,

i i i

i i

cripto 2009/6/30 i page 64 Estilo OBMEP


i

64 nos diz que

CAP. 2: ARITMTICA MODULAR

103 102 10 (mod 3). Como j sabemos que 10 1 (mod 3) e acabamos de vericar que 102 1 (mod 3), podemos concluir da propriedade da multiplicao e da transitividade da congruncia que 103 102 10 1 1 1 (mod 3). Exerccio 21. Use um argumento semelhante para calcular 104 mdulo 3. Voc consegue imaginar duas maneiras diferentes de organizar este clculo? fcil imaginar que este procedimento pode ser continuado indenidamente e que nos permite vericar que 10k 1 (mod 3) qualquer que seja o inteiro k 0 escolhido. O que que 10k 1 (mod 3) nos diz sobre a divisibilidade por 3? Voltando um pouco atrs, lembre-se que havamos chegado concluso que a = an 10n + an1 10n1 + + a1 10 + a0 . Contudo, pela propriedade reexiva da congruncia, isto implica que a an 10n + an1 10n1 + + a1 10 + a0 (mod 3).

Mas, como acabamos de ver, cada uma das potncias de 10 mdulo 3 congruente a 1. Usando isto e as duas propriedades que relacionam

i i i

i i

cripto 2009/6/30 i page 65 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

65

a adio e a multiplicao congruncia, conclumos que an 10n +an1 10n1 + +a1 10+a0 an +an1 + +a1 +a0 Logo, pela transitividade, a an + an1 + + a1 + a0 (mod 3), (mod 3).

que exatamente o que precisamos para podermos concluir o critrio de divisibilidade por 3. De fato, dizer que a divisvel por 3 o mesmo que dizer que a 0 (mod 3). Como a an + an1 + + a1 + a0 (mod 3),

a transitividade nos garante que a 0 (mod 3) ocorre exatamente quando an + an1 + + a1 + a0 0 (mod 3); que, por sua vez, equivale a dizer que an + an1 + + a1 + a0 divisvel por 3. Mas, an + an1 + + a1 + a0 a soma dos algarismos de a; portanto, a divisvel por 3 se, e somente se, a soma an + an1 + + a1 + a0 dos seus algarismos for divisvel por 3,

i i i

i i

cripto 2009/6/30 i page 66 Estilo OBMEP


i

66 o que prova que o critrio est correto.

CAP. 2: ARITMTICA MODULAR

Este argumento pode ser copiado para nos dar um critrio semelhante, s que desta vez para a divisibilidade por 11. Para obt-lo, resolva o prximo exerccio. Exerccio 22. Com este exerccio procuramos determinar um critrio de divisibilidade por 11. Procederemos de maneira semelhante ao que foi feito acima. Para isto: (a) determine quanto vale 10k mdulo 11; (b) escrevendo a na forma da equao (2.3.1), calcule a mdulo 11 usando o resultado obtido em (a).

2.3.2

Prova dos Nove

Com o que zemos para provar o critrio de divisibilidade por 3 estamos prontos para vericar porque a prova dos nove funciona corretamente. Como vimos na pgina 43, a principal operao da prova dos nove pode ser denida, sobre um inteiro positivo a, da seguinte maneira a se a < 9; a noves fora igual a a 9 se a 9. Sejam a e a 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 i

i i

cripto 2009/6/30 i page 67 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

67

onde a0 o algarismo das unidades, a1 o algarismo das dezenas, e assim por diante. Isto equivale a dizer que, se a tem n algarismos, ento a = an 10n + an1 10n1 + + a1 10 + a0 ; donde a an 10n + an1 10n1 + + a1 10 + a0 (mod 9).

Como, 10 1 (mod 9), temos que qualquer potncia de 10 tambm congruente a 1 mdulo 9, e assim, a an + an1 + + a1 + a0 (mod 9);

de forma que o resduo de a mdulo 9 igual ao resduo mdulo 9 da soma dos seus algarismos. Alm disso, usando as frmulas da proposio 5, podemos calcular o resduo de an + an1 + + a1 + a0 passo a passo. Comeamos determinando o resduo rn de an mdulo 9. Como an um algarismo e, portanto, est entre 0 e 9, isto pode ser feito usando a operao noves fora; o que nos d a se an < 9; n rn = 0 se a = 9.
n

Em seguida, calculamos o resduo rn1 de rn + an1 an + an1 (mod 9).

i i i

i i

cripto 2009/6/30 i page 68 Estilo OBMEP


i

68

CAP. 2: ARITMTICA MODULAR

Contudo, como 0 rn < 9 e 0 an1 9, temos que 0 rn + an1 < 18, de modo que, para achar seu resduo mdulo 9, precisamos, no mximo, subtrair 9 de rn + an1 . Em outras palavras, basta fazer noves fora em rn + an1 . Em seguida vem o resduo rn2 de rn1 + an2 an + an1 + an2 (mod 9) que, pelo mesmo argumento, igual a noves fora rn1 + an2 . O processo continua desta maneira at obtermos r0 que, sendo o resduo de r1 + a0 an + an1 + an2 + + a0 (mod 9) igual a noves fora r1 + a0 . Moral da histria, aplicando noves fora soma progressiva dos algarismos de a, obtemos o resduo r0 de a mdulo 9. Evidentemente, ao aplicarmos o mesmo processo a a e a a + a obtemos seus resduos r0 e s0 mdulo 9. A prova dos nove segue, ento, das frmulas da proposio 5, segundo as quais r0 + r0 a + a s0 (mod 9).

Exerccio 23. Mostre que possvel obter, de maneira semelhante, uma prova dos trs. A prova dos trs ainda mais fcil de aplicar que a dos nove, ento por que nunca ouvimos falar dela? Exerccio 24. Mostre que h muitas contas incorretas que a prova dos nove detecta que esto erradas, mas que parecem corretas quando aplicamos a prova dos trs.

i i i

i i

cripto 2009/6/30 i page 69 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

69

Como vimos em 2.1.3, a prova dos nove no se aplica apenas adio, um argumento anlogo ao que zemos acima mostra que tambm pode ser usada para a multiplicao. E mais: apesar de raramente ouvirmos falar da prova dos nove para a diviso, ela tambm pode ser utilizada para esta operao. Exerccio 25. Formule uma verso da prova dos nove para a diviso e mostre que funciona corretamente.

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 zermos isto. Para comear, sabemos que expressar um inteiro a a partir dos seus algarismos an an1 a1 a0 signica que a = an 10n + an1 10n1 + a1 10 + a0 .

i i i

i i

cripto 2009/6/30 i page 70 Estilo OBMEP


i

70 Como isto implica que

CAP. 2: ARITMTICA MODULAR

a an 10n + an1 10n1 a1 10 + a0

(mod 7),

o critrio segue por transitividade se pudermos determinar a que so congruentes as vrias potncias de 10 mdulo 7. Aplicando a mesma estratgia j usada em 2.3.1, temos as seguintes congruncias mdulo 7: 101 3 (mod 7), (mod 7),

102 32 2 (mod 7), 103 10 102 3 2 6 1 10 10 10 (1) 3 4


4 3

(mod 7),

105 10 104 3 4 5 (mod 7), 106 10 105 3 5 1 (mod 7). Para efetuar estes clculos usamos livremente as vrias propriedades da congruncia que j conhecemos. Paramos na sexta potncia simplesmente porque, da em diante os restos vo se repetir. De fato, 107 106 10 1 3 3 (mod 7), ao passo que 108 106 102 1 102 2 (mod 7),

e assim por diante. Mais precisamente, se m um inteiro qualquer e

i i i

i i

cripto 2009/6/30 i page 71 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

71

q e r seu quociente e resto mdulo 6, ento 10m 106q+r (106 )q 10r Como 106 1 (mod 7), conclumos que (106 )q 10r 10r e a transitividade nos d 10m 10r (mod 7). (mod 7); (mod 7).

Mas isto timo porque, sendo um resto da diviso por 6, r satisfaz a desigualdade 0 r 5, de modo que 10r pode ser determinado facilmente da lista das potncias mdulo 7 calculada acima. Por exemplo, 101 007 105 5 (mod 7), porque 1 007 deixa resto 5 na diviso por 6. Exerccio 26. Calcule o valor das seguintes potncias de 10 mdulo 7: 109 876 , 106 543 e 101 247 . Voltando questo da divisibilidade por 7, devemos aplicar o valor das potncias calculadas acima congruncia a = an 10n + an1 10n1 + a1 10 + a0 .

i i i

i i

cripto 2009/6/30 i page 72 Estilo OBMEP


i

72

CAP. 2: ARITMTICA MODULAR

Fazendo isto, e escrevendo as potncias da maior para a menor, temos a a0 + a1 3 + a2 2 + a3 6 + a4 4 + a5 5 + a6 + +a7 3 + + an 10r (mod 7), onde r o resto da diviso de n por 6. O que voc acha? mais fcil aplicar isto, ou dividir a por 7 e ver se o resto zero? Como tenho diculdade em lembrar sequncias de nmeros (inclusive, infelizmente, nmeros de telefone...) e como dicilmente vou precisar vericar, na mo, se um nmero maior que 1 000 000 divisvel por 7, a minha escolha recairia em efetuar a diviso diretamente. Por sorte, h uma outra maneira de enunciar o critrio de divisibilidade por 7 que o torna mais fcil de lembrar. Antes, porm, precisamos de alguma preparao. Digamos que, como antes, a = an 10n + an1 10n1 + a1 10 + a0 . Isolando o algarismo das unidades de a podemos escrever a = (an 10n1 + an1 10n2 + a1 ) 10 + a0 . Note que pusemos 10 em evidncia. Assim, se escrevermos a = (an 10n1 + an1 10n2 + a1 ), teremos a = a 10 + a0 .

i i i

i i

cripto 2009/6/30 i page 73 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

73

Um exemplo pode esclarecer o que zemos. Digamos que a = 12 346 998 654 343 que tem como algarismo das unidades a0 = 3. Assim, a = 1 234 699 865 434 10 + 3, de modo que, neste caso, a = 1 234 699 865 434. Exerccio 27. Determine a0 e a para cada um dos nmeros a indi cados abaixo: a = 87 645 564 348, a = 85 735 214 421 e a = 981 231 111. Uma vez que tenhamos escrito a na forma a = 10 a + a0 , aplicamos a congruncia mdulo 7. Como 10 3 (mod 7), temos que a 10 a + a0 3 a + a0 Portanto, pela transitividade, a 3 a + a0 isto , (mod 7); (2.3.2) (mod 7).

i i i

i i

cripto 2009/6/30 i page 74 Estilo OBMEP


i

74

CAP. 2: ARITMTICA MODULAR

a divisvel por 7 se, e somente se 3 a + a0 tambm for. Por exemplo, digamos que desejamos saber se 128 divisvel por 7. Como, se a = 128, ento a0 = 8 e a = 12, temos que 3 a + a0 = 12 3 + 8 = 44. Como 44 no divisvel por 7, o critrio acima nos garante que 128 tambm no pode ser. Podemos reformular este critrio de uma maneira ainda mais agradvel. Para isto multiplicamos ambos os membros de (2.3.2) por 2, o que nos d 2 a 2 (3 a + a0 ) 6 a + 2 a0 (mod 7),

pela distributividade. Contudo, 6 1 (mod 7), donde 2 a + 2 a0 a Claramente, se a 0 (mod 7), ento + 2 a0 0 (mod 7), a (2.3.3) (mod 7).

pela transitividade da congruncia. Por exemplo, sabendo que 875 mltiplo de 7, podemos concluir que 87 + 2 5 = 77 tambm tem que ser. Infelizmente estamos andando na direo errada. Anal, difcil imaginar algum que soubesse que 875 mltiplo

i i i

i i

cripto 2009/6/30 i page 75 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

75

de 7, mas ignorasse que 77 tambm . O que seria til se fssemos capazes de provar a recproca; isto , que se + 2 a0 0 (mod 7), a (2.3.4) ento a 0 (mod 7). Para isto precisamos desfazer o que zemos 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 ( + 2 a0 ) 3 0 (mod 7). a 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). Acontece que 3 a + a0 a (mod 7) (2.3.5)

i i i

i i

cripto 2009/6/30 i page 76 Estilo OBMEP


i

76

CAP. 2: ARITMTICA MODULAR

de forma que (2.3.5) pode ser reescrita na forma a 0 (mod 7), que o mesmo que dizer que 7 divide a. Resumindo, mostramos que se + 2 a0 0 (mod 7) ento a 0 (mod 7). a Logo, para mostrar que 7 divide a, basta testar se 7 divide 3 a a0 , de acordo com a decomposio de a expli cada anteriormente. Voltando ao exemplo anterior, como 87 + 2 5 = 77 obviamente divisvel por 7, podemos concluir que 875 tambm . Partindo para um exemplo mais impressionante, digamos que queremos saber se a = 10 794 , ou no divisvel por 7. Neste caso, a0 = 4 e a = 1079, de modo que, pelo critrio estabelecido acima, basta descobrir se 7 divide ou no + 2 a0 = 1 079 + 2 4 = 1 071. a Como isto ainda no fcil de determinar, vamos usar o critrio

i i i

i i

cripto 2009/6/30 i page 77 Estilo OBMEP


i

SEC. 2.3: CRITRIOS DE DIVISIBILIDADE

77

novamente, s que desta vez para b = 1 071. Temos que b0 = 1 e a = 107, e assim + 2 b0 = 107 + 2 1 = 105. b Portanto, usando novamente o critrio, se 7 divide 105 ou, o que d no mesmo, se 7 divide 105, ento 7 divide b. Como ainda no sei se 7 divide ou no 105, vou aplicar o critrio uma ltima vez, agora a c = 105 que tem c0 = 5 e c = 10. Como + 2 c0 = 10 + 2 5 = 0 c 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 i

i i

cripto 2009/6/30 i page 78 Estilo OBMEP


i

78 visveis por 7.

CAP. 2: ARITMTICA MODULAR

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 i

i i

cripto 2009/6/30 i page 79 Estilo OBMEP


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 Denies

Voc deve ter observado o importante papel que os nmeros 2 e 3 desempenharam no argumento em 2.3.3. Precisvamos mostrar que duas congruncias eram equivalentes; mais precisamente, as congruncias dadas nas equaes (2.3.2) e (2.3.3). Vericamos que, multiplicando (2.3.2) por 2, obtnhamos (2.3.3), ao passo que, multiplicando (2.3.3) por 3, obtnhamos (2.3.2). O segredo para o sucesso desta 79

i i i

i i

cripto 2009/6/30 i page 80 Estilo OBMEP


i

80 conta est na congruncia

CAP. 3: INVERSOS MODULARES

2 3 1 (mod 7). Utilizando a linguagem que usaramos se estivssemos calculando com nmeros racionais, podemos dizer que 1 dividido por 2 igual a 3. Multiplicando toda a congruncia por 1 obtemos 2 (3) 1 Como 3 4 podemos concluir que 2 4 1 (mod 7) e 5 3 1 (mod 7). (mod 7) e 25 (mod 7), (mod 7) e tambm (2) 3 1 (mod 7).

Neste caso, tambm podemos dizer que 1 dividido por 2 mdulo 7 d como resultado 5 e 1 dividido por 3 d 5. Quando isto ocorre, dizemos que 2 e 4 so inversos mdulo 7, e o mesmo se d com 3 e 5. Sistematizando o contedo do pargrafo anterior, diremos que a e a so inversos mdulo n se a a 1 (mod n). Neste caso, tambm dizemos que a o inverso de a mdulo n, e vice-versa. Na tabela abaixo listamos cada um dos resduos distintos possveis de inteiros mdulo 11, indicando o resduo do seu respectivo inverso. Note que 0 no pode ter inverso mdulo n no importa que

i i i

i i

cripto 2009/6/30 i page 81 Estilo OBMEP


i

SEC. 3.1: MOTIVAO E DEFINIES

81

valor n assuma, j que 0 b 0 (mod n) qualquer que seja b Z. Por isso sequer listamos zero entre os resduos na tabela. Voc pode

Resduo 1 2 3 4 5 6 7 8 9 10

Inverso Mdulo 11 1 6 4 3 9 2 8 7 5 10

estar se perguntando como os inversos nesta tabela foram obtidos. Embora exista uma maneira sistemtica de calcular inversos mdulo n, ela trabalhosa demais para valer pena aplic-la quando o mdulo n um nmero pequeno. Por isso, os inversos na tabela foram determinados por tentativa. Em outras palavras, para achar o inverso de 2 mdulo 11, multiplicamos 2 pelos inteiros de 2 em diante

i i i

i i

cripto 2009/6/30 i page 82 Estilo OBMEP


i

82

CAP. 3: INVERSOS MODULARES

at obter a congruncia desejada; neste caso, 2 2 4 1 (mod 11) 2 3 6 1 (mod 11) 2 4 8 1 (mod 11) 2 5 10 1 (mod 11) 2 6 12 1 (mod 11)

e obtivemos o inverso procurado. Note que isto signica que 6 tem como inverso 2, de modo que acabamos por preencher duas linhas da tabela, a segunda e a sexta. Na verdade, podemos utilizar um pouco mais que mera tentativa, porque se nos restringimos aos inteiros entre 1 e n 1, ento cada um destes inteiros tem exatamente um inverso neste intervalo. De fato, se a e a so ambos inversos de a mdulo n, ambos entre 1 e n 1, ento a a 1 (mod n) e a a 1 (mod n); donde conclumos que a (a a ) a 1 a e tambm que (a a) a 1 a a (mod n). (mod n)

Mas tudo o que zemos foi mudar a posio dos parnteses, e isto no

i i i

i i

cripto 2009/6/30 i page 83 Estilo OBMEP


i

SEC. 3.1: MOTIVAO E DEFINIES

83

altera o resultado da conta, logo a a (mod n).

Mas isto signica que a diferena a a divisvel por n. Contudo, a e a so positivos e menores que n, de modo que n < a a < n. Logo, a nica maneira de a a ser mltiplo de n se for igual a zero; donde a = a . Voc pode estar pensando: Muito bom, muito bem; mas de que forma isto ajuda na hora de calcular a tabela? A resposta que, se j sabemos, por exemplo, que 2 e 6 so inversos um do outro mdulo 11, ento nem 2 nem 6 podem ser inversos de 3 mdulo 11. Assim, procuraremos pelo resduo do inverso de 3 apenas entre os inteiros 3, 4, 5, 7, 8, 9 e 10. Por isso, quanto mais inversos determinamos, mais rpido ca determinar os que ainda faltam. Exerccio 30. Usando as estratgias descritas acima, determine um inverso para cada um dos resduos distintos mdulo 7 e para cada um dos resduos distintos mdulo 13. Note que existem alguns nmeros que so seus prprios inversos. Na tabela mdulo 11, isto vale para 1 e 10. No caso de 1 isto no nenhuma surpresa, anal 1 1 = 1; j para 10 o resultado no parece to bvio. Contudo, o fato de 10 ser seu prprio inverso mdulo 11

i i i

i i

cripto 2009/6/30 i page 84 Estilo OBMEP


i

84

CAP. 3: INVERSOS MODULARES

no mera coincidncia, como talvez voc j tenha desconado ao calcular as tabelas correspondentes a 7 e a 13 no exerccio 30. No prximo exerccio voc encontrar a explicao para este fenmeno.

Exerccio 31. Mostre que n 1 sempre seu prprio inverso mdulo n.

Uma questo mais sutil se pode haver algum nmero n para o qual existe um inteiro a entre 2 e n 2, que seu prprio inverso mdulo n. Em outras palavras, existem inteiros n > 1 e a de modo que 2 a n 2 e a2 1 (mod n)? A resposta sim, mas o desao de construir tais nmeros ca para voc.

Desao 3. Construa innitos nmeros n para os quais existe um inteiro a, entre 2 e n 2, que seu prprio inverso mdulo n.

3.2

Inexistncia de Inverso

Vamos calcular uma nova tabela de inversos, desta vez a tabela dos inversos dos resduos distintos mdulo 8. Como 1 seu prprio

i i i

i i

cripto 2009/6/30 i page 85 Estilo OBMEP


i

SEC. 3.2: INEXISTNCIA DE INVERSO

85

inverso, comearemos com 2; efetuando os clculos vemos que 2 2 4 1 (mod 8) 2 3 6 1 (mod 8) 2 4 0 1 (mod 8) 2 5 2 1 (mod 8) 2 6 4 1 (mod 8) 2 7 6 1 (mod 8)

e, surpreendentemente, descobrimos que 2 no tem inverso mdulo 8. Talvez voc ache que teria sido mais preciso dizer descobrimos que 2 no tem inverso mdulo 8 entre os nmeros inteiros menores que 8. Lembre-se, contudo, que todo inteiro congruente mdulo 8 ao seu resduo. Como calcular com um nmero ou com seu resduo produzem o mesmo resultado mdulo 8, no pode haver nenhum inteiro que inverta 2, j que tal inteiro no existe entre os nmeros inteiros de 1 a 8. Como se isto no bastasse, apareceu um resultado muito estranho nos clculos acima: embora 2 e 4 no sejam congruentes a zero mdulo 8, o produto deles dois 8, que congruente a zero mdulo 8. como se estivssemos dizendo que o produto de dois nmeros no nulos deu zero, o que muito esquisito. A lista completa dos inversos mdulo 8 dada na tabela 3.1

i i i

i i

cripto 2009/6/30 i page 86 Estilo OBMEP


i

86 Resduos 1 2 3 4 5 6 7

CAP. 3: INVERSOS MODULARES

Inverso Mdulo 8 1 3 5 7

Tabela 3.1: Inversos mdulo 8 O asterisco que aparece na coluna dos inversos indica que o elemento correspondente no tem inverso. Neste caso, 2, 4 e 6 no admitem inverso mdulo 8. A propsito, voc observou que cada um dos elementos que tem inverso mdulo 8 seu prprio inverso? Ser que h uma regularidade clara que nos permita determinar quais so os elementos que tm inverso, e quais os que no tm inverso mdulo n, para um dado n? Pelo menos no caso do mdulo 8, a regularidade clara: os mpares tm inverso, os pares no. Vejamos o que acontece com outros mdulos; para isso, calcularemos mais algumas tabelas. Exerccio 32. Determine um inverso para cada um dos resduos distintos mdulo 6 e para cada um dos resduos distintos mdulo 15. Tendo calculado as tabelas, voc ter vericado que s vezes um mpar pode no ter inverso, e s vezes um par pode ter inverso, e com isso l se foi nossa proposta de regularidade. Mas se voc est lendo isto de maneira crtica (sem se deixar levar pela minha lbia...), deve estar se perguntando:

i i i

i i

cripto 2009/6/30 i page 87 Estilo OBMEP


i

SEC. 3.2: INEXISTNCIA DE INVERSO

87

Tem uma coisa esquisita nisso tudo. Eu j tinha feito um exerccio assim, s que para 7 e 13, e todos os resduos tinham inverso; uma maravilha! Agora ele me fala para fazer para 6 e 12 e aparecem vrios resduos sem inverso. Por que s agora? O que que 7 e 13 tm de bom, que falta a 6 e 15? A resposta, evidentemente, que 7 e 13 so primos, ao passo que 6 e 15 so compostos. Ento eu pergunto: olhando para as tabelas que voc calculou, qual a relao entre os nmeros que no tm inverso e os mdulos correspondentes? Se voc pensou com cuidado, ter visto que tanto para o mdulo 8, quanto para os mdulos 6 e 15, os resduos que no tm inverso so aqueles que tm um fator primo comum com o mdulo. por isso que os pares no tm inverso mdulo 8. Para falar a verdade, fcil entender porque isto acontece. Mas antes, um exerccio. Nossa tentativa frustrada de descobrir o inverso de 2 mdulo 8 revelou-nos que 2 4 0 (mod 8), muito embora, nem 2, nem 4 sejam congruentes a zero mdulo 8. Exerccio 33. Para cada um dos resduos a que no tm inverso mdulo 6, determine um resduo b 0 (mod 6) tal que a b 0 (mod 6). Faa o mesmo para os resduos que no tm inverso mdulo 15. Este exerccio parece sugerir que h uma forte ligao entre no ter inverso mdulo n e ser anulado mdulo n pelo produto com um

i i i

i i

cripto 2009/6/30 i page 88 Estilo OBMEP


i

88

CAP. 3: INVERSOS MODULARES

resduo no nulo. Como veremos abaixo, exatamente isto que acontece. Digamos que n e 1 < a < n so inteiros positivos que tm um fator primo comum 1 < p < n. Podemos, ento, escrever n=pc e a = p e,

onde c e e so os cofatores correspondentes. Como 1 < p < n ento c = n/p tambm satisfaz 1 < c < n. Por sua vez, como 1 < a < n por hiptese, temos que nem c, nem a so congruentes a zero mdulo n. Contudo, c a c p e (mod n). Ocorre que n = c p, e assim cpn0 donde c a c p e 0 (mod n). (3.2.1) (mod n);

Bacana, no? Mas, como usar isto para vericar 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 a mdulo n. Neste caso, deveramos ter que a a 1 (mod n).

i i i

i i

cripto 2009/6/30 i page 89 Estilo OBMEP


i

SEC. 3.2: INEXISTNCIA DE INVERSO

89

Multiplicando ambos os membros da congruncia por c (o mesmo cofator c determinado acima), obtemos c (a a ) c (mod n). Reagrupando os parntesis, (c a) a c (mod n). S que, pela equao (3.2.1), c a 0 (mod n); de modo que (c a) a 0 a 0 (mod n). (3.2.2)

Comparando isto com a equao (3.2.2), conclumos que c 0 (mod n); isto , n divide c. S que isto no pode ser verdade porque, como vimos acima, 1 < c < n. Obtivemos, assim, uma concluso absurda. Isto ocorreu porque zemos uma hiptese falsa ao supor que a tem inverso mdulo n. Portanto, a no pode ter inverso mdulo n, como havamos armado antes. Resumindo, mostramos o seguinte resultado.

Teorema 1. Se existir um fator primo comum entre a e n, ento a no tem inverso mdulo n.

i i i

i i

cripto 2009/6/30 i page 90 Estilo OBMEP


i

90

CAP. 3: INVERSOS MODULARES

3.2.1

Cancelamento

H uma consequncia importante da inexistncia do inverso que vai surgir em nossas aplicaes posteriores, por isso vamos discuti-la agora. Se estamos calculando com nmero inteiros e nos deparamos com uma igualdade do tipo a c = b c, pensamos imediatamente em cancelar o c e concluir que a = b. Contudo, sabemos que isto s possvel se c = 0, porque multiplicar por zero iguala o produto a zero. Infelizmente, quando trabalhamos com congruncias a situao torna-se bem pior. Comecemos por um exemplo. Sabemos que 20 ao passo que 2360 Assim, apesar da congruncia 2 3 2 0 (mod 6) ser verdadeira, no podemos cancelar o 2 que multiplica os dois lados e concluir que 3 0 (mod 6) porque isto, como j vimos, falso. Logo, neste exemplo, o cancelamento no permitido. (mod 6). (mod 6) e 3 0 (mod 6)

i i i

i i

cripto 2009/6/30 i page 91 Estilo OBMEP


i

SEC. 3.2: INEXISTNCIA DE INVERSO

91

Passando ao caso geral, digamos que n > 0 e 1 a n 1 so inteiros que tm um fator primo comum 1 < p < n. Escrevendo n=pc e a = p e,

onde c e e so os cofatores correspondentes, temos que a c a 0 (mod n); embora a e c no possam ser congruentes a zero mdulo n, j que so ambos positivos e menores que n. Com isto chegamos seguinte concluso:

se a, b e n > 1 so inteiros que tm algum fator primo em comum, ento a no pode ser cancelado em congruncias do tipo a b a 0 (mod n).

Por outro lado, se a admite um inverso mdulo n e b e c so inteiros tais que a b a c (mod n), (3.2.3) ento o a pode ser cancelado e podemos concluir que b c (mod n). Para provar isto, procedemos como no argumento usado para provar o teorema 1. Seja a o inverso de a mdulo n. Multiplicando a congruncia (3.2.3) por a , obtemos (a a) b (a a) c (mod n).

i i i

i i

cripto 2009/6/30 i page 92 Estilo OBMEP


i

92 Como

CAP. 3: INVERSOS MODULARES

a a 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 conrmado por todas as tabelas que calculamos anteriormente. De fato, este resultado verdadeiro mas, para prov-lo, teremos que trabalhar um pouco. Voltando s denies, sabemos que um

i i i

i i

cripto 2009/6/30 i page 93 Estilo OBMEP


i

SEC. 3.3: EXISTNCIA DE INVERSO

93

inteiro a tem inverso mdulo n se existir um inteiro a tal que a a 1 (mod n). (3.3.1)

Traduzindo isto em termos de divisibilidade de inteiros, temos que n divide a diferena a a 1. Em outras palavras, existe um inteiro k para o qual a a 1 = n k. (3.3.2)

Como esta ltima equao equivalente a (3.3.1), podemos concluir que o que precisamos mostrar que se a e n no admitem nenhum fator prprio comum, ento existe um inteiro k para o qual a a 1 = n k. Para provar este resultado, procedemos da seguinte forma. Considere, para comear, o conjunto V (a, n) formado pelos inteiros positivos que podem ser escritos na forma xa+yn para alguma escolha de inteiros x e y. Note que x ou y podem ser nulos ou negativos, embora estejamos exigindo que x a + y n seja positivo. Por exemplo, se a = 5 e n = 12, ento tomando x = 1 e y = 1, temos que x a + y n = (1) 5 + 1 12 = 7 > 0. Logo, 7 V (5, 12).

i i i

i i

cripto 2009/6/30 i page 94 Estilo OBMEP


i

94

CAP. 3: INVERSOS MODULARES

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 a = x0 e k = y0 , obtemos 1 = a 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 nita, podemos escolher o menor

i i i

i i

cripto 2009/6/30 i page 95 Estilo OBMEP


i

SEC. 3.3: EXISTNCIA DE INVERSO

95

destes nmeros que pertence a V (a, n). Mas qualquer inteiro em V (a, n) que esteja fora do intervalo que vai de 1 a n tem que ser maior que n e, portanto, maior que m. Logo, m o menor elemento do conjunto V (a, n). Para podermos concluir nossa demonstrao precisamos vericar que m = 1. Como a e n so primos entre si, bastaria que fssemos capazes de mostrar que m divide tanto a como n para que pudssemos concluir que igual a 1. Anal, para um inteiro positivo dividir 1, ele tem que ser igual a 1. Vejamos como mostrar que m divide a e divide n. Para comear, como m V (a, m), ento tm que existir inteiros x1 e y1 tais que m = x1 a + y1 n. (3.3.3) Dividindo n por m, temos que n = m q + r e 0 r < m, onde q o quociente e r o resto da diviso de n por m. Substituindo nesta equao a expresso para m dada em (3.3.3), obtemos n = m q + r = (x1 a + y1 n) q + r, que pode ser rearrumada na forma r = (x1 ) a + (1 y1 ) n. Em particular, podemos concluir que r V (a, n) por causa da maneira

i i i

i i

cripto 2009/6/30 i page 96 Estilo OBMEP


i

96

CAP. 3: INVERSOS MODULARES

como conseguimos express-lo. Contudo, r o resto da diviso de n por m, de modo que r = 0 ou r = 0. S que, neste ltimo caso, r < m (j que m o divisor), o que bate de frente com o fato de m ter sido escolhido como o menor elemento de V (a, n). Portanto, s resta a primeira possibilidade. Mas se r = 0, ento m divide n, como queramos mostrar. Um argumento inteiramente anlogo mostra que m divide a. Exerccio 35. Mostre em detalhes que m divide a. Vamos recapitular o que zemos acima: vericamos que a a 1 (mod n) o mesmo que dizer que existe um inteiro k tal que a a + k n = 1; denimos o conjunto V (a, n) formado pelos inteiros positivos que podem ser escritos na forma x a + y n; se 1 V (a, n) ento existem inteiros x0 e y0 para os quais x0 a + y0 n = 1, e tomando a = x0 e k = y0 provamos o resultado desejado. Portanto, basta mostrar que 1 V (a, n). Seja, ento, m o menor elemento de V (a, n). Mostraremos que, como a e n so primos entre si, ento m = 1:

i i i

i i

cripto 2009/6/30 i page 97 Estilo OBMEP


i

SEC. 3.4: O TEOREMA E UM EXEMPLO

97

se r for o resto da diviso de n por m ento r = 0 ou r = 0; se r = 0 ento mostramos que r pertenceria a V (a, n); como o resto sempre menor que o divisor, teramos r < m; mas isto no possvel pela escolha que zemos para m; portanto, r = 0 e m divide n. Um argumento anlogo (ver exerccio 35) mostra que m divide n. Assim, m um divisor comum de a e de n; mas o nico divisor comum positivo de a e n 1; logo m = 1 e provamos o resultado desejado.

3.4

O Teorema e um Exemplo

hora de reunir todos os resultados que provamos neste captulo em um nico teorema, que utilizaremos com frequncia nesta apostila. Teorema 3. Sejam a < n inteiros positivos. O resduo a tem inverso mdulo n se, e somente se, a e n no tm fatores primos em comum. Mostramos este resultado em duas partes. No teorema 1 vericamos que se a e n tm fatores primos em comum ento a no pode ter inverso mdulo n. J a recproca foi analisada na seo 3.3, onde mostramos que, quando a e n no tm fatores primos em comum,

i i i

i i

cripto 2009/6/30 i page 98 Estilo OBMEP


i

98

CAP. 3: INVERSOS MODULARES

ento possvel achar inteiros a e k tais que a a + k n = 1. Como isto implica que a a 1 (mod n), podemos concluir que a o inverso de a mdulo n. Como consequncia deste teorema, temos que se n for primo, ento todo resduo no nulo admite inverso mdulo n. Isto explica porque as tabelas de inversos de 7, 11 e 13 podem ser completamente preenchidas. Por outro lado, o teorema tambm nos diz que, se n for composto, ento sua tabela car incompleta, pois haver resduos sem inverso; o que explica o comportamento das tabelas de 6, 8 e 15. Outro ponto importante que nossa demonstrao do teorema o que os matemticos chamam de no construtiva: ela nos garante a existncia de um inverso para a quando a e n no tm fator primo comum, mas no nos diz como proceder para calcular este inverso. importante entender que esta uma decincia de nossa demonstrao e no do teorema em si. Para uma demonstrao construtiva deste mesmo teorema, consulte o captulo 1 da referncia [2]. Combinando o teorema acima com o teorema 2 da pgina 92, obtemos o seguinte resultado. Corolrio 1. Sejam a < n inteiros positivos sem fatores prprios comuns. Se a b a c (mod n), para a, b Z, ento b c (mod n). Corolrio? O que isto? A palavra corolrio em portugus vem do latim corollarium que tem uma histria (ou etimologia) muito interessante. Originalmente corolla em latim era apenas o diminutivo

i i i

i i

cripto 2009/6/30 i page 99 Estilo OBMEP


i

SEC. 3.4: O TEOREMA E UM EXEMPLO

99

de corona, que quer dizer coroa. Da a palavra passou a ser usada para signicar tambm uma pequena guirlanda de ores entrelaadas, por causa de sua semelhana a uma coroa pequena. Corollarium comeou signicando 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 signicado moderno: uma consequncia quase que imediata (portanto, gratuita) de uma armao ou teorema.

3.4.1

Um Exemplo

Encerramos o captulo considerando um exemplo mais geral de clculo do inverso, que ser muito importante em nossas aplicaes do RSA. Suponha que o inteiro positivo n possa ser escrito na forma n = 6 k 2, onde k > 0 um inteiro. Os primeiros dez nmeros que satisfazem esta propriedade esto listados na prxima tabela juntamente com os valores correspondentes para k: k 6k2 1 4 2 10 3 16 4 22 5 28 6 34 7 40 8 46 9 52 10 58

Acontece que 3 e 6 k 2 no podem ter nenhum fator primo comum, mas, ao invs de provar isto, vou deixar como exerccio. Exerccio 36. Mostre que 3 e 6 k 2 no admitem nenhum fator primo em comum. Em vista disto, o teorema nos garante que 3 deve ter inverso mdulo n = 6 k 2. Mas ser que somos capazes de calcular este

i i i

i i

cripto 2009/6/30 i page 100 Estilo OBMEP


i

100

CAP. 3: INVERSOS MODULARES

inverso? A resposta bem fcil. Como n = 6 k 2, ento n 1 = 6 k 3. Pondo 3 em evidncia n 1 = 3(2 k 1); isto , n = 3(2 k 1) + 1. Assim, 3(2 k 1) + 1 0 donde 3(2 k 1) 1 que pode ser reescrito como 3(1 2 k) 1 (mod n). (mod n); (mod n);

Logo, 1 2 k o inverso de 3 mdulo n. Como 1 2 k negativo, vamos determinar o seu resduo. Somando n = 6 k 2, obtemos 1 2 k + n = 1 2 k + 6 k 2 = 4 k 1; que positivo para todo k 1. Alm disso, como 4k < 6k, tambm temos que 4 k 1 < 6 k 2; de forma que 4k1 mesmo o resduo de 12k mdulo n = 6k2.

i i i

i i

cripto 2009/6/30 i page 101 Estilo OBMEP


i

SEC. 3.4: O TEOREMA E UM EXEMPLO

101

Exerccio 37. Calcule os inversos de 2, 3 e 6 mdulo 6 k + 1.

i i i

i i

cripto 2009/6/30 i page 102 Estilo OBMEP


i

Captulo 4

Algoritmo Chins do Resto


Neste captulo veremos como calcular um inteiro que satisfaz simultaneamente a vrias congruncias com mdulos distintos: o chamado algoritmo chins do resto.

4.1

Exemplos

Comeamos analisando um exemplo bastante simples.

4.1.1

Restos

Considere o seguinte problema: determine o menor inteiro positivo que deixa resto 1 na diviso por 3 e resto 2 na diviso por 5. 102

i i i

i i

cripto 2009/6/30 i page 103 Estilo OBMEP


i

SEC. 4.1: EXEMPLOS

103

Note que este exemplo simples o suciente para que possamos resolv-lo de cabea. Contudo, nas aplicaes ao RSA, encontraremos sistemas muito maiores, que s conseguiremos resolver procedendo de maneira sistemtica, que outra forma de dizer usando um algoritmo. Comearemos descrevendo a aplicao do algoritmo geral ao exemplo acima. Chamando de n o inteiro que buscamos, podemos escrever as equaes correspondentes diviso de n por 3 e 5 na forma n = 3q1 + 1, n = 5q2 + 2. Observe que usamos smbolos diferentes (q1 e q2 ) para denotar os quocientes destas divises. Anal, no h nenhuma razo para que os quocientes das duas divises sejam os mesmos, e usar a mesma letra automaticamente implicaria esta igualdade incorreta. Voltando ao sistema, temos duas equaes com trs variveis, a saber n, q1 e q2 . Como se isto no bastasse, queremos determinar uma soluo inteira, o que complica ainda mais o problema. Entretanto, estas equaes podem ser reescritas de uma maneira mais simples se usarmos congruncias. Fazendo isto, obtemos n 1 (mod 3), n 2 (mod 5). primeira vista a reformulao foi tima; anal, sobrou apenas uma varivel: o que podia ser melhor? O problema como usar as congruncias para determinar o inteiro desejado. Geralmente,

i i i

i i

cripto 2009/6/30 i page 104 Estilo OBMEP


i

104

CAP. 4: ALGORITMO CHINS DO RESTO

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).

Acontece que 5 2 (mod 3), de forma que a congruncia pode ser reescrita na forma 2q2 + 2 1 (mod 3). Subtraindo 2 dos dois lados da congruncia, chegamos a 2q2 1 ou ainda a 2q2 2 (mod 3), (mod 3);

j que 1 2 (mod 3). Como 2 inversvel mdulo 3, podemos cancel-lo na congruncia acima pelo teorema 2, o que nos d q2 1 (mod 3). Em outras palavras, q2 deixa resto 1 na diviso por 3, de modo que podemos escrev-lo como q2 = 3q3 + 1,

i i i

i i

cripto 2009/6/30 i page 105 Estilo OBMEP


i

SEC. 4.1: EXEMPLOS

105

onde q3 corresponde ao quociente desta diviso. Voltando ao problema original, temos, alm das equaes n = 3q1 + 1, n = 5q2 + 2, originalmente obtidas, uma nova equao q2 = 3q3 + 1, que explicita q2 , ainda que seja ao preo de introduzir uma nova varivel. Mas isto nos permite substituir o valor de q2 diretamente na segunda das duas equaes originalmente obtidas, o que nos d n = 5q2 + 2 = 5(3q3 + 1) + 2. Fazendo as contas, n = 15q3 + 7. E da? Tnhamos duas equaes. Fizemos uma peripcia usando congruncias. Chegamos a uma nova equao em tudo semelhante s originais. Grande coisa! Se estes pensamentos lhe passaram pela cabea, ento prepare-se para uma surpresa. O que acontece se dividirmos 15q3 + 7 por 3? Para comear, 15 = 3 5, de forma que 15q3 + 7 = 3 5q3 + 7.

i i i

i i

cripto 2009/6/30 i page 106 Estilo OBMEP


i

106

CAP. 4: ALGORITMO CHINS DO RESTO

Se 7 fosse menor que 3, seria o resto desta diviso, como 7 3, precisamos escrev-lo na forma 7 = 3 2 + 1. Combinando as duas equaes e pondo 3 em evidncia, obtemos 15q3 + 7 = 3 (5q3 + 2) + 1; logo 15q3 +7 deixa resto 1 na diviso por 3, exatamente o que queramos que acontecesse com o n a ser determinado em nosso problema. Com uma vantagem: isto acontece qualquer que seja o valor escolhido para q3 ! Passando diviso por 5, temos que 15q3 + 7 = 5 3q3 + 5 + 2 = 5(3q3 + 1) + 2; de forma que 15q3 + 7 deixa resto 2 na diviso por 5, satisfazendo, mais uma vez, ao que foi pedido no problema. Isto sugere que devemos considerar a soluo como sendo n = 15q3 + 7. Observe, contudo, que o que obtivemos no foi uma soluo, mas sim uma famlia de solues. De fato, obteremos uma soluo diferente para cada valor inteiro que escolhermos para q3 , como ilustrado na tabela 4.1.

i i i

i i

cripto 2009/6/30 i page 107 Estilo OBMEP


i

SEC. 4.1: EXEMPLOS

107 q3 -3 -2 -1 0 1 2 3 15q3 + 7 -38 -23 -8 7 22 37 52

Tabela 4.1: Tabelando n = 15q3 + 7 Dito isto, ca difcil no perguntar se todas as possveis solues deste problema podem ser obtidas da frmula n = 15q3 + 7 simplesmente escolhendo um valor adequado para q3 . A resposta sim, mas para entender porque voc ter que esperar at a seo 4.2. Relendo o problema, vericamos que ainda h uma condio a ser satisfeita: queremos o menor n positivo que satisfaz as duas condies sobre os restos. Entretanto, como mostra a tabela: se q3 < 0, ento 15q3 + 7 < 0; se q3 > 0, ento 15q3 + 7 > 7; de modo que o valor desejado mesmo n = 7. Antes de passar a um novo exemplo, vamos refazer a vericao de que n = 15q3 + 7 nos d uma famlia de solues para a equao. S que desta vez usaremos congruncias. Da igualdade n = 15q3 + 7 obtemos a congruncia n 15q3 + 7 1 1 (mod 3);

i i i

i i

cripto 2009/6/30 i page 108 Estilo OBMEP


i

108

CAP. 4: ALGORITMO CHINS DO RESTO

pois 15 0 (mod 3) e 7 1 (mod 3). Da forma semelhante, n 15q3 + 7 2 2 (mod 5).

Estas vericaes so muito mais diretas e automticas e, daqui por diante, sero usadas como nossa maneira-padro de testar a correo de nossas solues. Exerccio 38. Na encenao de uma batalha, duas tropas se enfrentam, posicionando-se, atirando com festim, e recarregando seus mosquetes, cada uma a sua vez. Cada lado comea com o mesmo nmero de cartuchos. Uma tropa tem 100 mosquetes e, depois de atirar tantos tiros de festim quanto possveis, lhe sobram 13 cartuchos. A outra tropa tem 67 mosquetes, e ao m da exibio, sobram-lhe 32 cartuchos. Supondo que a cada salva de tiros todos os soldados de cada lado atiraram exatamente uma vez, determine o nmero mnimo de cartuchos com que cada tropa iniciou a exibio.

4.1.2

Um Exemplo Astronmico

Desta vez o problema trata de tempos e no de restos: Trs satlites passaro sobre o Rio esta noite. O primeiro 1 hora da madrugada, o segundo s 4 horas e o terceiro s 8 horas da manh. Cada satlite tem um perodo diferente. O primeiro leva 13 horas para completar uma volta em torno da Terra, o segundo 15 horas e o terceiro 19 horas. Determine quantas horas decorrero, a partir da meianoite, at que os trs satlites passem ao mesmo tempo sobre o Rio.

i i i

i i

cripto 2009/6/30 i page 109 Estilo OBMEP


i

SEC. 4.1: EXEMPLOS

109

Podemos formular o problema de maneira muito semelhante que adotamos na seo anterior, basta lembrar nossa interpretao do mdulo como o perodo de um movimento que se repete a intervalos regulares. Neste caso, o movimento o dos satlites que giram em torno da Terra. Chamaremos de x o nmero de horas, contadas a partir da meianoite de hoje, quando os trs satlites passaro juntos sobre o Rio. O primeiro satlite passa sobre o Rio a cada 13 horas, a contar da 1 da madrugada. Logo precisamos ter que x = 1 + 13n1 , para algum inteiro positivo n1 , que representa o nmero de voltas que o satlite 1 tem que dar em torno da Terra antes que passe junto com os dois outros satlites. As equaes correspondentes aos outros dois satlites so x = 4 + 15n2 e x = 8 + 19n3 ;

onde n2 e n3 representam o nmero de voltas que os satlites 2 e 3 daro antes dos trs passarem juntos. Como zemos para o problema anterior, podemos reformular estas equaes em termos de congruncias, o que nos d x1 (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 i

i i

cripto 2009/6/30 i page 110 Estilo OBMEP


i

110

CAP. 4: ALGORITMO CHINS DO RESTO

que desenvolvemos s permite resolver duas equaes de cada vez, comearemos com as duas ltimas. Tomando a ltima equao e substituindo-a na penltima congruncia, obtemos 8 + 19n3 4 (mod 15); que equivale a 19n3 4 Como 19 4 (mod 15), isto nos d 4n3 4 (mod 15). Como 4 inversvel mdulo 15 pelo teorema 3, podemos cancel-lo, de modo que n3 1 14 (mod 15). Assim, n3 = 14 + 15n4 , para algum inteiro positivo n4 . Mas, segundo a terceira equao, x = 8 + 19n3 . Combinando estas duas expresses x = 8 + 19(14 + 15n4 ) = 274 + 285n4 . O que isto representa? Certamente no a soluo do problema, j que sequer usamos as condies impostas pelo primeiro satlite. Entretanto, como fcil vericar usando congruncias, x = 274 + 285n4 nos d uma soluo das duas ltimas equaes.Isto signica que esta famlia de solues deve corresponder aos tempos nos quais os satlites 2 e 3 passam juntos sobre o Rio. (mod 15).

i i i

i i

cripto 2009/6/30 i page 111 Estilo OBMEP


i

SEC. 4.1: EXEMPLOS

111

E quanto ao satlite 1? Para incluir na soluo a informao referente ao primeiro satlite, basta encontrar as solues da forma x = 274 + 285n4 (isto , as solues comuns aos satlites 2 e 3) que, alm disso, satisfazem a congruncia x 1 (mod 13), relativa ao primeiro satlite. Efetuando a substituio, 274 + 285n4 1 (mod 13); que depois da reduo mdulo 13 nos d 1 + 12n4 1 (mod 13). Logo 12n4 0 (mod 13) e, como 12 inversvel mdulo 13, conclumos que n4 = 13n5 . Desta forma, a soluo nal ser x = 274 + 285n4 = 274 + 285(13n5 ) = 274 + 3705n5 , como fcil vericar substituindo esta frmula para x nas congruncias (4.1.1). Resta-nos explicitar o que esta soluo nos diz sobre os satlites. Em primeiro lugar, como fcil vericar, 274 o menor inteiro positivo que satisfaz as congruncias (4.1.1). Portanto, os satlites passam juntos sobre o cu do Rio pela primeira vez 274 horas depois da meianoite de hoje. Isto equivale a 11 dias e 10 horas. Mas isto no tudo. Anal, no importa qual seja o valor de n5 , a frmula 274 + 3 705n5 nos d uma soluo do problema. Portanto, depois de passar juntos uma vez sobre o Rio 274 horas depois da zero hora de hoje, os satlites passaro juntos novamente a cada 3 705 horas; isto , a cada 154 dias e 9 horas.

i i i

i i

cripto 2009/6/30 i page 112 Estilo OBMEP


i

112

CAP. 4: ALGORITMO CHINS DO RESTO

Na prxima seo faremos uma anlise detalhada do mtodo acima. Observe que nossa estratgia consistiu em dividir a soluo do sistema (4.1.1) de 3 equaes em duas etapas. Primeiro achamos uma soluo comum s duas ltimas congruncias, que foi x = 274 + 285n4 . Em seguida, buscamos as solues comuns s duas ltimas congruncias que tambm satisfazem primeira. Como x = 274 + 285n4 corresponde congruncia, x 274 (mod 285), substitu-la na primeira congruncia equivale a resolver o sistema x 1 (mod 13), x 274 (mod 285). Uma outra maneira de expressar isto consiste em dizer que a soluo de um sistema de muitas equaes obtida atravs da soluo de vrios sistemas de duas equaes cada. Por isso, na seo 3 suciente analisar o algoritmo correspondente soluo de um sistema de duas equaes. Nosso prximo exerccio vem do banco de questes da OBMEP2007 (p. 76). Exerccio 39. O nmero 119 tem a seguinte propriedade: a diviso por 2 deixa resto 1; a diviso por 3 deixa resto 2; a diviso por 4 deixa resto 3;

i i i

i i

cripto 2009/6/30 i page 113 Estilo OBMEP


i

SEC. 4.2: O TEOREMA CHINS DO RESTO

113

a diviso por 5 deixa resto 4; a diviso por 6 deixa resto 5. Quantos inteiros positivos menores que 2007 satisfazem essa propriedade? Exerccio 40. Um velho problema chins: Trs fazendeiros cultivavam juntos todo o seu arroz e o dividiam igualmente entre si no tempo da colheita. Um certo ano cada um deles foi a um mercado diferente vender o seu arroz. Cada um destes mercados s comprava arroz em mltiplos de um peso padro, que diferia em cada um dos mercados. O primeiro fazendeiro vendeu o seu arroz em um mercado onde o peso padro era 87 kg. Ele vendeu tudo o que podia e voltou para casa com 18 kg de arroz. O segundo fazendeiro vendeu todo o arroz que podia em um mercado cujo peso padro era de 170 kg e voltou para casa com 58 kg. O terceiro fazendeiro vendeu todo o arroz que podia em um mercado cujo peso padro era de 143 kg e voltou (ao mesmo tempo que os outros dois) com 40 kg. Qual a quantidade mnima de arroz que eles podem ter cultivado, no total?

4.2

O Teorema Chins do Resto

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 i

i i

cripto 2009/6/30 i page 114 Estilo OBMEP


i

114

CAP. 4: ALGORITMO CHINS DO RESTO

aparece o livro Manual de aritmtica do mestre Sun, escrito entre 287 d.C. e 473 d.C. Entretanto, o mesmo resultado mencionado na Aritmtica de Nicmaco de Gerasa, escrita por volta de 100 d.C. O teorema desta seo apenas sistematiza o resultado nal do mtodo utilizado nos problemas das sees anteriores. Considere o sistema xa (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 signica 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, vericamos que x0 = a + m k, onde k um inteiro qualquer, de forma que podemos concluir que a + mk b (mod n), ou ainda mk (b a) (mod n). (4.2.3) (4.2.2)

i i i

i i

cripto 2009/6/30 i page 115 Estilo OBMEP


i

SEC. 4.2: O TEOREMA CHINS DO RESTO

115

Supondo que m e n sejam primos entre si, conclumos pelo teorema 3 que m inversvel mdulo n como vimos no teorema 4.2 da pgina 113. Digamos que m o inverso de m mdulo n. Multiplicando (4.2.3) por m , obtemos k m (b a) (mod n). Em outras palavras, k = m (b a) + n t para algum inteiro .

Substituindo esta expresso para k em (4.2.2), vemos que x0 = a + m(m (b a) + n t). Resumindo, provamos que se x0 uma soluo de (4.2.1), ento x0 = a + m (m (b a) + n t). (4.2.4)

Mas fcil ver que, qualquer que seja o inteiro t, uma expresso da forma a + m(m (b a) + n t) tem que ser soluo do sistema (4.2.1). Para comeo de conversa, a + m(m (b a) + n t) claramente congruente a a mdulo m. Por outro lado, a + m (m (b a) + n t) a + m m (b a) (mod n). Como, mm 1 (mod n) por construo, ento a + m (m (b a) + n t) a + 1 (b a) b (mod n);

i i i

i i

cripto 2009/6/30 i page 116 Estilo OBMEP


i

116

CAP. 4: ALGORITMO CHINS DO RESTO

comprovando que a + m (m (b a) + n t) mesmo uma soluo do sistema (4.2.1). Podemos resumir o que zemos no seguinte teorema. Teorema Chins do Resto. Sejam m e n inteiros positivos primos entre si. Se a e b so inteiros quaisquer, ento o sistema xa (mod m),

x b (mod n), sempre tem soluo e qualquer uma de suas solues pode ser escrita na forma a + m (m (b a) + n t), onde t um inteiro qualquer e m o inverso de m mdulo n. Cuidado para no se confundir e achar que mm = 1, j que m e m so inversos um do outro. De fato eles so inversos, mas somente mdulo n, de modo que a relao correta mm 1 (mod n); que no simplica a frmula de nenhuma maneira signicativa.

4.2.1

Quando os Mdulos No so Primos Entre Si

Apesar de termos obtido uma frmula exata para a soluo de sistemas de duas congruncias, isto foi feito ao preo de uma hiptese bastante forte, a de que os mdulos so primos entre si. Ser que a frmula continua verdadeira mesmo se esta hiptese no se verica? Se voc reler o argumento usado para provar a frmula ver que precisamos que os mdulos fossem primos entre si em apenas um ponto: para inverter m na congruncia mk (b a) (mod n) e assim

i i i

i i

cripto 2009/6/30 i page 117 Estilo OBMEP


i

SEC. 4.2: O TEOREMA CHINS DO RESTO

117

determinar o valor de k. Isto signica que a estratgia usada acima no funcionaria se m e n no fossem primos entre si. Mas ser que no h outra estratgia possvel neste caso? A resposta sim... e no. Vejamos por qu? Para isto analisaremos dois exemplos muito semelhantes. O primeiro deles x3 (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 coeciente 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. Substituindo isto na primeira, obtemos no primeiro exemplo 6y 2 (mod 4); e no segundo 6y 1 (mod 4). (4.2.7) (4.2.6) (4.2.5)

i i i

i i

cripto 2009/6/30 i page 118 Estilo OBMEP


i

118

CAP. 4: ALGORITMO CHINS DO RESTO

Chegados a este ponto, no podemos prosseguir, porque 6 e 4 tm 2 como fator comum, de modo que 6 no inversvel mdulo 4. Contudo, convertendo (4.2.6) para uma igualdade de inteiros, vemos que 6y = 2 + 4z, para algum inteiro z. Acontece que 2 divide cada uma das parcelas desta equao. Efetuando a diviso, obtemos 3y = 1 + 2z. Convertendo esta igualdade em uma congruncia, camos com 3y 1 (mod 2); que, como 3 1 (mod 2), nos d y1 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 vericar por substituio. Passando agora ao outro sistema, precisamos resolver a congrun(mod 2);

i i i

i i

cripto 2009/6/30 i page 119 Estilo OBMEP


i

SEC. 4.2: O TEOREMA CHINS DO RESTO

119

cia (4.2.7). Convertendo-a em uma igualdade de inteiros, temos 6y = 1 + 4z, para algum inteiro z. Contudo, desta vez o divisor comum dos trs coecientes da equao 1. Rearrumando a equao anterior, obtemos 6y 4z = 1 que, como 2 divide 6 e 4, pode ser reescrita na forma 2(3y 2z) = 1. (4.2.8)

Entretanto, se existissem nmeros inteiros y e z que satiszessem esta equao, teramos que 1 mltiplo de 2; o que evidentemente falso. Mas (4.2.8) consequncia de (4.2.7), de modo que esta ltima tambm no pode ter soluo! Resumindo, estes exemplos nos mostram que, quando os mdulos no so primos entre si, o sistema pode ou no ter soluo, dependendo dos coecientes constantes que aparecem nas congruncias. Ser que podemos prever isto s de olhar para os coecientes? A resposta sim e enunciada abaixo. Provar que est correta ca como desao para voc. Desao 4. Considere o sistema de congruncias x a (mod m), x b (mod n). Suponha que o mximo divisor comum entre m e n d. Aplique o

i i i

i i

cripto 2009/6/30 i page 120 Estilo OBMEP


i

120

CAP. 4: ALGORITMO CHINS DO RESTO

procedimento de substituio do algoritmo chins a este sistema para mostrar que: (a) se d divide b a ento o sistema tem soluo; (b) se d no divide b a ento o sistema no tem soluo.

i i i

i i

cripto 2009/6/30 i page 121 Estilo OBMEP


i

Captulo 5

Potncias
Neste captulo veremos como calcular os restos de potncias usando aritmtica modular. Lembre-se que j zemos 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

Uma aplicao importante das congruncias ao clculo de restos da diviso de uma potncia por um nmero qualquer. Comearemos com alguns exemplos simples.

5.1.1

Minhas Primeiras Potncias Modulares

Suponhamos que queremos calcular o resto da diviso de 10135 por 7. Vimos na pgina 70 que 106 1 (mod 7). Dividindo 135 121

i i i

i i

cripto 2009/6/30 i page 122 Estilo OBMEP


i

122

CAP. 5: POTNCIAS

por 6 temos 135 = 6 22 + 3. Temos ento as seguintes congruncias mdulo 7: 10135 (106 )22 103 (1)22 103 6 (mod 7).

Logo, 10135 6 (mod 7). Como 0 6 < 7, podemos concluir que o resto da diviso de 10135 por 7 6. Exerccio 41. Calcule o resto da diviso por 7 das potncias 1065 e 378 . Outro exemplo, mais exagerado. Qual o resto da diviso de 2124 512 por 31? Calculando as potncias de 2 mdulo 31, vemos que 22 4 (mod 31), 23 8 (mod 31), 24 16 (mod 31), 25 32 1 (mod 31).

De modo semelhante ao que ocorreu com as potncias de 10 mdulo 7, somos capazes de descobrir uma potncia de 2 que d 1 mdulo 31. Procederemos como no exemplo anterior, s que desta vez usaremos a congruncia 25 1 (mod 31) para fazer as simplicaes. Dividimos 124 512 por 5, obtemos quociente 4 016 e resto 2. Portanto, 2124 512 224 9025+2 (25 )24 902 22 Como 25 1 (mod 31), temos 2124 512 (1)24 902 22 4 (mod 31). (mod 31).

i i i

i i

cripto 2009/6/30 i page 123 Estilo OBMEP


i

SEC. 5.1: RESTOS DE POTNCIAS

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 .

Para falar a verdade, podemos exagerar ainda mais. Por exemplo, 98 765 qual o resto da diviso de 211 por 31? Lembre-se que para calcular 1198 765 determinamos primeiro 1198 765 e depois elevamos 2 a este 2 expoente. O resultado um nmero enorme, com mais de 25 mil algarismos. O primeiro problema que esta questo pe o de como calcular o quociente e o resto da diviso de 1198 765 por 5. A bem da verdade, o problema como calcular o quociente porque, para o resto, podemos usar congruncias. De fato, como 11 1 (mod 5), ento 1198 765 198 765 1 (mod 5). Logo, ao dividir 1198 765 por 5 obtemos resto 1. Quanto ao quociente, no precisamos sequer saber quanto vale. Para se convencer disso, releia os exemplos que acabamos de fazer. Em ambos, apenas 1 que elevamos ao quociente. Escrevendo, ento, 1198 765 = 5 q + 1, onde q o tal quociente que no conhecemos, obtemos 211
98 765

25q+1 (25 )q 2

(mod 31).

i i i

i i

cripto 2009/6/30 i page 124 Estilo OBMEP


i

124 Como 25 1 (mod 31), 211


98 765

CAP. 5: POTNCIAS

(1)q 2 2 (mod 31);


98 765

e o resto da diviso de 211

por 31 2.

Se voc prestou muita ateno s contas, talvez tenha pensado: Ele est blefando! A conta s cou fcil porque 11 deixa resto 1 na diviso por 5 e 1 elevado a 98 765 d 1. Se em vez de 11 fosse 13, seria muiiiiito mais difcil! Tudo bem, vejamos o que acontece quando tentamos calcular o resto 98 765 da diviso de 213 por 31. Neste caso, o ponto crucial calcular o resto da diviso de 1398 765 por 5. Usando congruncias, 1398 765 398 765 (mod 5),

o que parece sugerir que seu comentrio se justica. 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 + 3

i i i

i i

cripto 2009/6/30 i page 125 Estilo OBMEP


i

SEC. 5.1: RESTOS DE POTNCIAS

125

e, mais uma vez, o quociente q no precisa ser calculado. Assim, 213


98 765

(25 )q 23 23 8
98 765

(mod 31);

e o resto da diviso de 213 muiiiiito mais difcil!

por 31 8. Mais difcil foi, mas no


45 231

Exerccio 43. Calcule o resto da diviso por 31 das potncias 214 498 766 543 335 231 9 876 215 e 643 .

5.1.2

Ordem de um Inteiro Modular

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 (mod 7), ao passo que, 34 25 1 (mod 31).

Ser que isto sempre possvel? Isto , ser que, dados dois inteiros positivos b < n sempre existe um inteiro positivo k tal que bk 1 (mod n)? Observe que estamos exigindo que k seja positivo; sem esta hiptese poderamos tomar k = 0, mas isto em nada nos ajuda em nossos clculos. Como dar nome aos conceitos facilita falar sobre eles, vamos introduzir a seguinte terminologia. Se 1 b n 1 so inteiros, diremos que a ordem de b mdulo n o menor inteiro positivo k para o qual bk 1 (mod n). Note que, embora anteriormente apenas falssemos

i i i

i i

cripto 2009/6/30 i page 126 Estilo OBMEP


i

126

CAP. 5: POTNCIAS

de uma potncia congruente a 1 com expoente positivo, acabamos por introduzir o adjetivo menor ao escrever a denio. A razo que, do contrrio, o expoente k no estaria completamente determinado. Por exemplo, j vimos que 25 1 (mod 31); contudo, 210 (25 )2 12 1 (mod 31), assim como 2105 (25 )21 121 1 (mod 31). Na verdade, 25k (25 )k 1k 1 (mod 31), no importa qual seja o inteiro positivo k. Este exemplo facilmente generalizvel. De fato, se ak 1 (mod n), ento akm (ak )m 1m 1 (mod n),

para qualquer inteiro m 1 que voc escolher. Interpretando os clculos do incio da seo usando esta terminologia, podemos dizer que 3 tem ordem 6 mdulo 7 e que 2 tem ordem 5 mdulo 31. Antes de prosseguir seria bom voc fazer alguns exemplos para vericar que entendeu mesmo o conceito de ordem. Exerccio 44. Calcule a ordem de (a) 3 mdulo 7; (b) 2 mdulo 11;

i i i

i i

cripto 2009/6/30 i page 127 Estilo OBMEP


i

SEC. 5.1: RESTOS DE POTNCIAS

127

(c) 5 mdulo 31; (d) 7 mdulo 43. Voltando pergunta, podemos agora reformul-la da seguinte maneira: Ser que todo inteiro 1 b n 1 tem alguma ordem mdulo n? Precisamos experimentar um pouco mais, antes de ensaiar uma concluso. Revendo os exemplos do incio desta seo constatamos que 7 e 31 so primos, mas o que acontece se escolhermos um mdulo que no seja primo? Por exemplo, ser que existe uma potncia de 2 que d 1 mdulo 6? Tentando: 21 2 (mod 6), 22 4 (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 i

i i

cripto 2009/6/30 i page 128 Estilo OBMEP


i

128

CAP. 5: POTNCIAS

que potncias de inteiros mdulo 6 nunca do 1. Ou, quem sabe, at que potncias de inteiros mdulo um nmero composto nunca do 1. A verdade, contudo, bem mais sutil. Voltando aos nossos experimentos, porque parar em 2? Por que no tentar tambm 3? Pois bem, aqui esto as potncias de 3 mdulo 6: 31 3 (mod 6),

32 9 3 (mod 6), 33 27 3 (mod 6), 34 81 3 (mod 6).

No que 3 foi ainda pior que 2! Todas as potncias positivas de 3 so congruentes a 3. Mas, no desanimemos, tentemos as potncias de 4, 41 4
2

(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 i

i i

cripto 2009/6/30 i page 129 Estilo OBMEP


i

SEC. 5.1: RESTOS DE POTNCIAS

129

Surpreso? A bem da verdade, voc no devia estar porque este resultado poderia ter sido previsto, desde que voc lembrasse do exerccio 31. Segundo aquele exerccio n 1 seu prprio inverso mdulo n. Mas isto signica que (n 1) (n 1) 1 (mod n), que podemos reescrever como (n 1)2 1 (mod n); o que mostra que n 1 sempre tem ordem dois mdulo n. E isto vale, no importa qual seja o valor do inteiro n > 1. O que vimos no caso n = 6 que os nicos inteiros entre 1 e 6 que tm ordem mdulo 6 so 1 e n 1 = 5. O caso do n 1 acena com a possibilidade de haver uma relao entre invertibilidade mdulo n e a existncia de uma ordem mdulo n. Para poder explorar melhor esta relao suponha que b, n e k so inteiros positivos e que bk 1 (mod n). Se k = 1, ento b 1 (mod n) e no h nada a dizer. Por isso podemos supor que k 2. Neste caso, b bk1 1 (mod n). Mas isto signica que bk1 funciona como o inverso de b mdulo n. Pelo teorema 3 da pgina 97 isto s possvel se b e n forem primos

i i i

i i

cripto 2009/6/30 i page 130 Estilo OBMEP


i

130 entre si. Portanto,

CAP. 5: POTNCIAS

se 1 b n 1 tem ordem mdulo n ento b e n so primos entre si.

Isto explica porque apenas 1 e 5 admitem potncias positivas congruentes a um mdulo 6 entre todos os inteiros positivos menores que 6, anal, 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:

Ser que todos estes nmeros admitem uma ordem mdulo p?

A resposta sim, como veremos na seo 5.2. Por enquanto, vamos determinar a ordem mdulo 7 de cada um dos inteiros positivos menores que 7. 22 Comeamos por 2, j que 1 tem obviamente ordem um. Como = 4 < 7, a primeira potncia interessante o cubo, mas 23 8 1 (mod 7);

logo, 2 tem ordem 3 mdulo 7. J sabemos que 3 tem ordem 6, por isso passamos ao 4. Porm, 42 16 2 (mod 7).

i i i

i i

cripto 2009/6/30 i page 131 Estilo OBMEP


i

SEC. 5.1: RESTOS DE POTNCIAS

131

Como 2 tem ordem 3, vamos precisar elevar 42 ao cubo para encontrar 1. Logo, 46 1 (mod 7). Contudo, isto no impede, em princpio, que uma potncia menor de 4 no possa dar igual a 1. Testando as demais potncias, vemos que 43 42 4 2 4 8 1 (mod 7); de modo que a ordem de 4 mdulo 7 3 e no 6 como o clculo anterior nos teria feito esperar! O ltimo nmero a considerar 5, porque j vimos que 6 = 7 1 tem que ter ordem 2 mdulo 7. Neste caso, 52 25 4 (mod 7), 53 5 4 20 6 54 5 6 30 2 55 5 2 10 3 5 5 3 15 1
6

(mod 7), (mod 7), (mod 7), (mod 7).

Portanto, 5 tem ordem 6 mdulo 7. Podemos organizar o que descobrimos em uma tabela:

i i i

i i

cripto 2009/6/30 i page 132 Estilo OBMEP


i

132 Nmero 1 2 3 4 5 6 Ordem mdulo 7 1 3 6 3 6 2

CAP. 5: POTNCIAS

Exerccio 46. Determine a ordem de cada um dos inteiros 1 b 10 mdulo 11. Exerccio 47. Determine a ordem de cada um dos inteiros 1 b 11 mdulo 12. Lembre-se que alguns destes inteiros nem sequer admitem uma ordem mdulo 12. Voc pode comear por descobrir quais so e assim nem sequer precisar calcular com eles.

5.1.3

Mais Exemplos

J vimos que ca muito fcil calcular potncias de um nmero mdulo n quando sua ordem (mdulo n) conhecida. O problema que nem todo nmero tem ordem mdulo n quando n no primo. Como proceder neste caso? Por exemplo, como determinar o resto de 635 por 16? Como 6 e 16 tm 2 como fator comum, podemos concluir que 6 no tem ordem mdulo 16 e teremos que proceder de alguma outra maneira. Contudo, 64 24 34 0 34 0 de modo que 635 64 631 0 (mod 16), (mod 16);

i i i

i i

cripto 2009/6/30 i page 133 Estilo OBMEP


i

SEC. 5.1: RESTOS DE POTNCIAS

133

e, neste caso, as contas acabaram cando bastante simples. Por outro lado, mesmo quando um nmero tem ordem mdulo n, esta pode ser to grande que ca difcil determin-la. Este o caso, por exemplo, da ordem de 3 mdulo 31. J dissemos que, quando p primo, todo nmero positivo menor que p tem ordem mdulo p: logo 3 tem ordem mdulo 31. Mas a ordem grande e precisamos de muito trabalho para determin-la. Em casos como este prefervel reduzir o expoente h algo mais fcil de calcular. Digamos, por exemplo, que quisssemos determinar o resto da diviso de 364 por 31. Calculando os restos das potncias de 3 encontramos 33 27 4 (mod 31). Mas 4 = 22 , de modo que 33 22 (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 i

i i

cripto 2009/6/30 i page 134 Estilo OBMEP


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

Determinar a ordem exata de um dado inteiro mdulo n pode ser uma tarefa bastante difcil se n for grande. Felizmente, no caso em que n primo h um teorema que facilita muito nossa vida. Teorema de Fermat. Se p um primo e a um inteiro que no divisvel por p, ento ap1 1 (mod p). H quem chame este teorema de Pequeno Teorema de Fermat. Contudo, levando em conta que este o resultado mais importante de todo o nosso texto, cham-lo de Pequeno no parece muito apropriado. A demonstrao do Teorema de Fermat que demos aqui foi descoberta

i i i

i i

cripto 2009/6/30 i page 135 Estilo OBMEP


i

SEC. 5.2: O TEOREMA DE FERMAT

135

pelo matemtico suo Leonard Euler no sculo XVIII e uma das mais elementares.

Demonstrao. Comeamos a demonstrao do Teorema de Fermat listando os possveis resduos mdulo p, que so 1, 2, 3, . . . , p 1. Multiplicando cada um destes resduos por a, temos a 1, a 2, a 3, . . . , a (p 1). Digamos que r1 o resduo de a 1, que r2 o resduo de a 2 e assim por diante at rp1 , que ser o resduo de a (p 1). Vamos calcular o produto r1 r2 rp1 mdulo p de duas maneiras diferentes. Primeira maneira: levando em conta que r1 a 1 (mod p), r2 a 2 (mod p), . . . . . . rp1 a (p 1) podemos concluir que r1 r2 r3 rp1 (a 1) (a 2) (a 3) (a (p 1)) (mod p). (mod p);

i i i

i i

cripto 2009/6/30 i page 136 Estilo OBMEP


i

136 Contudo,

CAP. 5: POTNCIAS

(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).

Segunda maneira: esta mais sutil. Comeamos observando que no pode haver dois resduos iguais entre r1 , r2 , r3 , . . . , rp1 . Para provar isto, suponhamos que rk = r para dois inteiros k e , ambos entre 1 e p 1. De acordo com a denio dos resduos, teramos que a k rk r a (mod p); isto , ak a (mod p).

Entretanto, como p no divide a e p primo, estes nmeros no tm fator prprio comum. Mas isto implica que a inversvel mdulo p de forma que, pelo teorema 2, podemos cancel-lo na congruncia acima, obtendo k (mod p). Mas k e so inteiros positivos menores que p, e s podem ser congruentes se forem iguais. Logo, se rk = r , ento k = .

i i i

i i

cripto 2009/6/30 i page 137 Estilo OBMEP


i

SEC. 5.2: O TEOREMA DE FERMAT

137

Isto nos mostra que r1 , r2 , r3 , . . . , rp1 so p 1 resduos no nulos (pois p no divide a) e diferentes entre si. Acontece que s h p 1 resduos no nulos diferentes mdulo p, a saber 1, 2, 3, . . . , p 1; o que nos permite deduzir que a sequncia de nmeros r1 , r2 , r3 , . . . , rp1 apenas um embaralhamento de 1, 2, 3, . . . , p 1. Em particular, r1 r2 r3 rp1 = 1 2 3 (p 1).

Concluso geral: Da primeira maneira de calcular o produto dos resduos temos que r1 r2 r3 rp1 ap1 (1 2 3 (p 1)) (mod p) e da segunda que r1 r2 r3 rp1 = 1 2 3 (p 1).

i i i

i i

cripto 2009/6/30 i page 138 Estilo OBMEP


i

138 Portanto, ap1 (1 2 3 (p 1)) 1 2 3 (p 1)

CAP. 5: POTNCIAS

(mod p).

Contudo, 1 2 3 (p 1) produto de inversveis mdulo p logo , ele prprio, inversvel mdulo p. Com isto podemos cancel-lo dos dois lados da congruncia, o que nos d ap1 1 (mod p); que o que precisvamos mostrar.

Pelo Teorema de Fermat, se p primo, ento todo elemento de resduo no nulo mdulo p tem uma potncia congruente a 1. Em particular, qualquer um destes elementos admite uma ordem mdulo p. Note, contudo, que no podemos armar que, como bp1 1 (mod p) se b 0 (mod p),

ento b tem ordem p 1 mdulo p. Para comear, 1 tem ordem 1 mdulo p qualquer que seja o p que voc escolher. Alm disso, como (p 1) 1 (mod p), temos que (p 1)2 (1)2 1 (mod p); donde podemos concluir que p 1 tem ordem dois qualquer que seja o p. Se estes exemplos ainda no lhe satisfazem, que tal este: de acordo

i i i

i i

cripto 2009/6/30 i page 139 Estilo OBMEP


i

SEC. 5.3: POTNCIAS

139

com o Teorema de Fermat, 230 1 (mod 31); contudo, como vimos na seo 5.1, a ordem de 2 mdulo 31 5, e no 30. Para terminar de uma maneira mais positiva, aqui est um desao que mostra como a ordem de um inteiro mdulo p est relacionada ao expoente p 1 do Teorema de Fermat. Desao 5. Seja p um primo positivo e b um inteiro que no divisvel por p. Digamos que k a ordem de b mdulo p. (a) Explique porque k p 1. (b) Seja r o resto da diviso de p 1 por k. Mostre que, como ap1 ak 1 ento ar 1 (mod p). (c) Lembrando que 0 r k 1, mostre que r = 0. (d) Conclua que a ordem de b um divisor de p 1. (mod p),

5.3

Potncias

Agora que temos o Teorema de Fermat, podemos us-lo para simplicar o clculo de restos de potncias.

i i i

i i

cripto 2009/6/30 i page 140 Estilo OBMEP


i

140

CAP. 5: POTNCIAS

5.3.1

Mdulos Primos

Comeamos reprisando o clculo do resto da diviso de 364 por 31, que j zemos na pgina 133. S que, desta vez, usaremos o Teorema de Fermat. Como 330 1 (mod 31), pelo Teorema de Fermat e 64 = 2 30 + 4, ento 364 (330 )2 34 1 81 19 (mod 31), conrmando o resultado de nossos clculos anteriores de uma maneira bem mais simples. Exerccio 50. Calcule o resto da diviso de 398 745 por 43 usando o Teorema de Fermat. Vejamos outro exemplo, um pouco mais sutil. Digamos que quere2 mos calcular o resto da diviso de 31 034 por 1 033. A primeira coisa a fazer vericar que 1 033 primo, pois s podemos aplicar o Teorema de Fermat quando o mdulo primo. Como 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 vericar que nenhum deles divide 1 033. Agora que temos

i i i

i i

cripto 2009/6/30 i page 141 Estilo OBMEP


i

SEC. 5.3: POTNCIAS

141

certeza que 1 033 primo, podemos armar que 31 032 1 (mod 1 033) pelo Teorema de Fermat. Em seguida precisamos dividir 1 0342 por 1 032. Dividir maneira de dizer, o que precisamos mesmo do resto da diviso de 1 0342 por 1 032; o quociente no importa porque, por Fermat, vai ser o expoente de 1. Com isso, podemos usar congruncias para calcular o resto. Como 1 034 2 (mod 1 032), temos que 1 0342 22 4 (mod 1 032). Logo o resto da diviso de 1 0342 por 1 032 4. Como no conhecemos o quociente, vamos cham-lo de q. Mas, seja l qual for o valor de q, temos que 1 0342 = 1 032 q + 4; donde 31 034 31 032q+4 (31 032 )q 34
2

(mod 1 033)

aplicando o Teorema de Fermat, conclumos que 31 034 1 81 (mod 1 033); de forma que 31 034 deixa resto 81 na diviso por 1 033. Exerccio 51. Calcule o resto da diviso de 241 048 por 41 047. Exerccio 52. Calcule o resto da diviso de 319! por 307.
2 2 2

i i i

i i

cripto 2009/6/30 i page 142 Estilo OBMEP


i

142

CAP. 5: POTNCIAS

Exerccio 53. Calcule o resto da diviso de 1p1 + 2p1 + + (p 1)p1 por p, sabendo-se apenas que p > 2 primo. Desao 6. Determine todos os primos positivos p para os quais a equao 2x + xp + xp! 1 (mod p), tem soluo x 0 (mod p).

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, simplicar 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 i

i i

cripto 2009/6/30 i page 143 Estilo OBMEP


i

SEC. 5.3: POTNCIAS

143

A seguir dividimos 6 754 por p 1, para cada um dos fatores primos p de 1 155, 6 754 = 2 3 377, 6 754 = 4 1 688 + 2, 6 754 = 6 1 125 + 4, 6 754 = 10 675 + 4. Substituindo isto nas congruncias, 26 754 (22 )3 377 (mod 3), (mod 5), (mod 7), (mod 11).

26 754 (24 )1 688 22 26 754 (26 )1 125 24 26 754 (210 )675 24

Mas aplicando o Teorema de Fermat, estas congruncias se reduzem a:

26 754 1 2
6 754 2

(mod 3),

2 4 (mod 5),

26 754 24 2 (mod 7), 26 754 24 5 (mod 11),

i i i

i i

cripto 2009/6/30 i page 144 Estilo OBMEP


i

144 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).

CAP. 5: POTNCIAS

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),

j que 3 inversvel mdulo 5 e pode ser cancelado nos dois membros da equao. Assim x = 4+15z. Substituindo isto na terceira equao e resolvendo-a obtemos z 5 (mod 7); ou seja x = 79 + 105t. Finalmente substituindo isto na ltima equao, teremos t 6 (mod 11), o que d x = 709 + 1 155u. Conclumos que 26 754 709 (mod 1 155). Para realmente apreciar as vantagens deste mtodo, experimente refazer os clculos sem us-lo.

i i i

i i

cripto 2009/6/30 i page 145 Estilo OBMEP


i

SEC. 5.3: POTNCIAS

145

Exerccio 54. Calcule o resto da diviso de (a) 2495 por 15 841; (b) de 241 045 por 41 041; (c) de 277 por 2 465.

i i i

i i

cripto 2009/6/30 i page 146 Estilo OBMEP


i

Captulo 6

Criptograa RSA
chegada a hora de reunir tudo o que zemos anteriormente, na descrio do mtodo RSA. A descrio do RSA propriamente dita consiste em explicitar as receitas usadas para codicao e decodicao 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 decodicar signica passar da mensagem codicada mensagem original. Por isso, nossa misso neste captulo no se resume a descrever as receitas de codicao e decodicao; precisamos tambm vericar que se aplicadas nesta ordem voltamos a obter mensagem original. Anal, se isto no fosse verdade, de que serviria este mtodo de criptograa?

146

i i i

i i

cripto 2009/6/30 i page 147 Estilo OBMEP


i

SEC. 6.1: PR-CODIFICAO

147

6.1

Pr-codicao

Como dissemos acima, o que fazemos para codicar 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 simplicar, 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-codicao, para distingui-la do processo de codicao propriamente dito. Na pr-codicao convertemos as letras em nmeros usando a seguinte tabela de converso:

A 10 N 23

B 11 O 24

C 12 P 25

D 13 Q 26

E 14 R 27

F 15 S 28

G 16 T 29

H 17 U 30

I 18 V 31

J 19 W 32

K 20 X 33

L 21 Y 34

M 22 Z 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 i

i i

cripto 2009/6/30 i page 148 Estilo OBMEP


i

148 vertida no nmero

CAP. 6: CRIPTOGRAFIA RSA

1022249910992411221425. Observe que precisamos fazer cada letra corresponder a um nmero de, pelo menos, dois algarismos para evitar ambiguidades. Se zssemos 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 prcodicao 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 decodicar, j que, por exemplo, no temos como distinguir o bloco 071 do bloco 71.

i i i

i i

cripto 2009/6/30 i page 149 Estilo OBMEP


i

SEC. 6.2: CODIFICANDO E DECODIFICANDO UMA MENSAGEM

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 decodicao por contagem de frequncia essencialmente impossvel.

6.2

Codicando e Decodicando uma Mensagem

Encerramos assim a pr-codicao, e podemos passar etapa de codicao propriamente dita. Para codicar a mensagem precisamos apenas de n, que o produto dos primos. Diremos que n a chave de codicao do sistema RSA que estamos usando. Esta chave pode ser tornada pblica; isto , podemos envi-la a qualquer um que queira nos mandar uma mensagem, sem preocupao de mant-la secreta. Por isso a chave de codicao tambm conhecida como chave pblica do sistema. Supondo que j submetemos a mensagem pr-codicao, temos uma sequncia de nmeros que, como na seo anterior, chamaremos de blocos. Codicaremos cada bloco separadamente. A mensagem codicada ser a sequncia dos blocos codicados. Isto muito importante porque depois de codicados os blocos no podem mais ser reunidos de modo a formar um longo nmero. Se isto for feito, ser impossvel decodicar a mensagem, como car claro na seo 6.3, na qual discutimos o funcionamento do RSA. Exerccio 55. Usando a tabela de primos da pgina 180, construa uma chave pblica para voc utilizar na codicao de mensagens RSA para seus colegas.

i i i

i i

cripto 2009/6/30 i page 150 Estilo OBMEP


i

150

CAP. 6: CRIPTOGRAFIA RSA

6.2.1

Codicao

Digamos, ento, que a chave de codicao n. Como faremos para codicar um bloco b? Lembre-se que b um inteiro positivo menor que n. Vamos denotar o bloco codicado por C(b). A receita para calcular C(b) a seguinte: C(b) = resto da diviso de b3 por n. Observe que, em termos de aritmtica modular, C(b) o resduo de b3 mdulo n. Na verdade, como b > 0, o nmero C(b) mesmo o resto da diviso de b3 por n. Vejamos o que aconteceria no exemplo que estamos considerando. Temos n = 391. Assim, o bloco 102 da mensagem anterior deve ser codicado como o resto da diviso de 1023 por 391. Fazendo as contas, obtemos C(102) = 34. claro que, para simplicar nosso trabalho, executamos a conta calculando o resduo de 1023 mdulo 391: 1023 1022 102 238 102 24276 34 (mod 391). Codicando toda a mensagem passo a passo, temos o seguinte: 2243 2242 224 128 224 129 (mod 391); 993 992 99 26 99 228
3 2

(mod 391);

109 109 109 151 109 37 (mod 391); 923 922 92 253 92 207 (mod 391);

i i i

i i

cripto 2009/6/30 i page 151 Estilo OBMEP


i

SEC. 6.2: CODIFICANDO E DECODIFICANDO UMA MENSAGEM

151

413 412 41 117 41 105 (mod 391); 1223 1222 122 26 122 44 1423 1422 142 223 142 386 5 5 5 25 5 125
3 2

(mod 391); (mod 391);

(mod 391).

Reunindo todos os blocos, descobrimos que a mensagem codicada 34 129 228 37 207 105 44 386 125. Exerccio 56. Use a chave pblica que voc construiu no exerccio 55 para codicar seu nome. Escreva a chave e a mensagem em um papel. Os papis devero ser reunidos, embaralhados e sorteados entre os alunos para o prximo exerccio.

6.2.2

Decodicao

Vejamos como fazer para decodicar um bloco da mensagem codicada. Em outras palavras, queremos saber qual a receita que nos permite, de posse de um bloco codicado e da chave pblica, reconstruir o bloco original, antes da codicao. A informao que precisamos para poder decodicar consiste de dois nmeros: n e o inverso d > 0 de 3 mdulo (p 1)(q 1). Pela denio de inverso isto signica que devemos ter 3d 1 (mod (p 1)(q 1)).

i i i

i i

cripto 2009/6/30 i page 152 Estilo OBMEP


i

152

CAP. 6: CRIPTOGRAFIA RSA

A explicao de onde saiu este nmero misterioso voc encontrar na prxima seo. Chamaremos o par (n, d) de chave de decodicao. Esta chave tem que ser mantida secreta. Quem a descobrir vai poder decodicar qualquer mensagem endereada a voc. De posse do par (n, d), como devemos proceder para decodicar uma mensagem? Se a for um bloco codicado, denotaremos por D(a) o resultado do processo de decodicao do bloco a. A receita para calcular D(a) a seguinte: D(a) = resto da diviso de ad por n. Em termos de aritmtica modular, D(a) o resduo de ad mdulo n. Como no caso da codicao, o bloco a positivo e este resduo coincide com o resto da diviso de bd por n. Note que, ao chamarmos o processo acima de decodicao, estamos assumindo um compromisso importante, que o de mostrar que ao decodicar um bloco codicado, obtemos o bloco original. Dizendo de outra maneira, se b um bloco da mensagem original, s ser legtimo chamar o processo acima de decodicao se D(C(b)) = b. No de forma alguma bvio que isto verdade: a demonstrao de que esta igualdade realmente vlida dada em detalhes na seo 6.3. Alguns comentrios so necessrios antes de fazermos um exemplo. Em primeiro lugar, muito fcil calcular d. Como estamos supondo

i i i

i i

cripto 2009/6/30 i page 153 Estilo OBMEP


i

SEC. 6.2: CODIFICANDO E DECODIFICANDO UMA MENSAGEM

153

que p e q deixam resto 5 na diviso por 6, temos que p 5 (mod 6) e q 5 (mod 6). Assim, (p 1)(q 1) 4 4 16 4 2 (mod 6); donde (p 1)(q 1) = 6 k 2, para algum inteiro positivo k. Contudo, como j vimos em (3.4.1), o inverso de 3 mdulo 6 k 2 igual a 4 k 1. Logo, podemos tomar d = 4 k 1. No exemplo que vimos considerando p = 17 e q = 23, de forma que (p 1)(q 1) = 16 22 = 352 = 6 58 + 4 que igual a (p 1)(q 1) = 6 59 2. Portanto, neste caso, k = 59 e d = 4 59 1 = 235. Aplicando a receita dada anteriormente ao primeiro bloco da mensagem codicada, temos que D(34) igual ao resto da diviso de 34235 por n = 391.

i i i

i i

cripto 2009/6/30 i page 154 Estilo OBMEP


i

154

CAP. 6: CRIPTOGRAFIA RSA

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 Mas, 11 12 4 3 de forma que 11235 1115 415 315 Contudo, 411 1 (mod 23), 311 1 (mod 23), (mod 23). (mod 23); (mod 23).

i i i

i i

cripto 2009/6/30 i page 155 Estilo OBMEP


i

SEC. 6.2: CODIFICANDO E DECODIFICANDO UMA MENSAGEM

155

de modo que 415 230 (211 )2 28 28 3 (mod 23),

315 311 34 34 12 (mod 23). Donde podemos concluir que 11235 415 315 3 12 10 (mod 23). Portanto, 34235 0 (mod 17), 34235 10 (mod 23).

Isto corresponde ao sistema x 0 (mod 17), x 10 (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 i

i i

cripto 2009/6/30 i page 156 Estilo OBMEP


i

156 Assim, 6y 7 (mod 17).

CAP. 6: CRIPTOGRAFIA RSA

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, anal estamos decodicando 34, que corresponde codicao do bloco 102. Exerccio 57. Decodique 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 decodique a mensagem para saber de quem ela veio.

6.2.3

Segurana

Antes de prosseguir para a explicao de porque o RSA funciona, conveniente discutir com um pouco mais de detalhes em que se fundamenta a segurana do RSA. Neste contexto, o termo-chave quebrar o cdigo. Digamos que algum, que vamos chamar de A, pe uma escuta (tambm conhecida como um grampo) na linha que uma empresa usa para transmitir mensagens codicadas a um banco. Se

i i i

i i

cripto 2009/6/30 i page 157 Estilo OBMEP


i

SEC. 6.2: CODIFICANDO E DECODIFICANDO UMA MENSAGEM

157

o cdigo utilizado for o RSA, ento A vai ter acesso no apenas s mensagens codicadas que a empresa envia ao banco (obtidas pelo grampo), mas tambm chave de codicao n usada pela empresa que, anal de contas, pblica. Lembre-se que a chave n igual ao produto de dois nmeros primos p e q que foram escolhidos pela empresa no momento em que sua implementao do RSA foi feita. Em princpio, A no deveria ter nenhuma diculdade em decodicar a mensagem. De posse de n, precisaria apenas fator-lo, descobrir p e q e us-los para calcular d. Uma vez obtido d, a receita de decodicao explicada em 6.2.2 pode ser aplicada para reconstituir a mensagem original. Embora tudo isto parea muito simples em princpio, na prtica totalmente invivel. A razo est em um problema de natureza tecnolgica: no existem computadores rpidos o suciente, nem algoritmos bons o suciente, que nos permitam fatorar um nmero inteiro muito grande que no tenha fatores relativamente pequenos. Lembrese que, na seo 1.2.5 do captulo 1 mostramos que o tempo necessrio para fatorar um nmero de uns cem algarismos pelo mtodo usual de tentativa imenso, e excede, em muito, a idade estimada do universo. Entretanto, a armao que acabamos de fazer muito mais forte: no existe nenhum algoritmo conhecido capaz de fatorar inteiros grandes de modo realmente eciente. Na verdade, no se sabe nem mesmo se possvel que um tal algoritmo exista! Mas, o que signica a palavra grande neste contexto? Mais precisamente, quo grande deve ser a chave n usada no RSA para que,

i i i

i i

cripto 2009/6/30 i page 158 Estilo OBMEP


i

158

CAP. 6: CRIPTOGRAFIA RSA

mesmo tendo interceptado a mensagem codicada pela empresa e conhecendo n, o agente A no seja capaz de achar p e q e, assim, decodicar 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 codicao RSA, lanou desaos, 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 nalizada 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 desao 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 i

i i

cripto 2009/6/30 i page 159 Estilo OBMEP


i

SEC. 6.2: CODIFICANDO E DECODIFICANDO UMA MENSAGEM

159

Na prtica, isto signica 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 nal. Quando usamos congruncias para efetuar a codicao 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 i

i i

cripto 2009/6/30 i page 160 Estilo OBMEP


i

160 Calculei ento o quociente

CAP. 6: CRIPTOGRAFIA RSA

(p 1)(q 1) + 2 = 166666666666666666666666666666666 6 66666693789244306666666666666666666666666666666666666 70735053308917 que me d o valor de k; donde d = 4k1 = 6666666666666666666666666666666666666677515697722 666666666666666666666666666666666666682940213235667. Com isto podemos codicar a mensagem AMO A OBMEP que, neste caso, pode ser tomada como um nico bloco m = 1022249910992411221425 j que este um nmero menor do que n = pq. O resduo de 10222499109924112214253 mdulo n 106824592360317689994495293731276889004322696993731601 3731140625, que corresponde codicao C(m) da mensagem m. Se j difcil imaginar o clculo do cubo de m mdulo n, o que dizer da decodicao de C(m), que consiste em elevar este nmero de 63 algarismos

i i i

i i

cripto 2009/6/30 i page 161 Estilo OBMEP


i

SEC. 6.3: POR QUE FUNCIONA?

161

a d, que um nmero de 99 algarismos. Na verdade, um computador no consegue escrever todos os algarismos de C(m)d : h tantos deles que no cabem na memria de nenhum computador. No entanto, usando congruncia mdulo n o meu computador consegue calcular o resduo de C(m)d mdulo n em menos de um centsimo de segundo! Custa-me crer que, tendo lido este ltimo exemplo, voc no esteja perguntando: Como ele fez para obter este nmeros primos enormes? Esta uma tima pergunta, que ca melhor ainda se voc lembrar que: 1. para saber se um nmero primo precisamos garantir que no tem fatores prprios e que; 2. no existem meios rpidos para fatorar nmeros to grandes. A concluso aparentemente inevitvel de (1) e (2) que deveria ser impossvel determinar com certeza se nmeros muito grandes so primos. Curiosamente, a concluso falsa, muito embora tanto (1) quanto (2) sejam verdadeiros. O fato, bastante surpreendente, que possvel determinar que nmeros muito grandes so primos ou compostos sem que haja necessidade de fator-los. Discutiremos isto com um pouco mais de detalhes no prximo captulo.

6.3

Por que funciona?

Para que o procedimento exposto acima seja realmente til, preciso que, ao decodicar uma mensagem, obtenhamos a mensagem

i i i

i i

cripto 2009/6/30 i page 162 Estilo OBMEP


i

162

CAP. 6: CRIPTOGRAFIA RSA

original. Vimos nos exerccios 57 e 58 que, ao menos nestes exemplos, a decodicao reproduziu a mensagem original. Falta, apenas, convencer-nos de que isto sempre ocorre.

6.3.1

Explicando o Funcionamento do RSA

Digamos que temos um sistema RSA de parmetros p e q, com n = pq. Ento, para a codicao usamos a chave pblica n, e para a decodicao o par (n, d), onde (p 1) (q 1) = 6 k 2 e d = 4 k 1.

Usando a notao das sees anteriores, precisamos vericar que, se b um bloco da mensagem a ser codicada, isto um inteiro que satisfaz 1 b n 1, ento DC(b) = b. Em outras palavras, queremos mostrar que aplicando o processo de decodio a um bloco codicado, obtemos de volta o bloco correspondente da mensagem original. Na verdade, precisamos provar apenas que DC(b) b (mod n). Isto suciente porque tanto DC(b) quanto b esto no intervalo que vai de 1 a n 1, logo s podem ser congruentes mdulo n se forem iguais. Isto explica porque precisamos escolher b menor que n e porque temos que manter os blocos separados, mesmo depois da codicao. Se no tomssemos estes cuidados, continuaramos obtendo blocos

i i i

i i

cripto 2009/6/30 i page 163 Estilo OBMEP


i

SEC. 6.3: POR QUE FUNCIONA?

163

congruentes depois da decodicao, 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 denio de D e de C temos que C(b) b3 e que C(a) ad (mod n). (mod n);

Combinando estas duas congruncias, obtemos DC(b) D(b3 ) b3d (mod n). (6.3.1)

Queremos, portanto, mostrar que b3d b (mod n). Mas, por denio, 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 i

i i

cripto 2009/6/30 i page 164 Estilo OBMEP


i

164

CAP. 6: CRIPTOGRAFIA RSA

o resduo de b3d mdulo p. Levando em conta a expresso para 3d obtida em (6.3.2), temos que b3d b (bp1 )k(q1) (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), b
3d

(6.3.3)

b (mod q).

i i i

i i

cripto 2009/6/30 i page 165 Estilo OBMEP


i

SEC. 6.3: POR QUE FUNCIONA?

165

Observe que b uma soluo de x b (mod p), x b (mod q); de modo que, pelo teorema chins do resto, este sistema tem soluo geral igual a b + p q t, onde t Z. Logo b3d que, por (6.3.3) tambm soluo do mesmo sistema, tem que satisfazer b3d = b + p q k, para algum inteiro k. Mas isto equivalente a b3d b (mod pq); que a congruncia que desejvamos provar. Exerccio 59. Discuta em grupo os seguintes problemas relativos segurana do RSA: (a) se as chaves pblicas de duas pessoas diferentes tm um primo em comum, ento fcil quebrar o RSA destas duas pessoas; (b) se usamos o RSA, mas codicamos a mensagem partindoa em blocos que consistem de uma nica letra, ento fcil decodicar a mensagem, embora o cdigo no seja quebrado. Um problema semelhante, porm mais difcil, proposto no seguinte desao.

i i i

i i

cripto 2009/6/30 i page 166 Estilo OBMEP


i

166

CAP. 6: CRIPTOGRAFIA RSA

Desao 7. Sabemos que se n a chave pblica de uma implementao do RSA, ento n = pq, onde p e q so primos positivos distintos. Imagine que algum lhe emprestou um computador (que voc no tem a menor ideia de como funciona) que, ao receber a chave pblica n calcula o nmero m = (p1)(q 1). Mostre que possvel determinar p e q a partir de n e m.

6.3.2

Comentrio

Se voc leu o argumento usado para provar que o RSA funciona corretamente em detalhes e com bastante senso crtico, pode estar perguntando: Onde usamos o fato dos primos terem que deixar resduo 5 mdulo 6? A resposta que isto s necessrio para garantir que 3 inversvel mdulo (p 1)(q 1). Como a demonstrao toda depende disto, a hiptese parece realmente essencial. Mas no . O fato que o RSA pode ser implementado usando quaisquer dois expoentes inteiros positivos, e para codicao e d para decodicao, desde que ed 1 (mod (p 1)(q 1)).

A demonstrao de que o sistema se comporta da maneira desejada para tais expoentes essencialmente a mesma que foi dada acima. Ento, por que estamos nos limitando ao caso em que o expoente de codicao e igual a 3? A resposta que, com isto, fcil determinar d. Para que pudssemos permitir expoentes mais gerais,

i i i

i i

cripto 2009/6/30 i page 167 Estilo OBMEP


i

SEC. 6.3: POR QUE FUNCIONA?

167

precisaramos de um outro algoritmo que nos permitisse determinar o inverso de um dado nmero mdulo (p 1)(q 1), quando este inverso existe. Este algoritmo existe e bem conhecido, trata-se de uma extenso do algoritmo euclidiano que utilizado para calcular o mximo divisor comum de dois nmeros. Mais detalhes sobre este algoritmo podem ser encontrados no captulo 1 da referncia [2].

i i i

i i

cripto 2009/6/30 i page 168 Estilo OBMEP


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 codicada 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 innitos 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 i

i i

cripto 2009/6/30 i page 169 Estilo OBMEP


i

SEC. 7.1: INFINIDADE DOS PRIMOS

169

Na prtica a resposta a (2) no satisfatria, porque no vivel encontrar todos os primos que tenham menos dos que 50 algarismos. H muitos deles, e o tempo necessrio para determinar todos seria longo demais. Para achar um primo de 50 algarismos precisamos de um procedimento que nos leve diretamente a ele, sem ter que achar todos os primos intermedirios. Isto possvel mas est alm das possibilidades desta apostila; para mais detalhes consulte o captulo 6 da referncia [2], por exemplo. Entretanto, para no deixar o problema inteiramente sem resposta analisaremos na seo 7.3 um teste que permite identicar que certos nmeros so compostos sem precisar fator-los.

7.1

Innidade dos Primos

Comearemos discutindo o argumento, dado por Euclides em seus Elementos, que mostra que existem innitos nmeros primos.

7.1.1

Innitos Primos

Na verdade o que mostraremos que, dado um conjunto nito qualquer P de primos, tem que existir um primo fora de P. Digamos que P = {p1 , . . . , ps }, um conjunto nito formado apenas por nmeros primos e consideremos o nmero N = p1 ps ,

i i i

i i

cripto 2009/6/30 i page 170 Estilo OBMEP


i

170

CAP. 7: ENCONTRANDO PRIMOS

que igual ao produto de todos os primos em P. Como N e N + 1 no podem ter nenhum fator prprio comum (veja Exerccio 3), um primo que divide N no pode dividir N + 1. Mas, todos os primos em P dividem N ; logo nenhum primo em P pode dividir N + 1. Contudo, pelo Teorema da Fatorao nica o nmero inteiro N + 1 tem que ter algum fator primo. Como estes fatores no podem dividir N , ento so primos que no pertencem a P, provando assim o que queramos. O resultado que acabamos de mostrar importante o suciente para ser enunciado como um teorema. Teorema 4. Se P um conjunto nito de nmeros primos, ento existe um primo que no pertence a P. Observe que isto basta para garantir que o conjunto de todos os primos no pode ser nito. Anal, dado um conjunto nito qualquer de primos, mostramos que sempre h um primo fora deste conjunto. Teorema de Euclides. Existem innitos nmeros primos. Curiosamente, apesar do resultado acima ser frequentemente atribudo a Euclides, o enunciado que aparece nos Elementos mais parecido com o Teorema 4. O que Euclides diz, em uma traduo quase literal do grego : h mais nmeros primos do que qualquer quantidade proposta de primos. Um erro que muita gente comete ao ler a demonstrao do teorema 4 consiste em achar que o argumento mostra que o nmero N + 1 primo. Em outras palavras, multiplicando uma quantidade nita de

i i i

i i

cripto 2009/6/30 i page 171 Estilo OBMEP


i

SEC. 7.1: INFINIDADE DOS PRIMOS

171

primos e somando um obtemos um primo. Isto no verdade, como voc vai vericar no prximo exerccio. Exerccio 60. Se p for um primo, denote por p# o produto de todos os primos positivos menores ou iguais que p. Por exemplo, 11# = 2 3 5 7 11. Chamamos p# de primorial de p, porque sua denio parece com a do fatorial. Determine o menor valor de p para o qual p# + 1 composto. Na verdade, h apenas 22 primos p para os quais p# + 1 tambm primo. O maior deles 392 113; cujo primorial 392 113# o produto de 33 237 primos e d lugar a um primo 392 113# + 1 de 169 966 algarismos. Quase tudo o que zemos acima relativamente a p# +1 tambm se aplica a p# 1, como voc chamado a mostrar no prximo exerccio. Exerccio 61. Seja p um primo. (a) Mostre que p# e p# 1 no tm fatores comuns. (b) Use (a) para mostrar que existem innitos nmeros primos. (c) Determine o menor primo mpar p para o qual p# 1 composto. So conhecidos apenas 18 primos da forma p# 1, o maior deles 15 877# 1 que tem 6 845 algarismos.

i i i

i i

cripto 2009/6/30 i page 172 Estilo OBMEP


i

172

CAP. 7: ENCONTRANDO PRIMOS

7.1.2

Primos da Forma 6k+5

Embora o que acabamos de fazer seja muito interessante, no podemos esquecer que no era bem isto que queramos provar, mas sim que existem innitos primos cujo resto na diviso por 6 5. Vejamos se o que j mostramos basta para provar esta armao mais restrita. Em primeiro lugar, qualquer inteiro na diviso por 6 tem que deixar como resto um nmero entre 0 e 5. Mas, se p for primo ento as possibilidades de restos so mais restritas. De fato, se o resto for 0, o nmero divisvel por 6. Por outro lado, se o resto for 2 ou 4, ento o nmero par, logo divisvel por 2; ao passo que se o resto for 3, o nmero divisvel por 3. Portanto, se p for primo s pode deixar resto 1 ou resto 5 quando dividido por 6. Isto, infelizmente no bom para o nosso argumento. Embora seja fcil produzir exemplos de primos que deixam resto 5 na diviso por 6 (como 5 e 17), talvez s haja uma quantidade nita destes primos, ao passo que os que deixam resto 1 na diviso por 6 so innitos. Apesar de no ser verdade, isto compatvel com o fato de existirem innitos primos. Isto no esgota nossa caixa de ferramentas, porque ainda podemos pensar em usar o teorema 4 diretamente, em vez de apelar para o Teorema de Euclides, que apenas uma de suas possveis consequncias. Mais precisamente, queremos mostrar que se P for um conjunto nito de primos da forma 6k + 5

i i i

i i

cripto 2009/6/30 i page 173 Estilo OBMEP


i

SEC. 7.1: INFINIDADE DOS PRIMOS

173

ento existe um primo da mesma forma que no pertence a P. O problema que o teorema 4 nos diz apenas que existe algum primo fora de P e, como j vimos, h primos que no so da forma 6k + 5. Em princpio, poderamos tentar renar nossa anlise repetindo a demonstrao do teorema 4 neste caso especial para ver se continua funcionando. Para isso, suponhamos que P = {p1 , . . . , ps }, um conjunto nito formado apenas por nmeros primos da forma 6k + 5 e consideraremos o nmero N = p1 ps , que igual ao produto de todos os primos em P. Como antes, N e N + 1 no tm fator prprio comum, s que, como N um nmero mpar, N +1 tem que ser par. Portanto, N + 1 admite 2 como fator e no chegamos a nenhuma contradio porque, por exemplo, isto compatvel com N + 1 ser uma potncia de 2. Para sair desta enrascada precisaremos de um argumento muito mais delicado. Ao invs de considerar simplesmente N + 1, escolheremos trabalhar com 6N +5, porque este ltimo nmero deixa resto 5 na diviso por 6, como era o caso dos primos com os quais comeamos. Infelizmente, 5 pertence ao conjunto P, de modo que um divisor

i i i

i i

cripto 2009/6/30 i page 174 Estilo OBMEP


i

174 comum entre N e 6N + 5, de modo que

CAP. 7: ENCONTRANDO PRIMOS

mdc(N, 6N + 5) = 1. Mas isto no razo para desanimarmos. Depois de pensar um pouco, vemos que esta diculdade pode ser contornada se exclurmos 5 do produto que dene N . Para deixar o argumento mais claro, redeniremos todos os dados iniciais. Suponha, ento, que P = {5, p1 , . . . , ps }, seja o conjunto nito formado por todos os nmeros primos que deixam resto 5 na diviso por 6. Considere o nmero N = p1 ps . Observe que deixamos o 5 fora deste produto. Pelo teorema da fatorao nica, podemos escrever 6N + 5 na forma
e em 6N + 5 = q11 qm ,

(7.1.1)

em que os qs so primos positivos e os es so inteiros positivos. Como 6N + 5 mpar, todos os seus fatores tm que ser mpares. Portanto, os q so mpares e tm que deixar resto 1 ou 5 na diviso por 6. Digamos, por um momento, que todos os qs deixassem resto um na diviso por 6. Neste caso teramos que
e em q11 qm 1 (mod 6).

i i i

i i

cripto 2009/6/30 i page 175 Estilo OBMEP


i

SEC. 7.1: INFINIDADE DOS PRIMOS

175

Mas isto impossvel, porque pela igualdade (7.1.1),


e em q11 qm 6N + 5 5 (mod 6),

e 1 e 5 no so congruentes mdulo 6. Isto nos permite concluir que 6N + 5 tem que ter pelo menos um fator primo que deixa resto 5 na diviso por 6. Acontece que P , por hiptese, a lista completa dos primos da forma 6k + 5. Logo, 6N + 5 tem que ser divisvel por algum elemento de P. Isto possvel? Vejamos. Para comear, se 5 dividisse 6N + 5 ento teria que dividir (6N + 5) 5 = 6N = 2 3 p1 ps , o que no possvel, j que 5 no aparece entre os primos nesta fatorao. Por outro lado, se 6N + 5 fosse divisvel por um dos primos que dividem N , ento (6N + 5) 6N = 5, teria que ser divisvel pelo mesmo primo, o que tambm no possvel. Isto mostra que 6N + 5 no pode ser divisvel por nenhum elemento de P, e nos d a contradio desejada. Disto segue imediatamente que h uma quantidade innita de primos da forma 6k + 5, como espervamos mostrar. Desao 8. O objetivo deste desao dar uma demonstrao de que existem innitos nmeros primos da forma 4n + 3.

i i i

i i

cripto 2009/6/30 i page 176 Estilo OBMEP


i

176

CAP. 7: ENCONTRANDO PRIMOS

(a) Mostre que todo nmero primo mpar tem resduo 1 ou 3 mdulo 4. (b) D exemplos de cinco nmeros primos que tm resduo 1 mdulo 4 e cinco que tm resduo 3 mdulo 4. (c) Mostre que o produto de dois nmeros inteiros da forma 4n + 1 da forma 4n + 1. (d) O produto de dois nmeros da forma 4n + 3 da forma 4n + 3? (e) Suponha que 3 < p1 < < pk sejam primos da forma 4n + 3. Usando (c), verique que 4(p1 . . . pk ) + 3 tem que ser divisvel por um primo da forma 4n + 3 que no pertence ao conjunto {3, p1 , . . . , pk }. (f ) Use (e) para mostrar que existem innitos nmeros primos da forma 4n + 3.

7.2

Encontrando os Primos

Agora que sabemos que h uma innidade de primos da forma 6k + 5, s nos resta explicar como se deve proceder para encontrar primos cada vez maiores que so desta forma. Como na seo anterior, comearemos tratando dos primos em geral; s depois veremos o que acontece se nos restringimos apenas aos primos da forma 6k + 5.

i i i

i i

cripto 2009/6/30 i page 177 Estilo OBMEP


i

SEC. 7.2: ENCONTRANDO OS PRIMOS

177

7.2.1

O Crivo de Eratstenes

Descreveremos aqui o mais antigo dos mtodos para achar primos, conhecido como crivo de Eratstenes. Como no podia deixar de ser, Eratstenes foi um matemtico grego, e nasceu por volta de 284 a.C. Apesar de sua procincia em muitos dos ramos de conhecimento, os contemporneos de Eratstenes julgavam que no havia chegado perfeio em nenhum. Por isso era chamado de Beta (segunda letra no alfabeto grego) e Pentatlos. Competitivos, esses gregos, no? Antes de mais nada, voc precisa saber que um crivo uma peneira. Nicmaco em sua Aritmtica, publicada por volta do ano 100 d.C., introduz o crivo de Eratstenes da seguinte maneira: o mtodo para obt-los [os nmeros primos] chamado por Eratstenes uma peneira, porque tomamos os nmeros mpares misturados de maneira indiscriminada e, por este mtodo, como se fosse pelo uso de um instrumento ou peneira, separamos os primos ou indecomponveis dos secundrios ou compostos. Portanto o crivo atua como uma peneira que s deixa passar os nmeros primos. Vejamos como funciona. Em primeiro lugar o crivo determina todos os primos at um certo inteiro positivo n previamente escolhido. Para realizar o crivo com lpis e papel podemos proceder da seguinte maneira. Listamos os mpares de 3 a n. claro que s listamos os mpares porque 2 o nico primo par. Comeamos ento a operar com o crivo propriamente dito. O primeiro nmero da nossa lista 3; riscamos os demais nmeros da lista, de 3 em 3. Assim sero riscados todos os mltiplos de 3 maiores

i i i

i i

cripto 2009/6/30 i page 178 Estilo OBMEP


i

178

CAP. 7: ENCONTRANDO PRIMOS

que ele prprio. Em seguida procuramos o menor elemento da lista, maior que 3, que no tenha sido riscado, que 5. Riscamos os demais nmeros da lista, de 5 em 5. Assim sero riscados todos os mltiplos de 5 maiores que ele prprio. E assim por diante, at chegar a n. Por exemplo, se n = 60, a lista de nmeros 21 41 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

Ao nal da primeira passagem do crivo (de 3 em 3), camos com 21 41 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

Ao nal da segunda passagem do crivo (de 5 em 5) a lista 21 41 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

Ao nal da terceira passagem do crivo (de 7 em 7), a lista se torna 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

21 41

Ao nal 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 i

i i

cripto 2009/6/30 i page 179 Estilo OBMEP


i

SEC. 7.2: ENCONTRANDO OS PRIMOS

179

posterior do crivo vai eliminar nenhum nmero adicional. Logo os primos mpares positivos menores que 35 so 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53 e 59. Este exemplo nos leva a observar algumas caractersticas do crivo. Em primeiro lugar, alguns nmeros so riscados da lista mais de uma vez. o caso de 15 que j havia sido riscado na primeira passagem (3 em 3), e foi riscado tambm na segunda (5 em 5). Em segundo lugar, j havamos riscado da lista todos os nmeros compostos na terceira passagem do crivo. Todas as passagens posteriores foram redundantes. Consideremos a segunda observao. Ela indica que deve ser possvel parar de riscar os nmeros muito antes de chegar a n. De fato, se m um inteiro da lista, ento m n. Se m for composto, ento ter um fator menor ou igual a m pela proposio 1. Mas m n. Isto , qualquer nmero composto da lista tem um fator menor ou igual a n. Desta forma no precisamos riscar nmeros de r em r quando r > [ n]. No exemplo acima [ 60] = 7; por isso suciente riscar de 3 em 3, de 5 em 5, de 7 em 7 e nada mais. A outra observao mais delicada. Infelizmente no possvel evitar completamente o fato de que alguns nmeros sero riscados vrias vezes. Mas podemos melhorar um pouco o crivo acima. Digamos que queremos achar os primos at n, e que estamos prestes a riscar os nmeros de p em p para algum primo p. claro que os mltiplos de p que tambm so mltiplos de primos menores que p j foram riscados da lista. Portanto, nesta etapa, podemos comear a

i i i

i i

cripto 2009/6/30 i page 180 Estilo OBMEP


i

180

CAP. 7: ENCONTRANDO PRIMOS

riscar de p em p a partir do menor mltiplo de p, que no mltiplo de um primo menor que p. Mas os mltiplos positivos de p so da forma k p para algum inteiro k 0, e se k < p, o inteiro k p tambm mltiplo do nmero k que menor que p. Logo, o menor mltiplo de p, que no mltiplo de um primo menor que p p2 . Resumindo: podemos riscar de p em p a comear de p2 . Isto evita algumas duplicaes e torna o crivo um pouco mais econmico.

7.2.2

Primos da Forma 6k + 5

Uma maneira de determinar os primos menores que um inteiro positivo n e que so da forma 6k + 5 listar todos os primos at n usando o crivo e testar para ver quais deixam resto 5 quando dividimos por 6. Fazendo isto lista de primos menores que 60 obtida anteriormente, sobram apenas 5, 11, 17, 23, 29, 41, 47, 53 e 59. O problema desta estratgia que muito ineciente. Digamos, por exemplo, que queremos encontrar todos os primos que deixam resto 5 na diviso por 6 e que so menores ou iguais a 1 000. Utilizando o crivo de Eratstenes na forma apresentada anteriormente, teramos que gerar uma lista de 1 000/2 = 500 nmeros mpares para riscar. Contudo, somente um em cada seis elementos da lista deixa resto 5

i i i

i i

cripto 2009/6/30 i page 181 Estilo OBMEP


i

SEC. 7.2: ENCONTRANDO OS PRIMOS

181

na diviso por 6. Como 1 000 = 6 166 + 4; isto signica que bastaria procurar pelos primos que realmente nos interessam entre 166 nmeros: aqueles que deixam resto 5 quando divididos por 6. Mas esta uma lista muito menor e mais fcil de manipular que a do crivo de Eratstenes. A questo : Podemos continuar riscando de p em p para determinar se um nmero mltiplo de p, mesmo com a lista reduzida somente aos nmeros da forma 6k + 5? Uma observao, antes de continuarmos, para o caso de voc ter pensado: Mas para que se preocupar com isto se posso vericar se o nmero mltiplo de p simplesmente dividindo-o por p e vendo se o resto zero? De fato isto pode ser feito mas, para nmeros mais ou menos grandes, muito mais trabalhoso do que contar de p em p. E isto continua sendo verdadeiro mesmo se usarmos um computador para fazer o risca-risca. Para que o crivo possa restringir-se apenas aos nmeros da forma de resduo 5 mdulo 6, precisamos mostrar duas coisas. A primeira que (1) todo nmero composto que tem resduo 5 mdulo 6 admite um fator do mesmo tipo.

i i i

i i

cripto 2009/6/30 i page 182 Estilo OBMEP


i

182

CAP. 7: ENCONTRANDO PRIMOS

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. Anal 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 3 5 7 9 11 13 15 17 19 21 23 25 27 29

Nesta tabela os mltiplos de 3 aparecem a cada 3 casas e os mltiplos de 5 a cada 5 casas. Removendo os mltiplos de 3, obtemos a seguinte tabela mais curta:

i i i

i i

cripto 2009/6/30 i page 183 Estilo OBMEP


i

SEC. 7.2: ENCONTRANDO OS PRIMOS

183 19 23 25 29

11

13

17

Note que j no mais verdade que os mltiplos de 5 aparecem a cada 5 casas. A remoo dos mltiplos de 3, alguns dos quais tambm so mltiplos de 5, alterou a posio dos nmeros uns em relao aos outros e destruiu o fato dos mltiplos de um mesmo nmero manterem uma distncia xa uns dos outros. Para mostrar (2), comearemos por tentar identicar qual a forma de um inteiro que deixa resto 5 na diviso por 6 e que divisvel por p. Chamando este inteiro de x, estas condies se traduzem no sistema de congruncias x5 (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)

Como s vamos riscar usando primos cujo resduo mdulo 6 igual a 5, temos que p 5 (mod 6); de forma que (7.2.1) se torna y5 5 (mod 6);

i i i

i i

cripto 2009/6/30 i page 184 Estilo OBMEP


i

184 donde,

CAP. 7: ENCONTRANDO PRIMOS

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 i

i i

cripto 2009/6/30 i page 185 Estilo OBMEP


i

SEC. 7.2: ENCONTRANDO OS PRIMOS

185

Infelizmente, no podemos combinar estas duas armaes e deduzir que um inteiro positivo deixa resto 5 quando dividido por 6 tem que ter um fator primo menor ou igual sua raiz quadrada que satisfaa a mesma propriedade. S poderamos chegar a esta concluso se todos os fatores primos de um nmero cujo resduo mdulo 6 5 fossem do mesmo tipo; mas isto falso. Por exemplo, 161 deixa resto 5 na diviso por 6 e tem dois fatores, 7 e 23, dos quais somente 23 deixa resto 5 na diviso por 6; entretanto, 23 > 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 signica que, ao contrrio do que zemos 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

Como 5 o primeiro nmero, comeamos riscando de cinco em cinco: 5 11 17 23 29 35 41 47 53 59

Em seguida, riscaramos de 11 em 11, acontece que a tabela s tem 10 casas: o dcimo primeiro nmero a partir de 11 j est fora da

i i i

i i

cripto 2009/6/30 i page 186 Estilo OBMEP


i

186

CAP. 7: ENCONTRANDO PRIMOS

tabela. claro que se isto aconteceu com 11, tambm acontecer com qualquer outro nmero maior que 11. Portanto, tendo riscado de 5 em 5, j obtivemos os primos desejados, que so 5, 11, 17, 23, 29, 41, 47, 53 e 59. Antes que voc que animado demais talvez seja melhor previni-lo de que as coisas no so assim to boas quando o limite superior da tabela um nmero muito grande. Exerccio 62. Use esta verso especial do crivo de Eratstenes para determinar todos os primos da forma 6k + 5 menores que 500.

7.3

Um Teste de Composio

Como dissemos na introduo deste captulo, o crivo de Eratstenes no uma maneira eciente de achar primos realmente grandes, como os que apareceram ao nal da seo 6.2 do captulo 6. O problema que o intervalo ao qual o crivo est sendo aplicado grande demais, o que o tornar muito lento e far com que ocupe um enorme espao na memria do computador, mais at do que teramos nossa disposio! Para contornar o problema, os matemticos criaram os chamados testes de primalidade: critrios que permitem determinar com segurana que um dado nmero primo. Estes testes procedem de maneira indireta; ao invs de tentar fatorar o nmero, calculam apenas certas potncias modulares, por isso tm execuo bastante rpida. O problema que os testes mais ecientes podem, em alguns casos, ter resultados inconclusivos; isto , o teste pode no conseguir

i i i

i i

cripto 2009/6/30 i page 187 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

187

decidir se um dado nmero ou no primo.

Tudo isto pode estar parecendo um tanto confuso e misterioso, por isso daremos um exemplo de um tal teste, o mais simples de todos. Trata-se de um teste que, ao receber um inteiro n > 2, tem uma de duas sadas possveis: o nmero n composto ou o teste foi inconclusivo. Note que o teste tem a sada oposta ao que realmente queremos. Desejamos garantir primalidade, mas este teste s garante composio: se a sada for inconclusiva, o nmero dado pode ser composto ou no: o teste no suciente para garantir qual a resposta correta. Mas lembre-se: vamos apresentar este teste em particular porque muito simples e d uma ideia razovel de como testes deste tipo funcionam; s isso. O teste tem por base o Teorema de Fermat, que enunciamos aqui para lembr-lo do seu contedo exato. Teorema de Fermat. Se p um primo e a um inteiro que no divisvel por p, ento ap1 1 (mod p). Portanto, o teorema nos diz que se p primo ento uma certa congruncia tem que ser verdadeira. Considere, ento, o seguinte nmero de 101 algarismos, R(101) = 1111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111.

i i i

i i

cripto 2009/6/30 i page 188 Estilo OBMEP


i

188

CAP. 7: ENCONTRANDO PRIMOS

Este nmero primo? Calculando o resduo r de 2n1 mdulo n com auxlio de um computador, vericamos que r = 5292914187654273058571598885199202595940728758186639 710565760508670021985609520505802825349865669415. Mas, espera a: se p fosse primo, o resduo no devia dar 1? Anal isso que diz o Teorema de Fermat, no ? Mas se r = 1 alguma coisa tem que ter sado errado. Ou o clculo do resduo est errado (no est, z o clculo no meu computador e testei o resultado), ou 2 divide n (brincadeirinha...), ou o Teorema de Fermat falso (no , vimos uma demonstrao no captulo 5) ou nossa impresso de que n fosse primo no se justica; isto , na verdade n composto. O mais interessante que o algoritmo de fatorao do meu computador no consegue calcular nenhum fator para este nmero, embora o Teorema de Fermat nos garanta que ele composto! fcil generalizar este argumento. Seja n o nmero inteiro que queremos saber se composto. Escolhemos um inteiro b qualquer, que no seja divisvel por n e calculamos o resduo r de bn1 mdulo n. Se acontecer de r = 1 ento o Teorema de Fermat nos garante que n no pode ser primo. Temos, assim, uma maneira indireta de provar que um dado nmero composto. Em outras palavras, mesmo no tendo determinado nenhum fator de n podemos ter certeza de que n composto. Naturalmente, a pergunta que precisamos fazer :

i i i

i i

cripto 2009/6/30 i page 189 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

189 n se o resduo

O que podemos armar sobre r bn1 (mod n) for igual a 1?

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 eciente 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 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 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 prexo grego que (mod 25);

i i i

i i

cripto 2009/6/30 i page 190 Estilo OBMEP


i

190

CAP. 7: ENCONTRANDO PRIMOS

signica falso). Mais precisamente, um nmero inteiro positivo n um pseudoprimo relativamente base b se n for mpar, composto e satiszer a congruncia bn1 1 (mod n). Embora a base b possa ser qualquer inteiro, no h necessidade de considerar bases maiores que n 1 ou menores que 1. A razo que estamos efetuando apenas clculos mdulo n, de forma que qualquer inteiro pode ser substitudo por seu resduo, sem alterar o clculo da potncia. Por que escolhemos 7 como base no exemplo acima e no, digamos, 2? A razo que 224 (27 )8 38 11 (mod 25),

de modo que o teste detectaria corretamente que 25 composto se escolhssemos 2 como base. Isto signica, em particular, que 25 no contradiz a armao de Leibniz. O menor inteiro positivo que composto e satisfaz 2n1 1 (mod n) 341. Como este nmero j bastante grande, efetuaremos os clculos da potncia usando o mtodo do captulo 5. Em primeiro lugar, fatoramos 341, obtendo 341 = 11 31. Portanto, se r o resduo de 2340 mdulo 341, teremos o sistema r 2340 r 2340 (mod 11), (mod 31).

Contudo, pelo Teorema de Fermat 210 1 (mod 11), ao passo que

i i i

i i

cripto 2009/6/30 i page 191 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

191

um clculo direto mostra que 25 1 (mod 31). Logo,

2340 (210 )34 1

(mod 11),

2340 (25 )68 1 (mod 31). Com isso, o sistema pode ser reescrito na forma r 1 (mod 11), r 1 (mod 31); e sequer precisamos aplicar o algoritmo chins do resto porque, evidentemente, r = 1 satisfaz ambas as congruncias. Logo, b340 1 (mod 341); e podemos concluir que 341 um pseudoprimo para a base 2, contradizendo assim a armao do Leibniz. Feitas estas consideraes, podemos formular o teste resultante do Teorema de Fermat da seguinte maneira. Teste de composio. Seja n > 1 um inteiro mpar e b um nmero inteiro que no divisvel por n. Calcule o resduo r de bn1 mdulo n. Se r = 1 ento n composto; r = 1 ento o teste inconclusivo. Naturalmente inconclusivo aqui signica que no podemos ter

i i i

i i

cripto 2009/6/30 i page 192 Estilo OBMEP


i

192

CAP. 7: ENCONTRANDO PRIMOS

certeza se n primo ou composto. Os viles so os pseudoprimos: nmeros compostos que deixam resduo 1 na congruncia do teste acima. Antes que voc ache que zemos muito esforo por nada, lembre-se do exemplo com o qual comeamos esta seo. Usando o teste, descobrimos que R(101) composto, mas no consigo calcular nenhum fator com o meu computador, porque so grandes demais. H muitos outros exemplos como este, dos quais o nmero 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...
14

i i i

i i

cripto 2009/6/30 i page 193 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

193

0609884881302631172126361083233964505570126176409342149337 8652139954789464193009285094711628063432954634626708587436 7594463444139625279802423469187735988169809740798016076355 8756660915732373393355687126433151023684356948795074681449 5366102470470308386446567739129683404278437245037495377700 7491128599236856457726437662611536680740287906911185798788 7842108444553841368100395987050604541817029567526486493583 1300066049180516581348572289935984373033218327619142378706 7066989761084120454048840413780649009776228255511924299511 0548464682066431343714167187770687195870049693812084690516 4150156692624094182349789590144877540962982320907818130345 4651634419058586295097381771400433332253182091087518191373 9964774561356018160131641245372602875035168510650472282456 0043757300004448144561923398161715371451535611350494602034 9421627541720123626726413278735673890406938540849234508550 9297197760087826382470805424211327315246255840301596485309 8216754717890271627922382773031557667932618099223155763262 2957058064387928193998735873865903801681009121549568217921 6272435643998723867142738576833301406169458707777337835643 1259035182961453497743067137867268169891960319091925185387 continua...

i i i

i i

cripto 2009/6/30 i page 194 Estilo OBMEP


i

194

CAP. 7: ENCONTRANDO PRIMOS

6764699510693890723124314879886857934757435609511498303631 3184482333406227325114404370409493199218730847899005245713 7262589157129312078042493366031343888921155946218315119689 0824691664947272076796853149272031772292723384678001487673 7289485199611040141169941570563464614331433825101237485028 2551540449120046780973081044244014767741281300291825405153 6662450553353080033618137315962021316238275075900462137814 6887272133760235138339124403618026146022497784037955983873 8106235330733724665038646006196783875613152976381049791233 9519502118800801010921866059557028885049053649233386186846 2293457874567301266626810211810517093398552281226240984566 1532354438296954820814066000994097063264255070300898292412 5496882595564447114246751422155740073823527127475651798531 1028057096845788109976392735550166125004557244441709616600 4678524716450796935361023345710385526247352937331815633300 1700220182361523365263097713881060293294769367726122819869 0730538976503932288071552286660658027816772182941835429267 6105433021000072632686528671653305019350583545229716468801 7600704028734065754263297922208019302142304992036994114511 5395692083829829127759337589147382283144757893138698782367 continua...

i i i

i i

cripto 2009/6/30 i page 195 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

195

4960132062939955165969811950826493537398880556427059940676 0151759614385138660551353702532710344209861260306992151220 6491196140182604994527812792098357721628098443058943757381 8993574605834732242634770665833451870497469411031398760678 4691748814808710597793230354951146962786688724393282734233 6766674755399503915926422345813552266000767650733554802250 3290586961513720156305182728786969285962256153101352016029 2789911403225602267534784409091403252749485669809224389864 2225228726999955715234451099649284822014988445646906870856 0687344984932764868189113207434302275831390136874473275610 2049318851588609633761376006845924402609516283154658749932 4411209386536068440370854512156044540340439706700963382206 1448672696638585769812464786783087209776034508314405974562 8538838044904201295785245824550483832529686053887853018932 6847879111220292345808615508661056210593212298139150716832 7376850039576125448497337508566882256055070174814260336989 9198249347826265874560095153249285038574130230205892752609 9314884508593056148018263020465818819981893510070049325812 6858764215906417840636307876012637703053991445764802732796 3986565069519909277264869794934951743339858296269946169751 continua...

i i i

i i

cripto 2009/6/30 i page 196 Estilo OBMEP


i

196

CAP. 7: ENCONTRANDO PRIMOS

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 i

i i

cripto 2009/6/30 i page 197 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

197

n ou m. A razo que estes nmeros pertencem a famlias especiais e bem estudadas. A famlia R(n) corresponde aos nmeros da forma 11111 1111 .
n nmeros uns

O R vem do fato dos nmeros serem obtidos pela Repetio da unidade. J a famlia F (n) constituda pelos nmeros da forma 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 armao de Fermat foi trazida ao conhecimento de Euler, e em 1730 ele provou que 641 fator de F (5), mostrando, assim, que a armao 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) corresn

i i i

i i

cripto 2009/6/30 i page 198 Estilo OBMEP


i

198

CAP. 7: ENCONTRANDO PRIMOS

pondentes so compostos, nenhum fator conhecido para nenhum destes nmeros de Fermat. Isto inesperado. Como possvel descobrir um fator para um nmero gigantesco como F (79 221), mas no para F (14) uma outra histria, muito interessante, mas que no d para contar aqui. Os detalhes podem ser encontrados no captulo 9 do livro [2]. Exerccio 63. O objetivo deste exerccio comprovar o resultado de Euler, segundo o qual 641 divide F (5). (a) Mostre que 641 = 27 5 + 1 e que 641 = 24 + 54 . (b) Use (a) para mostrar que F (5) 5 0 (mod 641). (c) Explique porque (b) implica que F (5) 0 (mod 641). Os nmeros da famlia R(n) tm uma histria mais recente: foram estudados a partir do sculo XIX como parte de uma tentativa de entender melhor os padres que aparecem em dzimas peridicas. Os nicos valores conhecidos de n para os quais R(n) primo so 2, 19, 23, 317, 1 031, 49 081, 86 453 e 109 297. Como estes nmeros so mais fceis de tratar e tm propriedades mais simples que os nmeros de Fermat, reservaremos o estudo deles para nosso ltimo desao. Desao 9. Seja n um nmero inteiro positivo e R(n) o nmero que consiste em n nmeros uns repetidos. (a) Mostre que R(n) = (10n 1)/9.

i i i

i i

cripto 2009/6/30 i page 199 Estilo OBMEP


i

SEC. 7.3: UM TESTE DE COMPOSIO

199

(b) Mostre que se k um fator de n ento R(k) divide R(n). (c) Determine todos os fatores primos de R(6). (d) Mostre que se R(n) for primo ento n tem que ser primo. (e) Mostre que R(7) composto usando o teste desta seo. Voc vai precisar de uma calculadora para fazer os itens (c) e (d) deste exerccio.

i i i

i i

cripto 2009/6/30 i page 200 Estilo OBMEP


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 codicar 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 cientca.

200

i i i

i i

cripto 2009/6/30 i page 201 Estilo OBMEP


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 = pe1 pet e p1 < < pt ento a multiplicidade de p1 t 1 na fatorao de n , por denio, e1 . Contudo, n = pe 2 pe t t 2 p1

i i i

i i

cripto 2009/6/30 i page 202 Estilo OBMEP


i

202 de modo que pe1 divide n. Por outro lado, se pe1 +1 dividisse n, 1 1 ento poderamos escrever pe1 pet = pe1 +1 c t 2 1 para algum inteiro positivo c. Cancelando, pe1 dos dois lados da equao, obtemos pe2 pet = p1 c. t 2 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 armao 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 i

i i

cripto 2009/6/30 i page 203 Estilo OBMEP


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 a (mod n) e b b (mod n), ento a a = k n e b b = n, onde k e so os respectivos cofatores. Subtraindo estas duas igualdades, obtemos (a b) (a b ) = k n n = (k ) n; que equivale a dizer que a b a b (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 zemos no caso dos noves fora.

i i i

i i

cripto 2009/6/30 i page 204 Estilo OBMEP


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 a 8 764 556 434 8 573 521 442 98 123 111

Tabela 7.1: Exerccio 27

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 i

i i

cripto 2009/6/30 i page 205 Estilo OBMEP


i

205 30. Os inversos so dados nas tabelas abaixo. Resduo 1 2 3 4 5 6 Inverso 1 4 5 2 3 6

Tabela 7.2: Inversos mdulo 7 Resduo 1 2 3 4 5 6 7 8 9 10 11 12 Inverso 1 7 9 10 8 11 2 5 3 4 6 12

Tabela 7.3: Inversos mdulo 13 31. Basta lembrar que n 1 1 (mod n).

i i i

i i

cripto 2009/6/30 i page 206 Estilo OBMEP


i

206 32. Os inversos so dados nas tabelas abaixo. Resduo 1 2 3 4 5 Inverso 1

Tabela 7.4: Inversos mdulo 6 Resduo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Inverso 1 8 4

13 2

11 7 14

Tabela 7.5: Inversos mdulo 15

i i i

i i

cripto 2009/6/30 i page 207 Estilo OBMEP


i

207 33. Os valores so os seguintes: Resduo 2 3 4 Inverso 3 2 3

Tabela 7.6: b tal que a b 0 (mod 6) Resduo 3 5 6 9 10 12 Inverso 5 3 5 5 3 5

Tabela 7.7: b tal que a b 0 (mod 13)

34. Alguns exemplos so 1, 7, 5, 12, 22 V (5, 12) 1, 7, 15, 29, 50 V (7, 15) 5, 10, 15, 30, 35 V (15, 10) mas talvez voc escolha outros.

35. Dividindo a por m, temos que a=mq +r.

i i i

i i

cripto 2009/6/30 i page 208 Estilo OBMEP


i

208 Substituindo isto na equao (3.3.3), a = (x1 a + y1 n) q + r , que equivale a r = (x1 ) a + (1 y1 q ) n. Assim, r V (a, n). Contudo, se r < M fosse positivo teramos um elemento em V (a, n) ainda menor que m, o que no possvel. Logo r = 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 i

i i

cripto 2009/6/30 i page 209 Estilo OBMEP


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. 43. Os restos na diviso por 31 so 1 quando o dividendo 214 498 766 543 335 231 9 876 e 215 e 2 quando o dividendo 643 .
45 231

44. 3 tem ordem 6 mdulo 7, 2 tem ordem 10 mdulo 11, 5 tem ordem 3 mdulo 31 e 7 tem ordem 6 mdulo 43. 45. Se ak 1 (mod n), ento ak cn = 1 para algum inteiro c. Mas se a e n forem pares, o lado esquerdo ser um nmero par; logo no pode ser igual a 1. 46. A tabela com as ordens encontra-se abaixo: Resduo mdulo 11 1 2 3 4 5 6 7 8 9 10 Ordem 1 10 5 5 5 10 10 10 5 2

Tabela 7.8: Ordens dos resduos mdulo 11

i i i

i i

cripto 2009/6/30 i page 210 Estilo OBMEP


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).

51. O resto 16. 52. O resto 1. 53. O resto p 1. 54. Os restos so dados pelas congruncias (a) 2495 1 (mod 15 841); (b) de 241 045 32 (mod 41 041); (c) de 277 1902 (mod 2 465).

i i i

i i

cripto 2009/6/30 i page 211 Estilo OBMEP


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 innitos 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

63. (b) Como 32 = 4 7 + 4, temos que F (5) 54 (27 5)4 24 + 54 0 (mod 641).

(c) Como 5 inversvel mdulo 641 podemos concluir de (b) que F (5) 0 (mod 641).

i i i

i i

cripto 2009/6/30 i page 212 Estilo OBMEP


i

212

Desaos
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 m e n tais que m = dm e n = dn . Substituindo na ltima equao, obtemos (m y n k)d = b a.

i i i

i i

cripto 2009/6/30 i page 213 Estilo OBMEP


i

213 Portanto, para que haja soluo preciso que d divida b a. Se b a = dc para algum inteiro c, ento m y n k = c, que nos d m y c (mod n ). Como cancelamos o mximo divisor comum entre m e n, os inteiros so m e n so primos entre si e m pode ser invertido em m y c (mod n ), o que nos d o valor de y. Portanto, quando d divide b a o sistema tem soluo.

5. (a) Pelo Teorema de Fermat, ap1 1 (mod p). (b) Dividindo p 1 por k obtemos p 1 = kq + r, donde ap1 (ak )q ar 1 ar (mod p),

pela denio de k. Como ap1 1 (mod p), pelo Teorema de Fermat, podemos concluir que ar 1 (mod p). (c) Se r = 0 ento teramos que 0 < r < k satisfaz ar 1 (mod p), o que impossvel pela denio 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 i

i i

cripto 2009/6/30 i page 214 Estilo OBMEP


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 i

i i

cripto 2009/6/30 i page 215 Estilo OBMEP


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 = (b) Use que 10kr 1 = 10k(r1) + 10k(r2) + + 10k + 1. 10k 1 (c) Como 6 = 2 3, temos que R(2) = 11 e R(3) = 111 = 3 37 dividem R(6) por (b). Mas, R(6) = 91 = 7 13. 3 11 37 Logo, R(6) = 3 7 11 13 37. (d) Consequncia imediata de (b). (e) Como R(7) 1 = 10 R(6) podemos usar a fatorao de R(6) obtida acima para facilitar o clculo do resduo de 2 mdulo R(7), que d 553 891. 99 = 1 1. 9

i i i

i i

cripto 2009/6/30 i page 216 Estilo OBMEP


i

216

i i i

i i

cripto 2009/6/30 i page 217 Estilo OBMEP


i

Referncias Bibliogrcas
[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 criptograa 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 i

You might also like