You are on page 1of 16

Aritmtica modular e algumas de suas aplicaes Ilydio P.

de S

ARITMTICA MODULAR E ALGUMAS DE SUAS APLICAES


Ilydio Pereira de S1

Introduo:
Uma das ferramentas mais importantes na teoria dos nmeros a aritmtica modular, que envolve o conceito de congruncia. Uma congruncia a relao entre dois nmeros que, divididos por um terceiro - chamado mdulo de congruncia - deixam o mesmo resto. Por exemplo, o nmero 9 congruente ao nmero 2, mdulo 7, pois ambos deixam resto 2, ao serem divididos por 7. Representamos essa congruncia do exemplo por 9 2, mod. 7. Foi o brilhante Gauss que observou que usvamos com muita freqncia frases do tipo a d o mesmo resto que b quando divididos por m e que essa relao tinha um comportamento semelhante igualdade. Foi Gauss ento que introduziu uma notao especfica para este fato e que denominou de congruncia. Muito se tem escrito sobre esse tema, principalmente nos livros sobre teoria dos nmeros. um conceito muito importante e que est relacionado com divisibilidade e os restos de uma diviso de nmeros inteiros. O que no muito comum o estudo das muitas aplicaes que o tema possui no cotidiano de todas as pessoas. Diferentes cdigos numricos de identificao, como cdigos de barras, nmeros dos documentos de identidade, CPF, CNPJ, ISBN, ISSN, criptografia, calendrios e diversos fenmenos peridicos esto diretamente ligados ao tema, conforme mostraremos em nosso estudo. um tema bastante atual e que pode ser trabalhado j nas classes do Ensino Fundamental e gerador de excelentes oportunidades de contextualizao no processo de ensino / aprendizagem de matemtica. Inicialmente vamos mostrar alguns elementos tericos sobre a aritmtica modular e, na segunda parte do trabalho teremos a apresentao de alguns exemplos de aplicao desse importante e interessante tema da rea de teoria dos nmeros.

1) Noes bsicas da aritmtica modular


1.1) Exemplos iniciais:

Antes de apresentarmos as definies e propriedades relacionadas congruncia, vamos desenvolver trs exemplos que poderiam ser colocados a alunos da Educao Bsica, ainda no familiarizados com o tema, como introduo ao assunto. Exemplo 1: Vamos apresentar uma questo retirada do banco de questes do site da OBMEP (Olimpada Brasileira de Matemtica das Escolas Pblicas). L sempre temos encontrado questes interessantes e provocativas para o preparo de nossos alunos da Educao Bsica. A, B, C, D, E, F, G e H so os fios de apoio que uma aranha usa para construir sua teia, conforme mostra a figura. A aranha continua seu trabalho. Sobre qual fio de apoio estar o nmero 118?
Ilydio Pereira de S Mestre em Educao Matemtica, professor da UERJ, da Universidade Severino Sombra e do Colgio Pedro I, Rio de Janeiro.
1

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

Vejamos o que est acontecendo?

SOLUO:

FIOS

A 0 8 16 24 ...

B 1 9 17 25 ...

C 2 10 18 26 ...

D 3 11 19 27 ...

E 4 12 20 28 ...

F 5 13 21 29 ...

G 6 14 22 30 ...

H 7 15 23 31 ...

claro que alguma pessoa bem paciente poderia continuar construindo a tabela at que aparecesse o nmero 118. Assim ela saberia em qual fio a aranha iria estar. Convenhamos que no seria uma soluo muito prtica e nem rpida. Imagine se a questo perguntasse o fio correspondente ao nmero 890? Podemos observar que os fios se repetem a cada oito nmeros e essa periodicidade faz com que os nmeros de cada fio formem uma progresso aritmtica de razo igual a 8, ou seja, aumentem de oito em oito. Observamos tambm que cada fio pode ser representado a partir dos mltiplos de 8. O fio A corresponde aos nmeros que so mltiplos de 8, ou seja, nmeros que divididos por 8 deixam resto zero (8. n, com n IN). O fio B corresponde aos nmeros que so mltiplos de 8, mais 1, ou seja, nmeros que divididos por 8 deixam resto 1 (8.n + 1, com n IN). O fio C corresponde aos nmeros que so mltiplos de 8, mais 2, ou seja, nmeros que divididos por 8 deixam resto 2 (8.n + 2, com n IN) e essa lgica se mantm at o fio H, definido pelos nmeros que divididos por oito deixam resto 7. claro que para saber sobre qual fio estar o nmero 118, basta verificarmos a qual dessas famlias tal nmero pertence e isso pode ser facilmente obtido ao dividirmos 118 por 8. Vejamos:

118 6

8 14

Verificamos que o nmero 118 igual a 8 . 14 + 6, ou seja, pertence famlia dos nmeros que esto no fio G.

Todos os nmeros de nosso exemplo, que esto no mesmo fio, tem uma particularidade em comum, deixam o mesmo resto ao serem divididos por 8 e, como j comentamos na introduo, so congruentes entre si, no mdulo 8. O nmero 14, por exemplo, congruente ao nmero 22, no mdulo 8, e isso significa que esses dois nmeros deixam o mesmo resto quando divididos por 8 (verifique que ambos esto sobre o fio G). Verificando:

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

14 6

8 1

22 6

8 2

Simbolicamente, poderemos escrever: 14 22, mod. 6 Exemplo 2: Aritmtica do relgio

