a matemática via algoritmo de criptogra a...

68

Upload: trinhphuc

Post on 12-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

A Matemática Via Algoritmo deCriptogra�a ElGamal †

por

Glauber Dantas Morais

sob orientação do

Prof. Dr. Bruno Henrique Carvalho Ribeiro

Dissertação apresentada ao Corpo Docente doMestrado Pro�ssional em Matemática em RedeNacional PROFMAT CCEN-UFPB, como re-quisito parcial para obtenção do título de Mes-tre em Matemática.

Agosto/2013João Pessoa - PB

†O presente trabalho foi realizado com apoio da CAPES, Coordenação de Aperfeiçoamento de

Pessoal de Nível Superior.

Page 2: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber
Page 3: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber
Page 4: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Agradecimentos

Agradeço primeiramente a Deus, pois sem ele nada seria possível. Aos meus paisJoão de Deus Morais e Maria Isabel Dantas Morais que me ensinaram que a educaçãoé a melhor herança deixada por eles. Aos meus irmãos Yuri Dantas Morais e AldrinJosé Dantas Morais e suas respectivas esposas Suzy Karine e Danielle Barbosa, queme ajudaram e apoiaram durante todo o percurso.

A todos os professores e colegas que tive na vida que compartilharam comigoseus conhecimentos e suas experiências, principalmente aqueles que fazem parte doPROFMAT no polo de João Pessoa.

Ao professor João Marcos do Ó e a professora Flávia Jerônimo pelos seus esforçospara fazer do PROFMAT uma realidade na UFPB.

Ao professor Bruno Ribeiro que me ajudou ao longo de todo o curso, princi-palmente nessa dissertação, sanando as eventuais dúvidas que surgiram e sugerindotextos para enriquecer o trabalho.

Agradeço Principalmente a minha esposa Valdeni Nunes de Andrade, que meacompanhou durante o mestrado com paciência e me incentivou a sempre buscaro melhor de cada situação, visando a busca de conhecimentos e diversão nessesmomentos.

Page 5: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Dedicatória

A minha esposa Valdeni Nunes deAndrade, que me acompanhou nessemomento de alegria e sucesso, a minhafamília, em particular aos meus paisJoão de Deus Morais e Maria IzabelDantas Morais, que me educaram paraa vida.

Page 6: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Resumo

O algoritmo de criptogra�a escrito pelo egípcio Taher ElGamal calcula loga-ritmos discretos com elementos de um Grupo Cíclico �nito G. Esses elementospossuem propriedades que estudaremos no decorrer do capítulo 1. Conhecendo asde�nições e algumas propriedades estudadas, poderemos de�nir e calcular logaritmosdiscretos, utilizando conhecimentos da Aritmética dos Restos e Congruências, bemcomo o Teorema Chinês dos Restos. Vamos estudar algoritmos de chave pública,em particular o algoritmo escrito por ElGamal, buscando entender as di�culdadesapresentadas por ele e mostrar suas aplicações no campo da Criptogra�a. Apresen-taremos uma sequencia de atividades, voltadas para estudantes do primeiro ano doEnsino Médio, visando o aprendizado de alguns assuntos abordados no trabalho.

Palavras chave: ElGamal, grupos cíclicos, raiz primitiva, logaritmo discreto,algoritmo de criptogra�a, chave pública.

vi

Page 7: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Abstract

The encryption algorithm written by Egyptian Taher ElGamal computes dis-crete logarithms with elements of a �nite group G Cyclical. These elements haveproperties that during the study Chapter 1. Knowing the de�nitions and some pro-perties studied, we can de�ne and compute discrete logarithms, using knowledgeof arithmetic and congruence of Remains and Theorem Remainder of Chinese. Wewill study public key algorithms, in particular the algorithm written by ElGamal,seeking to understand the di�culties presented by it and show its applications inthe �eld of cryptography. We present a sequence of activities, aimed at students ofthe �rst grade of high school, targeting the learning of some subjects covered at work.

Keywords: ElGamal, cyclic groups, primitive root, discrete logarithm, encryp-tion algorithm, public key.

vii

Page 8: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Sumário

1 Grupos, Subgrupos e o Grupo Zp 11.1 Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1 Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 Subgrupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 O grupo Zp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Teorema Chinês dos Restos . . . . . . . . . . . . . . . . . . . . . . . 141.4 Personalidades Matemáticas . . . . . . . . . . . . . . . . . . . . . . . 16

1.4.1 Leonhard Euler . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4.2 Pierre de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Logaritmos Discretos 192.1 Logaritmos Discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 Algoritmo de Silver, Pohlig e Hellman . . . . . . . . . . . . . . . . . . 21

3 Algoritmo e Criptogra�a 263.1 Algoritmo e Criptogra�a . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.1.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.2 Criptogra�a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2 Sistemas de Criptogra�a de chave pública . . . . . . . . . . . . . . . 353.2.1 O Sistema Di�e-Hellman . . . . . . . . . . . . . . . . . . . . . 363.2.2 Criptosistema RSA . . . . . . . . . . . . . . . . . . . . . . . . 38

4 Algoritmo de Criptogra�a ElGamal 404.1 O Algoritmo de Criptogra�a ElGamal . . . . . . . . . . . . . . . . . . 40

4.1.1 Veri�cando a autenticidade do algoritmo . . . . . . . . . . . . 424.2 Possíveis Ataques ao Criptossistema . . . . . . . . . . . . . . . . . . . 43

4.2.1 Recuperando a chave particular xA . . . . . . . . . . . . . . . 434.2.2 Forjando assinaturas sem recuperar a chave particular . . . . . 44

5 Atividades para sala de aula 455.1 Algoritmos para aprender Teoremas e De�nições . . . . . . . . . . . . 45

5.1.1 Atividade 1 - Determinando uma raiz primitiva de Z∗p . . . . . 45

viii

Page 9: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

5.1.2 Atividade 2 - Calculando Logaritmos Discretos . . . . . . . . . 495.1.3 Atividade 3 - O Criptossistema ElGamal em sala de aula . . . 52

Referências Bibliográ�cas 55

Page 10: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Lista de Figuras

1.1 Leonhard Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2 Pierre de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1 Abu Jafar Mohamed ibn Musa al-Khwarizmi . . . . . . . . . . . . . . 273.2 Euclides de Alexandria . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Leonardo da Vinci . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.4 Dan Brow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.5 Esquema do Algoritmo Assimétrico (construção do próprio autor) . . 363.6 Whit�eld Di�e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.7 Martin Helmann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.8 Ronald Rivest, Adi Shamir e Leonard Adleman . . . . . . . . . . . . 38

4.1 Taher ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1 Calculadora Cientí�ca . . . . . . . . . . . . . . . . . . . . . . . . . . 46

x

Page 11: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Introdução

Este trabalho tem por �nalidade explicar a matemática por trás do algoritmode Criptogra�a ElGamal. Através dele, professores de matemática do nível Funda-mental e Médio podem explicar como acontece a troca de mensagens sigilosas pelainternet, assunto que gera interesse em pessoas que gostam de aprender a linguagemcomputacional. Dessa forma o professor pode incentivar seus alunos na aprendiza-gem da "Matemática Abstrata", podendo inclusive fazer com que esse aluno ingressenum curso de matemática no nível Superior.

A principal di�culdade nesse algoritmo é o cálculo de logaritmos discretos que,diferente do logaritmo de um número real, podem não possuir solução. Para en-tendermos essa di�culdade, começamos mostrando a Teoria dos Grupos no primeirocapítulo, em particular explicamos como encontrar os elementos do grupo cíclico Z∗p,com p primo. Destacamos o "Pequeno Teorema de Fermat" e o "Teorema Chinês dosRestos" como ferramentas fundamentais para a realização dos cálculos no decorrerdo trabalho.

No capítulo 2 apresentamos as de�nições e propriedades dos logaritmos discretos,mostrando como calcular o logaritmo discreto de um elemento b do grupo Z∗p nabase a, com a, b ∈ Z∗p, e apresentamos um algoritmo que serve para calcular esselogaritmo quando o número primo p for muito grande, o "Algoritmo de Silver, Pohlige Hellman". Porém, mesmo com o auxílio desse logaritmo, o leitor pode perceberque os cálculos são complexos e demorados, esse fato é conhecido como "Problemado logaritmo discreto" e é a base para o algoritmo de criptogra�a ElGamal.

No capítulo 3, realizamos uma introdução histórica sobre algoritmo e criptogra�a,mostrando exemplos no cotidiano escolar de um aluno no nível Fundamental e Médio.Depois explicamos o que é e como funciona os sistemas de criptogra�a de "chavepública", também conhecidos como "criptossistemas", e mostramos dois exemplosdesses sistemas, o mais antigo e o mais utilizado na troca de informações sigilosas.

O capítulo 4 é dedicado ao algoritmo de criptogra�a de ElGamal. Nele mostra-mos como acontece a troca de mensagens e explicamos a matemática que é utilizadatendo como base os capítulos anteriores. Mostramos também as duas formas queum invasor poderia tentar quebrar o algoritmo, recuperando a chave particular ouforjando assinaturas sem recuperar a chave particular. Mostramos que são poucas

xi

Page 12: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

as chances desse invasor obter sucesso sem saber da chave particular.No capítulo 5, apresentamos uma sequência de 3 atividades sobre alguns assuntos

abordados no trabalho que um professor de matemática pode aplicar numa salade aula da 1o ano do Ensino Médio, visando mostrar como utilizar o algoritmo decriptogra�a ElGamal para trocar mensagens criptografadas e estimular a curiosidadedos alunos sobre os assuntos abordados no trabalho. O leitor interessado podeutilizar essas atividade para criar outras com a mesma �nalidade, como "resolverum sistema de congruências utilizando o Teorema Chinês dos Restos" ou "calcularlogaritmos discretos com o auxílio do Algoritmo de Silver, Pohlig e Hellman".

xii

Page 13: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Capítulo 1

Grupos, Subgrupos e o Grupo Zp

Estudaremos algumas propriedades dos grupos, subgrupos e o grupo cíclico Zp,com p primo. Esse estudo será estritamente necessário para calcularmos os loga-ritmos discretos, bem como o estudo do algoritmo de criptogra�a ElGamal, pois omesmo é de�nido com elementos de um grupo cíclico �nito, por isso precisamos saber"o que signi�ca um grupo ser cíclico e �nito?" Para responder essa pergunta vamosprimeiro de�nir "grupo" e em seguida vamos ver algumas de suas propriedades.

1.1 Grupo

1.1.1 Grupo

O estudo dos Grupos é realizado no Ensino Superior em disciplinas iniciais deÁlgebra, esse estudo é importante, pois nele é apresentado um conjunto e umaoperação que deve satisfazer certas propriedades para obtermos um grupo. Em [3]"Grupo" é de�nido da seguinte forma:

De�nição 1 Um conjunto G com uma operação

G×G −→ G

(a, b) 7−→ a · b

é um grupo se as seguintes condições são satisfeitas:

1

Page 14: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

1. A operação é associativa, isto é,

a · (b · c) = (a · b) · c, ∀a, b, c ∈ G.

2. Existe um elemento neutro, isto é,

∃ e ∈ G tal que a · e = e · a = a.

3. Todo elemento possui um elemento inverso, isto é,

∀ a ∈ G, ∃ b ∈ G tal que a · b = ·a = e.

Denotamos b por a−1

Note que na de�nição de grupo, é preciso que o conjunto e a operação tenham"elemento neutro" e todos os elementos devem possuir "elemento inverso". É comumentão aparecer as seguintes perguntas: "Será que existe mais de um elemento neutroem um grupo?" ou "algum elemento pode possuir mais de um inverso?" Os teoremasa seguir respondem essas perguntas.

Teorema 2 O elemento neutro de um grupo é único.

Demonstração: Suponha que existem e, e′ ∈ G tais que os dois sejam elementosneutros de G. Como e é elemento neutro de G temos que:

e = e · e′

e e′ é elemento neutro de G, temos que:

e′ = e′ · e

∴ e′ = e

Portanto o elemento neutro de um grupo é único.

Teorema 3 O elemento inverso de qualquer elemento de um grupo é único.

2

Page 15: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Demonstração: Suponha que existem b, c ∈ G dois elementos inversos de a ∈ G.Da de�nição de grupo temos:

b = e · b = (c · a) · b = c · (a · b) = c · e = c

Portanto o elemento inverso de qualquer elemento de um grupo é único.

