TRATAMENTO DA INFORMAÇÃO NA EDUCAÇÃO BÁSICA: ARITMÉTICA MODULAR E OS CÓDIGOS DE IDENTIFICAÇÃO DO COTIDIANO

MSc. Ilydio Pereira de Sá
UERJ / USS/ PEDRO II

Introdução:

Uma das ferramentas mais importantes na teoria dos números é a aritmética modular, que envolve o conceito de congruência. Uma congruência é a relação entre dois números que, divididos por um terceiro - chamado módulo de congruência - deixam o mesmo resto. Por exemplo, o número 9 é congruente ao número 2, módulo 7, pois ambos deixam resto 2, ao serem divididos por 7. Representamos essa congruência do exemplo por 9  2, mod. 7. Foi o brilhante Gauss que observou que usávamos com muita freqüência frases do tipo “a dá o mesmo resto que b quando divididos por m” e que essa relação tinha um comportamento semelhante à igualdade. Foi Gauss então que introduziu uma notação específica para este fato e que denominou de “congruência”. 

Muito se tem escrito sobre esse tema, principalmente nos livros sobre teoria dos números. É um conceito muito importante e que está relacionado com divisibilidade e os restos de uma divisão de números inteiros. 

O que não é muito comum é o estudo das muitas aplicações que o tema possui no cotidiano de todas as pessoas. Diferentes códigos numéricos de identificação, como códigos de barras, números dos documentos de identidade, CPF, CNPJ, ISBN, ISSN, criptografia, calendários e diversos fenômenos periódicos estão diretamente ligados ao tema, conforme mostraremos no mini-curso.

É um tema bastante atual e que pode ser trabalhado já nas classes do Ensino Fundamental e gerador de excelentes oportunidades de contextualização no processo de ensino / aprendizagem de matemática.

Inicialmente vamos mostrar alguns elementos teóricos sobre a aritmética modular e, na segunda parte do trabalho teremos a apresentação de exemplos de aplicação da aritmética modular.

1)	Noções básicas da aritmética modular

1.1)	Exemplos iniciais:

Antes de apresentarmos as definições e propriedades relacionadas à congruência, vamos desenvolver dois exemplos e diversas perguntas, que poderiam ser feitas a alunos da Educação Básica, ainda não familiarizados com o tema.

Exemplo 1:
A tabela apresentada a seguir mostra uma seqüência de números naturais agrupados em 6 linhas horizontais e seguindo a uma determinada ordenação. Observe:

0	6	12	18	24	30	36	42	48	54	60	66	72	78	84	90	
1	7	13	19	25	31	37	43	49	55	61	67	73	79	85	91	
2	8	14	20	26	32	38	44	50	56	62	68	74	80	86	92	
3	9	15	21	27	33	39	45	51	57	63	69	75	81	87	93	
4	10	16	22	28	34	40	46	52	58	64	70	76	82	88	94	
5	11	17	23	29	35	41	47	53	59	65	71	77	83	89	95	
É claro que poderíamos estender a tabela, que fizemos até 95, o quando desejássemos. 

1) Em qual linha horizontal você acha que estaria localizado:

a)	O número 124?
b)	O número 327?
c)	O número 440?
d)	O número 12 345 658?

2)	Qual o número imediatamente à direita do 23? E do 34? E do 45? E do 623? E do número natural n?

3)	Qual o número imediatamente à esquerda do 65? E do 92? E do 400? E do 234 786? E do número natural p?

4)	Como você poderia descrever todos os números que estão na mesma linha que o zero? E na linha do 1? E na linha do 2? E na linha do 3? E na linha do 4?

5)	Como você poderia descrever todos os números que estão na mesma linha que o número 5?

6)	Se você somar dois números quaisquer que estão na linha do zero, em qual linha vai estar o resultado dessa soma?

7)	Se você subtrair dois números quaisquer que estão na mesma linha, em qual linha vai estar o resultado dessa subtração?

O exemplo acima é um caso do que chamamos de congruência, módulo 6. 

O número 13, por exemplo, é congruente ao número 37, módulo 6, e isso significa que esses dois números deixam o mesmo resto quando divididos por 6 (verifique que ambos estão na mesma linha que o número 1). Verificando:

13               6                                      37              6 
                                         
  1               2                                        1             6

Simbolicamente, poderemos escrever: 13  37, mod. 6

Exemplo 2: Aritmética do relógio