Trata-se de um caso de congruncia, mdulo 12 (nos relgios analgicos, claro). Note que 13 horas congruente a 1 hora, no mdulo 12. Ambos divididos por 12, deixam resto 1. 17 horas congruente a 5 horas, mdulo 12. Tanto 17, como 5, divididos por 12, deixam resto 5... e assim, sucessivamente. 1 13 25 ...., mod 12 5 17 29 ...., mod 12 Assim as horas marcadas num relgio analgico constituem tambm um caso clssico de congruncia, nesse caso com mdulo 12. Exemplo 3: Vejamos uma aplicao interessante sobre o tema, relacionada aos calendrios: Vamos supor que voc saiba em qual dia da semana caiu o dia 1 de janeiro de um determinado ano. Em 2006, por exemplo, foi um domingo. Imaginemos que voc deseja saber quando cair um outro dia qualquer (vale para qualquer ano). s montar uma tabela para essa primeira semana, que no caso ser: Domingo 1 Segunda 2 Tera 3 Quarta 4 Quinta 5 Sexta 6 Sbado 7 Verificamos aqui que estamos novamente diante de um caso de congruncia, mdulo 7 nesse caso. Digamos que estivssemos interessados em descobrir em que dia da semana caiu o dia 5 de julho (e no temos um calendrio em mos, claro). Primeiro precisamos ver quantos dias existem de 1 de janeiro at 5 de julho. Vejamos: Janeiro = Fevereiro = 31 dias 28 dias (2006 no bissexto)

Maro

Abril = 30 dias Maio = 31 dias Junho = 30 dias Julho = 5 dias Total = 186 dias. Agora, como se tivssemos uma fila de 186 dias e estamos desejando saber, na congruncia de mdulo 7 (7 dias da semana) qual o correspondente ao186. Acho que voc concorda que estamos

31 dias

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

diante de uma situao bem semelhante que vimos no problema da aranha e tambm no problema dos relgios analgicos. Se dividirmos 186 por 7, teremos:

186 4

7 26

Logo, o 186 congruente ao 4, no mdulo 7. Como o dia 4 de janeiro de 2006 foi uma quartafeira, o 186 desse mesmo ano tambm o ser e, claro, que todas as demais quarta-feiras deste ano sero ocupados por nmeros congruentes ao 4, mdulo 7. Assim, com os trs exemplos que mostramos, podemos observar que em nosso cotidiano existem inmeras situaes onde se faz presente a noo de congruncia, mdulo k. Calendrios, relgios analgicos e problemas em geral envolvendo repeties peridicas. Mostraremos em nosso estudo que na criptografia e em diversos nmeros de documentos de identificao (como no CPF, por exemplo), tambm est presente a Aritmtica Modular e a noo de congruncia. 1.2) Conceitos Bsicos da Congruncia mdulo k Se os inteiros a e b do o mesmo resto quando divididos pelo inteiro k (k > 0) ento podemos dizer que a e b so cngruos, mdulo k e podemos representar: a b mod k Uma maneira equivalente de dizer isso afirmar que a diferena (a b) ou (b a) divisvel por k, ou que k divisor dessa diferena. Veja um exemplo: 47 43 mod 4, logo (47 43) divisvel por 4. A congruncia define uma equivalncia, pois atende s propriedades reflexiva, simtrica e transitiva, ou seja: a a, mod k (reflexiva) a b, mod k, ento b a, mod k (simtrica) a b, mod k e b c, mod k, ento a c, mod k (transitiva) Algumas propriedades da congruncia Se a b, mod k e c d, mod k, ento: a + c b + d, mod k; a - c b - d, mod k; a . c b . d, mod k claro que todas essas propriedades precisam ser demonstradas. Vejamos a demonstrao da primeira. Se a b, mod k, ento a b divisvel por k, analogamente, se c d, mod k, ento c d tambm divisvel por k, para provarmos que a + c b + d, teremos que mostrar que (a + c) (b + d) divisvel por k. Vamos colocar essa diferena na forma (a b) + (c d) e verificar se divisvel por k. Como, pela hiptese, (a b) e (c d) eram divisveis por k, claro que a soma (a b) + (c d) tambm divisvel por k, o que demonstra a primeira propriedade. Tente fazer as demais demonstraes, de modo anlogo.

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

2) Algumas aplicaes da congruncia