Dizemos que um grupo é abeliano ou comutativo se ele também apresentar apropriedade comutativa, isto é,

a · b = b · a, ∀a, b ∈ G

Esse tipo de grupo é importante para nossos estudos, pois veremos ainda nessecapítulo que todo grupo cíclico é abeliano.

1.1.2 Subgrupos

No estudo dos grupos é essencial sabermos o que é um subgrupo, principalmentepelo fato de que um grupo cíclico é um subgrupo do grupo principal estudado, ouseja, o grupo Z∗p é um subgrupo de Z. Subgrupo é de�nido em [3] da seguinte forma:

De�nição 4 Seja (G, ·) um grupo. Um Subconjunto não-vazio H de G é um sub-

grupo de G (denotamos H < G) quando, com a operação de G, o conjunto H é um

grupo, isto é, quando as seguintes condições são satisfeitas:

1. h1 · h2 ∈ H,∀ h1, h2 ∈ H;

2. h1 · (h2 · h3) = (h1 · h2) · h3,∀ h1, h2, h3 ∈ H

3. ∃ e ∈ H tal que e · h = h · e = h,∀ h ∈ H

4. para cada h ∈ H ∃ h−1 ∈ H tal que h · h−1 = h−1 · h = e

Note que as condições 2, 3, 4 decorrem do fato de H ser um grupo, já a primeiracondição diz que a operação (·) está bem de�nida em H.

A proposição a seguir estabelece quando um subconjunto H é um subgrupo deG, sem precisar veri�car se as condições da De�nição 4 são satisfeitas.

Proposição 1 Seja H um subconjunto não vazio do grupo G. H é um subgrupo de

G se, e somente se, as seguintes condições são satisfeitas:

3

Page 16: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

1. h1 · h2 ∈ H,∀ h1, h2 ∈ H

2. h−1 ∈ H,∀ h ∈ H

Demonstração: Seja H < G, temos que a operação está bem de�nida em H(de�nição de subgrupos), da mesma forma, cada elemento tem um inverso no própriosubgrupo, pois todo subgrupo é um grupo.

Vamos provar agora que se apenas as duas condições são satisfeitas, H é umsubgrupo, ou seja, vamos veri�car as quatro condições dos subgrupos. A primeiracondição é a mesma nos dois casos, portanto ela é satisfeita. A segunda condição ésatisfeita pois a operação do subgrupo é associativa para todos elementos de H.

Seja h ∈ H por 2 temos que h−1 ∈ H, por 1 temos que h · h−1 ∈ H, comoh · h−1 = e, temos que e ∈ H, ou seja, o elemento neutro pertence a H, portanto, aterceira condição é satisfeita e a quarta condição também.

Vamos agora começar a "construir" o grupo Z∗p, ou seja, vamos mostrar comosão os elementos desse conjunto e a operação que será utilizada. Primeiro vamosde�nir uma operação para esse conjunto que satisfaça as condições de subgrupo.

De�nição 5 Sejam (G, ·) um grupo e a ∈ G. De�nimos as potências de a da

seguinte forma:

a0 = e;

an = an−1 · a, com n ∈ N;

a−n = (an)−1, com n ∈ N.

Denotamos por 〈a〉 o conjunto de todas as potências de a, ou seja:

〈a〉 = {an : n ∈ Z}

Vamos mostrar a seguir que essa De�nição faz com que 〈a〉 seja subgrupo G,dessa forma poderemos caracterizar o Grupo Z∗p.

A�rmação 1 〈a〉 é um subgrupo de G.

Demonstração: Vamos veri�car se as duas condições da Proposição 1 são satis-feitas:

1. Sejam n,m ∈ Z, temos que an, am ∈ 〈a〉, com isso an · am = an+m. Comon+m ∈ Z⇒ an+m ∈ 〈a〉;

4

Page 17: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

2. Por de�nição, a−1 ∈ 〈a〉.

Portanto, 〈a〉 é subgrupo de G.

Note que no conjunto das potências podemos construir um subgrupo utilizandoas potências de um elemento, com isso poderemos caracterizar esse elemento comoo "gerador" do subgrupo.

De�nição 6 〈a〉 é o subgrupo gerado por a. Chamamos a de gerador de 〈a〉

Podemos agora denominar grupos que podem ser gerados por um elemento, comisso voltaremos nossos estudos para esse tipo de grupo.

De�nição 7 Um grupo G é cíclico quando ele pode ser gerado por um elemento de

G.

Agora que sabemos o que é um grupo cíclico, podemos procurar saber o "tama-nho" desse grupo, ou seja, da mesma forma que um conjunto possui uma cardinali-dade, um grupo pode possuir um "tamanho", basta veri�car o número de elementosdesse grupo.

De�nição 8 A ordem de um grupo G é o número de elementos em G. Ela será

denotada por |G|.

Note que um grupo pode ter uma ordem "�nita", quando o número de elementosdesse grupo é �nito, ou uma ordem in�nita, quando o número de elementos dessegrupo é in�nito.

Como um grupo cíclico é um grupo que é gerado por um elemento, podemosde�nir a ordem de um elemento do Grupo G da seguinte forma:

De�nição 9 Chama-se ordem de um elemento a ∈ G ao menor inteiro positivo n

tal que an = e. Usamos a notação O(a) para indicarmos a ordem de um elemento.

A Ordem de um elemento de um grupo cíclico possui as seguintes propriedades:

1. O(e) = 1

Demonstração: Trivial

5

Page 18: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

2. O(a) = O(a−1)

Demonstração: Temos pela De�nição 9 que O(a) = n ⇒ an = e, pelaDe�nição 5 a−n = (an)−1 = e. Seja k ∈ {1, 2, . . . , n − 1} pela De�nição9 sabemos que ak 6= e, agora suponha que (a−1)k = e, então existe j ∈{1, 2, . . . , n − 1} tal que (aj)−1 = e, assim, pela unicidade do inverso, existej ∈ {1, · · · , n− 1} tal que aj = e o que é absurdo.

3. Se a = cbc−1 então O(a) = O(b)

Demonstração: Suponha que O(a) = n, vamos provar que O(b) = n.Temos que

an = (cbc−1)n = (cbc−1) · · · (cbc−1) = cbnc−1

Assim, decbnc−1 = an = e

segue quebn = e

Suponha agora que existe j ∈ {1, . . . , n − 1} tal que bj = e: De a = cbc−1

resulta b = c−1ac donde bj = c−1ajc = e. Assim, existe j ∈ {1, . . . , n− 1} talque aj = e o que é absurdo já que O(a) = n.

4. O(am) ≤ O(a);∀m ∈ Z.Demonstração: Suponha que O(a) = n e que O(am) = k: Ora, pelaDe�nição 9, k é o menor inteiro positivo tal que (am)k = e: Mas (am)n = e;então n ≥ k.

5. Seja O(a) = n. Se mdc(m;n) = 1 então O(am) = O(a) = n.

Demonstração: Por 4, temos que O(am) ≤ n, vamos provar que O(a) =n ≤ O(am). Como mdc(m;n) = 1, temos que existem inteiros x, y tais que

1 = xm+ yn

Então, a = axm+yn = (am)x(an)y = (am)x. Assim, de a = (am)x, concluímosque O(a) ≤ O(am).

Proposição 2 Se O(a) = n e m ∈ Z, então am = e se, e somente se, m = kn; k ∈

Z, ou seja m é múltiplo de n:

Demonstração: (Condição Necessária) Suponha que O(a) = n e am = e; ondem ∈ Z, vamos provar que m é múltiplo de n. Suponha que m ∈ Z+. Então, pelaDe�nição 9, m ≥ n. Temos que

m = nq + r; r ∈ {0, . . . , n− 1}; q, r ∈ Z+.

6

Page 19: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Entãoe = am = anq+r = anqar = (an)qar = ar.

Assim, r = 0 pois r ∈ {0, . . . , n− 1} e O(a) = n. Portanto

am = anqar = anqe = anq

.(Condição Su�ciente) Suponha quem = nk; k ∈ Z. Então am = ank = (an)k = e.

O próximo teorema vai relacionar a ordem de um elemento com o tamanho dogrupo cíclico. Como corolário desse teorema, poderemos saber se um elemento égerador através da ordem desse elemento.

Teorema 10 Seja a ∈ G. Se O(a) = n, então 〈a〉 é um subgrupo cíclico G com n

elementos.

Demonstração: Dado a ∈ G. Pela De�nição 9 temos

O(a) = n⇒ an = e

Agora calculando as potências de a, pela De�nição 5, obtemos

an+1 = an · a = e · a = a

an+2 = an+1 · a = a · a = a2

an+3 = an+2 · a = a2 · a = a3

...

an+n−1 = an · an−1 = e · an−1 = an−1

an+n = an−1 · a = an = e

Com isso, temos que os elementos de 〈a〉 são obtidos de forma cíclica e 〈a〉 ={e, a, a2, . . . , an−1}. Portanto, 〈a〉 é um subgrupo cíclico com n elementos

O Corolário a seguir é consequência imediata do Teorema 10.

Corolário 2.1 | G |= n e O(a) = n se, e somente se, 〈a〉 = G.

O corolário acima nos garante que a é um gerador de G quando o subgrupogerado por a possui a mesma quantidade de elementos do grupo G. Esse fato seráde fundamental importância na próxima seção, pois é com seu uso que poderemossaber quando um elemento de Z∗p pode ser gerado por algum de seus elementos.

Com essa breve introdução da teoria dos grupos, podemos começar a estudar ogrupo cíclico Z∗p. As de�nições e teoremas apresentados servirão para "construir"esse grupo.

7

Page 20: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

1.2 O grupo ZpEstudaremos agora a teoria dos grupos cíclicos �nitos Zp com p primo. Esse

estudo é importante para podermos trabalhar com os logaritmos discretos, objetivoprincipal do segundo capítulo desse texto. Para isso vamos de�nir a seguinte relaçãoentre números inteiros:

De�nição 11 Seja n um número inteiro diferente de zero. Diremos que dois nú-

meros inteiros a e b são congruentes módulo n quando os restos de sua divisão

euclidiana por n são iguais. Quando os números a e b são congruentes módulo n,

escrevemos da seguinte forma:

a ≡ b(mod n)

Observação 1 Note que a relação de congruência é uma relação de equivalência,

pois:

1. a ≡ a(mod n)(re�exiva);

2. a ≡ b(mod n)⇒ b ≡ a(mod n)(simétrica);

3. a ≡ b(mod n) e b ≡ c(mod n)⇒ a ≡ c(mod n)(transitiva).

Como os possíveis restos da divisão euclidiana de um número a por n é umnúmero menor do que n, é fácil ver que esse número é congruente a um, e somenteum, dos números 0, 1, . . . , n− 1.

É possível saber se dois números inteiros são congruentes sem precisar realizara divisão euclidiana desses números por n, isso facilitará os estudos e algumas de-monstrações, pois podemos trabalhar com critérios de divisibilidade dos númerosinteiros.

Proposição 3 Sejam a, b ∈ Z+ e b ≥ a. Temos que:

a ≡ b(mod n)⇔ n | b− a

Demonstração: Dados a, b ∈ Z+, pela De�nição 11, temos que

a ≡ b(mod n)⇔ a = nq + r e b = np+ r.

8

Page 21: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Com isso,

b− a = np+ r − (nq + r)⇔ b− a = np− nq + r − r ⇔ b− a = n(p− q).

Como p e q são números inteiros, p−q também é um número inteiro, ou seja n | b−a,portanto, a ≡ b(mod n)⇔ n | b− a

Vimos anteriormente que a congruência é uma relação de equivalência. Veremosa seguir mais algumas consequências dessa relação que servirão para os estudos doslogaritmos discretos.

Teorema 12 Sejam a, b, c, d, x ∈ Z e n ∈ N. As seguintes condições são satisfeitas:

1. Se a ≡ b(mod n) e c ≡ d(mod n), então a+c ≡ b+d(mod n) e ac ≡ bd(mod n);

2. Se a ≡ b(mod n), então ax ≡ bx(mod n);

3. Se a ≡ b(mod n), então ak ≡ bk(mod n),∀k ∈ N.

Demonstração:1 Pela Proposição 3, temos que n | b − a e n | c − d, ou seja, existem k, q ∈ N

tais que nk = b− a e nq = c− d. Daí,

(b+ d)− (a+ c) = (b− a) + (d− c) = nk + nq = n(k + q)⇔ a+ c ≡ b+ d(mod n).

