78

O uso da criptografia como estímulo matemática na sala de aula

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

Dedico este trabalho a minha querida esposa e companheira Cris...

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.

A matemática é o alfabeto com o qual DEUS escreveu o universo.

Pitágoras

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.

Parte 3 73

Figura 5.6: Identi�cando os copos por grupos.

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.