2.1) Sistemas de identificao Em qualquer texto, um erro de ortografia numa palavra pode ser facilmente percebido, pois ou a palavra no faz parte do idioma ou no faz sentido com o contexto. Por exemplo, se digitamos engenheior, logo percebemos que fizemos uma inverso das duas ltimas letras. Mas, quando isso ocorre com os algarismos de um nmero, de um cdigo de identificao qualquer, no teramos como perceber a troca num simples olhar. Para isso e tambm para minimizar fraudes, foram criados os chamados dgitos de controle ou verificao. Tais dgitos so normalmente baseados na noo de congruncia que mostramos anteriormente. Mostraremos a seguir alguns desses casos de dgitos de controle usados como identificadores. 2.1.1) ISBN Um dos exemplos mais antigos o sistema International Standard Book Number (ISBN) de catalogao de livros, CD-Roms e publicaes em braile, que foi criado em 1969. A necessidade que as editoras tm de catalogar os seus livros e informatizar o sistema de encomendas serviu de motivao na gerao desse cdigo. A vantagem que, por ser um cdigo numrico, ultrapassa as dificuldades geradas pelos diversos idiomas do mundo, bem como a grande diversidade de alfabetos existentes. Dessa forma, poderamos, por exemplo, identificar atravs do ISBN um livro japons. Em tal sistema, as publicaes so identificadas atravs de 10 algarismos, sendo que o ltimo (dgito de controle) calculado atravs da aritmtica modular envolvendo operaes matemticas com os outros nove dgitos. Esses nove primeiros dgitos so sempre subdivididos em 3 partes, de tamanho varivel, separadas por hfen, que transmitem informaes sobre o pas, editora e sobre o livro em questo. Por exemplo, a lngua inglesa identificada somente pelo algarismo 0 e a editora McGraw-Hill tem um cdigo de 2 algarismos que a identifica, dessa forma, restam ainda 6 algarismos para a 6 identificao de suas publicaes, havendo pois a possibilidade de 10 = 1 000 000 de ttulos. Vejamos como se processa o clculo do dgito final do ISBN (controle). Representando por a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a seqncia formada pelos 9 primeiros dgitos, devemos multiplica-los, nessa ordem, pela base {10, 9, 8, 7, 6, 5, 4, 3, 2} e somar os produtos obtidos. O dgito que est faltando, que vamos representar por a10 deve ser o menor valor possvel, tal que ao ser acrescentado soma obtida, deve gerar um mltiplo de 11, isto , se a soma obtida S, o nmero S + a10 deve ser mltiplo de 11, ou seja, S + a10 0 mod 11. Vejamos um exemplo: Na contracapa do livro Temas e Problemas Elementares, da Coleo Professor de Matemtica, da SBM, temos o seguinte cdigo do ISBN: 85-85818-29-8. Vejamos o clculo do dgito de controle que, como estamos observando, igual a 8. 8 5 8 5 8 1 8 2 9 10 9 8 7 6 5 4 3 2 Efetuando as multiplicaes correspondentes e somando os produtos obtidos, teremos: 8 . 10 + 5 . 9 + 8 . 8 + 5 . 7 + 8 . 6 + 1 . 5 + 8 . 4 + 2 . 3 + 9 . 2 =

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

= 80 + 45 + 64 + 35 + 48 + 5 + 32 + 6 + 18 = 333

333 3

11 30

Para obtermos um mltiplo de 11, ao acrescentarmos o dcimo algarismo, o menor valor que atende a tal condio ser o nmero 8, pois 11 3 = 8. O que confere o valor apresentado no cdigo dado. Isso significa dizer que 333 + 8 = 341 um mltiplo de 11, ou ainda, que 341 0 mod 11. Um outro exemplo: O livro Matemtica Aplicada Administrao, Economia e Contabilidade, da Editora Thompson, tem o seguinte cdigo ISBN 85-221-0399-? Qual o seu dgito de controle? Soluo: 8 10 5 9 2 8 2 7 1 6 0 5 3 4 9 3 9 2

Efetuando a soma dos produtos correspondentes, teremos: 80 + 45 + 16 + 14 + 6 + 0 + 12 + 27 + 18 = 218

218 9

11 19

Dessa forma, o dgito de controle ser igual a 2 (11 9 = 2). Podemos observar que os dois livros que usamos como exemplo tem o prefixo 85, que identifica livros publicados no Brasil. Vejamos um exemplo de outro pas: O livro Hilbert, de Constance Reid, publicado em alemo (Berlim), tem o seguinte cdigo ISBN: 3-540-04999-1. Faamos a verificao do clculo do dgito de controle (1). 3 10 5 9 4 8 0 7 0 6 4 5 9 4 9 3 9 2

30 + 45 + 32 + 0 + 0 + 20 + 36 + 27 + 18 = 208

208 10

11 18

Logo, o dgito igual a 1 (11 10). OBSERVAES: No ISBN, se o dgito for igual a 10 (no caso do resto da diviso por 11 ser igual a 1), usada a representao do 10 em algarismos romanos, ou seja usa-se um X.

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

Em todos os casos que iremos mostrar, que usam aritmtica modular, so usadas bases de multiplicao que operadas com os dgitos do nmero geram um determinado valor S. A esse valor obtido deve ser somado ou subtrado um valor x, de modo a que exista uma congruncia ao zero, num mdulo que normalmente 11 ou 10, conforme o caso. A partir de janeiro de 2007 os cdigos do ISBN esto sendo representados com 13 dgitos. No caso dos livros editados no Brasil h um acrscimo dos dgitos 978 antes do 85. 2.1.2) CDIGO DE BARRAS EAN-13 Um dos cdigos de barras mais usados no mundo todo o EAN-13, constitudo de 13 algarismos, sendo que o ltimo o dgito de controle. Nesse caso usada a congruncia mdulo 10 e os fatores que compem a base de multiplicao so os dgitos 1 e 3, que vo se repetindo da esquerda para a direita. Se a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 a 11 a 12 a seqncia formada pelos 12 primeiros dgitos, devemos multiplic-los, nessa ordem, pela base {1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3} e somar os produtos obtidos. Vamos representar por S a soma obtida. O dgito que est faltando, que vamos representar por a13 deve ser tal que ao ser somado com S, deve gerar um mltiplo de 10, isto , o nmero S + a13 deve ser mltiplo de 10, ou seja, S + a13 0 mod 10. Vejamos um exemplo: Numa embalagem de uma garrafa para bebidas, de Portugal, temos o seguinte cdigo de barras:

Vamos efetuar os clculos para a determinao do dgito de controle (que estamos vendo ser o dgito 7). 8 1 4 3 2 1 4 3 9 1 0 3 6 1 2 3 0 1 1 3 7 1 6 3 (esta a base de multiplicao, nesse caso)

Efetuando os produtos, teremos: 8 + 12 + 2 + 12 + 9 + 0 + 6 + 6 + 0 + 3 + 7 + 18 = 83

83 3

10 8