De maneira análoga temos,

ac− bd = (b+ kn)(d+ qn)− bd = bd+ bqn+ dkn+ kqn2− bd = n(bq+ dk+ kqn)⇔

⇔ ac ≡ bd(mod n);

2 Pela Proposição 3, temos que n | b− a. Logo,

bx− ax = x(b− a) = xnq ⇔ ax ≡ bx(mod n);

3 Vamos provar esse item usando indução sobre k: Para k = 1, nada temos ademonstrar.

Suponha que a proposição seja válida para algum k ∈ N, vamos veri�car avalidade da proposição para k + 1. Como a ≡ b(mod n) e ak ≡ bk(mod n) temos,pelo item 1, que ak+1 ≡ bk+1(mod n). Portanto, a proposição é válida para k+1.

Sabendo que a congruência é uma relação de equivalência, de�nimos então aclasse de equivalência de a ∈ Z módulo n por:

a = {b ∈ Z : a ≡ b(mod n)}

9

Page 22: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Podemos agora obter um sistema com todos os possíveis restos da divisão eucli-diana de a e b por n, dessa forma poderemos relacionar um elemento com sua classede equivalência da seguinte forma:

De�nição 13 Um sistema reduzido de resíduos módulo n é um conjunto de números

naturais r1, . . . rs tais que:

1. mdc(ri, n)=1, para todo i = 1, . . . , s;

2. ri 6= rj mod (n), se i 6= j;

3. Para cada m ∈ N tal que mdc(m,n)=1, existe i tal que m ≡ ri(mod n).

Pela De�nição acima, um sistema de resíduos é constituído por uma quantidade�nita de números naturais. A De�nição a seguir fará uma relação entre n e o númerode elementos do sistema de resíduos módulo n.

De�nição 14 (Função de Euler) Designamos por φ(n) o número de elementos

de um sistema reduzido de resíduos módulo n,

As observações a seguir são consequências imediatas da De�nição 14.

Observação 2 φ(n) ≤ n− 1.

Observação 3 Se p é um número primo, então φ(p) = p− 1.

Seja Z∗p, com p primo, o conjunto formado pelos elementos a ∈ {1, 2, . . . , p− 1},com a = {b ∈ Z : a ≡ b(mod p)}, com 1 ≤ a ≤ p − 1. Temos que todo c ∈ Z∗ écongruente a um dos elementos 1, 2, . . . , p− 1.

De�nição 15 Dados a, b ∈ Z∗p, então

a⊕ b = a+ b e

a� b = a · b.

Pelo item (1) do Teorema 12 temos que as operações de adição e multiplicação denúmeros inteiros estão bem de�nidas no grupo Z∗p. A partir de agora trabalharemoscom o grupo Z∗p multiplicativo.

10

Page 23: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

A�rmação 2 1 é o elemento neutro do grupo Z∗p multiplicativo.

Demonstração: Dado a ∈ Z∗p, temos a� 1 = a · 1 = a

Estamos "construindo" o grupo Z∗p, usando as De�nições 5 e 11. Aparece a se-guinte pergunta importante para nossos estudos "Será que existe n ∈ Z∗ tal quean ≡ 1(mod p)?" O Teorema a seguir, conhecido como "Pequeno Teorema de Fer-mat", responde essa pergunta.

Teorema 16 (Pequeno teorema de Fermat): Seja p um número primo e a ∈ N

com mdc(a, p)=1, então ap−1 ≡ 1(mod p)

Demonstração: Temos que

ap−1 ≡ 1(mod p)⇔ p|ap−1 − 1⇔ p|ap − a, pois mdc(a, p) = 1

Portanto para provar o Pequeno Teorema de Fermat, basta provar que p|ap − a.Vamos usar indução sobre a para demonstrar essa proposição:

Para a = 1 o resultado é imediato.Suponha que a proposição seja válida para a, vamos veri�car a validade da

proposição para a+ 1:

(a+ 1)p − (a+ 1) = ap +

(p1

)ap−1 + · · ·+

(p

p− 1

)a+ 1− (a+ 1)

(a+ 1)p − (a+ 1) = ap − a+

(p1

)ap−1 + · · ·+

(p

p− 1

)a

é fácil ver que se p é primo, então p |(pn

), com 0 < n < p, assim, pelo princípio

da indução p|ap − a, portanto, a proposição é válida para todo a natural.

A seguir veremos um corolário do Pequeno Teorema de Fermat que vai relacionarum elemento do grupo Z∗p com um subgrupo cíclico dele.

Corolário 3.1 Se a ∈ Z∗p. Se 0 < a < p, então 〈a〉 é um subgrupo cíclico de Z∗p.

Podemos determinar uma relação entre a ordem do grupo multiplicativo Z∗p e aFunção de Euler de p.

Teorema 17 Se p é um número primo, então | Z∗p |= φ(p)

11

Page 24: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Demonstração: Como p é primo temos pela, De�nição 13, que

Z∗p = {1, 2, . . . , p− 1}

com isso, | Z∗p |= p− 1. Pela De�nição 14

φ(p) = p− 1.

Portanto | Z∗p |= φ(p)

Veremos a seguir alguns exemplos de grupos (Z∗p, ·):

Exemplo: (Z∗3, ·) = {1, 2}: Calculando as potências de 2 que são congruentes a 1ou 2 módulo 3 obtemos:

21 = 2 ≡ 2(mod 3)

22 = 4 ≡ 1(mod 3)

23 = 8 ≡ 2(mod 3)

24 = 16 ≡ 1(mod 3)

...

Note que, pela De�nição 4, 2 gera o grupo Z∗3. Portanto, (Z∗3, ·) é um grupo cíclico. �

Exemplo: (Z∗5, ·) = {1, 2, 3, 4}: Calculando as potências de 2 que são congruentesa 1, 2, 3 ou 4 módulo 5, obtemos:

21 = 2 ≡ 2(mod 5)

22 = 4 ≡ 4(mod 5)

23 = 8 ≡ 3(mod 5)

24 = 16 ≡ 1(mod 5)

...

Calculando as potências de 3 que são congruentes a 1, 2, 3 ou 4 módulo 5 obtemos:

31 = 3 ≡ 3(mod 5)

32 = 9 ≡ 4(mod 5)

33 = 27 ≡ 2(mod 5)

34 = 81 ≡ 1(mod 5)

12

Page 25: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

...

Calculando as potências de 4 que são congruentes a 1, 2, 3 ou 4 módulo 5 obtemos:

41 = 4 ≡ 4(mod 5)

42 = 16 ≡ 1(mod 5)

43 = 64 ≡ 4(mod 5)

44 = 16 ≡ 1(mod 5)

...

Note que 〈2〉 = (Z∗5, ·) e 〈3〉 = (Z∗5, ·), ou seja, 2 e 3 são geradores de (Z∗5, ·). Por-tanto, (Z∗5, ·) é um grupo cíclico. O grupo 〈4〉 = {1, 4} é um subgrupo de (Z∗5, ·). �

Note que nem todos os elementos de Z∗p são geradores dele, vamos diferenciaresses elementos que são geradores a seguir.

De�nição 18 Dizemos que g é uma raiz primitiva de Z∗p quando g é um gerador de

Z∗p, ou seja,

g é raiz primitiva de Z∗p ⇔ 〈g〉 = Z∗p

Exemplo: 2 e 3 são raízes primitivas de Z∗5 �

Teorema 19 g é raiz primitiva de Z∗p se, e somente se, | 〈g〉 |= φ(p).

Demonstração: (⇒) Se g é uma raiz primitiva de Z∗p, então, pela De�nição18, 〈g〉 = Z∗p, além disso, pelo Teorema 17, temos que | Z∗p |= φ(p). Portanto,| 〈g〉 |= φ(p).

(⇐)| 〈g〉 |= φ(p) ⇒| 〈g〉 |= {1, 2, . . . , p− 1} ⇒| 〈g〉 |= Z∗p ⇒ g é raiz primitivade Z∗p

Para determinarmos que o grupo Z∗p é cíclico, basta encontrarmos uma raizprimitiva de Z∗p, ou seja, devemos encontrar um elemento g ∈ Z∗p tal que O(g) =ϕ(p).

Observação 4 Na primeira seção deste capítulo foi demonstrado na Proposição 2

da página 6. Como | Z∗p |= p− 1, temos que: Se O(g) = n e m ∈ Z, então

gm ≡ 1(mod p)⇔ m | n

13

Page 26: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Mas, pelo Pequeno Teorema de Fermat, sabemos que

gp−1 ≡ 1(mod p)

Portanto,

gm ≡ 1(mod p)⇔ p− 1 = km

A observação acima funciona como critério para sabermos se um elemento é raizprimitiva de Z∗p. Para isso procedemos da seguinte forma. Para determinarmos seum elemento g ∈ Z∗p é uma raiz primitiva de Z∗p, basta veri�car se algum divisorde p − 1 é congruente a 1 módulo p. Veremos a seguir alguns exemplos de comofunciona esse critério.

Exemplo: Veri�cando se 2 é raiz primitiva de Z∗7: Como ϕ(7) = 6 e 6 = 2 · 3temos que

22 = 4 ≡ 4(mod 7)

23 = 8 ≡ 1(mod 7)

Portanto, 2 não é raiz primitiva de Z∗7 �Exemplo: Veri�cando se 7 é raiz primitiva de Z∗11: Como ϕ(11) = 10 e 10 = 2 · 5temos

72 = 49 ≡ 5(mod 11)

75 = 16807 ≡ 10(mod 11)

Portanto, 7 é raiz primitiva de Z∗11: �

Agora vamos estudar um importante algoritmo que auxiliará nos cálculos de lo-garitmos Discretos. Esse algoritmo é conhecido como "Teorema Chinês dos Restos"e vai nos ajudar a resolver os sistemas de congruências que aparecerão nos cálculosdo próximo Capítulo.

1.3 Teorema Chinês dos Restos

Segundo [5], No primeiro século da nossa era, o matemático chinês Sun-Tsupropôs o seguinte problema:

Qual é o número que deixa restos 2, 3 e 2 quando dividido, respectivamente, por3, 5 e 7?

A resposta dada por Sun-Tsu para este problema foi 23.

14

Page 27: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Traduzindo em linguagem matemática, o problema de Sun-Tsu equivale a pro-curar as soluções do seguinte sistema de congruências:

X ≡ 2(mod 3)

X ≡ 3(mod 5)

X ≡ 2(mod 7).

Mais geralmente, resolveremos sistemas de congruências da forma:

a1X ≡ b1(mod m1)

a2X ≡ b2(mod m2)

...

arX ≡ br(mod mr).

Para que tal sistema possua solução, é necessário que mdc(ai;mi) | bi, para todoi = 1, . . . , r. Dessa forma o sistema acima é equivalente a um da forma

X ≡ c1(mod n1)

X ≡ c2(mod n2)

...

X ≡ cr(mod nr).

Portanto vamos resolver um sistema de congruências encontrando a solução dosistema equivalente através do Teorema a seguir. O Teorema Chinês dos Restos éum algoritmo utilizado para calcular a solução de um sistema de congruências.

Teorema 20 (Teorema Chinês dos Restos) O sistema

X ≡ c1(mod n1)

X ≡ c2(mod n2)

...

X ≡ cr(mod nr).

onde mdc(ni, nj) = 1, para todo par ni;nj com i 6= j, possui uma única solução

módulo N = n1n2 · · ·nr. Tal solução pode ser obtida como se segue: X = N1y1c1 +

· · ·+Nryrcr; onde Ni = N/ni e yi é solução de NiY ≡ 1mod ni, i = 1, . . . , r.

15

Page 28: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Demonstração: Primeiramente vamos provar que X é solução simultânea dosistema de congruência, como ni | Nj , se i 6= j, e Niyi ≡ 1(modni), temos que

X = N1y1c1 + · · ·+Nryrcr ≡ Niyici ≡ ci(mod ni)

Por outro lado, vamos mostrar que se x′ é outra solução do sistema, então x′ ≡x(mod n1), ∀i, i = 1, . . . , r. De fato. Como mdc(ni;nj) = 1, para i 6= j, segue-se quemmc[n1; . . . ;nr] = n1 · · ·nr = N e, consequentemente, se x ≡ x′(mod [n1, . . . , nr])⇒x ≡ x′(mod ni), i = 1, . . . , r, temos que x ≡ x′(mod N).

