Você está na página 1de 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?
1

Ilydio Pereira de S Mestre em Educao Matemtica, professor da UERJ, da Universidade Severino Sombra e do
Colgio Pedro I, Rio de Janeiro.

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

SOLUO:

Vejamos o que est acontecendo?

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

22

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 =

Maro

31 dias
28 dias (2006 no bissexto)

31 dias

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

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

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

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

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

11

10

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

10

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

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

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

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

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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

Q 17 4 = 13 = M

M 13 4 = 9 = I

H 84=4 =D

V 22 4 = 18 = R

E 54=1 =A

54=1 =A
=A

=D

Z 26 4 = 22 = V

I 94=5 =E

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.

15 625

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.

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

Julho

Fevereiro

Agosto

Maro

Setembro

Abril

Outubro

Maio

Novembro

Junho

Dezembro

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

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

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

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
D

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

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.

Você também pode gostar