Logo, o dgito de controle ser igual a 7 (10 3). Note que 83 + 7 = 90 (mltiplo de 10) Sabemos tambm que, no cdigo de barras com 13 algarismos, os trs primeiros dgitos do cdigo representam o pas de registro do produto (verifique que para produtos filiados no Brasil teremos sempre os dgitos 7, 8 e 9); os quatro dgitos seguintes identificam o fabricante; os

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

prximos cinco dgitos identificam o produto e o ltimo, como j sabemos, o dgito verificador ou de controle, que se pode calcular atravs da congruncia, mdulo 10. 2.1.3) Cadastro das pessoas fsicas na Receita Federal CPF Outro exemplo importante, do nosso cotidiano: Verificao dos dois dgitos de controle do CPF de uma pessoa: O nmero de CPF de uma pessoa, no Brasil, constitudo de 11 dgitos, sendo um primeiro bloco com 9 algarismos e um segundo, com mais dois algarismos, que so, como no ISBN e nos cdigos de barra, dgitos de controle ou de verificao . A determinao desses dois dgitos de controle mais um caso de aplicao da noo de congruncia. No caso do CPF, o dcimo dgito (que o primeiro dgito verificador) o resultado de uma congruncia, mdulo 11 de um nmero obtido por uma operao dos primeiros nove algarismos. Se a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a seqncia formada pelos 9 primeiros dgitos, devemos multiplic-los, nessa ordem, pela base {1, 2, 3, 4, 5, 6, 7, 8, 9} e somar os produtos obtidos. O dgito que est faltando, que vamos representar por a10 deve ser tal que ao ser subtrado da soma obtida, deve gerar um mltiplo de 11, isto , se a soma obtida S, o nmero S - a10 deve ser mltiplo de 11, ou seja, S - a10 0 mod 11. Note que tal nmero ser o prprio resto da diviso por 11 da soma obtida. Por exemplo, se o CPF de uma pessoa tem os seguintes 9 primeiros dgitos: 235 343 104, o primeiro dgito de controle ser obtido da seguinte maneira: Escrevemos os nove primeiros e, abaixo deles, a base de multiplicao com os dgitos de 1 a 9. 2 1 3 2 5 3 3 4 4 5 3 6 1 7 0 8 4 9

Efetuando as multiplicaes correspondentes, teremos: 2 x 1 + 3 x 2 + 5 x 3 + 3 x 4 + 4 x 5 + 3 x 6 + 1 x 7 + 0 x 8 + 4 x 9 = 116. Dividindo o nmero 116 por 11, teremos: 116 11 6 10

Dessa forma, o primeiro dgito de controle ser o algarismo 6. A determinao do segundo dgito de controle feita de modo similar, sendo que agora acrescentamos o dcimo dgito (que o que acabamos de calcular) e usamos uma base de multiplicao de 0 a 9. Vejamos: 2 0 3 1 5 2 3 3 4 4 3 5 1 6 0 7 4 8 6 9

Efetuando as multiplicaes, teremos: 2 x 0 + 3 x 1 + 5 x 2 + 3 x 3 + 4 x 4 + 3 x 5 + 1 x 6 + 0 x 7 + 4 x 8 + 6 x 9 = 145 Dividindo o nmero 145 por 11, teremos:

145 2

11

13

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

Logo, o segundo dgito de controle o 2. Conclumos ento que, no nosso exemplo, o CPF completo seria: 235 343 104 62 Se o resto da diviso fosse 10, ou seja, se o nmero obtido fosse congruente ao 10, mdulo 11, usaramos, nesse caso, o dgito zero.

2.2)

Congruncia e Criptografia

Gpukpq Hwpfcogpvcn
Com certeza a frase acima nada significa para voc. Parece algum idioma desconhecido ou de outro planeta. Experimente agora substituir cada letra pela segunda letra que vem antes dela, na seqncia do alfabeto completo (26 letras, incluindo k, w e y). Sem grande dificuldade voc ter escrito Ensino Fundamental. De uma forma simplificada o que ocorre na criptografia, quando algum deseja transmitir alguma informao que no deseja partilhar com os outros, a no ser o destinatrio final e combina uma chave qualquer para transmisso e recepo da informao. O receptor, de posse da chave, decodifica a mensagem, transformando-a novamente para que possa entender e ler o que lhe foi enviado. No exemplo que demos, que bastante simples, o emissor substituiu cada letra do alfabeto por uma outra que ficava duas posies depois dela, no alfabeto. O receptor, sabendo da chave dessa criptografia, aplicava a operao inversa na frase recebida, ou seja, substitua cada letra recebida pela que ficava duas posies antes dela, no alfabeto. Se designarmos por x a letra original e por y a letra que a substituir no cdigo, como se tivssemos uma funo, definida por y = x + 2. Sabe-se que a primeira aplicao de criptografia foi inventada pelo imperador romano Julio Csar, que enviava mensagens aos seus generais trocando letras do alfabeto a partir de uma simples regra, similar que exemplificamos acima, que seria "pule trs" (chave 3). Atravs deste esquema, as letras eram trocadas pela terceira letra anterior no alfabeto. Desta forma, somente quem soubesse da regra conseguia desfazer o algoritmo e ler a mensagem original. Veja como funcionava essa chave 3, de Julio Csar: A B X Y C Z D A E B F C G D H E I J F G K H L M I J N K O L P Q M N R O S P T Q U R V W S T X Y U V Z W

Ou seja, uma palavra simples como "atacar seria codificada como "xqxzxo". Este sistema e outros similares, obtidos atravs de permutaes, em que as letras so "embaralhadas", so muito simples e, no difceis de serem decifrados, mas por muito tempo serviram para esconder mensagens. Vejamos um exemplo mais completo e a relao que tem com a aritmtica modular: a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10 k 11 l 12 m 13 n 14 o 15 p 16 q 17 r 18 s 19 t 20 u 21 v 22 w 23 x 24 y 25 z 26