Vamos ver um exemplo da resolução de sistemas de congruências pelo TeoremaChinês dos Restos.Exemplo: Qual o menor número natural que deixa restos 1, 3 e 5 quando divididopor 5, 7 e 9, respectivamente?

Solução: Para responder a pergunta acima, devemos resolver o sistema de con-gruências

x ≡ 1(mod 5)

x ≡ 3(mod 7)

x ≡ 5(mod 9).

Nesse caso, N = 5 · 7 · 9 = 315, logo n1 = 63, n2 = 45, n3 = 35, com isso vamosresolver as seguintes congruências isoladamente:

63Y ≡ 1(mod 5)⇐ y1 = 2

45Y ≡ 1(mod 7)⇐ y2 = 5

35Y ≡ 1(mod 9)⇐ y3 = 8.

Portanto a solução módulo N = 315 é dada por:

X = N1y1c1 +N2y2c2 +N3y3c3 = 63 · 2 · 1 + 45 · 5 · 3 + 35 · 8 · 5 = 2201

Como 2201 ≡ 311(mod 315) concluímos que o número natural desejado é 311 �

1.4 Personalidades Matemáticas

1.4.1 Leonhard Euler

Leonhard Euler (�gura 1.1) foi, sem dúvida, um dos maiores e mais férteis mate-máticos de todos os tempos. Ele nasceu na Suíça, perto da cidade de Basiléia, �lho

16

Page 29: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Figura 1.1: Fonte:http://www-history.mcs.st-and.ac.uk/PictDisplay/Euler.html

de um modesto pastor protestante que nutria a esperança de que seu �lho seguissea mesma carreira.

Euler possuía uma grande facilidade para o aprendizado de línguas e uma pro-digiosa memória, aliada a uma extraordinária habilidade para efetuar mentalmentecontas complexas, habilidade esta que lhe seria muito útil no �nal de sua vida. Eulerfoi um dos matemáticos mais ativos da história. Ele escreveu livros sobre o cálculodas variações, no cálculo das órbitas planetárias, em artilharia e balística, em aná-lise, sobre a construção naval e de navegação, sobre o movimento da lua. Depois desua morte, em 1783 a Academia de São Petersburgo continuou a publicar trabalhosinéditos de Euler por mais de 50 anos mais.

1.4.2 Pierre de Fermat

Segundo [7], Pierre de Fermat (�gura 1.2) era um advogado francês do Parla-mento de Toulouse, na França, e um matemático amador, ele comunicava-se comoutros matemáticos de sua época através de cartas, e nelas Fermat descrevia suasideias, descobertas e até pequenos ensaios sobre assuntos de seu interesse, dentre osquais destacamos a teoria dos números. O Teorema 16, da página 11, foi enunciadopor Fermat da seguinte forma: Dado um número primo p, tem-se que p divide onúmero ap − a, para todo a ∈ N.

Fermat é mais lembrado pelo o "Último Teorema de Fermat". Este teoremaa�rma que

xn + yn = zn

Não tem soluções diferentes de zero inteiros para x, y e z, quando n> 2. Fermatescreveu, na margem da tradução de Arithmetica de Diofanto de Bachet. "Eudescobri uma prova verdadeiramente notável que esta margem é muito pequenapara conter."

Acredita-se agora que a "prova" de Fermat estava errada embora seja impossívelter a certeza absoluta. A verdade da a�rmação de Fermat foi provada em Junho de

17

Page 30: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

O Grupo Z∗p Capítulo 1

Figura 1.2: Fonte:http://www-history.mcs.st-and.ac.uk/PictDisplay/Fermat.html

1993, pelo matemático britânico Andrew Wiles, mas Wiles retirou a reivindicaçãode ter uma prova, quando problemas surgiram mais tarde, em 1993. Em Novembrode 1994 Wiles novamente a�rmou ter uma prova correta, que já foi aceita.

Tentativas frustradas de provar o teorema sobre um período de 300 anos levouà descoberta da teoria do anel comutativo e uma riqueza de outras descobertasmatemáticas.

No próximo capítulo, adentramos no estudo do Logaritmo Discreto, cuja de�-nição e propriedades são fundamentais no desenvolvimento de vários algoritmos decriptogra�a modernos.

18

Page 31: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Capítulo 2

Logaritmos Discretos

O estudo dos logaritmos discretos é essencial para entendermos a matemáticapor trás do algoritmo de criptogra�a ElGamal. Apresentaremos nesse capítulo a de-�nição de logaritmos discretos, exemplos para calcular o logaritmo de um elementono grupo (Z∗p, ·), o problema do logaritmo discreto, algumas propriedades dos loga-ritmos que auxiliarão nos cálculos e como essas de�nições e propriedades facilitarãoa explicação do algoritmo de criptogra�a ElGamal.

2.1 Logaritmos Discretos

Dado um elemento a do grupo cíclico Z∗p, (escreveremos a = a) com 0 ≤ a ≤ p−1,vimos na De�nição 18 do capítulo anterior que a é uma raiz primitiva de Z∗p quandoa é um gerador de Z∗p. Desta forma, temos que qualquer elemento b de Z∗p pode serescrito na forma:

b = an, onde n ∈ Z

Precisamos encontrar uma forma de determinar o número n que satisfaz a equaçãoacima e para isso vamos de�nir o logaritmo discreto de b na base a módulo p daseguinte forma:

De�nição 21 Dados a, b ∈ Z∗p, o logaritmo discreto de b na base a módulo p é

o inteiro n, 0 ≤ n ≤ p− 1 para o qual an ≡ b, ou seja,

loga b(mod p) = n⇔ an ≡ b(mod p).

19

Page 32: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Logoritmos Discretos Capítulo 2

Usamos a seguinte notação para o logaritmo discreto:

loga b(mod p) = loga;p b

Note que a de�nição de logaritmos discretos é parecida com a de�nição de loga-ritmo de um número Real e positivo apresentada no Ensino Médio, em [4] logaritmode um número real é de�nido da seguinte forma:

De�nição 22 O logaritmo de um número real e positivo b, na base a, positiva e

diferente de 1, é o número x ao qual se deve elevar a para se obter b.

loga b = x⇔ ax = b.

em que a é chamado de base do logaritmo, b é chamado logaritmando e x é chamado

de logaritmo.

Daremos a mesma nomenclatura no logaritmo discreto de um logaritmando b nabase a módulo p.

Quando p e a são números pequenos, o cálculo do logaritmo discreto é fácil, bastaencontrar o expoente n que satisfaz a de�nição do logaritmo, como no exemplo aseguir:Exemplo: Considerando o grupo cíclico Z∗5, e a base a = 3 basta calcular aspotências de 3 que são congruentes a 1, 2, 3 ou 4 módulo 5 para obtermos ospossíveis resultados de um número na base 3, ou seja:

31 = 3 ≡ 3(mod 5)

32 = 9 ≡ 4(mod 5)

33 = 27 ≡ 2(mod 5)

34 = 81 ≡ 1(mod 5).

Portanto, para qualquer b ∈ Z∗5, podemos encontrar seu logaritmo discreto compa-rando com os resultados encontrados acima, por exemplo: log3;5 4 = 2, pois 32 ≡4(mod 5) �

Como consequência da de�nição de logaritmos discretos, temos que se a base nãofor uma raiz primitiva, então o logaritmo de um elemento do grupo cíclico pode nãoexistir. Por exemplo, considerando o mesmo grupo Z∗5 temos log4 2(mod 5) = @, poisnão existe n ∈ Z tal que 4n ≡ 2(mod 5). Para calcularmos o logaritmos discreto deum número não é preciso que a base seja uma raiz primitiva do grupo cíclico.

20

Page 33: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Logoritmos Discretos Capítulo 2

Teorema 23 Se a base do logaritmo discreto for uma raiz primitiva de Z∗p, então o

logaritmo discreto de qualquer elemento de Z∗p existe.

Demonstração: Dados a, b ∈ Z∗p, como a é uma raiz primitiva de Z∗p temos, pelaDe�nição 12, que ∃n ∈ Z tal que b ≡ an(mod p), ou seja loga b(mod p) = n

Como o logaritmo discreto de um elemento de Z∗p sempre existe quando a base éuma raiz primitiva de Z∗p, vamos restringir nossos estudos a essas bases.

Para calcularmos o logaritmo discreto de um elemento b ∈ Z∗p na base a, com asendo uma raiz primitiva de Z∗p, precisamos montar uma tabela contendo as potên-cias dessa raiz primitiva e a relação de congruência módulo p com b. Esse trabalhoé muito demorado, por isso precisamos de um método prático e mais rápido paraencontrar o resultado do logaritmo discreto de um elemento do grupo cíclico. Paraisso vamos utilizar um algoritmo desenvolvido por Roland Silver, mas publicado pelaprimeira vez por Stephen Pohlig e Martin Hellman.

2.2 Algoritmo de Silver, Pohlig e Hellman

O algoritmo de Silver, Pohlig e Hellman foi desenvolvido para calcular o logaritmodiscreto de um elemento em qualquer base que é gerador de um grupo cíclico Z∗p,com p primo.

Suponhamos que todos os fatores primos de p− 1 sejam pequenos. Para simpli-�car, devemos supor que b é um gerador do grupo cíclico Z∗p.

Para cada primo q dividindo p− 1, calcularemos as raízes q-ésimas da unidade

rq,j = bj(p−1)q

para j = 1, 2, . . . , q. Com nossa tabela de {rq,j} estaremos prontos para calcular ologaritmo discreto de qualquer y ∈ Z∗p. Note que se b é �xado, então este primeirocálculo só precisa ser feito uma única vez, depois a mesma tabela é usada paraqualquer y.

Nosso objetivo é determinar x, com 1 ≤ x < p− 1, tal que bx = y. Se

p− 1 =∏q

qa

é a fatoração em fatores primos de p− 1, então é su�ciente determinar

x(mod qa)

21

Page 34: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Logoritmos Discretos Capítulo 2

para cada q dividindo p − 1. Assim, x é unicamente determinado pelo TeoremaChinês dos Restos. Com isso, �xaremos um primo q dividindo p− 1 e mostraremoscomo determinar

x(mod qa).

Suponha quex ≡ x0 + x1q + · · ·+ xα−1q

α−1(mod qα)

com 0 ≤ xi < q. Tomando a raiz q-ésima da unidade e sabendo que y(p−1) = 1 ey = bx, temos que

yp−1q = b

x(p−1)q = b

x0+x1q+···+xα−1qα−1(p−1)

q = bx0(p−1)

q = rq,x0 .

Com isso, comparamos yp−1q com os {rq,j}, j = 1, 2, . . . , q, e igualamos x0 com o

valor de j com o qual y(p−1)q = rq,j.

A seguir, para calcularmos x1, substituímos y por

y1 =y

bx0=

bx

bx0=bx0+x1q+···+xα−1qα−1

bx0=bx0 · bx1q · · · bxα−1qα−1

bx0= (bx1+x2q+···+xα−1qα−2

)q.

Então y1 tem logaritmo discreto

x− x0 ≡ x1 + x2q + · · ·xα−1qα−2(mod pα).

Como y1 é uma q-ésima potência temos que yp−1q e

yp−1

q2

1 = b(x−x0)(p−1)

q2 = b(x1+x2q+···xα−1q

α−2)(p−1)

q = bx1(p−1)

q = rq,x1 .

Desta forma, podemos comparar yp−1

q2

1 com {rq,j}, j = 1, 2, · · · , q, e igualamos x1

com o valor de j para o qual yp−1

q2

1 = {rq,j} e, assim sucessivamente, até obtermosx0, x1, . . . xα−1.

Note que dependendo do valor de p é mais rápido calcular as potências de ppara encontrarmos o logaritmo discreto de um número do que usar o Algoritmo deSilver, Pohlig e Hellman. Para entendermos o uso do Algoritmo de Silver, Pohlig eHellman, vamos ver alguns exemplos.

Exemplo: Para começar vamos calcular o logaritmo discreto de 6 na base 7 emZ∗13 usando o algoritmo de Silver, Pohlig e Hellman.

Solução: Primeiro vamos calcular os fatores primos de 12,

12 = 4 · 3 = 22 · 3

22

Page 35: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Logoritmos Discretos Capítulo 2

Dessa forma os fatores primos de 12 são 2 e 3. Vamos agora determinar as raízesq-ésimas da unidade desses dois primos que dividem 12.

Para p = 2, temos:

{r2,j} =< 7122 >=< 76 >

