Upload
independent
View
0
Download
0
Embed Size (px)
Citation preview
Universidade Estadual Paulista �Júlio de Mesquita Filho�
Instituto de Geociências e Ciências Exatas
Câmpus de Rio Claro
O uso de elementos da Criptogra�a como
estímulo matemático na sala de aula.
Leandro Rodrigues de Carvalho
Dissertação apresentada ao Programa de Pós-
Graduação � Mestrado Pro�ssional em Mate-
mática em Rede Nacional como requisito par-
cial para a obtenção do grau de Mestre
Orientadora
Profa. Dra. Erika Capelato
2016
Carvalho, Leandro Rodrigues de O uso de elementos da criptografia como estímulomatemático na sala de aula / Leandro Rodrigues de Carvalho.- Rio Claro, 2016 78 f. : il., figs., tabs., fots.
Dissertação (mestrado) - Universidade Estadual Paulista,Instituto de Geociências e Ciências Exatas Orientador: Erika Capelato
1. Teoria dos números. 2. Números primos. 3. Cifra deCésar. 4. Atividade para sala de aula. I. Título.
512.7C331u
Ficha Catalográfica elaborada pela STATI - Biblioteca da UNESPCampus de Rio Claro/SP
2
TERMO DE APROVAÇÃO
Leandro Rodrigues de Carvalho
O uso de elementos da Criptografia como estímulo
matemático na sala de aula.
Dissertação aprovada como requisito parcial para a obtenção do grau de
Mestre no Curso de Pós-Graduação Mestrado Pro�ssional em Matemática
em Rede Nacional do Instituto de Geociências e Ciências Exatas da Uni-
versidade Estadual Paulista �Júlio de Mesquita Filho�, pela seguinte banca
examinadora:
Profa. Dra. Erika Capelato
Orientadora
Profa. Dra. Renata Zotin Gomes de Oliveira
Departamento de Matemática IGCE - UNESP
Profa. Dra. Camila Fernanda Bassetto
Faculdade de Ciências e Letras - UNESP
Rio Claro, 28 de Abril de 2016
Agradecimentos
Primeiramente agradeço a DEUS, grande criador do universo, sem ele nem mesmo
estaríamos aqui. Aos meus pais por terem me concebido e criado com todo amor e
carinho. Agradeço imensamente a minha companheira e esposa Cristiane pelo apoio
e motivação e aos nossos gatos que sempre me acompanharam nas madrugadas de es-
tudo.
Em especial a minha orientadora Érika Capelato, pelas orientações e correções,
sempre solícita e educada.
A todos os professores do curso, pela dedicação e paciência, o meu aprendizado foi
além dos conteúdos. Em especial agradeço a professora Renata Zotin Gomes de Oli-
veira, pelas orientações referentes ao capítulo sobre a Teoria dos Números e a professora
Suzinei Marconato, coordenadora deste programa durante minha trajetória, que sem-
pre nos auxiliou de maneira prestimosa.
Não poderia me esquecer dos amigos e amigas de turma, no começo parecia uma
competição (saudável) e ao longo do curso se transformou em companheirismo e de-
dicação, percebemos que dividir conhecimento só nos engrandece. Foram tantas as
amizades que seria injusto esquecer alguns nomes, por isso achei melhor omiti-los, mas
todos estão no meu coração.
Para �nalizar, agradeço a todos os funcionários da UNESP/Rio Claro: portaria,
biblioteca, segurança e limpeza, que propiciam um ambiente salutar e agradável ao
meu aprendizado.
Resumo
O grande desa�o no ensino da matemática, pelo menos no meu ponto de vista como
professor nos últimos dez anos, é fazer com que os alunos percebam a importância e
a praticidade da matemática em suas vidas. Isso vai além das teorias da Aritmética,
Álgebra ou Geometria ensinadas na educação básica. Os alunos precisam perceber que
os conceitos matemáticos são ferramentas que os ajudam a compreender o mundo a
sua volta. Diante disto, esta dissertação busca apresentar conceitos matemáticos que
levam à compreensão da Criptogra�a: conceitos da Teoria dos Números e da Álgebra.
Fazemos ainda, um breve histórico sobre a Criptogra�a descrevendo a cifra de César e
as cifras a�ns, o Sistema RSA e alguns métodos de troca de chaves. Relatamos alguns
trabalhos desenvolvidos pelos estudantes do PROFMAT neste tema e apresentamos
uma proposta de atividade para os estudantes do ensino básico. Esta atividade consiste
na construção de um kit de encriptação e decriptação utilizando copos descartáveis.
Com dinâmicas unindo elementos da Criptogra�a e o aplicativo Whatsapp, como meio
de troca das mensagens criptografadas, motivamos a sala de aula para o aprendizado
da Divisão Euclidiana e da Permutação. Além disso, pretendemos despertar nos alunos
o interesse em aprofundar-se nos estudos da Matemática, principalmente na Teoria dos
Números, já que esta é uma das ferramentas fundamentais no contexto da Criptogra�a,
uma ciência com grande aplicabilidade na atualidade.
Palavras-chave: Teoria dos Números, Números Primos, Cifra de César, Criptogra�a,
Atividade para sala de aula.
Abstract
The great challenge in teaching mathematics, at least in my point of view as a
teacher in the past ten years is to make students understand the importance and prac-
ticality of mathematics in their lives. This goes beyond the theories of arithmetic,
algebra or geometry taught in basic education. Students need to realize that mathe-
matical concepts are tools that help them understand the world around them. In view
of this, this dissertation aims to present mathematical concepts that lead to unders-
tanding of cryptography: concepts of number theory and algebra. We also a brief
history on the Encryption describing the Caesar cipher and related �gures, the RSA
system and some methods of key exchange. We report some work done by students
PROFMAT this theme and present a proposal activity for students of basic education.
This activity consists in building a kit of encryption and decryption using disposa-
ble cups. With dynamic linking elements Encryption and Whatsapp application as
a means of exchange of encrypted messages, we motivate the classroom for learning
Euclidean division and permutation. In addition, we intend to arouse students' interest
in deepening the study of mathematics, especially in Number Theory, as this is one of
the fundamental tools in the context of cryptography, a science with great applicability
today.
Keywords: Number Theory, Primes Number, Caesar Cipher, Cryptography, activity
to classroom.
Lista de Figuras
3.1 Exemplo de curva elíptica y2 = x3 + 1x + 1, imagem elaborada pelo
próprio autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2 Exemplo da curva elíptica y2 = x3 + 1x + 1 utilizando Z11. Fonte:
www.criptored.upm.es/crypt4you/temas/ECC/leccion1/leccion1.html. Acesso
em 01/02/2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1 Exemplo da esteganogra�a aplicada no QR. . . . . . . . . . . . . . . . 49
4.2 Bastão de Licurgo. Fonte:https://siriarah.wordpress.com/2013/05/13/criptogra�a-
bastao-de-licurgo-scytale-em-python/. Acesso em 12/02/2016. . . . . . 50
4.3 Máquina enigma. Fonte: http://www.eldiario.es/turing/criptogra�a/alan-
turing-enigma-codigo-0-226078042.html, acessado em 12/02/2016. . . . 51
4.4 Criptogra�a de chave simétrica. Fonte: http://biblioo.info/certi�cacao-
digital/. Acesso em 12/02/2016. . . . . . . . . . . . . . . . . . . . . . . 51
4.5 Criptogra�a de chave assimétrica.Fonte: http://biblioo.info/certi�cacao-
digital/. Acesso em 12/02/2016. . . . . . . . . . . . . . . . . . . . . . . 52
5.1 Material dos Kits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Copos e alfabetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.4 Cifra de César com a chave criptográ�ca L. . . . . . . . . . . . . . . . . 68
5.5 Alfabeto e alfabeto posicionado aleatoriamente. . . . . . . . . . . . . . 70
5.6 Identi�cando os copos por grupos. . . . . . . . . . . . . . . . . . . . . . 71
5.7 Cifra de letras aleatórias com a chave criptográ�ca L. . . . . . . . . . . 72
Lista de Tabelas
4.1 Alfabeto digital. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2 Exemplo da Cifra de César com alfabeto digital. . . . . . . . . . . . . . 54
4.3 Exemplo da Cifra a�m com chaves 5 e 8: . . . . . . . . . . . . . . . . . 55
Sumário
1 Introdução 19
2 Teoria dos Números - conceitos básicos 23
2.1 Conjunto dos números inteiros Z . . . . . . . . . . . . . . . . . . . . . 23
2.2 Módulo de um número inteiro . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Conceitos fundamentais de Divisibilidade . . . . . . . . . . . . . . . . . 24
2.4 Algoritmo Euclidiano da divisão . . . . . . . . . . . . . . . . . . . . . . 25
2.5 Números Primos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Máximo divisor comum . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.7 Aritmética Modular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.8 Equações Diofantinas lineares . . . . . . . . . . . . . . . . . . . . . . . 31
2.9 Congruência Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.10 Classes de congruência . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.11 Números de Mersenne . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.12 Números de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.13 Função φ de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.14 Teorema de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.15 Testes de primalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.15.1 Teste de força bruta . . . . . . . . . . . . . . . . . . . . . . . . 38
2.15.2 Aplicação do Pequeno Teorema de Fermat . . . . . . . . . . . . 38
2.15.3 Números de Carmichael . . . . . . . . . . . . . . . . . . . . . . 38
2.15.4 Algoritmo de Lucas . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.15.5 Método de Lucas Lehmer . . . . . . . . . . . . . . . . . . . . . 39
2.15.6 Teste de primalidade AKS . . . . . . . . . . . . . . . . . . . . . 40
2.16 Raízes primitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Elementos da Álgebra 43
3.1 Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 Grupo abeliano . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Corpo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Curvas Elípticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1 De�nição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.2 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4 Criptogra�a 49
4.1 Um breve histórico sobre criptogra�a . . . . . . . . . . . . . . . . . . . 49
4.2 Cifras de César . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3 Cifras A�ns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4 Sistema RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5 Método para troca de chaves . . . . . . . . . . . . . . . . . . . . . . . . 57
4.5.1 Problema do logaritmo discreto . . . . . . . . . . . . . . . . . . 57
4.5.2 Método de Di�e-Hellman . . . . . . . . . . . . . . . . . . . . . 58
4.5.3 Método de ElGamal . . . . . . . . . . . . . . . . . . . . . . . . 58
4.6 Criptogra�a baseada em curvas elípticas . . . . . . . . . . . . . . . . . 59
4.6.1 Método de Di�e-Hellman com curvas elípticas . . . . . . . . . . 59
4.6.2 Algoritmo criptográ�co Menezes-Vanstone . . . . . . . . . . . . 60
5 Proposta de Atividade para o Ensino Médio 63
5.1 Parte 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.2 Parte 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.3 Parte 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6 Considerações Finais 73
Referências 75
1 Introdução
A iniciativa para o tema do presente trabalho surgiu da necessidade em motivarmos
os estudantes do ensino básico nas aulas de matemática. Durante dez anos lecionando
matemática nas escolas estaduais e particulares da região de Americana-SP para estu-
dantes do quinto ao nono ano do ensino fundamental e do primeiro ao terceiro ano do
ensino médio, sempre me deparei com um grande número de alunos que faziam as mes-
mas perguntas: "...para que serve esse conteúdo?"ou "...onde usarei isso?" Encontrar
razões para se aprender matemática parecem óbvias para quem, pela própria natureza e
beleza da matemática, se interessa por esta ciência. Porém, para um grande número de
alunos que tem fobia ou aversão ao seu estudo, isto não é uma tarefa fácil. Atualmente,
as facilidades do cotidiano de um estudante, onde quase tudo já vem "calculado", causa
a falsa ilusão de que não há necessidade de se aprender matemática além das operações
fundamentais. Nesse sentido associar um conceito matemático, que vai além das situa-
ções comuns do dia a dia, a algo concreto ou que faça parte da realidade dos estudantes
pode melhorar o seu interesse pela matemática.
Com base na premissa acima, surgiu a ideia de utilizarmos a criptogra�a, ou seus
conceitos mais elementares, para auxiliar o desenvolvimento do aprendizado matemá-
tico com a utilização do smartphone através do uso de um software de mensagem
instantânea.
Pesquisando sobre trabalhos relacionados à criptogra�a na plataforma do PROF-
MAT encontramos onze dissertações sobre este tema defendidas no ano de 2013, treze
no ano de 2014 e dez no ano de 2015. A seguir fazemos uma síntese sobre alguns dos
trabalhos que nos chamaram mais a atenção.
O autor em [18], faz um levantamento histórico da criptogra�a, abordando como
a matemática auxilia a criptogra�a, fazendo uso dos conceitos da teoria dos números.
Apresenta as perspectivas para o futuro da criptogra�a, através da criptogra�a quân-
tica e pós-quântica e suas implicações para o futuro, porém não apresenta proposta de
atividades para sala de aula.
Em [19] o autor tem como foco principal o sistema criptográ�co RSA. Iniciando
com uma síntese da teoria dos números, o autor também aborda os aspectos históricos
da criptogra�a, suas origens e motivações. Finaliza o trabalho com a implementação
de um algorítimo criptográ�co baseado em RSA, utilizando exemplos para auxiliar a
21
22 Introdução
compreensão.
Uma re�exão sobre a educação matemática e suas implicações no uso da teoria
dos números no ensino fundamental é feita em [3]. Além disso, a autora apresenta a
história da criptogra�a com ênfase no algoritmo RSA, em seguida apresenta um estudo
da situação do ensino da matemática no Brasil entre os anos de 1995 e 2005, incluindo
as di�culdades e desa�os ao aprendizado matemático. Para �nalizar, apresenta uma
proposta de trabalho com foco na criptogra�a intuitiva, através da escrita em Braille
e a utilização da cifra de César para auxílio do ensino da matemática na sala de aula.
Em [9] o autor começa com a história da criptogra�a, origens e métodos antigos
de ocultação de mensagens até a criptogra�a utilizada atualmente nos computadores.
Aborda conceitos da Álgebra e aritmética necessários para compreensão do sistema
criptográ�co baseado no protocolo Di�e-Hellman. Este trabalho apresenta três pro-
postas de atividades para uso da criptogra�a em sala de aula. Na primeira proposta,
apresenta o uso de funções para criação de um sistema de criptação e decriptação de
mensagens com os alunos. A segunda proposta utiliza matrizes como elemento central
do sistema criptográ�co. Por último apresenta uma forma de se criar um sistema crip-
tográ�co baseado no protocolo Di�e-Hellman para troca de mensagens secretas entre
grupos de alunos. Em todas as propostas o autor especi�ca cada parte como trabalhar
com os alunos.
O trabalho [11] tem como objetivo a utilização das equações diofantinas e a crip-
togra�a. Na parte das equações diofantinas o autor utiliza uma situação problema
envolvendo compras de mercadorias. Em seguida apresenta os sistemas criptográ�cos
baseados na cifra de César e RSA com o auxílio do Excel para realização dos cálculos,
porém não apresenta proposta para utilização em sala de aula.
No trabalho [7] o autor faz uma introdução à criptogra�a e depois apresenta um
resumo da teoria dos números necessária para o entendimento do sistema RSA. Por
�m, utiliza o software Maxima para o desenvolvimento dos cálculos necessários para
implementação do sistema criptográ�co RSA. Este trabalho também não apresenta
proposta para se trabalhar com alunos em sala de aula.
É possível observarmos ainda que a literatura apresenta uma grande diversidade
de trabalhos que aplicam a criptogra�a no ensino de conteúdos matemáticos. Assim,
a motivação principal desta dissertação é contribuir para a discussão que vem sendo
feita pelos estudantes do PROFMAT e de outros pesquisadores, que veem neste tema,
elementos motivadores dentro da sala de aula da disciplina de Matemática.
No primeiro capítulo, discorremos sobre as motivações do presente trabalho e em
seguida há uma síntese de algumas dissertações de mestrado pro�ssional realizadas
sobre o tema, criptogra�a. No segundo capítulo abordamos alguns conceitos básicos
da Teoria dos Números, pois atualmente esta teoria é umas das principais ferramentas
da criptogra�a moderna, tais como, números primos, classes de congruência e testes
de primalidade. No terceiro capítulo abordamos, dentre outros elementos da álgebra,
23
o tema curvas elípticas, necessário para o entendimento do conceito de criptogra�a
baseado em tais curvas. No quarto capítulo há uma síntese dos principais elementos
da criptogra�a, sua história e motivações. No quinto capítulo, há uma proposta de
atividade baseada em um vídeo do youtube referente a uma aula de introdução a crip-
togra�a do MIT (Massachusetts Institute of Technology), na qual fazem a construção
de um kit de encriptação e decriptação utilizando copos descartáveis. Nossa proposta
tem como público alvo alunos dos anos �nais da educação básica e utiliza-se, além do
kit de copos, dinâmicas com os elementos da criptogra�a e o aplicativo de mensagens
Whatsapp como meio de troca de mensagens criptografadas entre os grupos de alu-
nos. Nosso objetivo é motivar os alunos para o aprendizado de alguns conceitos da
Matemática, bem como despertar o seu interesse em aprofundar os seus estudos na
Matemática.
2 Teoria dos Números - conceitos
básicos
A teoria dos números é um ramo da Matemática que teve sua origem na antiga Gré-
cia e hoje, inspira, dentre outras aplicações, o processo de criptogra�a em transações
�nanceiras. Alguns problemas em teoria dos números demoraram séculos para serem
resolvidos, como por exemplo o último teorema de Fermat que instigou muitos pes-
quisadores durante mais de 300 anos e foi �nalmente demonstrado por Andrew Wiles
em 1995. Este capítulo está dedicado ao estudo de propriedades básicas dos números
inteiros e os resultados foram retirados de [10] e [12].
2.1 Conjunto dos números inteiros Z
O conjunto dos números inteiros, denotado por Z, cujo símbolo vem da palavra
Zahlen (que signi�ca número em alemão) é a união do conjunto dos números natu-
rais N = {0, 1, 2, 3, 4, 5, 6...}, já incluindo o zero, e o conjunto dos números naturais
"negativos"{−1,−2,−3,−4,−5,−6, · · · } ou seja,
Z = {...− 3,−2,−1, 0, 1, 2, 3, ...}.
Assumiremos axiomaticamente que existem duas operações no conjunto dos nú-
meros inteiros, a adição e a multiplicação, denotadas respectivamente como a + b e
a · b (ou simplesmente ab), para quaisquer inteiros a, b ∈ Z, satisfazendo as seguintes
propriedades:
Propriedade 2.1. Fechamento: a+b e a·b são inteiros sempre que a e b forem inteiros.
Propriedade 2.2. Comutativa: a+ b = b+ a e a · b = b · a, para quaisquer inteiros a
e b.
Propriedade 2.3. Associativa: (a+ b) + c = a+ (b+ c) e (a · b) · c = a · (b · c). paraquaisquer inteiros a, b e c.
Propriedade 2.4. Distributiva: (a+b) ·c = a ·c+b ·c, para quaisquer a, b e c inteiros.
25
26 Teoria dos Números - conceitos básicos
Propriedade 2.5. Existência de elemento neutro: a + 0 = 0 + a e a · 1 = 1 · a, paratodo inteiro a, sendo 0 e 1 elementos neutros das operações de adição e multiplicação,
respectivamente.
Propriedade 2.6. Existência de inverso aditivo: Para todo inteiro a , com a 6= 0,
existe um inteiro x tal que a + x = 0. Esse inteiro x é denominado inverso aditivo
ou simétrico de a, denotado por −a. Dessa forma a subtração é de�nida como como
a+ (−b) = a− b para quaisquer inteiros a e b.
2.2 Módulo de um número inteiro
O módulo, ou valor absoluto, de um número inteiro a é denotado como |a| que,geometricamente, é interpretado como a distância entre o número inteiro a e a origem
da reta numérica.
De�nição 2.1. Seja a um inteiro qualquer. De�nimos:
|a| = a se a ≥ 0.
|a| = −a se a < 0.
O módulo de um número inteiro a também pode ser de�nido como |a| =√a2 e
possui a seguinte propriedade:
Propriedade 2.7. Sejam a e b quaisquer números reais. Então
1. |a| ≥ 0
2. |a| = 0 ⇐⇒ a = 0
3. |a| = | − a|.
4. |ab| = |a||b|.
5. |a+ b| ≤ |a|+ |b| (desigualdade triangular).
2.3 Conceitos fundamentais de Divisibilidade
Dados dois inteiros a e b, com a 6= 0, dizemos que a divide b, denotado por a | b,se existir um inteiro c tal que b = ac. Se a não divide b denotamos por a - b. Alémdisso, b/a indica o quociente: b dividido por a. A seguir enumeramos uma série de
propriedades da divisão:
Propriedade 2.8. Sejam a, b, c,m e n inteiros quaisquer. Então seguem as seguintes
propriedades:
Algoritmo Euclidiano da divisão 27
1. 1 | a.
2. a | a.
3. a | 0.
4. a | b e b 6= 0⇒ |a| ≤ |b|.
5. a | b e b | a⇒ |a| = |b|.
6. a | b e b | c⇒ a | c.
7. c | a e c | b⇒ c | (ma+ nb), quaisquer que sejam m,n ∈ Z.
8. a | b e a 6= 0⇒ (b/a) | b.
Demonstração. A demostração de 1 e 2 está garantida pela Proposição 2.5 e a demons-
tração de 3 sai do inverso aditivo na Proposição 2.6.
Para a demonstração de 4: se a|b então existe um inteiro c tal que b = ac, mas
|a| ≤ |a||c| = |ac| = |b|, da mesma forma, demonstramos 5.
Para demonstrarmos 6: se a|b e b|c, por de�nição existem m e n inteiros tais que
b = ma e c = nb⇒ c = n(ma) ou c = (nm)a, portanto a | c.Na demonstração de 7: existem p, q ∈ Z, tais que a = pc e b = qc. Multiplicando
estas igualdades por m e n, respectivamente, teremos ma = mpc e nb = nqc. Somando
os membros ma+ nb = mpc+ nqc ou ma+ nb = c(mp+ nq)⇒ c | (ma+ bn).
Na demonstração de 8 temos, por hipóteses que b = ma, para algum inteiro m,
então b/a é um inteiro. Como a 6= 0 temos (b/a) · a = b que implica (b/a) | b.
Exemplo 2.1. Os próximos exemplos ilustram alguns itens do resultado acima:
i) 3 | 6 e 6 | 24 então 3 | 24 (item 6).
ii) 3 | 6 e 3 | 9 então 3 | (5 · 6 + 7 · 9) o que nos dá 3 | 93 (item 7).
iii) 3 | 6 e 6/3 = 2 implica 2 | 6 (item 8).
2.4 Algoritmo Euclidiano da divisão
Dados dois números inteiros não negativos a e b, com b 6= 0, na divisão de a por
b, sempre existem números inteiros q (quociente) e r (resto) que satisfazem a seguinte
relação:
a = q.b+ r, com 0 ≤ r < b.
Essa relação é chamada de algoritmo Euclidiano da divisão (esse algoritmo apareceu
no livro VII dos "Elementos"de Euclides, por volta do ano 300 a.C) e também se aplica
a números inteiros negativos. Quando r = 0, ou seja, o resto é zero, dizemos que a
divisão é exata. Se b - a então r satisfaz a desigualdade estrita 0 < r < a.
28 Teoria dos Números - conceitos básicos
Exemplo 2.2. A divisão de 21 por 4, tem como resultado o inteiro 5 e o resto 1, assim
21 = 5.4 + 1.
O próximo resultado será usado para demonstrar o principal Teorema desta seção.
Teorema 2.1. (Teorema de Eudoxius) Dados os inteiros a e b, com b 6= 0, então a é
múltiplo de b ou encontra-se entre dois múltiplos consecutivos de b. Isto é, existe um
inteiro k tal que kb ≤ a < (k + 1)b.
Teorema 2.2. (Algoritmo Euclidiano) Sejam a e b inteiros, b 6= 0. Existe um único par
de inteiros q e r, chamados, respectivamente, de quociente e resto da divisão euclidiana
de a por b, tais que a = bq + r com 0 ≤ r < |b|.
Demonstração. Supondo b > 0, o caso b < 0 é análogo.
Se a = 0 , basta tomar q = r = 0.
Se a 6= 0, pelo Teorema Eudoxius, existe q satisfazendo qb ≤ a < (q + 1)b, que
implica 0 ≤ a − qb e a − qb < b. Para demonstrar a unicidade, supomos que a
existência de outro par q1 e r1:
a = q1b+ r1, com 0 ≤ r1 < b.
Assim temos a−a = 0 então (qb+r)− (q1b+r1) = 0 que implica em b(q−q1) = r1−r ,concluímos que b | (r1− r). Mas como r1 < b e r < b, temos | r1− r |< b, se b | (r1− r)devemos ter r1 − r = 0 o que implica em r = r1. Como b 6= 0 temos q − q1 = 0 que
implica q = q1.
Podemos encontrar outra demonstração para o Algoritmo Euclidiano usando o Prin-
cípio da Boa Ordenação1 em [12].
2.5 Números Primos
Um número inteiro n com (n > 1) que possua apenas dois divisores positivos: o 1 e
o próprio n, é chamando de número primo. Como por exemplo, a seguinte sequência:
2, 3, 5, 7, 11, 13, 17, 19, 23...
Apesar da aparente simplicidade, a sequência dos números primos representa um
desa�o supremo, que atravessa gerações de grandes matemáticos, devido ao seu caráter
caótico e aleatório. Segundo [15] esses números são os próprios átomos da natureza,
devido a sua capacidade de gerar os demais números.
Teorema 2.3. (Teorema Fundamental da Aritmética) Todo inteiro maior que 1 pode
ser representado de maneira única, a menos da ordem, como o produto de fatores
primos.
1Todo subconjunto não vazio A ⊆ N possui um elemento menor que todos os outros elementos
deste.
Máximo divisor comum 29
Demonstração. Se n é primo não há o que se provar. Seja n composto, então n = p1.n1
onde 1 < p1 é um número primo e representa o menor dos divisores de n e n1 um
inteiro satisfazendo 1 < n1 < n. Se n1 for primo a prova está completa, caso contrário,
tomemos p2, um número primo, como o menor fator de n1 e n1 = p2.n2. Então
n = p1.p2.n2.
Repetindo este processo, obtemos uma sequência decrescente de inteiros positivos
n1, n2, n3, n4, n5, .., nr. Como todos os ni são inteiros maiores do que 1, este processo
deve terminar. Como os primos na sequência p1, p2, p3, ..., pk não são necessariamente
distintos, n terá a seguinte forma geral:
n = pa11 .pa22 .p
a33 ...p
akk
Para demonstrarmos a unicidade, usaremos indução em n. Para n = 2 a a�rmação
é verdadeira, para n > 2 temos que n pode ser primo (não há nada a provar) ou
composto. Vamos supor que n seja composto e que tenha duas fatorações:
n = p1.p2.p3...ps = q1.q2.q3...qr
Para provarmos que s = r e que cada pi é igual a qj temos: como p1 divide o pro-
duto q1.q1.q3...qr ele divide pelo menos um dos fatores qj. Sem perda da generalidade
podemos supor que p1 | q1, mas ambos são primos, logo p1 = q1. Temos então quen
p1= p2.p3...ps = q2.q3...qr e 1 <
n
p1< n. Assim a hipótese de indução nos diz que
as duas fatorações são idênticas, a menos da ordem. Concluímos, que p1p2.p3...ps e
q1.q1.q3...qr são iguais.
O próximo resultado é um dos mais clássicos da Matemática. De acordo com [12] até
onde se conhece, a demonstração a seguir foi a primeira demonstração escrita utilizando
o método de redução ao absurdo e é devida a Euclides cerca de 300 A.C.
Teorema 2.4. (Teorema de Euclides) A quantidade de números primos é in�nita.
Demonstração. Faremos a prova por redução ao absurdo. Vamos supor que a sequência
dos números primos seja �nita. Consideremos p1, p2, p3, .., pn a lista de todos os primos.
Consideremos também o número R = p1+p2+p3+...+pn+1. É evidente que R é maior
que todos os primos pi, i = 1, · · · , n da lista, além de não ser divisível por nenhum
dos pi. Pelo Teorema 2.3, R é primo ou possui algum fator primo, o que implica na
existência de um primo que não pertence à lista considerada. Portanto, a sequência de
números primos não pode ser �nita.
2.6 Máximo divisor comum
O máximo divisor comum entre dois inteiros a e b, ambos diferentes de zero, deno-
tado por mdc(a, b) ou simplesmente (a, b), é o maior inteiro que divide a e b simulta-
neamente. Se (a, b) = 1, temos que a e b são primos entre si.
30 Teoria dos Números - conceitos básicos
Exemplo 2.3. Temos mdc(8,12)=4, pois os divisores de 8 são {1, 2, 4, 8} e os divisoresde 12 são {1, 2, 3, 4, 6, 12}.
A seguir vamos descrever as propriedades do máximo divisor comum entre dois
números inteiros.
Propriedade 2.9. Podemos demonstrar que:
1. Se a 6= 0 então mdc(a, 0) = |a|.
2. Se a 6= 0 então mdc(a, a) = |a|.
3. Temos mdc(a, b) = mdc(b, a).
4. Se a | b então mdc(a, b) = a.
5. Se t ∈ Z, então mdc(t · a, t · b) = t ·mdc(b, a).
6. Sejam a1, a2, a3, a4, ..., an−1, an uma coleção �nita de inteiros, não todos nulos.
Então mdc(a1, a2, a3, a4, ..., an−1, an) = mdc(a1, a2, a3, a4, ...,mdc(an−1, an)).
Demonstração. As demonstrações das propriedades acima podem ser encontradas em
[10].
Lema 2.1. (Lema de Bézout2) Dados inteiros a e b, não ambos nulos, existem inteiros
m e n, tais que am+ bn = mdc(a, b).
Demonstração. Se a, b e c são números inteiros e se c | a e c | b então pela Propriedade2.8 item 7, c | am′ + bn′ quaisquer que sejam m′, n′ inteiros ou seja, am′ + bn′ = r · c,para algum r inteiro.
2.7 Aritmética Modular
Em [10] os autores descrevem que 1801, o proeminente jovem matemático Carl
Friedrich Gauss (1777-1855) publicou seu livro intitulado Disquisitiones Arithmeticae,
considerado o marco para o nascimento da teoria dos números como disciplina propria-
mente dita. Uma das contribuições desse trabalho, foi a criação da calculadora relógio.
Se em um relógio convencional de 12 horas que está marcando 10 horas nós adicio-
narmos 5 horas, o ponteiro das horas avança até as 3 horas. Assim a calculadora relógio
de Gauss daria como resposta 3 e não 15. Assim, o conceito básico desta calculadora
relógio consiste em fornecer o resto da divisão de um resultado por 12. Dessa forma
a calculadora de Gauss tornou-se uma ferramenta muito útil para se trabalhar com
números grandes. Por exemplo, mesmo sem saber o valor de 799, a calculadora relógio
diz que esse número deixa resto 7 quando dividido por 12.
2Matemático francês Étienne Bézout (1730 � 1783).
Aritmética Modular 31
Gauss logo percebeu que o relógio podia conter valores diferentes de 12 horas, assim
desenvolveu a ideia de se realizar a aritmética relógio ou aritmética modular, também
conhecida como congruência módulo m.
De�nição 2.2. Sejam a e b inteiros. Dizemos que a é congruente a b módulo m, (m >
0) e denotamos por a ≡ b(modm), se m | (a − b). Se m - (a − b), dizemos que a é
incongruente a b módulo m e denotamos por a 6≡ b(modm).
Podemos ilustrar a de�nição acima com o seguinte exemplo:
Exemplo 2.4. 15 ≡ 3(mod 4), pois 4 | (15− 3).
Proposição 2.1. Se a e b são inteiros, temos a ≡ b(modm) se, e somente se, existir
um inteiro k tal que a = b+ km.
Demonstração. Se a ≡ b (mod m), então m | (a− b) o que implica a existência de um
número inteiro k tal que a− b = km, isto é, a = b+ km, a recíproca é trivial.
O próximo resultado fornece propriedades da congruência entre dois números.
Proposição 2.2. Se a, b, c,m e d são inteiros, m > 0 e a ≡ b(modm), as seguintes
propriedades são verdadeiras:
1. a ≡ a (mod m).
2. b ≡ a (mod m).
3. Se a ≡ b (mod m) e b ≡ d (mod m), então a ≡ d (mod m).
4. a+ c ≡ b+ c (mod m), onde c é um inteiro qualquer.
5. a− c ≡ b− c (mod m), onde c é um inteiro qualquer.
6. ac ≡ bc (mod m), onde c é um inteiro qualquer.
Demonstração. (1) Como m | 0 então m | (a− a), o que implica a ≡ a (mod m).
(2) Se a ≡ b (mod m), então a = b+ k1m, para algum inteiro k1 logo, b = a− k1m.
Se k2 = −k1 obtemos b = a+ k2m, o que implica em b ≡ a (mod m).
(3) Por de�nição, existem k1 e k2 tais que, a − b = k1m e b − d = k2m, somando
membro a membro obtemos a− d = (k1 + k2)m. Logo, a ≡ d (mod m).
(4) Se a ≡ b (mod m), existe k inteiro tal que, a− b = km. Temos, para qualquer
c inteiro, que a− b = (a+ c)− (b+ c), o que implica em a+ c ≡ b+ c (mod m) .
(5) De maneira análoga à propriedade anterior, se a ≡ b (mod m), existe k inteiro
tal que, a − b = km. Para qualquer c inteiro a − b = (a − c) − (b − c), o que implica
em a− c ≡ b− c (mod m).
(6) Se a ≡ b (mod m), existe k inteiro tal que, a − b = km. multiplicando esta
igualdade por um inteiro c obtemos ac− bc = ckm. Logo, ac ≡ bc (mod m) .
32 Teoria dos Números - conceitos básicos
Além destas, outras propriedades podem ser demonstradas:
Proposição 2.3. Se a, b, c, d e m são inteiros tais que a ≡ b (mod m)e c ≡ d (mod
m), então valem as seguintes resultados:
1. a+ c ≡ b+ d (mod m).
2. a− c ≡ b− d (mod m).
3. ac ≡ bd (mod m).
4. ac ≡ bc (mod m), então a ≡ b(mod m/d) onde d = mdc(c,m).
5. Para qualquer inteiro k >0 e a ≡ b(mod m), então ak ≡ bk(mod m).
Demonstração. (1) Se a ≡ b(mod m)e c ≡ d(mod m) existem inteiros k1 e k2, tais que
a−b = k1m e c−d = k2m. Somando as igualdades obtemos, (a+c)−(b+d) = (k1+k2)m.
Logo, a+ c ≡ b+ d(mod m).
(2) Se a ≡ b(mod m) e c ≡ d(mod m), existem inteiros k1 e k2 tais que a− b = k1m
e c−d = k2m. Subtraindo as igualdades obtemos (a− c)− (b−d) = (k1−k2)m. Logo,
a− c ≡ b− d(mod m).
(3) Se a ≡ b(mod m) e c ≡ d(mod m) existem inteiros k1 e k2, tais que a− b = k1m
e c − d = k2m. Multiplicando a primeira igualdade por c e a segunda por b obtemos
ac− bc = ck1m e bc− bd = bk2m. Somando as últimas igualdades, obtemos ac− bd =
(ck1 + bk2)m. Logo, ac ≡ bd(mod m).
(4) Como ac ≡ bc(mod m), existe um inteiro k tal que ac − bc = c(a − b) =
km. Se dividirmos os dois membros por d, teremos (c/d)(a − b) = k(m/d). Assim,
(m/d)|(c/d)(a−b) e como mdc(m/d, c/d) = 1, usando o fato que a|bc e (a, b) = 1 temos
a|c. Assim, a ≡ b(mod m/d).
(5) Temos ak − bk = (a− b)(ak−1 + ak−2b+ ak−3b2 + ...+ abk−2 + bk−1) e m|(a− b)então m|ak − bk. Logo, ak ≡ bk(mod m).
De�nição 2.3. Se h e k são dois inteiros com h ≡ k(mod m), dizemos que k é um
resíduo de h módulo m.
De�nição 2.4. O conjunto dos inteiros {r1, r2, ..., rs} é um sistema completo de resí-
duos módulo m se:
(1) ri 6≡ rj(mod m) para i 6= j.
(2) para todo inteiro n existe um ri tal que n ≡ ri (mod m).
Exemplo 2.5. Seja h = 25 e k um inteiro tal que 25 ≡ k(mod 7) e k pertence ao
conjunto {0, 1, 2, 3, 4, 5, 6} que é sistema completo de resíduos módulo 7, neste caso
k = 4.
Equações Diofantinas lineares 33
2.8 Equações Diofantinas lineares
Equações Diofantinas3 lineares, são equações na forma ax + by = c, com a, b e c
inteiros não simultaneamente nulos. A solução deste tipo de equação é dada pelo par
de inteiros (x0, y0), tal que ax0 + by0 = c seja verdadeira. Ou seja, as soluções da
Equação Diofantina linear são os pontos de coordenadas inteiras do plano cartesiano,
que estão dispostos sobre a reta que esta representa.
Apresentaremos a seguir alguns resultados retirados de [14] para tais equações.
Proposição 2.4. Uma equação diofantina linear da forma ax+ by = c, em que a 6= 0
ou b 6= 0, admite solução se, e somente se, d = mdc(a, b) divide c.
Demonstração. (⇒)Suponhamos que (x0, y0) é um par de inteiros satisfazendo ax0 +
by0 = c. Sendo d = mdc(a, b), temos que d | a e d | b, logo pela Propriedade 2.8 item
(7), d | (ax0 + by0), ou seja, d | c.(⇐) Seja d = mdc(a, b) supondo que d | c, temos c = pd, para algum p inteiro. Se
d = mdc(a, b) temos d | a e d | b, da Proposição 2.8 item 7, d | (ar + bs), com r e s
inteiros. Assumindo que ar+ bs = 1 · d e multiplicando ambos os membros pelo inteiro
p temos arp+ bsp = pd, ou seja, a(rp) + b(sp) = c. Assim (x0, y0) = (rp, sp) é solução
de ax+ by = c.
Teorema 2.5. Sejam a e b inteiros e d = mdc(a, b). Se d | c então a equação diofantinalinear ax + by = c possui in�nitas soluções. Se (x0, y0) é uma solução particular da
equação, então existe um inteiro t tal que todas as soluções (x, y) são dadas por:
x = x0 + (b/d)t
y = y0 − (a/d)t
Demonstração. Se d = mdc(a, b) então d | a e d | b. Pelo lema de Bézout existem
inteiros n e m, tais que an + bm = d. Como d | c , existe um inteiro t tal que c = td.
Se multiplicarmos a equação anterior por t temos ant+ bmt = td = c. Isto nos diz que
o par (x0, y0) = (nt,mt) é uma solução de ax+ by = c.
Vamos supor que (x, y) seja uma solução. Como ax0 + by0 = c obtemos ax + by =
ax0 + by0, o que implica a(x − x0) = b(y0 − y). Dividindo os dois membros por d
teremos (a/d)(x − x0) = (b/d)(y0 − y). Logo (b/d) | (x − x0) e portanto existe um
inteiro t satisfazendo x − x0 = t(b/d), ou seja, x = x0 + (b/d)t. De maneira análoga,
como (a/d) | (y0 − y), existe um inteiro t tal que y0 − y = (a/d)t e assim obtemos
y = y0 − (a/d)t.
Corolário 2.1. Se d = mdc(a, b) = 1 e (x0, y0) é uma solução particular da equação
diofantina linear ax+ by = c, então todas as outras soluções serão dadas por:
3Diofanto de Alexandria foi um matemático grego, cuja data de nascimento se estima entre o anos
201 e 214 e a data de falecimento entre os anos 284 e 298.
34 Teoria dos Números - conceitos básicos
S = {(x0 + bt, y0 − at); t ∈ Z}
Exemplo 2.6. De quantas maneiras podemos comprar selos de cinco reais e selos de
três reais com apenas cinquenta reais?
Podemos modelar esse problema com a equação diofantina 5x+ 3y = 50, onde x e
y são respectivamente a quantidade de selos de 5 e 3 reais, respectivamente.
De acordo com a Proposição 2.4 esta equação possui solução, pois mdc(5, 3) = 1
e 1 divide 50. No problema acima as soluções tem que ser positivas para ter sentido,
então:
Comprando apenas selos de 5 reais teremos a solução (10, 0). Pelo Corolário 2.1 as
soluções desta equação são do tipo (x0 − bt, y0 + at), ou seja, (10− 3t, 0 + 5t) , t ∈ Z.Como as soluções são positivas, t ∈ {0, 1, 2, 3} e assim, (10, 0), (7, 5), (4, 10) e (1, 15)
são as soluções para o problema.
2.9 Congruência Linear
Em [16] o autor de�ne como congruência linear em uma variável toda congruência da
forma ax ≡ b(mod m) onde a e b são números inteiros dados chamados de coe�cientes
e x é a incógnita. Essa equação também é conhecida como equação de congruência de
grau 1 ou equação a�m.
Reorganizando a equação temos ax − b ≡ 0(mod m). Logo, existe um inteiro y,
tal que ax − b = ym ou ax + (−m)y = b, que representa uma equação diofantina
linear. Pela Proposição 2.4 a equação ax+ (−m)y = b, tem solução se, e somente se o
mdc(a,m) divide b.
2.10 Classes de congruência
Os resultados desta Seção podem ser encontrados em [6]. A classe módulo n ou
classe de congruência módulo n é o conjunto de elementos que apresentam o mesmo
resto quando dividido por n. Cada classe é denotada por an e o conjunto das classes é
denotado por Zn , ou também por Z/nZ.
Z/nZ = {0, 1, 2, 3, ..., n− 1}
Dessa forma teremos a classe dos elementos que geram resto zero quando divididos
por n, resto 1 e assim sucessivamente.
Exemplo 2.7. Z/5Z = {0, 1, 2, 3, 4},0 = {0, 5, 10, 15, ...}1 = {0, 1, 6, 11, ...}2 = {0, 2, 7, 12, ...}3 = {0, 3, 8, 13, ...}4 = {0, 4, 9, 14, ...}
Números de Mersenne 35
Antes de prosseguirmos, de�niremos quando uma classe módulo m é inversível.
De�nição 2.5. Seja b(mod m) uma classe módulo m, se existir uma classe m com
d(mod m) tal que:
b(mod m).d(mod m)= 1(mod m)
então b(mod m) possui inversa.
O próximo resultado nos da uma condição necessária e su�ciente para obtermos a
inversa:
Proposição 2.5. Seja b 6= 0 um número inteiro, então a classe b(mod m) tem inversa
(é inversível) se, e somente se, mdc(b,m) = 1.
Demonstração. (⇒) Suponhamos que a classe b(modm) tenha inversa e que sua inversa
seja d(mod m). Assim, bd(mod m)≡ 1(mod m) ou bd−1 ≡ 0(mod m). Logo, podemos
escrever como db− 1 = ym ou bd+ (−y)m = 1 que só terá solução se mdc(b,m) = 1.
(⇐) Por hipótese mdc(b,m) = 1 implica que a equação bx + my = 1 tem solução,
(x0, y0), que são números inteiros tais que bx0 +my0 = 1. Podemos reescrever a última
equação como bx0 − 1 ≡ 0(mod m) ou bx0 ≡ 1(mod m). Concluímos assim, que a
classe x0(mod m) é inversa da classe b(mod m).
2.11 Números de Mersenne
Números de Mersenne4 são números na forma Mn = 2n − 1, onde n é um número
natural. De�nindo Mn como número de Mersenne para um n natural, temos:
n = 0⇒M0 = 0
n = 1⇒M1 = 1
n = 2⇒M2 = 3
n = 3⇒M3 = 7
...
Nem todos os números de Mersenne são números primos, como por exemplo M4 =
24 − 1 = 15.
Propriedade 2.10. Se Mn é primo, então n é primo.
Demonstração. Provar essa proposição equivale a mostrar que a sua forma contrarre-
cíproca vale. Ou seja, que se n é composto, digamos n = ab com a ≥ b > 1, então Mn
também é composto. De fato,
2ab − 1 = (2a − 1).(2a(b−1) + 2a(b−2) + 2a(b−3) + ...+ 2a + 1)
4Marin Mersenne, matemático e monge Francês que viveu entre os anos de 1588 e 1648.
36 Teoria dos Números - conceitos básicos
A recíproca da a�rmação acima não é verdadeira. Por exemplo, em [12] encontramos
um contraexemplo dado por Hudalricus Regius em 1536: M11 = 211 − 1 = 2047 não é
primo, já que 2047 = 23 · 89.Podemos �nalizar esta seção com um critério interessante, obtido pela matemática
francesa Sophie Germain (1776-1831), que nos permite saber quando um número não
é primo.
Propriedade 2.11. (Identidade de Sophie Germain) Dados a, b ∈ R, vale a igualdade
a4 + 4b4 = (a2 + 2b2 + 2ab)(a2 + 2b2 − 2ab)
.
Demonstração. A prova segue das seguintes igualdades: a4 + 4b4 = a4 + 4a2b2 + 4b4 −4a2b2 = (a2 + 2b2)2 − 4a2b2 = (a2 + 2b2 + 2ab)(a2 + 2b2 − 2ab).
Exemplo 2.8. O número 520 + 230 é composto. De fato, 520 + 230 = 55·4 + 22·28 =
(55)4 + 4(27)4, de onde podemos usar a Identidade de Sophie Germain.
2.12 Números de Fermat
Números de Fermat 5 são números da forma Fn = 22n+ 1. Fermat acreditava que
para todo n inteiro maior que zero a sua fórmula gerava um número primo. Como por
exemplo para n = 1 temos 221+ 1 = 5, para n=2 temos 22
2+ 1 = 17. Porém,
em 1732 Euler6 mostra que 641 divide o número de Fermat para n = 5. Sabe-se
que Fn é composto para n ∈ {5, 6, ..., 32}. Atualmente, mesmo com todo aparato
computacional, é uma tarefa árdua encontrar um divisor próprio de um número de
Fermat muito grande.
O Pequeno Teorema de Fermat é utilizado para realizar testes para determinar se
certo número é primo.
Teorema 2.6. (Pequeno teorema de Fermat) Sejam p e a inteiros com p primo, se
p - a então ap−1 ≡ 1(mod p).
Demonstração. O conjunto X = {0, 1, 2, 3, ..., p− 1} constitui um sistema completo de
resíduos módulo p. Esse fato determina que qualquer conjunto contendo no máximo
p elementos incongruentes módulo p pode ser colocado em correspondência biunívoca
com um subconjunto de X. Considere os números a, 2a, 3a, ..., (p − 1)a. Como por
hipótese o mdc(a, p) = 1, nenhum destes elementos é divisível por p, ou seja, nenhum
é congruente a zero módulo p. Logo, cada um deles é congruente a exatamente um
dentre os elementos de X. Se multiplicarmos estas congruências membro a membro,
teremos:5Pierre de Fermat, matemático francês, que viveu entre 1601 e 1665.6Leonhard Paul Euler, matemático suíço, que viveu entre os anos de 1707 e 1783.
Função φ de Euler 37
a.2a.3a...(p− 1).a ≡ 1.2.3...(p− 1)(mod p)
Então ap−1(p− 1)! ≡ (p− 1)!(mod p). Como mdc((p− 1)!, p) = 1, podemos cancelar o
fator (p− 1)! obtendo:
ap−1 ≡ 1(mod p)
Corolário 2.2. Se p é um primo e a um inteiro positivo, então ap ≡ a(mod p).
Demonstração. Se p | a, então p | a(ap−1 − 1) ou p | (ap − a), assim ap − a ≡ 0(mod p)
que é equivalente a ap ≡ a(mod p).
2.13 Função φ de Euler
A demonstração dos resultados desta seção podem ser encontradas em [4].
De�nição 2.6. Dado um número natural n, a função φ(n) de Euler representa a
quantidade de números naturais k, 1 ≤ k < n, tais que o mdc(k, n) = 1.
Exemplos:
φ(2) = 1
φ(3) = 2
φ(10) = 4
φ(12) = 4
φ(15) = 8.
Proposição 2.6. Se p é um número primo, então φ(p) = p− 1.
Exemplos:
φ(5) = 4
φ(11) = 10
φ(13) = 12
φ(17) = 16
φ(23) = 22.
Proposição 2.7. Se p é um número primo, então φ(pn) = pn − pn−1.
Exemplos:
φ(9) = φ(32) = 32 − 31 = 6
φ(16) = φ(24) = 24 − 23 = 8
φ(25) = φ(52) = 52 − 51 = 20
φ(49) = φ(72) = 72 − 71 = 42
φ(64) = φ(26) = 26 − 25 = 32.
38 Teoria dos Números - conceitos básicos
Proposição 2.8. Sejam a e b números inteiros positivos primos entre si, ou seja,
mdc(a, b) = 1, então φ(a · b) = φ(a) · φ(b).
Exemplos:
φ(15) = φ(3 · 5) = φ(3) · φ(5) = 2 · 4 = 8 ,
φ(1001) = φ(7 · 11 · 13) = φ(7) · φ(11) · φ(13) = 6 · 10 · 12 = 720 .
Com base nas proposições anteriores e usando o Teorema Fundamental da Aritmé-
tica 2.3, podemos deduzir a função φ(n):
Se n é um inteiro positivo, então ele possui a seguinte fatoração n = pa11 .pa22 .p
a33 ...p
akk ,
independente da ordem dos fatores, logo:
φ(n) = φ(pa11 .pa22 .p
a33 ...p
akk )
φ(n) = φ(pa11 ).φ(pa22 ).φ(pa33 )...φ(pakk )
φ(n) = (pa11 − pa1−11 ).(pa22 − pa2−12 ).(pa33 − pa3−13 )...(pakk − pak−1k )
φ(n) = pa11 (1− 1p1).pa22 (1− 1
p2).pa31 (1− 1
p3)...pakk (1− 1
pk)
Assim, obtemos a função φ(n) de Euler:
φ(n) = n.(1− 1p1).(1− 1
p2).(1− 1
p3)...(1− 1
pk)
Exemplo 2.9. φ(30) = ?
30 = 2 · 3 · 5φ(30) = 30 · (1− 1
2).(1− 1
3).(1− 1
5)
φ(30) = 30 · (12) · (2
3) · (4
5)
φ(30) = 30 · ( 830)
φ(30) = 8
2.14 Teorema de Euler
O Teorema de Euler, conhecido também como Teorema Fermat-Euler, é uma gene-
ralização do pequeno Teorema de Fermat 2.6, que diz:
Teorema 2.7. (Teorema de Euler) Se a e n são números positivos e mdc(a, n) = 1,
então:
aφ(n) ≡ 1(mod n)
Antes de demonstrarmos o teorema de Euler, se faz necessário a utilização dos
seguintes resultados:
Testes de primalidade 39
De�nição 2.7. Um sistema reduzido de resíduos módulo m é o conjunto dos inteiros
{r1, r2, r3, ..., rφ(m)}, tais que cada elemento do conjunto é relativamente primo com m,
se i 6= j então ri 6= rj(mod m).
Exemplo 2.10. O conjunto {0,1,2,3,4,5,6,7,8,9} é um sistema completo de resíduos
módulo 10, já o conjunto {1,3,7,9} é um sistema reduzido de resíduos módulo 10.
Teorema 2.8. Sejam a e m números inteiros positivos tal que mdc(a,m) = 1. Se
{r1, r2, r3, ..., rφ(m)} é um sistema reduzido de resíduos módulo m, então
{ar1, ar2, ar3, · · · , arφ(m)} também é um sistema reduzido de resíduos módulo m.
Demonstração. Como mdc(a,m) = 1 e mdc(ri,m) = 1, para todo 1 ≤ i ≤ φ(m), temos
mdc(ari,m) = 1, para todo 1 ≤ i ≤ φ(m). Assim, se ari ≡ arj (mod m) temos ri ≡ rj
(mod m) o que implica i = j. A negação também é verdadeira pois ari 6= arj (mod m)
implica em i 6= j.
Demonstração. (Teorema de Euler 2.7): Se n for um número primo, então φ(n) = n−1e pelo pequeno teorema de Fermat aφ(n) = an−1 ≡ 1(mod n).
Caso contrário, se n é composto, n = pa11 .pa22 .p
a33 ...p
akk . Por hipótese mdc(a,m)=1 e
pelo Teorema 2.8 os elementos de {ar1, ar2, ar3, ..., arφ(m)} constituem um sistema re-
duzido módulom assim, {r1, r2, r3, ..., rφ(m)} também é um sistema reduzido de resíduos
módulo m. Isso implica que cada elemento ari é congruente a exatamente um dos ele-
mentos rj, para todo 1 ≤ j ≤ φ(m). Portanto o produto dos ari deve ser congruente
ao produto dos rj módulo m:
ar1 · ar2 · ar3 · · · arφ(m) ≡ r1 · r2 · r3 · · · rφ(m) (mod m)
aφ(m) · r1 · r2 · r3 · · · rφ(m) ≡ r1 · r2 · r3 · · · rφ(m) (mod m).
Considere k = r1 · r2 · r3 · · · rφ(m) então aφ(m) · k ≡ 1 · k (mod m). Cancelando k de
ambos os lados temos
aφ(m) ≡ 1(mod m)
2.15 Testes de primalidade
Nesta Seção descrevemos alguns testes de primalidade retirados de [13]. Estes testes
visam determinar se um número é primo ou composto, sem a necessidade de fatorá-lo.
Existem muitos algoritmos de primalidade utilizados principalmente na matemática
computacional, cada um com sua base teórica, com suas vantagens e desvantagens. A
seguir será apresentado alguns destes testes a �m de exemplos.
40 Teoria dos Números - conceitos básicos
2.15.1 Teste de força bruta
O teste de força bruta é o mais antigo e mais simples teste para determinar a
primalidade de um número natural n. O teste consiste em veri�car todos os possíveis
divisores de n no intervalo de 2 a n/2, em busca de um divisor diferente dele próprio.
Podemos utilizar também os números primos menores que√n para dividir o próprio
n. Se nenhum dos números pesquisado é fator de n então n é um número primo. Apesar
deste método ser muito simples é ine�ciente para números grandes, mesmo para um
computador.
2.15.2 Aplicação do Pequeno Teorema de Fermat
O Pequeno Teorema de Fermat dá origem a um teste de primalidade chamado Teste
de Fermat que consiste em:
Dados dois inteiros b > 1, n > 1, escolhemos 1 < b < n − 1 e calculamos bn−1 ≡1(mod n). Se o resultado encontrado for verdadeiro, então n pode ser um número
primo e recebe o nome de primo provável na base b.
Exemplo 2.11. 2341−1 ≡ 1(mod 341), porém 341 = 11 · 31, ou seja, um número
composto.
Os números, como no exemplo acima, que passam no teste de Fermat e não são
primos, são chamados de pseudoprimos ou primos falsos. O teste de Fermat é um teste
probabilístico, para cada valor de b existe uma in�nidade de não primos para os quais
bn−1 − 1 é divisível por n. Quanto maior for o número de testes maior a con�ança que
se pode ter no resultado, mas nunca será certeza.
2.15.3 Números de Carmichael
Dados a e n números inteiros positivos, dizemos que n é um número de Carmichael7
se n > 0 é composto ímpar e an−1 ≡ 1(mod n) para todo 1 < a < n − 1. Portanto,
números de Carmichael são pseudoprimos de Fermat para todas as bases menores que
ele.
Exemplo 2.12. O menor número de Carmichael é o 561. Para provarmos esta a�r-
mação usando a de�nição, precisaríamos veri�car que a561 ≡ a(mod 561), para a ∈{2, 3, . . . , 559}, num total de 558 bases a serem testadas.
Em 1899 uma caracterização para os números de Carmichael foi dada no Teorema
de Korselt.7Robert Daniel Carmichael, nasceu em 1 de março de 1879 em Goodwater e morreu em 2 de maio
de 1967 em Merriam EUA.
Testes de primalidade 41
Teorema 2.9. (Teorema de Korselt) Um inteiro positivo ímpar n é um número de
Carmichael se, e somente se, cada fator primo p de n satisfaz as duas condições se-
guintes:
p2 não divide n e p− 1 divide n− 1.
Exemplo 2.13. Temos que 561 = 3 · 11 · 17. Note que 32 não divide 561, 112 não
divide 561 e 172 não divide 561. Porém, 3 − 1 = 2 e 2 divide 560, 11 − 1 = 10 e 10
divide 560, 17-1 = 16 e 16 divide 560. Portanto, 561 é um número de Carmichael e é
o menor deles.
Em 1994, os matemáticos Willian Alford, Andrew Granville e Carl Pomerance
provaram que há in�nitos números de Carmichael.
2.15.4 Algoritmo de Lucas
De acordo com o pequeno teorema de Fermat, se p é primo, então para qualquer
número inteiro a tem-se:
ap−1 ≡ a(mod p)
O primeiro Algoritmo de Lucas8 foi criado em 1872, e resumidamente pode ser
de�nido da seguinte forma:
Se ap−1 ≡ 1(mod p) e am 6= 1(mod n), onde a, n,m são inteiros a > 1, n > 1 e
m = 1, 2, 3, 4, 5, ..., n− 2, então n é um número primo.
A desvantagem desse método se refere ao longo tempo gasto para efetuar os cálculos
com números compostos grandes, pois temos que testar (n−2) multiplicações sucessivaspor a mais a veri�cação que 1 não é resíduo módulo n de uma potência de a inferior a
(n− 1).
O segundo Algoritmo de Lucas foi desenvolvido em 1891, onde diz que n é primo
se satis�zer as seguintes condições:
an−1 ≡ 1(mod n) e am 6= 1(mod n)
para cada m < n, tal que m | (n− 1), ou seja, m é divisor de n− 1.
Devido ao fato desse algoritmo requerer o conhecimento prévio de todos os fatores
de n− 1, isso se torna computacionalmente custoso para números muito grandes.
2.15.5 Método de Lucas Lehmer
Este teste de primalidade em relação aos números de Mersenne foi desenvolvido por
Lucas em 1876 e aperfeiçoado em 1930 por Lehmer 9.
8François Édouard Anatole Lucas, nasceu na cidade francesa de Amiens em 4 de Abril de 1842 e
morreu em Paris 3 de outubro de 1891.9Normando Lehmer do Derrick, nasceu em 1867 em Somerset e faleceu em 1938 em Berkeley,EUA.
42 Teoria dos Números - conceitos básicos
O algoritmo de Lucas-Lehmer diz que o número de Mersenne Mn = 2n − 1 será
primo se Mn | Ln onde Ln é o número de Lucas-Lehmer dado por:
Ln = L2n−1 − 2
Os números Ln são formados pela sequência L0 = 4, L1 = 14, L2 = 194, ..., obter esses
números é uma tarefa computacional simples, em seguida veri�ca-se:
Ln ≡ 0(mod Mn)
Com esse método Lehmer provou que Mersenne errou ao a�rmar que o número 2257−1
era primo.
2.15.6 Teste de primalidade AKS
Na tentativa de se encontrar testes de primalidades mais rápidos e e�cientes e testes
probabilísticos com chances de acertos cada vez maiores surgiu, em 2002 o algoritmo
AKS, cujo o nome é formado pelas iniciais dos sobrenomes de seus criadores, os india-
nos: Agrawal10 , Kayal11 e Saxena12.
O teste de primalidade AKS esta baseado em um algoritmo que é ao mesmo tempo
polinomial, determinístico e incondicional. Ou seja, o tempo máximo de processamento
do algoritmo pode ser expresso como um polinômio em relação ao número de dígitos
do número a ser testado e assim é possível classi�car o número informado como primo
ou composto.
O AKS é baseado na generalização do Pequeno teorema de Fermat 2.6: Seja a um
número inteiro e n um número natural maior que 1, tal que mdc(a, n)=1, n é um
número primo se, e somente se,
(x− a)n ≡ (xn − a) (mod n)
Ou de modo equivalente:
(x+ a)n ≡ xn + a (mod n)
Exemplo 2.14. Considere a = −1 e n = 2 (para efeito de facilidade nos cálculos),
temos:
(x+ 1)2 ≡ x2 + 1 (mod 2)
(x2 + 2x+ 1) ≡ x2 + 1 (mod 2)
(x2 + 1) + 2x ≡ x2 + 1 (mod 2)
2x ≡ 0 (mod 2)
A equação acima possui in�nitas soluções e, para qualquer inteiro x a equivalência é
verdadeira, logo n = 2 é primo.
10Manindra Agrawal nasceu em 1966 em Allahabad, Índia.11Neeraj Kayal nasceu em 1979 em Guwahati, Índia.12Nitin Saxena nasceu em 1981 em Allahabad, Índia.
Raízes primitivas 43
2.16 Raízes primitivas
O de�nição de raiz primitiva engloba vários conceitos vistos anteriormente e alguns
novos que serão enunciados nesta seção.
De�nição 2.8. Seja k um inteiro positivo que satisfaz a equivalência ak ≡ 1(mod m),
onde mdc(a,m) = 1. O menor valor de k é chamado de ordem de a módulo m e a
notação é ordma = k.
Exemplo 2.15. Seja k um inteiro positivo 3k ≡ 9(mod 13), sendo que mdc(3, 13) = 1,
temos :
31 ≡ 3(mod 13),
32 ≡ 9(mod 13),
33 ≡ 1(mod 13),
34 ≡ 3(mod 13),
35 ≡ 9(mod 13),
36 ≡ 1(mod 13),
...
Logo a ordem de 3 módulo 13 é igual a 3, ou seja , ord133 = 3.
Teorema 2.10. Sejam k,m, a, h inteiros positivos tal que k =ordma e ah ≡ 1(mod m),
então k | h.
Demonstração. Pelo algoritmo da divisão de Euclides, dados h e k inteiros diferentes
de zero, existe um único par de inteiros q e r, 0 ≤ r < k tal que h = q · k + r. Logo:
ah = aq·k+r = (ak)q · ar
Como ah ≡ 1(mod m), temos:
(ak)q · ar ≡ 1(mod m)
Por hipótese ak ≡ 1(mod m), pois k =ordma, então obtemos:
ar ≡ 1(mod m)
Sendo r < k, r deve ser zero pois k é o menor elemento positivo no qual ak ≡ 1(mod
m). Portanto , r = 0 e h = q · k, ou seja, k | h.
Corolário 2.3. Sejam m e a inteiros positivos, então ordma | φ(m).
Demonstração. Pelo o Teorema de Euler 2.7, aφ(m) ≡ 1(mod m), para todo mdc(a,m) =
1. De Teorema 2.10 temos ordma | φ(m).
De�nição 2.9. Sejam a e m inteiros positivos e ordma = φ(m), dizemos que a é raiz
primitiva módulo m.
Exemplo 2.16. Temos que ord103 = 4 , pois 34 ≡ 1(mod 10).
3 Elementos da Álgebra
O objetivo deste capítulo é fornecer algumas de�nições e resultados básicos da
Álgebra para tratarmos do assunto referente a curvas elípticas, um conceito novo que
vêm sem sendo aplicado à Criptogra�a.
3.1 Grupo
Os resultados desta seção foram retirados de [8].
De�nição 3.1. Seja G um conjunto não vazio e uma operação ⊗ de�nida. O par
(G,⊗) será um grupo se satisfazer as seguintes propriedades:
Propriedade 3.1. Fechamento: Para quaisquer elementos a, b ∈ G temos a⊗b ∈ G.
Propriedade 3.2. Associativa: Para quaisquer elementos a, b, c ∈ G temos (a ⊗b)⊗ c = a⊗ (b⊗ c).
Propriedade 3.3. Elemento neutro: Existe um único elemento e ∈ G, tal que
a⊗ e = e⊗ a = a.
Propriedade 3.4. Elemento inverso: Para cada a ∈ G existe um único elemento
i ∈ G, tal que a⊗ i = i⊗ a = e, onde e é o elemento neutro de G.
3.1.1 Grupo abeliano
Um grupo é dito abeliano 1 se além das propriedades de grupo contém a propriedade
comutativa para operação ⊗ de�nida.
De�nição 3.2. Seja (G,⊗) um grupo. Este será chamado de grupo abeliano se a
operação ⊗ for comutativa em G, ou seja, para quaisquer elementos a, b ∈ G temos
a⊗ b = b⊗ a.1Em homenagem ao matemático norueguês Niels Henrik Abel, que nasceu em Nedstrand em dia 5
de agosto de 1802 e faleceu em Froland em 6 de abril de 1829.
45
46 Elementos da Álgebra
3.2 Corpo
Um corpo é uma estrutura algébrica que consiste num conjunto R munido de duas
operações binárias, geralmente chamada de adição ⊕ e multiplicação ⊗ e denotado por
(R,⊕,⊗). Para ser considerado um corpo o conjunto R tem que satisfazer as seguintes
propriedades em relação as operações de ⊕ e ⊗ para a, b e c elementos de R:
Propriedade 3.5. Fechamento: a⊕ b ∈ R e a⊗ b ∈ R .
Propriedade 3.6. Comutativa: a⊕ b = b⊕ a e a⊗ b = b⊗ a.
Propriedade 3.7. Associativa: (a⊕ b)⊕ c = a⊕ (b⊕ c) e (a⊗ b)⊗ c = a⊗ (b⊗ c).
Propriedade 3.8. Distributiva: (a⊕ b)⊗ c = a⊗ c+ b⊗ c .
Propriedade 3.9. Existência de elemento neutro: a⊕ 0 = a e a⊗ 1 = a.
Propriedade 3.10. Existência de inverso aditivo: a 6= 0, exite um (−a) tal que
a⊕ (−a) = 0.
Propriedade 3.11. Existência de inverso multiplicativo: a 6= 0, exite um (a−1) tal
que a⊗ (a−1) = 1.
Exemplo 3.1. O conjunto2 Zn será um corpo se n for primo, caso contrário teremos
divisores de zero3.
Z3 = {0, 1, 2}, é um corpo.
Z4 = {0, 1, 2, 3}, não é um corpo pois 2 · 2 = 0.
3.3 Curvas Elípticas
O tema Curvas Elípticas é muito complexo e atualmente tem grande impacto na
Cripogra�a e Teoria dos números. Como o objetivo deste trabalho é a Criptogra�a e
seu uso em sala de aula, o assunto sobre curvas elípticas será apresentado de forma
elementar e voltado à Criptogra�a.
3.3.1 De�nição
Antes de de�nirmos uma curva elíptica, temos que compreender o que é uma curva
algébrica. Uma curva algébrica plana é um lugar geométrico4 no plano que são soluções
de uma equação f polinomial de duas variáveis, ou seja, é o conjunto de pontos (x, y)
2O conjunto Zn é �nito constituído dos seguintes elementos {0 , 1 , 2 , 3 , 4 ,..., n-2 , n-1}3Um divisor de zero são números, diferentes de zero que, quando multiplicados o resultado é zero4Lugar geométrico é o conjunto de in�nitos pontos que possuem uma propriedade em comum, como
a circunferência, reta bissetriz, etc.
Curvas Elípticas 47
que satisfazem f(x, y) = 0. A seguir apresentamos uma de�nição de curva elíptica
geral.
Seja um corpo F , uma curva elíptica sobre F é uma curva algébrica de�nida pela
seguinte equação geral:
y2 + Axy +By = Cx3 +Dx2 + Ex+ F (3.1)
onde A,B,C,D,E, F , são coe�cientes pertencentes ao corpo F .
Na criptogra�a se utiliza uma versão reduzida ou simpli�cada da curva elíptica
de�nida em (3.1), a qual vamos de�nir abaixo:
Seja Zp um corpo de característica5 diferente de 2 e de 3, ou seja, para um corpo
Zp, p primo maior que 2, a curva elíptica, denotada por E, sobre o corpo Zp é de�nidapela equação:
y2 = x3 + ax+ b (3.2)
de modo que a e b ∈ Zp e satisfaça a relação 4a3 + 27b2(mod p)6= 0. Esta curva é
mostrada pela Figura 3.1.
O conjunto dos pontos P (x, y), onde x, y ∈ Zp, que satisfaz a equação (3.2) mais o
elemento neutro O, também chamado ponto no in�nito, é denotado por E(Zp).O número de pontos que satisfaz a curva elíptica (3.2) em Z11, pode ser calculado
pelo Teorema de Hasse 6, que diz que o número N de pontos de uma curva elíptica
sobre Fq satisfaz: 1 + q − 2√q ≤ N ≤ 1 + q + 2
√q , onde q é uma potência de um
número primo.
Conhecer o número de pontos que satisfaz uma curva elíptica é fundamental para
se calcular a segurança do sistema criptográ�co nela baseado.
Exemplo 3.2. Considerando a curva elíptica y2 = x3 + 1x+ 1 de�nida sobre o corpo
Z11, podemos calcular o número de pontos da curva elíptica pelo teorema de Hasse:
1 + 11− 2√11 ≤ N ≤ 1 + 11 + 2
√11
12− 2√11 ≤ N ≤ 12 + 2
√11
5, 36... ≤ N ≤ 18, 63...
De acordo com este teorema teremos no máximo 18 pontos que satisfazem esta
curva elíptica. A Figura 3.2 mostra apenas 13 pontos, mas os pontos (2,11), (11,10),
(11,12), (13,0), (13,11) também pertencem a curva elíptica. De fato:
112 ≡ 23 + 2 + 1 (mod 11)
102 ≡ 113 + 11 + 1 (mod 11)
122 ≡ 113 + 11 + 1 (mod 11)
02 ≡ 133 + 13 + 1 (mod 11)
112 ≡ 133 + 13 + 1 (mod 11)
5Característica de um corpo é o menor inteiro positivo n tal que n · 1 = 0, caso não exista, o corpo
tem característica zero.6Helmut Hasse, matemático alemão (1898-1979).
48 Elementos da Álgebra
Figura 3.1: Exemplo de curva elíptica y2 = x3+1x+1, imagem elaborada pelo próprio
autor.
Figura 3.2: Exemplo da curva elíptica y2 = x3 + 1x + 1 utilizando Z11.
Fonte: www.criptored.upm.es/crypt4you/temas/ECC/leccion1/leccion1.html. Acesso
em 01/02/2016
3.3.2 Propriedades
As propriedades a seguir são fundamentais para as operações entre pontos que
pertencem a curva elíptica E(Zp):
Curvas Elípticas 49
Propriedade 3.12. P +O = O+P = P , para todo P ∈ E(Zp) , o ponto O é chamado
de ponto no in�nito.
Propriedade 3.13. Se P = (x, y), então −P = (x,−y).
Propriedade 3.14. Sejam P eQ ∈ E(Zp), com P 6= Q, P+Q = R, onde R = (xR, yR),
é da forma:
λ =yQ−yPxQ−xP
xR = λ2 − xP − xQ (mod p)
yR = −yP + λ(xP − xR) (mod p)
Propriedade 3.15. Seja P = (xp, yP ) ∈ E(Zp), com yP 6= 0. A soma P + P = 2P =
R = (xR, yR), onde:
λ = 3(xP )2+a2yP
xR = λ2 − 2xP (mod p)
yR = λ(xP − xR)− yP (mod p)
Com a proposição acima podemos generalizar a soma de pontos iguais:
3P = P + (P + P )
4P = P + (P + (P + P ))
...
Dessa forma �ca de�nida a operação k·P para qualquer k inteiro positivo, a operação
mais utilizada na criptogra�a baseada em curvas elípticas, que faz de E(Zp), juntamente
com a operação de soma, um grupo abeliano, onde o ponto no in�nito é o elemento
neutro.
As curvas elípticas num sistema de criptogra�a mostram um nível de segurança
melhor comparado ao RSA, que é o sistema de criptogra�a assimétrica mais utilizada,
porém sua complexidade e grau de so�sticação é devidamente maior e por isso não
detalharemos mais neste trabalho. Em [20] os leitores interessados podem encontrar
mais sobre o assunto.
4 Criptogra�a
4.1 Um breve histórico sobre criptogra�a
A criptogra�a pode ser resumida de modo simples como um conjunto de técnicas
que permite tornar incompreensível uma mensagem, de modo que somente o destina-
tário consegue decifrá-la. Há registros1 mostrando que a ocultação de informações era
utilizada desde o Egito antigo, cerca de 1900 a.c. Os escribas dos faraós substituíam
alguns trechos e palavras de documentos importantes por símbolos estranhos, di�cul-
tando assim a ação de ladrões.
Alguns séculos mais tarde apareceram outros métodos de transmitir mensagens de
modo secreto na Mesopotâmia e na Ásia de modo geral. Métodos simples como men-
sagem tatuada na cabeça de escravos, mensagens escondidas dentro de caças, dentre
outras. Estas formas de ocultação de mensagens, recebem o nome de esteganogra-
�a e diferentemente da criptogra�a, não altera a mensagem original como ocorre na
criptogra�a, onde a mensagem original é completamente alterada. Atualmente, ainda
se utiliza a esteganogra�a na ocultação de mensagem em imagens digitais, como por
exemplo, no código de barras bidimensional, chamados de QR2 (Quick Response).
Figura 4.1: Exemplo da esteganogra�a aplicada no QR.
1Esta seção está baseada em [1].2Imagem retirada de fttps://pt.wikipedia.org/wiki/Codigo-QR, acessado em 12/02/2016.
51
52 Criptogra�a
Cerca de 600 a.c. os hebreus criaram alguns sistemas criptográ�cos que consistiam
de uma troca simples entre as letras do hebraico por ordem inversa. O primeiro sistema
criptográ�co de uso militar que se tem notícia ocorreu por volta de 475 a.c., chamado
de bastão de Licurgo, e foi utilizado pelo general espartano Pasanius. Esse sistema
criptográ�co consistia em enrolar uma tira de couro em volta de um bastão especí�co,
no qual escrevia-se a mensagem e enviava a tira contendo a mensagem. O receptor
deveria ter um bastão idêntico para que a mensagem pudesse ser lida.
Figura 4.2: Bastão de Licurgo. Fonte:https://siriarah.wordpress.com/2013/05/13/criptogra�a-
bastao-de-licurgo-scytale-em-python/. Acesso em 12/02/2016.
O imperador romano Júlio César utilizava uma forma de criptogra�a que consistia
em substituir cada letra da mensagem por outra letra que se encontrava três posições
a frente no alfabeto.
Em 1466, Leon Batista Alberti escreveu um ensaio no qual mencionava um método
de criptogra�a baseado em disco, fornecendo as bases para a cifra poli alfabéticas.
Giovan Batista Belaso inventou, em 1553, um sistema baseado no conceito de cifra poli
alfabética chamado atualmente de cifra de Vigeniere (atribuído falsamente a Blaise de
Vigeniere durante o século XIX). Vigeniere, no entanto, criou o conceito de auto-chave,
processo ainda hoje utilizado.
Durante e após a segunda guerra mundial houve grande proliferação de sistemas
criptográ�cos, tanto para uso militar quanto comercial. Em 1923, Arthur Scherbius
desenvolveu o Enigma, uma máquina criptográ�ca utilizada pelos alemães durante
a guerra. Alan Turing e sua equipe, na Inglaterra, conseguiram decifrar o Enigma,
permitindo aos aliados decifrar as mensagens dos alemães.
Um breve histórico sobre criptogra�a 53
Figura 4.3: Máquina enigma. Fonte: http://www.eldiario.es/turing/criptogra�a/alan-
turing-enigma-codigo-0-226078042.html, acessado em 12/02/2016.
Atualmente a criptogra�a se divide em dois tipos: a de chave simétrica e a de
chave assimétrica. Uma chave criptográ�ca pode ser um número ou um conjunto de
caracteres utilizado no processo de encriptação ou descriptação de uma mensagem.
No sistema de criptogra�a de chave simétrica, a mesma chave que se utiliza para
encriptar uma mensagem é a mesma utilizada para decriptar a mensagem. No �nal do
século XIX foi descoberto um método para quebrar esse tipo de codi�cação e, com o
avanço da computação, esse tipo de criptogra�a se tornou totalmente frágil.
Figura 4.4: Criptogra�a de chave simétrica. Fonte: http://biblioo.info/certi�cacao-
digital/. Acesso em 12/02/2016.
A criptogra�a assimétrica (ou de chave pública) surgiu na década de 70 e utiliza
54 Criptogra�a
duas chaves, uma pública e outra privada. Nessa criptogra�a, o remetente possui a
chave pública e com ela realiza a encriptação da mensagem, que só poderá ser descrip-
tografada com a chave privada do destinatário.
Figura 4.5: Criptogra�a de chave assimétrica.Fonte: http://biblioo.info/certi�cacao-
digital/. Acesso em 12/02/2016.
Nesse sistema as chaves são relacionadas matematicamente, o sistema de criptogra-
�a assimétrica mais utilizado é o RSA, criado em 1978 por Rivest, Shamir e Adleman.
Segundo Lemos(2010) seu funcionamento está baseado em dois princípios, sendo que o
segundo é empírico:
• É fácil encontrar dois números primos grandes.
• Atualmente, é praticamente impossível fatorar o seu produto.
A criptogra�a permeia o mundo digital de tal forma que, sem ela não seria possível
a comunicação sigilosa. Compras online, e-mails, transações �nanceiras, proteção de
informações em bancos de dados, etc. De acordo com [6] para transações utilizando
a rede mundial de computadores o alfabeto utilizado possui todos os símbolos de um
teclado de computador, o padrão Unicode por exemplo, utiliza atualmente mais de
107 mil caracteres. Não é exagero dizer que nossas vidas dependem da criptogra�a,
pois nossas informações pessoais estão espalhadas em diversos bancos de dados, pela
internet, seja por instituições governamentais ou privadas. A seguir discutiremos pro-
cedimentos para ocultar informação contida em uma mensagem e como recuperá-la.
Para isso necessitamos �xar um alfabeto para escrever esta mensagem. Assumiremos
que este alfabeto contém 26 letras:
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
Cifras de César 55
4.2 Cifras de César
Esta seção está baseada em [16]. A Cifra de César, em homenagem ao imperador
Romano Júlio César que usava essa técnica para se comunicar com os seus generais,
também conhecida como cifra de troca, é uma das formas mais simples e mais antigas
de criptografar. Consiste em substituir cada letra do texto por outra que está um
número �xo de vezes a frente. Por exemplo, com uma troca de cada letra, cinco
posições a frente: desta forma "A"seria substituído por "F", "B"se tornaria "G", e
assim sucessivamente, �cando da seguinte forma:
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
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Chamaremos a associação de letras acima de Cifra 1.
Exemplo 4.1. Se uma fonte A quisesse enviar a mensagem
CRIPTOGRAFIA PROFMAT
para uma fonte B, utilizando a cifra 1, o resultado da encriptação seria:
HWNUYTLWFKNF UWTKRFY
A fonte B, por sua vez, deveria possuir a mesma Cifra 1 para decriptar a mensagem.
Considerando a posição das letras do alfabeto da Cifra 1, podemos escrever a relação
entre os textos da seguinte forma:
Seja D a posição das letras do alfabeto e seja E a posição das letras do alfabeto
deslocado cinco posições, então teremos a seguinte fórmula de congruência:
E ≡ (D + 5)(mod 26)
Dessa forma para determinarmos D (o texto original), utilizamos a seguinte fór-
mula:
D ≡ (E − 5)(mod 26)
Para uma melhor visualização dessa técnica utilizaremos o alfabeto digital, onde
cada letra do alfabeto será associado a um número, que nesse caso representa a sua
posição, de acordo com a Tabela 4.1.
Realizando a congruência descrita acima: E ≡ (D+5)(mod 26), onde substituímos
D pelo número da posição de cada letra do alfabeto, conforme a Tabela 4.1, obtemos
o alfabeto deslocado, de acordo com a Tabela 4.2.
Exemplo 4.2. Utilizando o mesmo exemplo anterior a mensagem CRIPTOGRAFIA
PROFMAT teria como resultado da encriptação: 072213202419112205 20221910170524
56 Criptogra�a
A B C D E F G H I J K L M
00 01 02 03 04 05 06 07 08 09 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
Tabela 4.1: Alfabeto digital.
A B C D E F G H I J K L M
05 06 07 08 09 10 11 12 13 14 15 16 17
N O P Q R S T U V W X Y Z
18 19 20 21 22 23 24 25 00 01 02 03 04
Tabela 4.2: Exemplo da Cifra de César com alfabeto digital.
A utilização dessa técnica de encriptação de mensagens oferece pouca segurança,
pois para decifrar mensagens longas basta veri�car a frequência de repetição de determi-
nadas letras ou mesmo testar as possibilidades da Cifra de César. No caso do exemplo
anterior teríamos que testar 26 posições. A cifra de César é um caso particular das
cifras a�ns.
Observamos que na Cifra de César o espaço não tem um caractere que o representa,
utilizando assim os espaços originais da mensagem.
4.3 Cifras A�ns
A Cifra A�m é de�nida considerando dois números a, b de modo que 0 ≤ a, b ≤ 25
e mdc(a, 26) = 1, de acordo com a seguinte congruência:
E ≡ (aD + b)(mod 26),
onde D é o número que corresponde a posição de uma letra do alfabeto e E sua posição
no alfabeto deslocado. Os números a, b são chamados de chave da Cifra A�m. No caso
particular da Cifra de César temos a = 1. A decriptação ocorre calculado:
aD ≡ (E − b)(mod 26)
Utilizando o fato de mdc(a, 26) = 1, a possui um inverso multiplicativo a−1. Então:
D ≡ a−1(E − b)(mod 26)
Se �xamos o valor de a obtemos 26 possibilidades para b, já que 0 ≤ b ≤ 25, como
ocorre na cifra de César. Levando em conta que a tem que ser escolhido de tal forma
que satisfaça a condição mdc(a, 26) = 1, com 0 ≤ a ≤ 25 e φ (26)=12 então há 12
possibilidades para a escolha de a. Assim, teremos 12 · 26 = 312 maneiras de escolher
a e b para cifras a�ns de um alfabeto de 26 letras.
Sistema RSA 57
Exemplo 4.3. Vamos encriptar a mensagem "Estou estudando criptogra�a", utili-
zando a Cifra A�m: E ≡ (5D + 8)(mod 26).
A mensagem criptografada será "CUZAE CUEXIVXA SPWFZAMPIHWI"ou em
números "0220250004 0220042308212300 1815220500121508072208".
A tabela abaixo foi construída utilizando a Cifra A�m: E ≡ (5D + 8)(mod 26).
A B C D E F G H I J K L M
08 13 18 23 02 07 12 17 22 01 06 11 16
N O P Q R S T U V W X Y Z
21 00 05 10 15 20 25 04 09 14 19 24 03
Tabela 4.3: Exemplo da Cifra a�m com chaves 5 e 8:
Para descriptografar a mensagem do exemplo teremos que utilizar a seguinte equi-
valência:
D ≡ 5−1(E − 8)(mod 26)
Utilizando o fato de que 5−1 = 21, pois 5 · 21 tem resto 1 quando dividido por 26,
temos:
D ≡ 21E − 168(mod 26) ⇒ D ≡ 21E − 12(mod 26)
D ≡ 21E + 14(mod 26).
4.4 Sistema RSA
Esta seção está baseada em [5]. O sistema de criptogra�a RSA é resultado do tra-
balho de três matemáticos do MIT3, Ronald Rivest, Adi Shamire e Leonard Adleman,
em 1978. Boa parte das transações efetuadas na internet são realizadas com o uso da
RSA, sendo considerado um dos sistemas criptográ�cos mais seguros da atualidade.
No sistema RSA as chaves são geradas utilizando dois números primos, geralmente
primos muito grandes que chamaremos de p e q. Em seguida encontra-se o produto n
desses primos :
n = p · q
Depois calcula-se φ(n) e como p e q são primos temos:
φ(n) = (p− 1) · (q − 1)
. De posse do valor de φ(n), devemos escolher um inteiroD, de modo que 1 < D < φ(n)
e mdc(φ(n), D)=1. O par de valores n e D será a chave pública do sistema RSA.
Para determinar a chave privada desse sistema, temos que calcular o valor de E da
seguinte congruência:
3MIT-Massachusetts Institute of Technology.
58 Criptogra�a
ED ≡ 1 (mod φ(n))
Exemplo 4.4. Vamos determinar as chaves pública e privada de um sistema RSA
utilizando os números primos p = 7 e q = 19:
n = 7 · 19 = 133
φ(133) = (7− 1) · (19− 1) = 108
Seja D = 13, já que 1 < 13 < 108, iremos calcular E.
E · 13 ≡ 1 (mod 108)
Logo, E pode ser calculado de acordo com a seguinte equação:
13 · E − 1 = K · 108
E = 1+108K13
Como E tem que ser um número inteiro, temos que K = 3, obtendo E = 25.
Na verdade há in�nitas possibilidades para escolhermos K ( por exemplo K = 16 )
mas somente K = 3 é aceitável. Concluindo que a chave pública é (133, 13) e a chave
privada é (133, 25).
Para cifrarmos uma mensagem M utilizando o sistema RSA, primeiramente faze-
mos a transformação das letras em sequências de números, onde 0 < M < n, obtendo
o texto cifrado C com a chave pública (n, D):
C ≡MD (mod n)
A recuperação da mensagem cifrada C da mensagem M se dá pelo uso da chave
privada (n , E):
M ≡ CE (mod n).
A segurança do sistema RSA se baseia no fato de não haver um algorítmo e�ciente
que fatore um número como produto de dois primos, geralmente números grandes, em
tempo computacionalmente viável, mesmo utilizando super computadores.
Uma desvantagem no uso do sistema de criptogra�a de chave assimétrica, como o
RSA, reside no fato de ser computacionalmente custoso, tornando inviável para sis-
temas com pouca capacidade computacional, como por exemplo smartphones. Para
contornar essa di�culdade, em muitos casos, utilizamos um sistema de criptogra�a de
chave simétrica e somente a chave secreta é enviada utilizando o sistema de criptogra�a
de chave assimétrica.
Método para troca de chaves 59
4.5 Método para troca de chaves
Em todos os métodos criptográ�cos baseados em chaves, seja pública ou privada,
possui um grande desa�o que consiste em compartilhá-las em segredo. Os métodos a
seguir tem sua segurança baseado na Matemática, mais especi�camento na di�culdade
em se encontrar o logaritmo discreto de um número especí�co em tempo plausível.
Antes de apresentar os métodos mais conhecidos, se faz necessário uma pequena ex-
planação sobre o logaritmo discreto. Os resultados das próximas subseções podem ser
encontrados em [1].
4.5.1 Problema do logaritmo discreto
O logaritmo discreto é análogo ao logaritmo natural, sendo loga b a solução de uma
equação ax = b, com a, b, x ∈ R+, com a 6= 1.
De�nição 4.1. Seja (G,⊗) um grupo cíclico e �nito com n elementos e a e b ∈ G,
tal que b é uma potência de a. O logaritmo discreto de b na base a é o menor inteiro
x tal que ax = b , denotado por loga b = x.
O problema do logaritmo discreto consiste no alto custo computacional em determi-
nar o valor de x, em tempo plausível, para números a e b meticulosamente escolhidos.
Abaixo damos um exemplo de como calcular um logaritmo discreto.
Exemplo 4.5. Encontre x tal que log7 9 = x em Z13.
Para resolvermos, utilizaremos o método iterativo:
70 mod 13 = 1
71 mod 13 = 7
72 mod 13 = 10
73 mod 13 = 5
74 mod 13 = 9
75 mod 13 = 11
76 mod 13 = 12
77 mod 13 = 6
78 mod 13 = 3
79 mod 13 = 8
710 mod 13 = 4
711 mod 13 = 2
712 mod 13 = 1
713 mod 13 = 7
714 mod 13 = 10
715 mod 13 = 5
716 mod 13 = 9
e assim repetidamente...
60 Criptogra�a
Como 74 = 9mod(13) e 716 = 9mod(13), a solução é x = 4.
Note que esse processo iterativo se torna inviável para números grandes.
4.5.2 Método de Di�e-Hellman
O principal problema com a criptogra�a simétrica é a troca de chaves entre os
envolvidos, pois se a chave for enviada junto com a mensagem de nada adiantará.
O método de Di�e-Hellman é um método criptográ�co especí�co para troca de
chaves desenvolvido por Whit�eld Di�e 4 e Martin Hellman 5 e publicado em 1976.
Foi um dos pioneiros métodos de troca de chaves implementado na criptogra�a. O
método da troca de chaves de Di�e-Hellman permite que duas partes compartilhem
uma chave secreta sob um canal de comunicação inseguro. A chave secreta é usada
para encriptar mensagens posteriores usando a criptogra�a de chave simétrica.
Seja k uma chave secreta que deve ser compartihada por A e B o método de Di�e-
Hellman consiste em :
1. A e B pré determinam um número primo p e um α ∈ Zp, tal que mdc(α , p )=1.
2. A escolhe um número a , tal que 1 < a ≤ p− 2, e envia o número m = αa mod p
para B.
3. B escolhe um número b , tal que 1 < b ≤ p− 2, e envia o número n = αb mod p
para A.
4. A calcula K = na = (αb)a mod p e B calcula K = mb = (αa)b mod p.
Exemplo 4.6. A e B precisam trocar informações utilizando cifra simétrica:
A e B pré determinan um número primo p = 51 e um α = 11.
A escolhe o número 3 e calcula m = 113 mod 51, m = 5, e envia para B.
B escolhe o número 7 e calcula n = 117 mod 51, n = 20, e envia para A.
A calcula K = 203 = 44 mod 51 e B calcula K = 57 = 44 mod 51.
Logo a chave secreta entre A e B é 44.
4.5.3 Método de ElGamal
Taher ElGamal 6 desenvolveu em 1985 um método de troca de informações secretas,
que hoje é muito utilizado em assinaturas digitais, baseado na di�culdade computaci-
onal dos logaritmos discretos.
O método consiste em escolher um grupo Zp, com p primo grande, previamente
conhecido pelas partes envolvidas na comunicação.
4Bailey Whit�eld Di�e, matemático estadunidense nascido em 5 de junho de 1944.5Martin Edward Hellman, criptógrafo estadunidense nascido em 2 de outubro de 1945.6Taher ElGamal, criptógrafo egício nascido em 18 de agosto de 1955.
Criptogra�a baseada em curvas elípticas 61
O emissor escolhe um inteiro a, tal que 1 < a ≤ p − 2 e um gerador inteiro g e
calcula A = ga, em seguida envia a chave (A, g) para o receptor.
O receptor escolhe um inteiro b, tal que 1 < b ≤ p− 2 e calcula B = gb, para cifrar
a mensagem m ele calcula c = Abm mod p e envia para o emissor o par (B, c).
O emissor em seguida calcula cB−a mod p , substituindo c e B temos m(Ab)(gb)−a
mod p, que por sua vez é equivalente a m(gab)(g−ab) mod p, encontrando assim a
mensagem m.
Exemplo 4.7. B deseja enviar a mensagem m = 10 para A , para criar um meio
seguro para troca da informação combinam o grupo Z13. A escolhe a = 3 e o gerador
g = 2 e calcula A = 23 = 8, em seguida envia a chave (8, 2) para B .
B escolhe b = 5 e calcula B = 25 = 32 então encripta a mensagem m = 10 com
c = 85 · 10 mod 13 = 2 e envia (32, 2) para A.
A calcula 2(32)−3 mod 13 , que é equivalente à 2(32768)−1 mod 13 → 2(8)−1 mod
13→ 2 · 5 mod 13 , chegando à mensagem m = 10.
4.6 Criptogra�a baseada em curvas elípticas
A criptogra�a baseada em curvas elípticas, tem como um de seus objetivos reduzir
o tamanho da chave criptográ�ca, de modo a tornar viável o uso da criptogra�a assi-
métrica em dispositivos com pouca capacidade computacional, como os smartphones.
Praticamente qualquer sistema de chave pública pode ser adaptado para o uso de
curvas elípticas, necessitando substituir a operação de exponenciação módulo p pela
soma de pontos em um grupo cíclico. As subseções abaixo está baseada em [17].
4.6.1 Método de Di�e-Hellman com curvas elípticas
A construção do algoritmo criptográ�co de troca de chaves de Di�e-Hellman, ba-
seado em curvas elípticas, se justi�ca pela utilização de chaves menores do que as
tradicionalmente utilizadas em RSA e sua segurança está baseada na di�culdade do
problema do logaritmo discreto.
Supomos que dois indivíduos, o remetente e o destinatário, desejam trocar secre-
tamente suas chaves criptográ�cas utilizando o sistema de Di�e-Hellman baseado em
curvas elípticas. Seguirão os seguintes procedimentos:
• Previamente, tanto o remetente quanto o destinatário, combinam a utilização
de uma curva elíptica E(Zp), ou da curva elíptica E(Fq)7 e de um ponto P
pertencente a curva.
7O corpo Fq é construído a partir de q = pn, com p primo e n inteiro.
62 Criptogra�a
• Em seguida o remetente escolhe um inteiro α e calcula αP , através de adição
repetida, e o envia para o destinatário sem revelar α, pois α é a chave secreta e
αP é a chave pública.
• O destinatário escolhe um inteiro β e calcula βP , também através de adição
repetida, e o envia para o remetente sem revelar β.
• Agora ambos podem calcular a chave secreta αβP .
4.6.2 Algoritmo criptográ�co Menezes-Vanstone
Outra aplicação do uso das curvas elípticas na criptogra�a é através do criptos-
sistema denominado Menezes-Vanstone 8. Nesse sistema a mensagem m é um par
ordenado (x1, x2), com x1 e x2 pertencentes a um grupo Zp, mas que não pertencem a
curva elíptica E(Zp).A mensagem encriptada r é representada pela tripla ordenada (y0, y1, y2) onde y0
é um ponto da curva elíptica E(Zp) e y1, y2 são gerados a partir da mensagem m e
também são pertencentes a Zp .O algoritmo criptgrá�co Menezes-Vanstone consiste em:
1- Um emissor B deseja enviar uma mensagem m para o receptor A , representada
pelo par ordenando m = (x1, x2) , ambos conhecem a curva elíptica E(Zp) e
um ponto P pertencente a essa curva, sendo esse ponto P a chave "pública"do
sistema.
2- Em seguida A escolhe um inteiro s, com s ∈ Zp , e calcula Q = sP e o envia para
B.
3- O emissor B recebe o ponto Q e escolhe um inteiro k , com k ∈ Zp , em seguida
encripta a mensagem m = (x1, x2):
kQ = (c1, c2),
y0 = kP ,
y1 = c1 · x1 mod p,
y2 = c2 · x2 mod p,
E envia r = (y0, y1, y2) para A.
4- Após receber a mensagem r A efetua a decriptação:
sy0 = kQ = (c1, c2),
x1 = y1(c1)−1 mod p,
x2 = y2(c2)−1 mod p,
8Alfred Menezes(1965) e Scott Alexander Vanstone (1947-2014) são co-autores do livro "Handbook
of Applied Cryptography".
Criptogra�a baseada em curvas elípticas 63
Assim A recupera a mensagem m = (x1, x2) enviada por B.
Exemplo 4.8. Bob irá enviar a mensagem "mct"para Alice, a mensagem legível será
m = (x1, x2) = (7767, 84) , justamente "mc"e "t"codi�cada na tabela ASCII 9.
Alice e Bob combinam utilizar a curva elíptica y2 = x3 + 67100x+ 262147 sobre o
corpo Z2097421 e os pontos P e Q ambos pertencentes a curva elíptica escolhida. Sendo
P (1355793, 621792) , Alice então escolhe o inteiro s = 78771, e calcula o ponto Q como
Q = s · P .
9ASCII (American Standard Code for Information Interchange),desenvolvida a partir de 1960, é
uma tabela de códigos usada para representar textos em computadores, entre outros dispositivos que
trabalham com texto.
5 Proposta de Atividade para o
Ensino Médio
A proposta a seguir tem como objetivo estimular os alunos no estudo da Matemá-
tica, mostrando a sua importância, que vai além da aritmética utilizada em situações
diárias. Após pesquisar sobre recursos que poderiam ser utilizados na aplicação dos
conceitos da criptogra�a, encontrei um vídeo1 que ensina a criar um dispositivo para
encriptação e decriptação de mensagens, baseado em copos descartáveis, para se traba-
lhar com sistemas criptográ�cos baseados na cifra de Cesar e cifras a�m. A diferença
desta proposta em relação ao vídeo, consiste na utilização de um meio eletrônico para
troca de mensagens criptografadas, de modo que todos possam interceptar estes textos,
bem como a indicação dos conteúdos matemáticos que podem ser abordados. Com o
intuito de maior interação dos alunos, utilizaremos o aplicativo Whatsapp 2, muito
comum no dia a dia dos alunos. A escolha do aplicativo se deu pelo grande número de
usuários, sendo possível a substituição por outro aplicativo similar.
O público alvo são os alunos do 1o ao 3o ano do Ensino Médio, mas nada impede de
ser utilizada nos anos �nais do Ensino Fundamental, adaptando conforme necessário.
Inicialmente, o professor terá que dividir os alunos em grupos, de preferência não
mais que 8 pessoas, em que pelo menos dois deles tenham o aplicativo Whatsapp e
acesso a internet. A quantidade de grupos variará de acordo com a turma. Será pre-
ciso também uma forma de identi�cação dos grupo, que pode ser por cores, números,
países, etc. Em seguida, o professor criará um grupo no Whatsapp com os alunos da
sala e irá propor o seguinte:
Desa�o: Como dois indivíduos podem trocar uma informação sigilosa, de modo
que todos possam ler a mensagem, mas que somente o emissor e o destinatário consigam
interpretá-la?
Este desa�o visa simular um ambiente de comunicação que não seja seguro, ou seja,
a informação pode ser capturada ou vista por terceiros, assim como ocorre na internet,
1Introdução a criptogra�a - Aula do MIT, disponível no YouTube em
https://youtu.be/wtwlVqEoyyw, 20/10/2015.2Aplicativo de mensagens que permite a criação de grupos para compartilhamento de textos, ima-
gens, vídeos, disponível em diversas plataformas de smartphones.
65
66 Proposta de Atividade para o Ensino Médio
onde o tráfego de dados pode ser monitorado ou espionado por outras pessoas além
do emissor e o destinatário. Para sistematizar a organização dessa proposta dividire-
mos em partes, sendo apenas uma sugestão, podendo o professor alterá-la conforme
necessário.
5.1 Parte 1
O objetivo desta parte consiste em deixar que os grupos criem seus próprios métodos
de ocultação da mensagem. O professor será apenas o responsável pela divisão da sala
em grupos (pode ser feita por sorteio), a criação do grupo no Whatsapp e construção
das mensagens que os grupos trocarão entre si. Além disso, esta parte tem como
objetivo, motivá-los ao tema da Criptogra�a, sua importância para a vida cotidiana e
o uso da Matemática para ocultar e descriptografar uma mensagem.
Para começar o professor pedirá que os grupos se reúnam para que possam de�nir a
estratégia/código para a troca das mensagens, de modo que estas não �quem evidentes
para os demais grupos.
Após todos os grupos decidirem a forma de ocultação da mensagem o professor
designará um texto diferente para cada um dos grupos, de preferência uma frase pe-
quena, de forma que os demais grupos não tenham acesso. O primeiro grupo, após
codi�car a mensagem, irá transmiti-la usando o aplicativo para os grupos. Começa
então, a tarefa de descobrir qual é a mensagem escolhida pelo professor e transmitida
pelo primeiro grupo. Este processo se repetirá até que todos os grupos enviem a sua
mensagem codi�cada.
Após todos os grupos participarem, o professor conduzirá uma discussão geral sobre
os casos de sucesso no envio da mensagem, e quais métodos falharam. A intenção não
é de�nir ganhadores ou perdedores e sim, mostrar que há uma grande variedade de
métodos de ocultação de mensagens, uns mais e�cientes e outros menos.
Em seguida o professor trabalhará os seguintes tópicos:
- Origem e a história da criptogra�a;
- Algumas técnicas de ocultação de mensagens;
- A importância dos números primos;
5.2 Parte 2
O objetivo desta parte é trabalhar a Cifra de César. Para isto o professor irá tra-
balhar o algorítimo da Divisão Euclidiana e a congruência. Além disso, nesta parte os
grupos irão construir seus dispositivos de encriptação e decriptação, constituído de um
Parte 2 67
Kit3 que será feito de acordo com os seguintes materiais:
- Dois copos grandes de plástico descartável;
- Três tiras de papel, o comprimento das tiras deve ser igual ao diâmetro da boca
do copo, conforme a Figura 5.1.
Figura 5.1: Material dos Kits.
Em duas das tiras vamos escrever o alfabeto com as 26 letras, como na Figura 5.2.
Em seguida, estas tiras deverão ser colada nos copos, conforme a Figura 5.3.
3As imagens deste Capítulo são fotos que o próprio autor fez do material que construiu.
68 Proposta de Atividade para o Ensino Médio
Figura 5.2: Alfabeto
Após o Kit construído por cada grupo de alunos, o professor explicará sobre a
Cifra de César, enfatizando que esta consiste em deslocar as letras do alfabeto um
determinado número de "casas", sendo que essa quantidade de "casas deslocadas"é a
Parte 2 69
Figura 5.3: Copos e alfabetos.
chave deste método.
O professor convidará os grupos para que possam transmitir uma mensagem utili-
zando a Cifra de César. Para isso, cada grupo deverá escolher a sua chave e transmitir,
via Whatsapp para os demais grupos, uma mensagem que o professor entregará para
cada grupo (diferente das utilizadas na Parte 1). Para facilitar a encriptação e de-
criptação das mensagens, o professor explicará que será utilizado o Kit com os copos
colocados um dentro do outro, e ajustando a chave combinada pelo grupo, conforme
a Figura 5.4. Dessa forma, podemos efetuar o deslocamento do alfabeto de maneira
fácil e rápida, utilizando qualquer chave. É conveniente que o professor apresente um
exemplo de como encriptar e decriptar uma mensagem pela Cifra de César utilizando
o Kit, antes que os grupos comecem a dinâmica de transmitir as suas mensagens.
Exemplo 5.1. Imaginem que devemos transmitir a seguinte mensagem secreta:
"MATEMÁTICA"
A chave secreta será a letra L. O copo da esquerda será nosso alfabeto original
e devemos rotacionar o copo da direita de modo a alinhar a letra L com a letra A.
Cada letra do copo da esquerda representará as letras da mensagem original e terá sua
correspondente de encriptação no copo da direita e assim a mensagem encriptada será:
"XLEPXLETNL"
70 Proposta de Atividade para o Ensino Médio
Figura 5.4: Cifra de César com a chave criptográ�ca L.
Para a decriptação da mensagem, basta realizar a operação inversa, alinhar os copos
de acordo com a chave e cada letra da mensagem estará no copo da direita. Assim,
basta reescrever a mensagem com as letras do copo da esquerda.
Após os alunos realizarem a dinâmica, os grupos perceberão que descobrir a mensa-
gem secreta não é tão difícil, pois notarão que para cada letra há apenas 26 combinações
possíveis. Sabendo qual é a letra que mais se repete, em determinado idioma, �ca re-
lativamente fácil de descobrir a chave de encriptação, e por isso este método apresenta
fragilidade.
Parte 3 71
5.3 Parte 3
O objetivo desta parte será obter um sistema criptográ�co mais e�ciente. O conceito
matemático trabalhado com os alunos será a Permutação.
Para isso, vamos propor a seguinte modi�cação no Kit construído na Parte 2: Se em
vez de apenas deslocarmos o alfabeto, como na Cifra de César, construirmos uma tira
de papel contendo as letras do alfabeto de modo aleatório, por exemplo o da Figura
5.5, aumentaremos a segurança em relação a Cifra de César?
Nesta etapa sugerimos que os copos de cada grupo sejam identi�cados, como su-
gerido na Figura 5.6, pois se houver trocas acidentais não será possível decriptar a
mensagem.
O professor convidará os grupos para que possam transmitir uma mensagem uti-
lizando o novo Kit de copos. Para isso, cada grupo deverá escolher a sua chave e
transmitir, via Whatsapp para os demais grupos, uma mensagem que o professor en-
tregará para cada grupo (diferente das utilizadas nas partes anteriores). Para facilitar a
encriptação e decriptação das mensagens, o professor explicará que será utilizado, como
anteriormente, o novo Kit com os copos colocados um dentro do outro, e ajustando a
chave combinada pelo grupo, conforme a Figura 5.7. Dessa forma, podemos efetuar
o deslocamento do alfabeto de maneira fácil e rápida, utilizando qualquer chave. É
conveniente que o professor apresente um exemplo de como encriptar e decriptar uma
mensagem com este novo Kit, antes que os grupos comecem a dinâmica de transmitir
as suas mensagens.
Exemplo 5.2. Utilizando a mesma mensagem secreta:
"MATEMÁTICA"
Manteremos a chave secreta com a letra L. O copo da esquerda será nosso alfabeto
original e devemos rotacionar o copo da direita de modo a alinhar a letra L com a letra
A. Cada letra do copo da esquerda, representará as letras da mensagem original e terá
sua correspondente de encriptação no copo da direita. Assim, a mensagem encriptada
será:
"KLWMKLWPRL"
Para decriptação basta realizar a operação inversa, alinhar os copos de acordo com
a chave e a cada letra da mensagem estará no copo da direita. Assim, é só reescrever
com as letras do copo da esquerda.
O objetivo será alcançado se os alunos perceberem que para descobrir a mensagem
secreta haverá mais di�culdade, pois agora teremos 26! possibilidades diferentes de
combinação entre as letras, o que torna inviável a tentativa de descobrir a mensagem.
72 Proposta de Atividade para o Ensino Médio
Figura 5.5: Alfabeto e alfabeto posicionado aleatoriamente.
74 Proposta de Atividade para o Ensino Médio
Figura 5.7: Cifra de letras aleatórias com a chave criptográ�ca L.
6 Considerações Finais
Segundo os Parâmetros Curriculares Nacionais da Matemática [2], o conhecimento
matemático é um importante componente na construção da cidadania, que auxilia
a apropriação dos conhecimentos cientí�cos e tecnológicos pelos cidadãos. Porém, o
ensino da matemática, principalmente na educação básica, apresenta muitos desa�os
dentre eles, o interesse e a motivação dos estudantes pelos conhecimentos matemáticos.
Sabemos que é necessária uma dedicação dos professores em buscar novos caminhos
que tornem a aprendizagem mais signi�cativa e é neste sentido que a Criptogra�a pode
ser uma grande aliada na árdua tarefa do ensino-aprendizagem da Matemática.
Em um mundo cada vez mais tecnológico e interconectado, onde a segurança na
transmissão de dados se faz necessária, notamos uma enorme atenção de governos e
empresas de segurança da informação a cada nova descoberta na Teoria dos Números,
a base da Criptogra�a.
Assim, este trabalho procurou alinhar a fundamentação teórica para o ensino de
alguns conceitos da Matemática com a prática, no que se refere a contextualização
destes conceitos com a Criptogra�a, uma área com in�nitas possibilidades e que, além
de permitir aplicações da matemática básica até a avançada como mostram os trabalhos
da literatura, é importantíssima para o cotidiano em que vivemos.
75
Referências
[1] ALMEIDA, P. J. Criptogra�a e Segurança. Julho 2012. Departamento de Matemá-
tica da Universidade de Aveiro.
[2] BRASIL, S. da E. F. Parâmentros curriculares nacionais: Matemática. Brasília:
MEC/SEF, 1997.
[3] DAINEZE, K. C. S. A. L. Números primos e criptogra�a: Da Relação com a Edu-
cação ao sistema RSA. 2013. Universidade Federal Rural do Rio de Janeiro, Depar-
tamento de Matemática - PROFMAT.
[4] DOMINGUES, H. H. Fundamentos de Aritmética. 1. ed. São Paulo: Atual, 1991.
[5] FIGUEIREDO, L. M. Introdução à Criptogra�a. v2. Rio de Janeiro: UFF/CEP-EB,
2010.
[6] LEMOS, M. Criptogra�a, Números Primos e Algoritmos. 4. ed. Pernambuco: impa,
2010.
[7] LUZ, W. B. Introdução à Matemática do Criptossistema RSA. 2013. Universidade
Federal do Sergipe, Pró-Reitoria de Pós-Graduação e Pesquisa - PROFMAT.
[8] MAIER, R. R. Álgebra I. 2005. Departamento de Matemática da Universidade de
Brasília.
[9] MARQUES, T. V. Criptogra�a: abordagem histórica, protocolo Di�e-Hellman e
aplicações em sala de aula. 2013. Universidade Federal da Paraíba, Departamento
de Matemática - PROFMAT.
[10] OLIVEIRA, J. P. de. Introduçao à teoria dos números. 1. ed. Rio de Janeiro:
IMPA, 2007.
[11] OLIVEIRA, M. C. de. Aritmética: Criptogra�a e outras aplicações de Congruên-
cias. 2013. Universidade Federal de Mato Grosso do Sul, Centro de Ciências Exatas
e Tecnologia - PROFMAT.
[12] OLIVEIRA, K. I. M.; FERNANDEZ, A. J. C. Iniciação à Matemática: um curso
com problemas e soluções. 1. ed. Rio de Janeiro: Sociedade Brasileira de Matemática,
2010.
77
78 Referências
[13] PERUZZO, J. O facínio dos números Primos. 1. ed. Santa Catarina: Irani, 2012.
[14] SAMPAIO, J. C.; CAETANO, P. A. S. Introdução à teoria dos números:Um curso
breve. 1. ed. São Carlos: EdUSCar, 2008.
[15] SAUTOY, M. du. A música dos números primos: a história de um problema não
resolvido na matemática. 1. ed. Rio de Janeiro: Jorge Zahar, 2007. Traduçao , Diego
Alfaro.
[16] SHOKRANIAN, S. Criptogra�a para iniciantes. 2. ed. Rio de Janeiro: Ciência
Moderna, 2012.
[17] SILVA, F. B. d. O. Pedro Carlos da. Curvas Elípticas: Aplicações em Criptogra�a
Assimétrica. LNCC Laboratório Nacional de Computação Cientí�ca-RJ.
[18] SOUZA, C. C. L. Um Estudo Sobre Criptogra�a. 2013. Universidade Estadual
Júlio de Mesquita Filho (UNESP - Rio Claro), Instituto de Geociência Exatas.
[19] SOUZA, A. N. L. Criptogra�a de Chave Pública, Criptogra�a RSA. 2013. Universi-
dade Estadual Júlio de Mesquita Filho (UNESP - Rio Claro), Instituto de Geociência
Exatas.
[20] WASHINGTON, L. C. Elliptic curves: number theory and cryptography. [S.l.: s.n.],
2008. CRC press.