Chave: Somar 4 Cada letra fica representada por um nmero que representa a sua posio no alfabeto. Com essa chave, ela fica substituda pela letra cujo nmero corresponde ao nmero original, aumentado de 4. Quando acontecer do resultado ser superior ao 26, voltamos ao incio do alfabeto. Por exemplo, o nmero 28 corresponder letra b, pois 28 = 26 + 2 e, como j sabemos 28 2 mod 26.

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

10

Atividades como essa, aplicadas nas classes do Ensino Fundamental, levaro os alunos a perceber que, na traduo da mensagem enviada eles tero, que aplicar a operao inversa da que foi usada pelo emissor da mensagem, na criao da mensagem criptografada. Em classes do Ensino Mdio o professor poderia representar cada chave por uma funo bijetora (para que tivesse inversa) e o receptor da mensagem criptografada teria que obter a funo inversa, para traduzir a mensagem recebida. Ainda no Ensino Mdio a chave poderia ser representada por matrizes inversveis e a decodificao pelo receptor seria atravs da matriz inversa Atravs da chave dada como exemplo (somar 4 ou y = x + 4), se a mensagem a ser enviada fosse CIDADE MARAVILHOSA, o grupo emissor teria que criptograf-la como: GMHEHI QEVEZMPLSWE. O grupo receptor da mensagem, sabendo que a chave foi somar 4, teria agora que subtrair 4 unidades dos nmeros que representam cada letra da mensagem criptografada, para obter a mensagem original, decifrando o cdigo. Vejamos:

G 74=3 =C M 13 4 = 9 = I H 84=4 =D E 54=1 =A H =D I 94=5 =E

Q 17 4 = 13 = M E E 54=1 =A =A V 22 4 = 18 = R Z 26 4 = 22 = V M 13 4 = 9 = I P 16 4 = 12 = L L 12 4 = 8 = H S 19 4 = 15 = O W 23 4 = 19 = S E =A

Durante a segunda guerra mundial sistemas eletromecnicos na codificao e decodificao das mensagens foram muito usados. Nestes dispositivos, rotores incorporavam internamente uma permutao e sua instalao em mecanismos parecidos com "counters" (ou contadores) permitiam transformaes polialfabticas produzindo uma quantidade impressionante de combinaes. Graas aos mais de sete mil ingleses que trabalharam no famoso Quartel General das Comunicaes Governamentais ("Government Communications Headquarters") em "Bletchey Park", os cdigos alemes foram quebrados. Eles tratavam em torno de quatro mil sinais alemes por dia e, secretamente, mantinham os comandos britnico e americano muito bem informados. Ainda durante a guerra computadores (como o "Colossus") foram usados na "quebra" de cdigos alemes, italianos e japoneses e, desde ento, a Criptografia passou a ser estudada de forma mais cientfica. Depois da Segunda Guerra Mundial, com o desenvolvimento dos computadores, a rea realmente floresceu incorporando complexos algoritmos matemticos. Na verdade, esse trabalho criptogrfico formou a base para a cincia da computao moderna. Diversos filmes e livros tm explorado de forma inteligente esse tema, como Uma Mente Brilhante um filme estrelado por Russel Crowe e que contava a histria do brilhante matemtico

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

11

John Nash. Os livros Fortaleza Digital e Cdigo Da Vinci, de Don Brown tambm tratam desse tema. Mas como funciona a aritmtica modular na Criptografia? Imaginemos um casal, Alice e Bob, que vivem isolados e apenas podem comunicar atravs do correio. Eles sabem que o carteiro um tremendo fofoqueiro e que l todas as suas cartas. Alice tem uma mensagem para Bob e no quer que ela seja lida. Que que pode fazer? Ela pensou em lhe enviar um cofre com a mensagem, fechado a cadeado. Mas como lhe far chegar a chave? No pode enviar dentro do cofre, pois assim Bob no o poder abrir. Se enviar a chavem em separado, o carteiro pode fazer uma cpia. Depois de muito pensar, ela tem uma idia. Envia-lhe o cofre fechado com um cadeado. Sabe que Bob esperto e acabar por perceber a sua idia. Com mais uma ida e uma volta do correio, e sem nunca terem trocado chaves, a mensagem chega at Bob, que abre o cofre e a l. Como que voc acha que resolveram o problema? Pense bem no assunto, tente responder a questo. simples... depois que voc descobrir, claro. O truque usado foi o seguinte: Bob colocou um outro cadeado no cofre e ele tinha a chave desse segundo cadeado. Devolve o cofre a Alice por correio, desta vez fechado com os dois cadeados. Alice remove o seu cadeado, com a chave que possui e reenvia o cofre pelo correio s com o cadeado colocado por Bob. claro que Bob tem apenas que abrir o cofre, com a sua prpria chave e ler a mensagem enviada pela sua amada. O carteiro no tem como saber o contedo do cofre.