Trata-se de um caso de congruência, módulo 12 (nos relógios analógicos, é claro). Note que 13 horas é congruente a 1 hora, no módulo 12. Ambos divididos por 12, deixam resto 1. 17 horas é congruente a 5 horas, módulo 12. Tanto 17, como 5, divididos por 12, deixam resto 5... e assim, sucessivamente.

1  13  25  ...., mod 12
5  17  29  ...., mod 12

Que horas um relógio analógico estará marcando se forem transcorridas 32 horas, depois das 3 horas?

Solução:

3 + 32 = 35 horas. Dividindo 35 por 12, teremos:

35               12 

11                2

Logo, 35  11 mod 12. O relógio estará marcando 11 horas.

Como se trata de um relógio analógico. Se as 3 horas citadas foram da manhã, a resposta é 11 horas da manhã, se as 3 horas citadas fossem da tarde, a resposta seria 11 horas da noite.

Exemplo 3:

Vamos imaginar que uma pessoa, talvez não tendo o que fazer, tenha escrito várias vezes a seqüência ABCD, obtendo algo do tipo ABCDABCDABCDABCDABCD ...

É claro que está formada aqui uma “fila” de letras, onde temos a seguinte correspondência: 
1º   A                5º   A
2º   B                6º   B
3º   C                7º   C
4º   D                8º   D                

Percebemos claramente que o 5º termo da fila é igual ao primeiro, pois houve uma repetição após 4 letras. O mesmo ocorre com o 6º termo, que é igual ao segundo, e assim sucessivamente. Dizemos, neste caso, que aqui existe congruência de módulo 4. O número 6, neste exemplo, é congruente ao 2 (módulo 4). Verifique que o número 6, dividido por 4, resulta no resto 2, ou ainda que a diferença (6 – 2) é divisível por 4. Verifique também que o 8º  termo é congruente ao 4º termo (8 – 4) é divisível por 4, ou ainda 8 dividido por 4 resulta no resto zero (como 4, 8, 12, 16, ...) são múltiplos de 4, a divisão por 4 deixará resto zero.

Nessa brincadeira das letras, poderíamos inclusive perguntar: “Qual será o 58º termo dessa seqüência”? É claro que você não precisaria sair escrevendo para verificar qual seria a 58ª letra escrita. Como é um caso de repetição de 4 em 4 (congruência, módulo 4), bastaria dividir 58 por 4 e verificar o resto obtido. Como 58 dividido por 4 deixa resto igual a 2, teremos o número 58 é congruente ao 2, módulo 4, ou ainda que a 58ª letra é a mesma da 2ª letra, que é B.

Exemplo 4:
Vejamos uma aplicação interessante sobre o tema, relacionada aos calendários:

Vamos supor que você saiba em qual dia da semana caiu o dia 1º de janeiro (em 2006) foi um domingo e 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    Terça  3    Quarta  4    Quinta  5     Sexta  6    Sábado  7

Verificamos aqui que estamos diante de um caso de congruência, módulo 7. Digamos que estivéssemos interessados em descobrir em que dia da semana cairá (ou caiu, dependendo de quando você está lendo esse texto) o dia 5 de julho (e não temos um calendário em mãos, é claro). Primeiro precisamos ver quantos dias existem de 1 de janeiro até 5 de julho. Vejamos:

Janeiro =     31 dias
Fevereiro = 28 dias (2006 não é bissexto)
Março =      31 dias
Abril =         30 dias
Maio =         31 dias
Junho =       30 dias
Julho =          5 dias
Total = 186 dias.

Agora, é como se tivéssemos uma fila de 186 dias e estamos desejando saber, na congruência de módulo 7 (7 dias da semana) qual o correspondente ao 186.

Se dividirmos 186 por 7, teremos:

186          7

  4          26

Logo, o 186 é congruente ao 4, módulo 7. Como o dia 4 foi uma quarta-feira, o dia 186 também o será e, é claro, que todas as demais quarta-feiras deste ano foram representadas por números congruentes ao 4, módulo 7.

1.2)	Primeiros conceitos

•	Se os inteiros a e b dão o mesmo resto quando divididos pelo inteiro k (k > 0) então podemos dizer que a e b são côngruos, módulo k e podemos representar:

a  b  mod k

•	Uma maneira equivalente de dizer isso é afirmar que a diferença (a – b) ou (b – a) é divisível por k, ou que k é divisor dessa diferença. Veja um exemplo:
47  43 mod 4, logo (47 – 43) é divisível por 4.
•	A congruência define uma equivalência, pois atende às propriedades reflexiva, simétrica e transitiva, ou seja:
a  a, mod k (reflexiva)
a  b mod k, então b  a mod k (simétrica)
a  b mod k e b   c  mod k, então a  c mod k (transitiva)