76 = 117649 = 13 · 9049 + 12⇒ 76 ≡ 12(mod 13)

712 ≡ 1(mod 13)[pelo Teorema 16].

Como 12 ≡ −1(mod 13), temos que {r2, j} = {−1, 1}, nessa ordem.

Para p = 3, temos:{r3,j} =< 7

123 >=< 74 >

74 = 2401 = 13 · 184 + 9⇒ 74 ≡ 9(mod 13)

78 = 5764801 = 13 · 443446 + 3⇒ 78 ≡ 3(mod 13)

712 ≡ 1(mod 13)[pelo Teorema 16].

Portanto, {r3, j} = {9, 3, 1}, nessa ordem.

Agora precisamos determinar x, tal que

6 ≡ 7x(mod 13).

Para determinar x vamos realizar a seguinte etapa: para p = 2 temos que encontrarx(mod 2) da seguinte forma:

613−1

2 = 66 = 46656 = 13 · 3588 + 12 ≡ −1(mod 13).

Dessa forma, como -1 ocupa a 1a posição em {r2,j} temos que x0 = 1.Para p = 3 temos que encontrar x(mod 3) repetindo o mesmo algoritmo:

613−1

3 = 64 = 1296 = 13 · 99 + 9 ≡ 9(mod 13).

Dessa forma como 9 ocupa a primeira posição em {r3,j} temos que x0 = 1.Agora vamos resolver o sistema de congruências:

x ≡ 1(mod 2)

x ≡ 1(mod 3).

É fácil ver que x = 7 é a solução do sistema acima, com isso temos

6 ≡ 77(mod 13).

23

Page 36: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Logoritmos Discretos Capítulo 2

Vamos veri�car se a resposta está correta.

77 = 823543 = 13 · 63349 + 6 ≡ 6(mod 13).

Portanto o algoritmo encontrou o logaritmo discreto conforme esperado. �

Veremos a seguir outro exemplo do Algoritmo de Silver, Pohlig e Hellman.

Exemplo: Vamos calcular o logaritmo discreto de 17 na base 5 em Z∗23 usando oalgoritmo acima:

Solução: Primeiro vamos calcular os fatores primos de 22,

q − 1 = 23− 1 = 22 = 2 · 11.

Vamos determinar as raízes q-ésimas da unidade desses dois primos que dividem 22.

Para p = 2, temos{r2,j} =< 5

222 >=< 511 >

511 = 48828125 = 23 · 2122961 + 22⇒ 511 ≡ 22(mod 23)

522 ≡ 1(mod 23)[Pelo Teorema 16].

Como 22 ≡ −1(mod 23), temos que {r2, j} = {−1, 1}, nessa ordem.

Para p = 11, temos{r11,j} =< 5

2211 >=< 52 >

52 ≡ 2(mod 23)

54 ≡ 4(mod 23)

56 ≡ 8(mod 23)

58 ≡ 16(mod 23)

510 ≡ 9(mod 23)

512 ≡ 18(mod 23)

514 ≡ 13(mod 23)

516 ≡ 3(mod 23)

518 ≡ 6(mod 23)

520 ≡ 12(mod 23)

522 ≡ 1(mod 23).

24

Page 37: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Logoritmos Discretos Capítulo 2

Portanto, {r11,j} = {2, 4, 8, 16, 9, 18, 13, 3, 6, 12, 1}, nessa ordem. Agora precisamosdeterminar x, tal que

17 ≡ 5x(mod 23).

Para determinar x vamos realizar a seguinte etapa: para p = 2 temos que encontrarx(mod 2) da seguinte forma

1723−1

2 = 1711 = 34271896307633 = 1490082448157 · 23 + 22 ≡ −1(mod 23).

Assim, como -1 ocupa a 1a posição em {r2,j}, temos que x0 = 1.

Para p = 11 temos que encontrar x(mod 11), repetindo o mesmo algoritmo

1723−1

2 = 172 = 289 ≡ 13(mod 23).

Assim, como 13 ocupa a 7a posição em {r11,j}, temos que x0 = 7. Agora vamosresolver o sistema de congruências

x ≡ 1(mod 2)

x ≡ 7(mod 11).

E fácil ver que x = 7 é a solução do sistema acima, com isso temos

17 ≡ 57(mod 23).

Portanto, o logaritmo discreto de 17 na base 5 em Z∗23 é 7. �

Note que se a decomposição em fatores primos de p − 1 tiver muitos termos, ouso do Algoritmo de Silver, Pohlig e Hellman para calcular o logaritmo discreto deum elemento se torna demorado, ou seja, a quantidade de fatores primos de p− 1 édiretamente proporcional ao tempo para realizar o cálculo do logaritmo discreto deum elemento do grupo cíclico Z∗p. Até o momento ninguém (nem os pesquisadoresespecializados) conseguiu encontrar um algoritmo rápido para calcular o logaritmodiscreto de um elemento a do grupo cíclico Z∗p, esse problema é conhecido comoProblema do Logaritmo Discreto.

25

Page 38: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Capítulo 3

Algoritmo e Criptogra�a

Faremos agora uma breve introdução histórica sobre Algoritmo e Criptogra�a,mostrando alguns exemplos. Depois mostraremos algoritmos de criptogra�a de chavepública para podermos entender como funciona o algoritmo de criptogra�a ElGamal,que será estudado no próximo capítulo.

3.1 Algoritmo e Criptogra�a

3.1.1 Algoritmo

Em [6], algoritmo é de�nido da seguinte forma:

Substantivo masculino1 Rubrica: matemática.sequência �nita de regras, raciocínios ou operações que, aplicada a umnúmero �nito de dados, permite solucionar classes semelhantes de pro-blemas2 Rubrica: informática.conjunto das regras e procedimentos lógicos perfeitamente de�nidos quelevam à solução de um problema em um número �nito de etapas.

Quando realizamos uma tarefa seguindo procedimentos pré-de�nidos, estamosutilizando um algoritmo, seja fazendo uma receita culinária ou até manter uma ro-tina diária de tarefas pessoais e pro�ssionais, como ligar um computador pessoal,por exemplo. Geralmente realizamos essa tarefa da seguinte forma:1o passo: ligar a "fonte de energia";

26

Page 39: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

2o passo: ligar o "Desktop";3o passo: ligar o "monitor".Note que as etapas do algoritmo são importantes para sua realização. No exem-plo citado acima não poderíamos ligar o "Desktop" sem primeiro ligar a "fonte deenergia".

Os historiadores atribuem a origem da palavra algoritmo ao sobrenome, Al-Khwarizmi, do matemático persa do século IX Abu Jafar Mohamed ibn Musa al-Khwarizmi (�gura 3.1). Suas obras foram traduzidas no ocidente cristão no séculoXII, tendo uma delas recebido o nome Algorithmi de numero indorum, sobre osalgoritmos usando o sistema de numeração decimal (indiano).

Figura 3.1: Fonte:http://www.brasilescola.com/biogra�a/abu-jafar-mohamed-ibn-

musa.htm

Na matemática, os algoritmos aparecerem por toda a história, os utilizados pararealizar as operações básicas são os mais antigos e utilizados nosso dia-a-dia, dentreos quais destacamos o algoritmo para calcular o MDC de dois ou mais númerosdesenvolvido por Euclides de Alexandria (�gura 3.2), considerado o mais antigo dahistória.

Um estudante no Ensino Fundamental ou Médio depara-se com vários algoritmosdurante sua vida, fora os já citados anteriormente. Podemos destacar aqueles quesão utilizados diversas vezes na resolução de problemas no Ensino Fundamental eMédio. Veremos a seguir exemplos de algoritmos que os alunos aprendem no decorrerdas séries que estudam.

27

Page 40: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

Figura 3.2: Fontehttp://www.infoescola.com/biogra�as/euclides/

1. ALgoritmo Euclidiano do MDC - Sexto Ano do Ensino Fundamental

O algoritmo é composto de uma tabela com 3 linhas, sendo a do meio compostapelos dois números e depois os restos da divisão euclidiana desses números eassim sucessivamente, a primeira linha é composta pelos resultados dessasdivisões e a terceira linha é composta pelos restos das divisões, até chegar nonúmero zero. Feito isso o mdc entre os dois números será o último número dasegunda linha quando chegamos no resto zero.

Exemplo: Para calcular mdc(143,17), fazemos

8 2 2 3143 17 7 3 17 3 1 0

Portanto, mdc(143,17)=1 �

2. Regra de Três Composta - Sétimo Ano do Ensino Fundamental

A regra de três composta é um algoritmo utilizado para resolver problemasque envolvem três ou mais grandezas, sejam elas diretamente ou inversamenteproporcionais. O algoritmo é composto dos seguintes passos:

1o passo : isolamos a grandeza que contém o termo desconhecido e ordena-mos as demais grandezas;

2o passo : veri�camos se a grandeza do termo desconhecido é diretamente ouinversamente proporcional às demais grandezas proporcionais, e o fare-mos, sempre levando em conta que a grandeza não envolvida é constante;

28

Page 41: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

3o passo : utilizamos as seguintes propriedades para encontrar o termo des-conhecido:

I- Se uma grandeza X é diretamente proporcional a duas ou mais gran-dezas A, B, C, D, ... ela será diretamente proporcional ao produto dasmedidas dessas grandezas A, B, C, D, ...

II - Se uma grandeza X é diretamente proporcional a A, B, C, ... e in-versamente proporcional a M, N, P, ..., ela será diretamente proporcionalao produto das medidas de A, B, C, ... pelo produto dos inversos dasmedidas de M, N, P, ... .

Exemplo: Para se alimentar 18 porcos por um período de 20 dias são neces-sários 360 kg de farelo de milho. Quantos porcos podem ser alimentados com500 kg de farelo durante 24 dias?

1o passo : isolando a grandeza que contém o termo desconhecido e ordenandoas demais grandezasnúmero de porcos tempo (dias) quantidade de farelo (kg)

18 20 360x 24 480

2o passo : veri�cando se a grandeza quantidade de porcos é diretamente ouinversamente proporcional às demais grandezas,

I - As grandezas número de porcos e tempo são inversamente proporcio-nais, já que, quanto mais porcos comerem menos tempo durará o estoquede farelo de milho.

II - As grandezas número de porcos e quantidade de farelo são diretamenteproporcionais, já que, quanto mais porcos, mais farelo será necessário paraalimentá-los.

3o passo : Como a grandeza quantidade de farelo é diretamente proporcionale a grandeza tempo é inversamente proporcional à grandeza quantidadede porcos, esta será diretamente proporcional ao produto das medidasquantidade de farelo e o inverso da medida que exprime o tempo. Assim,teremos

18

x=

1

20· 360

1

24· 480

⇒ 18

x=

24 · 360

20 · 480⇒ x = 20.

Portanto, podem ser alimentados 20 porcos. �

3. Quadrado da Soma e da Diferença de Dois Termos - Oitavo Ano doEnsino Fundamental

29

Page 42: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

Um binômio elevado ao segundo expoente é desenvolvido utilizando o seguintealgoritmo:

1o passo: Calcula-se o primeiro monômio elevado ao expoente dois;

2o passo: Calcula-se o dobro do produto entre o primeiro monômio e o se-gundo monômio;

3o passo: Calcula-se o segundo monômio elevado ao expoente dois.

Exemplo: Desenvolvendo (2x+ 3y)2 temos:

1o passo(2x)2 = (2)2(x)2 = 4x2

2o passo2(2x)(3y) = 12xy

3o passo(3y)2 = (3)2(y)2 = 9y2

Portanto o desenvolvimento é 4x2 + 12xy + 9y2. �

4. - Fórmula de Báskara-Nono Ano do Ensino Fundamental

Dada uma equação que pode ser escrita na forma reduzida

ax2 + bx+ c = 0, com a 6= 0. (3.1)

Encontramos suas raízes usando um algoritmo conhecido como "fórmula deBáskara", seguindo os seguintes passos:

1o passo: determinamos os valores dos coe�cientes a, b e c;

2o Passo: calculamos o valor do discriminante, representando pela letra grega∆, usando a fórmula

∆ = b2 − 4 · a · c

3o passo: usamos a fórmula

x =−b±

√∆

2 · apara determinar as duas possíveis raízes da equação 3.1, uma denominadax1, usando o valor positivo de

√∆, e a outra x2 usando o valor negativo

de√

Exemplo: Resolvendo a equação x2 − 5x + 6 = 0 pela fórmula de báskara,obtemos:

30

Page 43: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

1o passo Determinando os coe�cientes:

a = 1; b = −5; c = 6

2o passo Calculando o discriminante:

∆ = (−5)2 − 4 · (1) · (6) = 25− 24 = 1

2o passo encontrando as raízes:

x =−(−5)±

√1

2 · (1)=

5± 1

2

x1 =5 + 1

2=

6

2= 3 e x2 =

5− 1

2=

4

2= 2

Portanto a solução da equação é o conjunto S = {2, 3}. �

5. Construção do grá�co de uma funçao do 1o grau - Primeiro Ano doEnsino Médio

Dada a função f(x) = a ·x+b. Para construir o grá�co da função, procedemosos seguintes passos:

1o passo : calculamos os zeros da função usando a fórmula:

x = − ba

;

2o passo : marcamos os pontos (x,0) e (0,b) no plano cartesiano;

3o passo : traçamos uma reta que passa pelos pontos marcados no grá�co.

Exemplo: construir o grá�co da função f(x) = x+ 2

1o passo : x = −21

= −2

2o passo :

3o passo :

31

Page 44: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

6. Cálculo do determinante de uma matriz de terceira ordem - SegundoAno do Ensino Médio

1o passo : escrever à direita da matriz as duas primeiras colunas da mesma;

2o passo : Somam-se então os produtos dos elementos das diagonais quepartem de cima e da esquerda;

3o passo : subtraem-se os produtos dos elementos das diagonais que partemde cima e da direita.

Exemplo: Calcular o determinante da matriz

A =

1 2 30 2 21 0 3

:

1o passo :

2o passo :1 · 2 · 3 + 2 · 2 · 1 + 3 · 0 · 0 = 10;

3o passo :−1 · 2 · 3− 0 · 2 · 1− 3 · 0 · 2 = 6.

Portanto o determinante da matriz A é 10-6=4. �

7. Distância entre Dois Pontos - Terceiro Ano do Ensino Médio

32

Page 45: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

No plano cartesiano xy a distância entre os pontos A = (xA, yA) e B = (xB, yB)é determinada pelo algoritmo:

dA,B =√

(xB − xA)2 + (yB − yA)2

Exemplo: Para determinar a distância entre os pontos A(0, 3) e B(4, 0)usamos:

dA,B =√

(4− 0)2 + (0− 3)2 =√

9 + 16 =√

25 = 5

Portanto a distância entre os pontos A e B é de 5 unidades de medida. �

A linguagem computacional é uma linguagem binária que o computador utilizapara reconhecer e armazenar os dados. Por isso o computador utiliza um algo-ritmo que transforma todos os dados existentes nele para a linguagem binária. Porexemplo, para utilizar um editor de texto, como o que está sendo utilizado neste tra-balho, o computador compila todos os caracteres digitados para a linguagem bináriautilizando algoritmos que, devido a sua complexidade, não serão mostrados.

3.1.2 Criptogra�a

Quando queremos trocar informações sigilosas, precisamos escrevê-las de umaforma que só quem vai receber a informação entenda. Para fazê-lo, a pessoa podeutilizar uma linguagem que deve ser simples para ele mas para os outros é muitodifícil de entender.

Segundo [6], criptogra�a é de�nida da seguinte forma:

Substantivo feminino1. conjunto de princípios e técnicas empregadas para cifrar a escrita,torná-la ininteligível para os que não tenham acesso às convenções com-binadas; criptologia2. em operações políticas, diplomáticas, militares, criminais etc., modi�-cação codi�cada de um texto, de forma a impedir sua compreensão pelosque não conhecem seus caracteres ou convenções.

Temos que quanto maior a di�culdade de descobrir a criptogra�a utilizada, maisseguro é o algoritmo utilizado para escrevê-la. Quando descobrimos o algoritmo decriptogra�a, dizemos que "quebramos" esse algoritmo. Fazer isso é um trabalhomuito difícil, dependendo do algoritmo. Note que quebrar um algoritmo de cripto-gra�a signi�ca descobrir os segredos de uma pessoa ou empresa, senhas, contratos,transações, entre outras coisas, por isso os algoritmos de criptogra�a precisam serseguros. Veremos a seguir alguns exemplos de algoritmos de criptogra�a que sãofáceis de quebrar.

33

Page 46: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

Leonardo da Vinci (�gura 3.3) é considerado por vários o maior gênio da história,devido a sua multiplicidade de talentos para ciências e artes, sua engenhosidade ecriatividade, além de suas obras polêmicas. O escritor americano Dan Brow (�gura3.4) escreveu em seu livro "O Código Da Vince" que quando Leonardo da Vinciescrevia seus projetos no seu diário ele usava um algoritmo bastante simples, bastavaescrever as letras ao contrário, dessa forma quem pegasse seu diário não entendia oque estava lendo, mas para Leonardo da Vinci bastava colocar um espelho sobre odiário para ler o projeto desejado.

Figura 3.3: Fonte:http://www.leonardodavinci.net/images/leonardo-da-vinci.jpg

Figura 3.4: Fonte:http://blog.bookstellyouwhy.com/Portals/237126/images/dan-

%20brown.jpg

Em outro livro escrito por ele, chamado "Fortaleza Digital", Dan Brow escreveusobre outro algoritmo de criptogra�a muito simples: bastava escrever uma palavrausando a próxima letra do alfabeto de cada letra da palavra, por exemplo, paraescrever o texto "matematica" era necessário escrever "nbufnbujdb".

Na área militar, a criptogra�a é bastante utilizada para trocar informações se-

34

Page 47: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

cretas entre as tropas. A Segunda Guerra Mundial foi uma das que mais foramutilizados algoritmos de criptogra�a, eles serviram para organizar o Dia D sem queos alemães suspeitassem de nada, contribuindo assim para a vitória do bloco dosAliados. A segurança do algoritmo de criptogra�a utilizado pelas forças armadas éde fundamental importância para o sucesso de uma campanha militar, as informa-ções são trocadas constantemente e podem ser interceptadas pelas forças inimigas,por isso a utilização desses algoritmos foi muito difundido na área militar.

Com a aparição da internet, a troca de mensagens entre pessoas ou empresaspassou a ser realizada de uma forma muito rápida e intensa, porém, essas mensa-gens podem ser interceptadas por qualquer pessoa com um pequeno conhecimentocomputacional. Por isso, foram desenvolvidos sistemas de criptogra�a, tambémconhecidos como "Criptossistemas", para que as informações fossem mantidas emsegredo.

Daremos início agora ao estudo de alguns sistemas de criptogra�a que utilizamo conceito de "chave pública", também conhecidos como "algoritmos assimétricos".Esses criptossistemas são bastante utilizados no mundo digital por sua funcionali-dade e di�culdade de serem quebrados.

3.2 Sistemas de Criptogra�a de chave pública

Os criptossistemas de chave pública apareceram para resolver o problema de se-gurança na troca de informações pela internet, principalmente os de autenticação eintegridade. Eles propõem um modelo onde são utilizadas duas chaves, uma paracifrar e outra para decifrar as mensagens. Em um cenário típico, um emissor usaa chave pública do receptor para criptografar uma mensagem. Apenas o receptorpossui a chave particular relacionada para descriptografar a mensagem. A comple-xidade da relação entre a chave pública e a chave particular signi�ca que, contantoque as chaves tenham o comprimento necessário, é impraticável, em termos compu-tacionais, determinar uma a partir da outra.

A ideia utilizada é simples, na troca de mensagens cada usuário possui um parde chaves, uma particular e outra pública, de tal forma que quando uma mensagemé cifrada pela chave pública ela só pode ser decifrada pela chave particular, emtermos matemáticos, a chave pública é uma função f(x) e a chave particular é afunção inversa f−1(x) da chave pública. Esse esquema é ilustrado na �gura 3.5.

Dessa forma, quando as chaves são conhecidas, as mensagens são decifradas deuma forma fácil e rápida, mas se não for conhecida uma das chaves, em especial aparticular, a mensagem torna-se praticamente impossível de ser decifrada em tempohábil. O tempo necessário para decifrar um criptossistema é determinado por [12]da seguinte forma:

35

Page 48: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

Figura 3.5: Esquema do Algoritmo Assimétrico (construção do próprio autor)

1. Seja n o comprimento de entrada de um algoritmo A;

2. O algoritmo A é de tempo polinomial se a função t(n) do tempo de execuçãono pior caso de A é tal que t(n) = O(nk) para um constante k;

3. O algoritmo A é de tempo exponencial se não existe constante k tal que t(n) =O(nk).

Conclui-se com isso que um criptossistema de tempo polinomial é mais fácil dequebrar do que o de tempo exponencial, porém o tempo necessário para quebrar umcriptossistema de tempo polinomial pode ser tão grande que se torna praticamenteimpossível, até mesmo para um pesquisador especializado.

Os algoritmos de chave pública geralmente baseiam-se no "problema do logaritmodiscreto" citado no �nal do segundo capítulo. Os pesquisadores Whit�eld Di�e eMartin Hellman foram os primeiros a propor o modelo de criptogra�a de chavepública, em 1976. O criptossistema desenvolvido por eles será mostrado a seguir.

3.2.1 O Sistema Di�e-Hellman

Whit�eld Di�e (�gura 3.6) e Martin Hellman (�gura 3.7) desenvolveram seucriptossistema utilizando o conceito do problema do logaritmo discreto citado no �-nal do Capítulo 2, os dois propuseram que na troca de informações de dois usuáriosu1 e u2, onde cada um possui uma chave secreta ki1 e ki2, respectivamente, dessaforma eles criarão uma chave particular kij da seguinte forma. Primeiramente elesdevem escolher um parâmetros público, nesse caso um número primo p extrema-mente grande (com aproximadamente 100 dígitos) e um número q tal que

mdc(p, q) = 1.

36

Page 49: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

Figura 3.6:

Fonte:

http://www.enterprisemobilehub.com/sites/default/�les/featured_img/whitdi�ephoto.jpg

Figura 3.7: Fonte:http://www-ee.stanford.edu/ hellman/

A seguir o usuário u1 calcula

kc1 ≡ qki1(mod p)

e envia kc1 para u2, este por sua vez calcula

kc2 ≡ qki2(mod p)

e envia kd2 para u1. Finalmente eles calculam

kij ≡ qki1·ki2(mod p)

37

Page 50: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

≡ ki2c1(mod p)

≡ ki1c2(mod p).

Dessa forma, os dois usuários conseguem cifrar e decifrar a mensagem.Para uma pessoa que não conhece as duas chaves particulares quebrar esse crip-

tossistema, é preciso fazê-lo através de tentativa e erro, esse trabalho é di�cultadoainda pelo fato do número primo possuir 100 dígitos ou mais.

Veremos agora um dos criptossistemas mais utilizados na atualidade, pela suasimplicidade e impossibilidade de ser quebrado até agora.

3.2.2 Criptosistema RSA

Figura 3.8: Fonte:http://www.umsl.edu/ siegelj/information_theory/RSA.jpg

Os professores do Instituto de Tecnologia de Massachusetts (em inglês, Massa-chusetts Institute of Technology, MIT) Ronald Rivest, Adi Shamir e Leonard Adle-man (�gura 3.8) criaram em 1978 o criptossistema RSA, iniciais dos sobrenomes dostrês professores. Esse criptossistema é o mais utilizado no mundo e possui váriostrabalhos explicando seu funcionamento. A ideia do Criptossistema é apresentadaa seguir.

Cada usuário ui escolhe dois números primos distintos extremamente grandes pie qi e aleatoriamente um número ti tal que

mdc(ti, (pi − 1)(qi − 1)) = 1.

A seguir ui calculani = pi · qi.

Em seguida temos

φ(ni) = φ(pi)φ(qi) = ni + 1− (pi + qi)

38

Page 51: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo e Criptogra�a Capítulo 3

e tambémri ≡ t−1i (mod φ(ni)).

Note queri ≡ t−1i (mod φ(ni))⇔ riti ≡ 1(mod φ(ni)).

Feito isso, o usuário ui torna público a chave de codi�cação

kc,i = (ni, ti)

e mantém a chave particularkd,i = (ni, ri).

Note que a chave particular depende de ri e caso alguém queira descobrir portentativas essa chave, terá que testar todos os possíveis restos da divisão de t−1i porni, por isso quanto maiores os números primos pi e qi mais difícil é descobrir a chaveparticular kd,i = (ni, ri).