CRATO, N,. Alice e Bob. Expresso / Revista, 22 de Setembro, pp. 118-120. (2001)
Na criptografia usam-se chaves que, de certa forma, so anlogas estratgia usada pelos namorados de nossa histria. Esta histria relata a velha charada do sigilo nas comunicaes e uma de suas brilhantes solues. Talvez tenha servido de inspirao para os trs jovens norte-americanos, Whitefield Diffie, Martin Hellman e Ralph Merkle, ao construirem em 1976 um sistema de criptografia em que o segredo da comunicao assegurado por duas chaves, que os comunicantes no precisam trocar entre si, como aconteceu na historinha do Bob e da Alice. Foi esta inveno que inspirou o sistema de criptografia RSA. Alice e Bob so personagens fictcios, mas so nomes sistematicamente utilizados pelos especialistas de criptografia. mais interessante do que falar apenas no emissor e receptor, ou apenas em A e B. Costuma se acrescentar a eles uma terceira personagem, representada na nossa histria pelo carteiro, que costuma receber o nome de Eva - Eve, em ingls - e que representa aquela que se pe escuta - ou seja, aquela que eavesdrop". At descoberta de Diffie, Hellman e Merkle, a comunicao de mensagens cifradas exigia uma troca da chave da cifra, como fizemos nas atividades anteriores e como era feito nas chaves de Jlio Csar. Era preciso que Alice e Bob se encontrassem previamente e combinassem uma chave que apenas eles dois conhecessem. S isso lhes permitiria, posteriormente, trocar mensagens distncia sem que Eva, sempre escuta, conseguisse perceb-las. Assim funcionaram as mensagens secretas desde os tempos de Csar at aos tempos modernos, assim funcionaram espies, conspiradores e simples amantes. A chave poderia ser simples, mas era sempre necessrio que Alice e Bob combinassem tudo antes, e nem sempre isso era possvel. A idia de Diffie, Hellman e Merkle pois revolucionria. Segundo o esquema que propuseram, Alice e Bob comeam por acordar em dois nmeros. E estes podem ser pblicos, pois mesmo que Eva os consiga descobrir no ter como descobrir a chave do processo. Cada um deles escolhe um outro nmero, que mantm secreto. Feitas algumas contas, baseadas em aritmtica modular,

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

12

ambos chegam a um mesmo resultado: um nmero que mais ningum conhece e que ser a chave de codificao das suas mensagens. O processo que inventaram relativamente simples, embora muito engenhoso, e ser mostrado no quadro abaixo. Tudo se passa de forma parecida com a da histria dos dois cadeados. As chaves no so trocadas, mas cada um acaba por poder abrir o cofre, sem que o carteiro, o consiga. O processo inventado por Diffie, Hellman e Merkle marca o nascimento da criptografia com chaves pblicas, que funcionam em conjunto com chaves secretas que no precisam ser trocadas. Baseia-se na aritmtica modular, que consiste, essencialmente, em trabalhar com os restos da diviso inteira por um nmero determinado, chamado mdulo. Esse processo foi denominado de congruncia, mdulo k, pelo famoso gnio da Matemtica Gauss, conforme j observamos introduo desse artigo. Simon Singh , no seu Livro dos Cdigos, d um exemplo que retrata bem o processo matemtico da aritmtica modular, envolvido nessas chaves pblicas. Os comunicantes, como Alice e Bob combinam nos nmeros que servem: o primeiro de base para uma potenciao e o segundo para o mdulo da congruncia. Digamos que tenham optado pelos nmeros 5 e 11. Estariam ento se referindo ao clculo de 5x e da congruncia no mdulo 11. (O expoente x seria secreto, escolha de cada um deles). Alice escolhe 3 para seu nmero secreto (expoente da potncia) Alice calcula 53 = 125 e, atravs de congruncia mdulo 11, gera o nmero 4, pois 125 dividido por 11 deixa resto 4. Alice envia o resultado, 4, para Bob. Bob escolhe 6 para seu nmero secreto (novamente o expoente da potncia) Bob calcula 56 = 15 625 e, atravs de congruncia mdulo 11, gera o nmero 5, pois dividido por 11 deixa resto 5. Bob envia o resultado, 5, para Alice Note que, mesmo que esses dois nmeros que eles enviaram um ao outro, fossem interceptados, as pessoas no teriam como saber a chave final do processo. Alice pega o resultado de Bob, 5, e o seu nmero secreto, 3, e calcula 53 = 125 = 4 (mod 11). 125 dividido por 11 deixa resto 4. Bob pega o resultado de Alice, 4, e o seu nmero secreto, 6, e calcula 46 = 4096 = 4 (mod 11). 4096 dividido por 11 tambm deixa resto 4. Veja que Alice e Bob encontraram o mesmo nmero, 4, sem que tivessem informado um ao outro os seus nmeros secretos pessoais. Esse nmero seria agora usado como chave para a composio das mensagens criptogrficas. A congruncia, como foi aplicada aqui, funcionou exatamente como a histria dos cadeados e do correio, contada por Crato. Tente fazer com outros nmeros secretos, verifique que voc sempre ir obter resultados iguais. atravs da criptografia que, diariamente, atravs da internet, uma luta sempre se processa: a de enviar dados e a de tentar captar esses dados (so os famigerados hackers). claro que o tema criptografia muito mais complexo do que mostramos aqui. O que exemplificamos, atravs de chaves criptogrficas simples, foi para mostrar a relao que existe entre esse tema e a aritmtica modular. um assunto bastante atual, interessante, e que pode ser usado em classes da Educao Bsica, relacionado a conceitos importantes da Matemtica, como Operaes Inversas, divisibilidade e Funes. 15 625

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

13