•	Algumas propriedades da congruência
•	Se a  b mod k e c  d mod k, então:
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. Façamos a demonstração da primeira. 

Se a  b mod k, então a – b é divisível por k, analogamente, se c  d mod k, então c – d também é divisível por k, para provarmos que a + c  b + d, teremos que mostrar que (a + c) – (b + d) é divisível por k. Vamos colocar essa diferença na forma (a – b) + (c – d) e verificar se é divisível por k. Como, pela hipótese, (a – b) e (c – d) eram divisíveis por k, é claro que a soma (a – b) + (c – d) é também divisível por k, o que demonstra a primeira propriedade. As demais demonstrações podem ser desenvolvidas de modo análogo.

2) Aplicações da congruência 

2.1) Sistemas de identificação

Em qualquer texto, um erro de ortografia numa palavra pode ser facilmente percebido, pois ou a palavra não faz parte do idioma ou não faz sentido com o contexto. Por exemplo, se digitamos engenheior, logo percebemos que fizemos uma inversão das duas últimas letras. Mas, quando isso ocorre com os algarismos de um número, de um código de identificação qualquer, não teríamos como perceber a troca num simples olhar. Para isso e também para minimizar fraudes, foram criados os chamados dígitos de controle ou verificação. Tais dígitos são normalmente baseados na noção de congruência que mostramos anteriormente. 

Mostraremos nesse capítulo alguns desses casos de dígitos de controle usados como identificadores.

a)	ISBN

Um dos exemplos mais antigos é o sistema International Standard Book Number (ISBN) de catalogação de livros, CD-Roms e publicações em braile, que foi criado em 1969. A necessidade que as editoras têm de catalogar os seus livros e informatizar o sistema de encomendas serviu de motivação na geração desse código.

A vantagem é que, por ser um código numérico, ultrapassa as dificuldades geradas pelos diversos idiomas do mundo, bem como a grande diversidade de alfabetos existentes. Dessa forma, poderíamos, por exemplo, identificar através do ISBN um livro japonês.

Em tal sistema, as publicações são identificadas através de 10 algarismos, sendo que o último (dígito de controle) é calculado através da aritmética modular envolvendo operações matemáticas com os outros nove dígitos. Esses nove primeiros dígitos são sempre subdivididos em 3 partes, de tamanho variável, separadas por hífen, que transmitem informações sobre o país, editora e sobre o livro em questão.

Por exemplo, a língua inglesa é identificada somente pelo algarismo 0 e a editora McGraw-Hill tem um código de 2 algarismos que a identifica, dessa forma, restam ainda 6 algarismos para a identificação de suas publicações, havendo pois a possibilidade de 106 = 1 000 000 de títulos.

Vejamos como se processa o cálculo do dígito final do ISBN (controle).

Representando por a seqüência formada pelos 9 primeiros dígitos, devemos multiplicá-los, nessa ordem, pela base {10, 9, 8, 7, 6, 5, 4, 3, 2} e somar os produtos obtidos. O dígito que está faltando, que vamos representar por a10 deve ser tal que ao ser acrescentado à soma obtida, deve gerar um múltiplo de 11, isto é, se a soma obtida é S, o número S + a10  deve ser múltiplo de 11, ou seja, S + a10  0, mod 11.

Vejamos um exemplo:

Na contracapa do livro Temas e Problemas Elementares, da Coleção Professor de Matemática, da SBM, temos o seguinte código do ISBN: 85-85818-29-8. Vejamos o cálculo do dígito 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 multiplicações 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 =

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

333       11

 3         30
 
Para obtermos um múltiplo de 11, ao acrescentarmos o décimo algarismo, ele terá de ser igual a 8 (11 – 3 = 8). O que confere o valor apresentado no código dado. Isso significa dizer que 333 + 8 = 341 é um múltiplo de 11, ou ainda, que 341  0 mod 11.

Um outro exemplo:

O livro Matemática Aplicada à Administração, Economia e Contabilidade, da Editora Thompson, tem o seguinte código ISBN 85-221-0399-? 
Qual o seu dígito de controle?

Solução:

  8    5    2    2    1    0    3    9    9
10    9    8    7    6    5    4    3    2

Efetuando a soma dos produtos correspondentes, teremos:

80 + 45 + 16 + 14 + 6 + 0 + 12 + 27 + 18 = 218

218     11
 
  9       19

Dessa forma, o dígito 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 país:

O livro “Hilbert”, de Constance Reid, publicado em alemão (Berlim), tem o seguinte código ISBN: 3-540-04999-1. Façamos a verificação do cálculo do dígito de controle (1).

  3    5    4    0    0    4    9    9    9
10    9    8    7    6    5    4    3    2

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

208      11    

 10       18

Logo, o dígito é igual a 1 (11 – 10).

OBS: No ISBN, se o dígito for igual a 10 (no caso do resto da divisão por 11 ser igual a 1), como se pretende que sejam utilizados dez símbolos alfanuméricos, é usado o símbolo do 10 na numeração romana, o X.

b)	CÓDIGO DE BARRAS EAN-13

Um dos códigos de barras mais usados no mundo todo é o EAN-13, constituído de 13 algarismos, sendo que o último é o dígito de controle. Nesse caso é usado a congruência módulo 10 e os fatores de multiplicação são os dígitos 1 e 3, que vão se repetindo da esquerda para a direita.

Se a seqüência formada pelos 12 primeiros dígitos, devemos multiplicá-los, nessa ordem, pela base {1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3} e somar os produtos obtidos. O dígito que está faltando, que vamos representar por a13 deve ser tal que ao ser somado com soma obtida, deve gerar um múltiplo de 10, isto é, se a soma obtida é S, o número S + a13  deve ser múltiplo de 10, ou seja, S + a13  0 mod 10.

Vejamos um exemplo:

Numa embalagem de uma garrafa para bebidas, de Portugal, temos o seguinte código de barras:

Vamos efetuar os cálculos para a determinação do dígito de controle (que estamos vendo ser o dígito 7).

8    4    2    4    9    0    6    2    0    1    7    6 
1    3    1    3    1    3    1    3    1    3    1    3

Efetuando os produtos, teremos:

8 + 12 + 2 + 12 + 9 + 0 + 6 + 6 + 0 + 3 + 7 + 18 = 83

83     10     

  3       8

Logo, o dígito de controle será igual a 7 (10 – 3). Note que 83 + 7 = 90 (múltiplo de 10)

No código de barras com 13 algarismos, os três primeiros dígitos do código representam o país de registro do produto (verifique que para produtos filiados no Brasil  teremos sempre os dígitos 7, 8 e 9); os quatro dígitos seguintes identificam o fabricante; os próximos cinco dígitos identificam o produto e o último, como já sabemos, é o dígito verificador ou de controle.

c)	Cadastro das pessoas físicas na Receita Federal – CPF

Outro exemplo importante, do nosso cotidiano: Verificação dos dois dígitos de controle do CPF de uma pessoa:

O número de CPF de uma pessoa, no Brasil, é constituído de 11 dígitos, sendo um primeiro bloco com 9 algarismos e um segundo, com mais dois algarismos, que são, como no ISBN e nos códigos de barra, dígitos de controle ou de verificação . A determinação desses dois dígitos de controle é feita através da congruência aritmética, como mostramos anteriormente.
No caso do CPF, o décimo dígito (que é o primeiro dígito verificador) é o resultado de uma congruência, módulo 11 de um número obtido por uma operação dos primeiros nove algarismos.
 
Se  é a seqüência formada pelos 9 primeiros dígitos, devemos multiplicá-los, nessa ordem, pela base {1, 2, 3, 4, 5, 6, 7, 8, 9} e somar os produtos obtidos. O dígito que está faltando, que vamos representar por a10 deve ser tal que ao ser subtraído da soma obtida, deve gerar um múltiplo de 10, isto é, se a soma obtida é S, o número S - a10  deve ser múltiplo de 11, ou seja, S - a10  0 mod 11. Note que tal número será o próprio resto da divisão por 11 da soma obtida.
Por exemplo, se o CPF de uma pessoa tem os seguintes 9 primeiros dígitos: 235 343 104, o primeiro dígito de controle será obtido da seguinte maneira:
Escrevemos os nove primeiros e, abaixo deles, a base de multiplicação com os dígitos de 1 a 9.
2    3    5    3    4    3    1    0    4
1    2    3    4    5    6    7    8    9
Efetuando as multiplicações 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 número 116 por 11, teremos:
116         11

  6          10
Dessa forma, o primeiro dígito de controle será o algarismo 6. 

A determinação do segundo dígito de controle é feita de modo similar, sendo que agora acrescentamos o décimo dígito (que é o que acabamos de calcular) e usamos uma base de multiplicação de 0 a 9.
Vejamos:
2    3    5    3    4    3    1    0    4    6
0    1    2    3    4    5    6    7    8    9