Veremos agora outro criptossistema baseado em logaritmos discretos, o algoritmode criptogra�a ElGamal. Faremos um estudo mais detalhado desse criptossistema,mostrando exemplos e apresentando as di�culdades em tentar quebrá-lo.

39

Page 52: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Capítulo 4

Algoritmo de Criptogra�a ElGamal

Figura 4.1: http://www.certicom.com/index.php/dr-taher-elgamal

O egípcio Taher ElGamal (�gura 4.1) desenvolveu em 1984 seu criptossistemabaseado no problema do logaritmo discreto, ou seja, ele baseou-se na di�culdade decalcular logaritmos discretos com elementos de um grupo cíclico �nito G. Vimosque em 1976, Whit�eld Di�e e Martin Helmann desenvolveram um criptossistemabaseado no mesmo conceito, por isso a detentora da patente do criptossistema Di�e-Helmann reclamou os direitos para licenciar seu uso.

4.1 O Algoritmo de Criptogra�a ElGamal

Vamos mostrar como funciona esse criptossistema, explicando cada passo doalgoritmo usando como base o artigo [2], escrito pelo próprio Taher ElGamal, e asnotas de aula do professor Pedro Quaresma [9].

40

Page 53: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo de Criptogra�a ElGamal Capítulo 4

Para começar, o usuário A deve criar uma chave particular xA e outra públicayA para que o usuário B possa utilizar yA para criptografar uma mensagem m e ousuário A descriptografar m usando xA.

O usuário A cria a chave particular e a pública da seguinte forma:

1. A escolhe um número primo p de grande dimensão, dessa forma ele trabalharácom o grupo cíclico Z∗p;

2. Agora A escolhe g ∈ Z∗p, de preferência uma raiz primitiva desse grupo cíclico;

3. A chave particular de A é o número k ∈ Z tal que 1 ≤ k ≤ p− 1;

4. A calcular ≡ gk(mod p). (4.1)

Dessa forma A cria a chave pública (r, g, p).

Observação 5 Note que para algum intruso determinar a chave particular k ele

deve calcular

k = logg;pr.

É justamente nesse ponto que aparece o "problema do logaritmo discreto".

Para o usuário B criptografar uma mensagem m ele utiliza a chave pública(r, g, p) e realiza os seguintes passos:

1. B escolhe um inteiro b, 1 ≤ b ≤ p− 2 para ser sua chave particular e calcula

s ≡ gb(mod p); (4.2)

2. Para criptografar a mensagem m, B calcula:

γ ≡ m · rb(mod p); (4.3)

3. A mensagem cifrada é representado pelo par (s, γ).

Quando A recebe o par (s, γ) de B, segue o seguinte procedimento para descrip-tografar a mensagem:

1. A Calculay ≡ sp−1−k(mod p). (4.4)

Note que para isso ele usa sua chave particular k;

2. Para descriptografar a mensagem A calcula

m ≡ y · γ(mod p). (4.5)

Com isso A recupera a mensagem m.

41

Page 54: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo de Criptogra�a ElGamal Capítulo 4

4.1.1 Veri�cando a autenticidade do algoritmo

Vamos veri�car agora a autenticidade do algoritmo de criptogra�a ElGamal.para isso, vamos mostrar que a equação 4.5 é satisfeita. De 4.4 temos que

y ≡ sp−1−k(mod p)⇒ y ≡ sp−1 · s−k. (4.6)

Pelo Teorema 16 na página 11 temos que

sp−1 ≡ 1(mod p)

e por 4.2 podemos escrever 4.6 da seguinte forma:

y ≡ g−bk(mod p). (4.7)

Agora por 4.3 podemos escrever 4.5 da seguinte forma:

m ≡ m · rb · g−bk,

mas por 4.1, temos

m ≡ m · gbk · g−bk(mod p)⇒ m ≡ m(mod p).

Veremos a seguir um exemplo numérico explicando os passos citados no Algo-ritmo de ElGamal. Para simpli�car as contas trabalharemos com um número primopequeno.

Exemplo: Trocando uma mensagem usando o Criptossistema ElGamal

Vamos começar escolhendo o número primo p = 29, dessa forma iremos trabalharcom o grupo Z∗29 = {1, 2, 3, . . . , 28}, escolhemos agora um elemento desse grupo, porexemplo g = 3. Vamos utilizar o número 20 como mensagem m a ser assinada.

O usuário A escolhe um número para ser sua chave particular, por exemplok = 10 e realiza o seguinte cálculo:

r = gk(mod p) = 310(mod 29) = 5

Com isso o usuário A cria a chave pública (5, 3, 29).O usuário B escolhe outro número para ser sua chave particular, por exemplo

b = 13, e calcula:s = 313(mod 29) = 19

A mensagem m = 20 é criptografada por B da seguinte forma:

γ = 20 · 513(mod 29) = 4

42

Page 55: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo de Criptogra�a ElGamal Capítulo 4

Com isso o usuário B manda a mensagem criptografada para A através do par(s, γ) = (5, 4).

A mensagem é então descriptografada pelo usuário A fazendo primeiro

y ≡ sp−1−k(mod 29) = 1929−1−10(mod 29) = 1918(mod 29) = 5

Depois

m = y · γ(mod 29) = 5 · 4(mod 29) = 20(mod 29) = 20.

Dessa forma a mensagem criptografa e descriptografa foi transmitida utilizando ocriptossistema ElGamal. �

4.2 Possíveis Ataques ao Criptossistema

No mesmo trabalho [2], ElGamal mostrou alguns dos possíveis ataques que al-guém pode realizar para quebrar seu criptossistema. Eles dividem-se em dois grupos:

1. Recuperar a chave particular xA;

2. Forjar assinaturas sem recuperar a chave particular xA.

4.2.1 Recuperando a chave particular xA

Dados {mi : i = 1, 2, . . . i} documentos, em conjunto com as assinaturas cor-respondentes {(si, γi) : i = 1, 2, . . . , i}, um intruso pode tentar resolver i equaçõesda forma (4.1). Temos que existem i + 1 incógnitas (uma vez que cada assinaturautiliza uma diferente chave particular bi), o sistema de equações é indeterminado eo número de soluções é grande. A razão é que para cada valor de k origina umasolução para os bi de um sistema de equações lineares, com uma matriz diagonalde coe�cientes que irão resultar. Uma vez que p é escolhido para ser um númeromuito grande de caracteres, recuperar k requer um número exponencial de paresmensagens-assinatura.

Tentar resolver equações da forma (4.1) é sempre equivalente ao cálculo de loga-ritmos discretos sobre Z∗p.

Se uma chave particular k é usada duas vezes na assinatura, o sistema de equaçõestorna-se possível e determinado e a mensagem m pode ser recuperada. Assim, parao sistema ser seguro, qualquer valor de k não pode ser usado mais de uma vez.Esse fato contribuiu para que o criptossistema ElGamal fosse considerado fácil dequebrar.

43

Page 56: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Algoritmo de Criptogra�a ElGamal Capítulo 4

4.2.2 Forjando assinaturas sem recuperar a chave particular

Dado um documento m, um falsi�cador pode tentar encontrar (s, γ) de tal modoque (4.5) é satisfeita. Se s ≡ gj (mod p) é �xado para algum j escolhido aleatoria-mente, então o cálculo de γ é equivalente a resolver o problema do logaritmo discretosobre Z∗p.

Se o falsi�cador �xa γ primeiro, então s pode ser calculado a partir da equação

yrrs ≡ A (mod p) (4.8)

Resolver (4.8) para s não é fácil, provou-se ser pelo menos tão difícil quantoresolver o problema do logaritmo discreto, mas acredita-se que não é possível resolver(4.8) em tempo polinomial.

Outra forma de atacar o criptossistema é tentar resolver (4.5) para ambos s e γsimultaneamente, mas ainda não apareceu um algoritmo e�ciente para fazer isso emtempo polinomial.

Com isso concluímos a abordagem matemática do criptossistema ElGamal.No próximo capítulo apresentaremos uma sequência de atividades que os pro-

fessores do 1o ano do Ensino Médio podem trabalhar em sala de aula. Entre elesapresentamos outro exemplo do Criptossistema de ElGamal que pode ser trabalhadocom estudantes desse nível de ensino.

44

Page 57: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Capítulo 5

Atividades para sala de aula

Neste capítulo apresentamos uma sequência de atividades didáticas, que podemser utilizadas pelos professores de matemática em sala de aula, para estimular osalunos da 1o ano do Ensino Médio ao aprendizado de teoremas e de�nições complexosdo Ensino Superior. Através de algoritmos simples tentamos incentivar aquelesalunos que desejam seguir com os estudos da matemática no Ensino Superior, bemcomo mostrar o criptossistema ElGamal, com um exemplo simples para os alunos quese interessam pela linguagem computacional, ou aqueles que gostariam de entendero método utilizado na troca de mensagens particulares criptografadas.

5.1 Algoritmos para aprender Teoremas e De�ni-

ções

5.1.1 Atividade 1 - Determinando uma raiz primitiva de Z∗pNo primeiro Capítulo deste trabalho mostramos algumas propriedades dos gru-

pos cíclicos Z∗p. Nessa atividade propomos um algoritmo simples que "encontra" oselementos desse grupo cíclico. Para facilitar o entendimento da mesma, não utiliza-remos a linguagem usada no trabalho, mas uma linguagem mais simples. Para issousaremos cálculos de potenciação e divisão de números naturais.

AtividadeVeri�car se as potências de 3 quando divididas por 7 determinam todos os possí-

veis restos da divisão de um número natural por 7. Primeiro vamos calcular algumaspotências de 3. Para isso propomos a utilização de uma calculadora cientí�ca (�gura

45

Page 58: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

5.1) disponível na internet pelo site http://www.calculadoraonline.com.br/cienti�capara facilitar as contas. Serão utilizados os dois bot�es assinalados na �gura abaixo.

Figura 5.1: Calculadora Cientí�ca

Primeiro apertamos o botão destacado acima xa ("x" elevado a "a") para cal-cular potências depois apertamos no 3 e �nalmente no número que representa oexpoente. Encontramos dessa forma os seguintes resultados:

31 = 3

32 = 9

33 = 27

34 = 81

35 = 243

36 = 729

37 = 2187

38 = 6561

39 = 19683

46

Page 59: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

310 = 59049

311 = 177147

312 = 531441.

Agora, apertando no outro botão destacado mod (Resto da divisão), calculamoscom isso os restos da divisão de cada resultado por 7, obtemos com isso os seguintesresultados:

3(mod7) = 3

9(mod7) = 2

27(mod7) = 6

81(mod7) = 4

243(mod7) = 5

729(mod7) = 1

2187(mod7) = 3

6561(mod7) = 2

19683(mod7) = 6

59049(mod7) = 4

177147(mod7) = 5

531441(mod7) = 1.

A partir daí, o professor consegue mostrar que os próximos números irão repetir-se na ordem {3,2,6,4,5,1}, ou seja, os números repetem-se de forma "cíclica" e essesnúmeros são todo os possíveis restos da divisão euclidiana de um número naturalpor 7. Dessa forma o aluno pode aprender que as potências de 3 "determinam"todos os possíveis restos da divisão euclidiana de um número natural por 7 e essesnúmeros são determinados numa determinada ordem.

Com base no exemplo acima o professor pede aos alunos para fazer o seguinteexercício:

1. Veri�car se as potências de 5, quando divididos por 7, determinam todos ospossíveis restos dessa divisão euclidiana;

2. fazer uma tabela contendo as potências de 5 e os restos da divisão euclidianadessas potências por 7;

3. Existem números naturais entre 1 e 7 cujas suas potências não determinamtodos os possíveis restos da divisão euclidiana por 7? Quais são esses números?

47

Page 60: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

Objetivo Geral

Apresentar teoremas e de�nições abstratas aos alunos do Ensino Fundamentale Médio através de cálculos básicos e incentivar o estudo da matemática do EnsinoSuperior.

Objetivos Especí�cos

• Calcular as potências de um número natural;

• Determinar o resto da divisão euclidiana entre dois números naturais;

• Reconhecer o comportamento cíclico de determinados conjuntos numéricosquando utilizamos algumas operações básicas;

• Construir tabelas com os dados apresentados;

Público Alvo

Estudantes do 1o ano do Ensino Médio, segundo os Parâmetros Curriculares Na-cionais (PCN).

Pré-requisitos