2.3) Criptografia e calendrios: Em que dia da semana voc nasceu? No sbado, dia 22 de julho de 2006, eu assistia ao programa Caldeiro do Huck, da Rede Globo de televiso quando, numa certa parte do programa, apareceu um rapaz de So Paulo que foi apresentado como o brasileiro possuidor da melhor memria. Ele representaria o Brasil num campeonato mundial de memorizao. Esse rapaz, alm da proeza de uma memria bem treinada, mostrou um truque que surpreendeu a todos: ele era capaz de descobrir o dia da semana correspondente a uma data qualquer que as pessoas escolhessem. O programa, muito bem produzido, colocou no telo um software que, aps a pessoa ter escolhido uma data qualquer, mostrava o calendrio do ms e do ano escolhidos, destacando o dia mencionado pela pessoa. O rapaz, com uma venda colocada nos olhos, acertou todos. Na entrevista que deu ao apresentador do programa, o rapaz comentou que essa atividade no se tratava tanto de memria, mas sim de um clculo que ele efetuava e que envolvia o nmero 7. Lembrei que j tinha visto vrios truques similares e que na Internet existem diversos sites com softwares onde voc digita uma data qualquer e imediatamente aparece o dia da semana correspondente. Algumas calculadoras financeiras tambm tm programas prontos (funo calendrio) que fazem o mesmo. O que me ocorreu na hora que, normalmente, a justificativa do mtodo usado no dada. As pessoas seguem certas regrinhas decoradas e conseguem descobrir os dias da semana desejados, que so normalmente datas de nascimento, casamento etc. Aps alguma pesquisa e com a fundamental ajuda do meu filho Vincius, apresento aqui uma dessas regrinhas, acompanhada de sua justificativa matemtica. Aos professores informo que mais uma excelente atividade para sala de aula, envolvendo novamente a aritmtica modular (congruncia mdulo 7). Vejamos a regra prtica, alguns exemplos e, finalmente, a explicao. O procedimento que escolhemos funciona para datas entre 1900 e 2399 (devido a uma particularidade dos anos bissextos terminados em 00). Com algumas modificaes, contudo, pode ser adaptado para atender quaisquer datas. 1) Calcule quantos anos se passaram desde 1900 at o ano em que voc nasceu. Por exemplo, se voc nasceu em 1980, ir anotar 80. Vamos chamar essa quantidade de A. 2) Calcule quantos 29 de fevereiro existiram depois de 1900. Para isso, basta dividir por 4 o valor A, sem considerar o resto da diviso. Vamos chamar essa nova quantidade de B. 3) Considerando o ms do nascimento, obtenha o nmero associado a ele, que est na tabela logo abaixo. Procure o ms e anote o nmero que est ao lado dele. Vamos chamar esse nmero de C.

Tabela dos meses Janeiro Fevereiro Maro Abril Maio Junho 0 3 3 6 1 4 Julho Agosto Setembro Outubro Novembro Dezembro 6 2 5 0 3 5

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

14

4) Considere o dia do nascimento (x). Calcule x 1, que vamos chamar de D. 5) Some agora os quatro nmeros que voc obteve nas etapas anteriores (A + B + C + D). Divida essa soma obtida por sete (7) e verifique o valor do resto dessa diviso. 6) Finalmente, procure esse resto na tabela a seguir. Voc ter o dia da semana do seu nascimento ou de qualquer outra pessoa que queira descobrir.

SEGUNDA-FEIRA TERA-FEIRA QUARTA-FEIRA QUINTA-FEIRA

0 1 2 3

SEXTA-FEIRA SBADO DOMINGO

4 5 6

Vejamos um exemplo. Vamos imaginar uma pessoa que tenha nascido em 16 de fevereiro de 1918. Qual foi o dia da semana? 1) 2) 3) 4) 5) 18 (1918 1900), logo, A = 18 18:4 = 4 (desconsidere o resto), logo, B = 4 O ms Fevereiro, ento C = 3 (ver na tabela) x = 16 (dia do nascimento), logo, D = 15 (x 1) Somando os quatro nmeros, teremos 18 + 4 + 3 + 15 = 40 40 : 7 = 5 e resto 5. Na tabela o 5 um SBADO. S para conferir, fomos procurar um calendrio de 1918, destacando o ms de fevereiro. Veja que o dia 16 foi realmente um SBADO.

Fevereiro - 1918
D 3 10 17 24 Interessante, no? Justificativa matemtica: Fato nmero 1. O algoritmo (regrinha) que foi montado partiu do fato de que o dia 1 de janeiro de 1900 foi uma segunda-feira (0, na tabela). Todos os passos que foram colocados na regra prtica visam determinar o deslocamento, na seqncia de dias da semana, que a data procurada tem em relao quela segunda-feira, 01/01/1900, que nosso ponto de partida. Fato nmero 2. Cada ano de 365 dias v seu primeiro de janeiro afastado de uma posio para a direita no ciclo dos dias da semana (segunda, tera, quarta, quinta, sexta, sbado, domingo, segunda, etc.) em relao ao dia-da-semana em que caiu o primeiro de janeiro do ano anterior. Isto porque 365 dividido por 7 deixa resto 1. Quando a pessoa faz a diferena entre o ano de seu nascimento e o ano 1900, est descobrindo quantos afastamentos, ou deslocamentos, essa data primeira sofreu em relao ao quele 01/01/1900. Quando descobrimos, na fase seguinte, a quantidade de anos bissextos (ao dividir o resultado anterior por 4), estamos acrescentando o deslocamento adicional de mais uma casa, no ciclo de dias da semana, para cada ano bissexto S 4 11 18 25 S S 1 2 5 6 7 8 9 12 13 14 15 16 19 20 21 22 23 26 27 28 T Q Q

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

15