Efetuando as multiplicações, 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 número 145  por 11, teremos:
145         11

  2          13
Logo, o segundo dígito de controle é o 2.
Concluímos então que, no nosso exemplo, o CPF completo seria: 235 343 104 62
Se o resto da divisão fosse 10, ou seja, se o número obtido fosse congruente ao 10, módulo 11, usaríamos, nesse caso, o dígito zero.
OBS: Ao longo do mini-curso serão mostrados outros exemplos semelhantes tais como: Cartões de crédito, CNPJ, etc.

2.2)	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 seqüência 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 alguém deseja transmitir alguma informação que não deseja partilhar com os outros, a não ser o destinatário final e combina uma chave qualquer para transmissão e recepção da informação. 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 posições depois dela, no alfabeto. O receptor, sabendo da chave dessa “criptografia”, aplicava a operação inversa na frase recebida, ou seja, substituía cada letra recebida pela que ficava duas posições antes dela, no alfabeto.

Se designarmos por x a letra original e por y a letra que a substituirá no código, é como se tivéssemos uma função, definida por y = x + 2. 
Sabe-se que a primeira aplicação de criptografia foi inventada pelo imperador romano Julio César, que enviava mensagens aos seus generais trocando letras do alfabeto a partir de uma simples regra, similar à que exemplificamos acima, que seria "pule três" (chave 3). Através 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 César:
A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	
X	Y	Z	A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	

Ou seja, uma palavra simples como "atacar” seria codificada como "xqxzxo". Este sistema e outros similares, obtidos através de permutações, em que as letras são "embaralhadas", são muito simples e, não difíceis de serem “decifrados”, mas por muito tempo serviram para “esconder” mensagens. 
Vejamos um exemplo mais completo e a relação que tem com a aritmética modular:
a	b	c	d	e	f	g	h	i	j	k	l	m	n	o	p	q	r	s	t	u	v	w	x	y	z	
1	2	3	4	5	6	7	8	9	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 número que representa a sua posição no alfabeto. Com essa chave, ela fica substituída pela letra cujo número corresponde ao número original, aumentado de 4. Quando acontecer do resultado ser superior ao 26, voltamos ao início do alfabeto. Por exemplo, o número 28 corresponderá à letra b, pois 28 = 26 + 2 e, como já sabemos 28  2 mod 26.
Atividades como essa, aplicadas nas classes do Ensino Fundamental, levarão os alunos a perceber que, na tradução da mensagem enviada eles terão, que aplicar a operação inversa da que foi usada pelo emissor da mensagem, na criação da mensagem criptografada. 
 Em classes do Ensino Médio o professor poderia representar cada chave por uma função bijetora (para que tivesse inversa) e o receptor da mensagem criptografada teria que obter a função inversa, para traduzir a mensagem recebida. 
Ainda no Ensino Médio a chave poderia ser representada por matrizes inversíveis e a decodificação pelo receptor seria através da matriz inversa

Através 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 números que representam cada letra da mensagem criptografada, para obter a mensagem original, decifrando o código. Vejamos:

Q  17 – 4 = 13 = M
E     5 – 4 = 1   = A
V  22 – 4 = 18 = R
E                     = A
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

G  7 – 4 = 3  = C
M  13 – 4 = 9 = I
H   8 – 4 = 4  = D
E   5 – 4 = 1  = A
H                   = D
I   9 – 4 = 5   = E

É claro que o tema criptografia é muito mais complexo do que mostramos aqui. O que exemplificamos, através de chaves criptográficas simples, foi para mostrar a relação que existe entre esse tema e a aritmética modular. É um assunto bastante atual, interessante, e que pode ser usado em classes da Educação Básica, relacionado à conceitos importantes da Matemática, como Operações Inversas e Funções.

REFERÊNCIAS:

BREVE história dos processos de identificação Disponível em: <www.fraudes.org>. Acesso em: 12 maio 2006.

BUESCU, Jorge. O Mistério do Bilhete de Identidade e Outras Histórias. Lisboa: Gradiva, 2001.

BUESCU, Jorge. Da Falsificação dos Euros aos Pequenos Mundos. Lisboa: Gradiva, 2003.

JURKIEWICZ, Samuel. Divisibilidade e Números Inteiros: Introdução à Aritmética Modular. Disponível em www.obmep.org.br

SHOKRANIAN, Salahoddin. Criptografia para Iniciantes. Brasília: UNB, 2005.

STERN, Jacques. A Ciência do Segredo. Lisboa: Instituto Piaget, 2004.