Os alunos deverão saber usar o algoritmo euclidiano da divisão para determinaro resto da divisão entre dois números naturais, bem como calcular as potências deum número natural.

Materiais Utilizados

Os materiais utilizados nessa atividade são lápis, borracha, folha contendo a ati-vidade, um computador com acesso a internet para acessar o site ou uma calculadoracientí�ca, e um projetor multimídia (datashow) para o docente mostrar como utili-zar a calculadora cientí�ca para realizar os cálculos.

Recomendações Metodológicas

Esta atividade será aplicada num laboratório de informática com acesso a inter-net ao �nal do conteúdo de potenciação. Os alunos responderão as atividades emdupla e, posteriormente, se reunirão com os demais colegas para discutir os resulta-dos obtidos. Ao término da discussão, o docente responderá a atividade ou poderá

48

Page 61: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

propor aos alunos responderem com o auxílio do datashow.

Di�culdades Previstas

As di�culdades, que poderão surgir ao longo desta atividade, são aquelas referen-tes ao assunto divisão de números naturais, pois estudos comprovam a di�culdadesdos alunos em todo o país com relação a esse conteúdo. O professor ao andar pelolaboratório pode ver o andamento das atividades e poderá ajudar os alunos queapresentarem essa di�culdade.

Possíveis Continuações ou Desdobramentos

O docente poderá utilizar outros valores para o número primo e a base da po-tência. Assim como optar por não usar a calculadora cientí�ca para que os alunosfaçam os cálculos no papel disponibilizado no material de apoio.

5.1.2 Atividade 2 - Calculando Logaritmos Discretos

No segundo Capítulo deste trabalho mostramos como calcular logaritmos discre-tos no grupo cíclico Z∗p. Nessa atividade propomos o cálculo do logaritmo discretode um número b na base a; p, ou seja

loga;pb

AtividadeCalcular log2;137. Realizar esse cálculo é o mesmo que determinar x tal que 2x ≡

7(mod 13). Primeiro deve-se calcular as potências de 21 até 212.

21 = 2

22 = 4

23 = 8

24 = 16

25 = 32

26 = 64

27 = 128

28 = 256

29 = 512

49

Page 62: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

210 = 1024

211 = 2048

212 = 4096.

Agora determinando os restos da divisão dos resultados acima por 13, obtemosos seguintes valores:

2 ≡ 2(mod 13)

4 ≡ 4(mod 13)

8 ≡ 8(mod 13)

16 ≡ 3(mod 13)

32 ≡ 6(mod 13)

64 ≡ 12(mod 13)

128 ≡ 11(mod 13)

256 ≡ 9(mod 13)

512 ≡ 5(mod 13)

1024 ≡ 10(mod 13)

2048 ≡ 7(mod 13)

4096 ≡ 1(mod 13).

A partir daí, o professor consegue mostrar que log2;137 = 11, pois 211 ≡ 7(mod 13).Com base no exemplo acima o professor pede aos alunos para fazer o seguinte

exercício:

1. Utilizando o esquema de �echas represente por meio de diagramas o logaritmodiscreto de cada um dos números naturais menores do que 13 na base 2 comrelação ao resto da divisão euclidiana por 13;

2. Veri�que quais propriedades dos logaritmos de um número real são válidaspara os logaritmos discretos tendo como base log2;13b;

3. Se mudarmos a base do logaritmo discreto, o logaritmo de um número podenão existir. Mostre um exemplo de um número que não possui logaritmodiscreto numa determinada base.

50

Page 63: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

Objetivo Geral

Apresentar teoremas e de�nições abstratas aos alunos do Ensino Fundamentale Médio através de cálculos básicos e incentivar o estudo da matemática do EnsinoSuperior.

Objetivos Especí�cos

• Calcular o logaritmo discreto de um número b na base a com relação ao restoda divisão euclidiana de um número por um número primo p;

• Determinar o resto da divisão euclidiana entre dois números naturais;

• Retomar a ideia de diagramas por meio do esquema de �echas;

• Identi�car quais propriedades os logaritmos discretos possuem;

• Relacionar a existência do logaritmo discreto de um número com o fato daspotências da base determinarem todos os possíveis restos da divisão euclidianade um número por outro;

Público Alvo

Estudantes do 1o ano do Ensino Médio, segundo os Parâmetros Curriculares Na-cionais (PCN).

Pré-requisitos

Essa atividade deve ser realizada após a primeira atividade proposta anterior-mente, portanto os pré-requisitos dela são os mesmos. Eles deverão saber tambémas propriedades do logaritmo de um número real.

Materiais Utilizados

Os materiais utilizados nessa atividade são lápis, borracha e folha contendo aatividade. O docente pode utilizar um computador com acesso a internet para aces-sar o site da calculadora cientí�ca e facilitar alguns cálculos.

Recomendações Metodológicas

Esta atividade será aplicada em sala de aula ao �nal do conteúdo de função loga-rítmica. Os alunos responderão as atividades em dupla e, posteriormente, se reunirão

51

Page 64: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

com os demais colegas para discutir os resultados obtidos. Ao término da discussão,o docente responderá a atividade ou poderá propor aos alunos responderem na lousa.

Di�culdades Previstas

As di�culdades, que poderão surgir ao longo desta atividade, são aquelas refe-rentes ao assunto função logarítmica e divisão de números naturais, pois estudoscomprovam a di�culdades dos alunos em todo o país com relação a esses conteúdos.O professor ao andar pela sala e ver o andamento das atividades poderá ajudar osalunos que apresentarem essa di�culdade.

Possíveis Continuações ou Desdobramentos

O docente poderá utilizar outros valores para o número primo e a base do loga-ritmo. Dependendo do número primo escolhido, recomendamos o uso do algoritmode Silver, Pohlig e Hellman na Seção 2.2 página 21. Ele pode também utilizar aprimeira atividade proposta nesse capítulo para familiarizar o aluno com algunscálculos e de�nições que serão realizados.

5.1.3 Atividade 3 - O Criptossistema ElGamal em sala de

aula

No quarto Capítulo deste trabalho apresentamos o "Algoritmo de Criptogra�aElGamal" para criptografar e descriptografar mensagens. Nessa atividade propomosum exemplo de como podemos utilizar esse algoritmo.

Atividade

Dois alunos A e B precisam trocar uma senha numérica via mensagem que serácriptografada e descriptografada por eles. Iremos utilizar o número primo p = 31 eo número g = 3 como sendo a base das potências.

O aluno A escolhe um número positivo k < 31, por exemplo k = 17, e realiza oseguinte cálculo com o auxílio de uma calculadora:

r = gk(mod p) = 317(mod 31) = 22

Dessa forma ele cria a cria a tripla ordenada (r, g, p) = (22, 3, 31).O aluno B escolhe um número positivo b < 31, por exemplo b = 15, e realiza o

seguinte cálculo com o auxílio de uma calculadora:

s = gb(mod p) = 315(mod 31) = 30

52

Page 65: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

Agora para o aluno B criptografar a senha j = 9 usando a chave pública ele realizao seguinte cálculo:

γ = j · rb(mod 31) = 9 · 2215(mod 31) = 22

O aluno B envia o par ordenado (s, γ) = (30, 22) ao aluno A que realiza osseguintes cálculos para descriptografar a mensagem:

y = sp−1−a(mod p) = 3031−1−17(mod 31) = 30

A mensagem é então descriptografada fazendo:

j = y · γ(mod 31) = 22 · 30(mod 31) = 660(mod 31) = 9

Dessa forma o aluno A determina a senha j = 9 do aluno B.Objetivo geral

Introduzir a criptogra�a em sala de aula como fator motivacional para veri�cara aprendizagem dos alunos com respeito a divisão e potenciação de números inteiros.

Objetivos especí�cos

1. Calcular o logaritmo discreto de um número b na base a com relação ao restoda divisão euclidiana de um número por um número primo p;

2. Determinar o resto da divisão euclidiana entre dois números naturais;

Público Alvo

Estudantes do 1o ano do Ensino Médio, segundo os Parâmetros Curriculares Na-cionais (PCN).

Pré-requisitos

Os alunos deverão conhecer o algoritmo da divisão de Euclides, a de�nição e pro-priedades das potências de números naturais e a de�nição e obtenção de númerosprimos.

Materiais Utilizados

Os materiais utilizados nesta atividade são lápis, borracha, calculadora cientí�cae a folha contendo a atividade.

53

Page 66: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Atividades para sala de aula Capítulo 5

Recomendações Metodológicas

Esta atividade será aplicada em sala de aula ao �nal do conteúdo de potenciaçãopara a veri�cação da aprendizagem dos alunos com relação a esse conteúdo. Os alu-nos deverão formar duplas para veri�car, utilizando a calculadora para o cálculo depotências, se conseguiram chegar a mesma chave e codi�car e decodi�car as mensa-gens transmitidas. Ao �nal desta atividade o professor deverá discutir os resultadosobtidos com os discentes, veri�cando se as mensagens foram trocadas com êxito.

Di�culdades previstas

As di�culdades, que poderão surgir ao longo desta atividade, são aquelas re-ferentes ao assunto divisão de números naturais. O professor ao andar pela sala ever o andamento das atividades poderá ajudar os alunos percebendo essa di�culdade.

Possíveis Continuações ou Desdobramentos

O docente poderá utilizar outros valores para o número primo e a base da po-tência, bem como mudar a mensagem utilizada na codi�cação e decodi�cação.

54

Page 67: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Referências Bibliográ�cas

[1] Coutinho, S. C. Criptogra�a, Rio de Janeiro: Série Computação e matemática,IMPA; (2003).

[2] ElGamal, Taher, A Public Key Cryptosystem And A Signature Scheme BasedOn Discrete Logarithms, IEEE Transactions on information, v. 31, p. 473-481(1984) Disponível em: http://groups.csail.mit.edu/cis/crypto/classes/6.857/papers/elgamal.pdf. Acesso em: 20 janeiro 2013.

[3] Garcia, Arnaldo, Elementos da Algebra/ Arnaldo Garcia, Yves Lequain. 5. ed.Rio de Janeiro : IMPA, (2008).

[4] Giovanni, José Ruy, Matemática Fundamental, 2o grau: Volume Único/ JoséRuy Giovanni, José Roberto Bonjorno, José Ruy Giovanni Jr - São Paulo: FTD,(1994).

[5] Hefez, Abramo, Elementos de Aritmética, Rio de Janeiro, SBM, (2011).

[6] Houaiss, Antonio, Dicionário Houaiss de língua portuguesa, editora ObjetivaLTDA, (2009).

[7] O'Connor, J J e Robertson, E F. Pierre de Fermat (1996). Disponível em:http://www-history.mcs.st-and.ac.uk/Biographies/Fermat.html. Acesso em 22de agosto 2013.

[8] O'Connor, J J e Robertson, E F. Leonhard Euler (1998). Disponível em:http://www-history.mcs.st-and.ac.uk/Biographies/Euler.html. Acesso em 22 deagosto 2013

[9] Quaresma, Pedro, Introdução às Cifras de Chave Pública e Cifra RSA, Ca-pítulo VI(2012), Notas de Aula, Disponível em: http://www.mat.uc.pt/ pe-dro/lectivos/CodigosCriptogra�a1213/apontamentos133a180.pdf. Acesso em:21 Janeiro 2013.

55

Page 68: A Matemática Via Algoritmo de Criptogra a ElGamaltede.biblioteca.ufpb.br/bitstream/tede/7479/5/arquivototal.pdf · A Matemática Via Algoritmo de Criptogra a ElGamal y por Glauber

Referências Bibliográficas

[10] Rezende, Pedro Antônio Dourado de, Criptogra�a e Segurança na Informá-tica, Notas de aula, (1998), Brasília: Universidade de Brasília. Disponívelem: http://www.cic.unb.br/docentes/pedro/segdados_�les/ CriptSegD.pdf .Acesso em: 20 janeiro 2013.

[11] Silva, Antônio de Andrade, Números, Relações e Criptogra�a. Departamentode Matemática - UFPB.

[12] SOUZA, Raimundo Cândido, CRIPTOGRAFIA DE CHAVE PÚ-BLICA: ALGORITMOS QUE POSSIBILITAM A CRIAÇÃODE CHAVE ASSIMÉTRICA, Trabalho de Conclusão de Curso,(2005), Brasília: Universidade Católica de Brasília. Disponível em:http://www.ucb.br/sites/100/103/TCC/22005/RaimundoCandidodeSousa.pdf. Acesso em: 21 janeiro 2013.

56