considerado. Isto porque os anos bissextos afastam o primeiro de janeiro do ano seguinte no em 1 casa, mas em 2, j que 366 deixa resto 2 quando dividido por 7. Os dois primeiros passos do processo serviram apenas para localizar o dia 1 de janeiro do ano considerado, ou seja, at aqui apenas o ANO da data desejada foi considerado. Agora a vez de acrescentarmos os deslocamentos gerados pelo ms e pelo dia da data procurada. Fato nmero 3 Se todos os meses do ano tivessem 28 dias (que gera resto zero ao ser dividido por 7), todos os meses teriam o seu dia primeiro exatamente no mesmo dia da semana que o primeiro de janeiro do ano considerado. Mas como temos meses com mais de 28 dias, todos esses meses (transcorridos de janeiro at o ms considerado) empurram o seu dia primeiro um certo nmero de casas adiante no ciclo dos dias da semana. A tabela criada para o nosso algoritmo est relacionada aritmtica modular, ou seja, congruncia mdulo 7. Vejamos como surgiram os nmeros da tabela. Janeiro a nossa referncia, logo no h qualquer afastamento em relao a ele prprio (no h qualquer ms antes dele, empurrando seu dia primeiro para a direita, no ciclo, em relao ao prprio 1 de janeiro do ano em questo). Por isso, na tabela dada, ao lado do ms de janeiro, temos o nmero zero. Como o ms de janeiro tem 31 dias e 31 dividido por 7 deixa resto 3, esse ms vai empurrar o primeiro dia do ms seguinte 3 casas para a direita em relao ao primeiro de janeiro daquele ano. Por isso, o ms de fevereiro recebe o nmero 3 na tabela. Como fevereiro tem 28 dias e 28 dividido por 7 deixa resto 0, esse ms no ir acrescentar qualquer deslocamento adicional ao ms seguinte. Logo, o primeiro dia do ms de maro cair no mesmo dia da semana que o primeiro de fevereiro daquele ano, ou seja, ser deslocado apenas das mesmas 3 casas para a direita, em relao ao primeiro de janeiro daquele ano. Por isso, na tabela dada, o ms de maro tambm tem o nmero 3. Como maro tem 31 dias e 31 dividido por 7 deixa resto 3, esse ms vai empurrar os dias do ms seguinte um total de (3 + 0 + 3) casas para a direita, j que como num domin em cascata, esses deslocamentos so cumulativos. Por isso na tabela, o ms de abril tem o nmero 6. Como abril tem 30 dias e 30 dividido por 7 deixa resto 2, esse ms vai empurrar os dias do ms seguinte um total de (3 + 0 + 3 + 2) casas, mas como a semana s tem 7 dias, na congruncia mdulo 7 o nmero 8 corresponde ao 1 (8 : 7 = 1 e resto 1). Isto , avanar oito casas no ciclo de dias da semana o mesmo que avanar uma casa apenas. Por isso o ms de maio na tabela tem o nmero 1. Assim por diante, justificam-se facilmente os nmeros que esto ao lado dos outros meses. Os passos que demos at aqui determinaram a quantidade de casas em que o primeiro dia do ms da data considerada est adiante, no ciclo dos dias da semana, do dia primeiro de janeiro de 1900. Precisamos agora, para finalizar, determinar a quantidade de deslocamentos necessrios para atingirmos o exato dia procurado. Ora, se localizamos o dia 1 e queremos localizar o dia x de um determinado ms, precisamos ainda de um deslocamento correspondente a (x 1) passos. Veja, por exemplo, se a data procurada fosse o dia 4 de um determinado ms, teramos ainda mais 3 = 4 1 deslocamentos direita no ciclo de dias da semana. Se o dia primeiro daquele ms caiu numa tera-feira, por exemplo, o dia 4 cair numa sexta-feira (que est, evidentemente, 3 casas adiante de tera-feira, no ciclo). claro que a soma dos quatro nmeros obtidos nas etapas do processo ter sempre de ser dividida por 7, pois so sete os dias da semana e o ciclo se repete sempre.

Aritmtica modular e algumas de suas aplicaes Ilydio P. de S

16

Essa atividade, ou brincadeira, ou truque um outro exemplo interessante da nossa congruncia mdulo k, que nesse caso igual a 7. Que tal mais um exemplo? Vamos descobrir em qual dia da semana caiu o Natal do ano 2000. Abaixo todos os passos do processo. 1) 2) 3) 4) 100 (2000 1900). A = 100 100 : 4 = 25 (anos bissextos). B = 25 Ms dezembro, na tabela = 5. C = 5 Natal = dia 25, x = 25, logo D = 24 (x 1)

Somando A + B + C + D, teremos: 100 + 25 + 5 + 24 = 154 Calculando o resto da diviso por 7. 154 : 7 = 22, resto 0. Na tabela, temos 0 = 2 feira. Vejamos o calendrio de dezembro de 2000

Dezembro - 2000
T Q Q S 1 3 4 5 6 7 8 10 11 12 13 14 15 17 18 19 20 21 22 24 25 26 27 28 29 31 D S S 2 9 16 23 30

O rapaz que compareceu ao programa de TV devia usar essa regra ou outra semelhante e s teve que decorar a tabela dos meses e, claro, ter facilidade para clculo mental. Referncias BRASIL, RPM, Revista do Professor de Matemtica. Volumes 12 e 45. Sociedade Brasileira de Matemtica. BUCHMANN, J. Introduo Criptografia. So Paulo: Berkeley, 2002. BURNETT, S. & PAINE, S. Criptografia e Segurana: o Guia Oficial RSA. So Paulo: Campus, 2002. CRATO, N,. Alice e Bob. Expresso / Revista, 22 de Setembro, pp. 118-120. (2001) MARTINI, R. Criptografia e Cidadania Digital. Rio de Janeiro: Cincia Moderna, 2001. SINGH, S. O Livro dos Cdigos. So Paulo: Record, 2001. TERADA, R. Segurana de Dados: Criptografia em Redes de Computadores. So Paulo: Edgard Blucher, 2000.

You might also like