Você está na página 1de 76

Universidade Federal da Paraba

Centro de Cincias Exatas e da Natureza


Departamento de Matemtica
Curso de Ps-Graduao em Matemtica em Rede Nacional -
PROFMAT
Criptograa: abordagem histrica,
protocolo Die-Hellman e
aplicaes em sala de aula.

por
Thiago Valentim Marques
sob orientao do
Prof. Dr. Bruno Henrique Carvalho Ribeiro
Trabalho de concluso apresentado ao Corpo Docente do
Curso de Ps-Graduao em Matemtica em Rede Nacio-
nal PROFMAT CCEN-UFPB, como requisito parcial para
obteno do ttulo de Mestre em Matemtica.
Abril/2013
Joo Pessoa - PB

O presente trabalho foi realizado com apoio da CAPES


Agradecimentos
A Deus, que sempre est iluminando o meu caminho me ajudando a conquistar
vitrias.
minha famlia, pela formao, amor e incentivo nos meus estudos. Em espe-
cial, meus pais Ilo Marques (in memoriam) e Francisca Valentim, minha irm Flvia
e meus sobrinhos Joo Paulo, Sarah Karoline e Isaac Newton.
A Alyne Rayane cuja companhia me faz o homem mais feliz do mundo, sendo
minha amiga e ao mesmo tempo minha namorada, sempre propiciando momentos
maravilhosos.
Ao meu grande amigo, na verdade irmo, Thiago Antnio, pela sua amizade e
companheirismo em todos os momentos, sempre discutindo propostas que tornem o
ensino da Matemtica cada vez mais proveitoso.
Ao meu orientador, Professor Bruno Henrique Carvalho Ribeiro que props o
tema desse trabalho, acompanhou o seu desenvolvimento, fez as devidas correes
sempre disponibilizando tempo para ajudar. Enm, pela sua excelente orientao.
Aos professores Antnio de Andrade e Silva e Daniel Cordeiro de Morais Filho
pelas excelentes contribuies que foram fundamentais para a melhoria deste traba-
lho.
A todos os professores que ministraram aulas no PROFMAT na UFPB, pela de-
dicao destinada ao ensino e aprendizagem nas disciplinas ministradas, em especial
os professores Bruno Ribeiro e Napoleon Caro Tuesta.
Ao professor Carlos Alexandre Gomes pelas aulas ministradas em Natal e Joo
Pessoa que foram importantssimas para a minha aprovao nas disciplinas e no
exame de qualicao do PROFMAT.
Aos meus amigos de Mestrado na UFPB, que estiveram junto comigo nessa ca-
minhada durante os dois ltimos anos, pelo companheirismo e amizade, em especial
a Aldrin Runo, Sandro Godeiro e Andreilson Oliveira por enfrentar a estrada todos
os sbados na ida de Natal a Joo Pessoa.
Aos colegas do PROFMAT da UFRN e UFERSA, em especial Emanuel Gomes,
Fellipe Arrais, Leonardo Andrade, Gilberto Fernandes, Thiago Pardo, Jorge Pontes
e Luciano Nbrega que sempre estavam presentes nas aulas do Professor Carlos
Alexandre Gomes.
Aos Professores Aldrin Runo e Edilson, pelos ensinamentos na minha educao
bsica e inspirao para ser um professor de matemtica.
Aos professores da graduao na UFRN: Andr Gustavo, Benedito Tadeu, Gur-
gel de Melo, Antnio Roberto, Marcelo Gomes e Gabriela Lucheze, pela enorme
contribuio na minha formao.
Aos colegas de graduao na UFRN, em especial Dayvid Marques, Daniel Tei-
xeira, Jos Carlos e Marconio da Silva pelos excelentes momentos de discusso ma-
temtica e colaborao.
A Professora Teresa Paula pela sua amizade e pela correo ortogrca desse
trabalho, ao Professor Paulo Eduardo pela correo do abstract deste trabalho e ao
Professor Daniel Teixeira pelas correes em latex.
Ao pessoal do PET de Matemtica da UFRN e ao professor Marcelo Gomes.
Sociedade Brasileira de Matemtica (SBM) pela criao do Mestrado Prossi-
onal em Matemtica em Rede Nacional (PROFMAT) dando oportunidade para que
professores da educao bsica possam melhorar os seus conhecimentos matemticos.
Coordenao de Aperfeioamento de Pessoal de Nvel Superior (CAPES) pela
bolsa concedida.
Dedicatria
Dedico este trabalho s duas pessoas que foram funda-
mentais no apoio aos meus estudos: meu pai, Ilo Mar-
ques Bezerra (in memoriam) e minha me, Francisca
Valentim da Silva Bezerra, que, desde 2004, assumiu,
com extremo amor e responsabilidade, o papel de ambos.
Epgrafe
No h ramo da Matemtica, por mais abstrato que
seja, que no possa um dia vir a ser aplicado aos
fenmenos do mundo real. (Lobachevsky)
Resumo
Neste trabalho, vamos estudar a evoluo da criptograa ao longo da histria;
analisar a diferena entre as criptograas simtricas e assimtricas; enunciar de-
nies e teoremas sobre relaes binrias, teoria dos grupos, razes primitivas e
logaritmos discretos; entender o procedimento do protocolo da troca de chaves de
Die-Hellman; e, na parte nal deste trabalho, iremos propor trs atividades para
serem aplicadas em sala de aula.
Palavras chaves: criptograa, sigilo, Die-Hellman, logaritmos discretos, ra-
zes primitivas, matemtica, segurana.
vii
Abstract
In this paper we are studying cryptographys evolution throughout history; analy-
zing the dierence between symmetric and asymmetric cryptographies; enunciating
denitions and theorems about binary relations, group theories, primitive roots and
discrete logarithms; understanding the procedure of Die-Hellmans key change pro-
tocol. In the last part in this work, we are proposing three activities to be applied
in classroom.
Keywords: cryptography; secrecy; Die-Hellman; discrete logarithms; primi-
tive roots; mathematics; safety.
viii
Sumrio
Lista de Figuras xi
1 A evoluo da criptograa ao longo da histria 1
1.1 Herdoto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 A cifra de Csar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Criptoanalistas rabes . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 A cifra de Vigenre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Mquinas de cifragem . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Criptograa nos computadores . . . . . . . . . . . . . . . . . . . . . . 15
1.6.1 Criptograa simtrica . . . . . . . . . . . . . . . . . . . . . . 15
1.6.2 Criptograa assimtrica . . . . . . . . . . . . . . . . . . . . . 17
2 Das relaes binrias aos logaritmos discretos 20
2.1 Relaes binrias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Domnio, imagem e relao inversa . . . . . . . . . . . . . . . . . . . 21
2.3 Relaes de equivalncia . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Classes de equivalncia e conjunto quociente . . . . . . . . . . . . . . 23
2.5 Funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Grupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 Grupos Cclicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.8 Razes primitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.9 Logaritmos discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3 Criptograa Die-Hellman 42
3.1 Um pouco de histria . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 O problema da distribuio das chaves . . . . . . . . . . . . . . . . . 45
3.3 O uso das funes na troca de chaves . . . . . . . . . . . . . . . . . . 46
3.4 A protocolo das trocas de chaves de Die-Hellman . . . . . . . . . . 48
ix
4 Atividades com criptograa em sala de aula 52
4.1 Atividade 1 - A utilizao das funes na Criptograa . . . . . . . . . 52
4.2 Atividade 2 - O uso das matrizes na Criptograa . . . . . . . . . . . . 55
4.3 Atividade 3 - A criptograa Die-Hellman em sala de aula . . . . . . 58
Referncias Bibliogrcas 61
Lista de Figuras
1.1 Busto de Herdoto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Cabea colossal do imperador Jlio Csar . . . . . . . . . . . . . . . . 3
1.3 Cifra de Csar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Imagem artstica de Al-Kindi . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Frequncia das letras na lngua portuguesa . . . . . . . . . . . . . . . 7
1.6 Frequncia das letras no texto cifrado . . . . . . . . . . . . . . . . . . 7
1.7 Blaise de Vigenre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.8 Cifra de Vigenre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9 Cifragem da frase invadir a cidade . . . . . . . . . . . . . . . . . . . 13
1.10 Disco de cifras utilizado na guerra civil americana . . . . . . . . . . . 14
1.11 Enigma - Maquina alem . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.12 Modelo simplicado de Criptograa simtrica . . . . . . . . . . . . . 16
1.13 Modelo simplicado de Criptograa assimtrica . . . . . . . . . . . . 18
2.1 Potncia dos inteiros mdulo 19 . . . . . . . . . . . . . . . . . . . . . 39
3.1 Whiteld Die . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Martin Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Esquema da troca de chaves ilustrada pelo exemplo dos cadeados . . 46
3.4 Troca de chaves ilustrada pelo exemplo das tintas . . . . . . . . . . . 47
3.5 Calculadora de logaritmos discretos . . . . . . . . . . . . . . . . . . . 49
3.6 Primos de Sophie German . . . . . . . . . . . . . . . . . . . . . . . . 50
xi
Introduo
O computador tornou-se indispensvel no nosso dia a dia, pois est presente nos
ambientes que frequentamos, seja em casa, na escola ou no trabalho. A utilizao
deste recurso para a comunicao via internet de suma importncia na sociedade,
pois diariamente enviamos e-mails, utilizamos redes sociais ou escrevemos mensagens
para celulares utilizando aplicativos em sites. A partir disso, surgem as seguintes
perguntas: ser que temos privacidade ao enviar essas mensagens? Se algum in-
terceptar essas mensagens, elas sero lidas ou elas estaro codicadas? Perguntas
como essas so o interesse do nosso estudo.
Desde os tempos antigos, por vrios motivos, imperadores, generais e reis pro-
curavam obter modos ecientes de comunicao entre seus exrcitos. A necessidade
de as informaes no serem descobertas motivou a elaborao de tcnicas para
ocultar o real signicado delas por meio de cdigos, possibilitando que somente o re-
metente e o destinatrio pudessem entender o que a mensagem dizia, dicultando o
trabalho de eventuais intrusos na tentativa de desvend-la. Essa tcnica chamada
criptograa, cuja evoluo deve-se, em boa parte, ao longo dos anos, a Matemtica.
A fora de um cdigo est relacionada diculdade de um intruso decifr-lo e,
dessa forma, tem-se uma guerra entre cifradores e decifradores de mensagens. Na
medida em que a informao se torna mais valiosa, o processo de codicao das
mensagens tem um papel cada vez mais importante na sociedade.
J se falou que a Primeira Guerra Mundial foi a guerra dos qu-
micos, devido ao emprego, pela primeira vez, do gs mostarda
e do cloro, que a Segunda Guerra Mundial foi a guerra dos f-
sicos devido bomba atmica. De modo semelhante se fala que
uma Terceira Guerra Mundial seria a guerra dos matemticos, pois
os matemticos tero o controle sobre a prxima grande arma de
guerra, a informao. Os matemticos tm sido responsveis pelo
desenvolvimento dos cdigos usados atualmente para a proteo
das informaes militares. E no nos surpreende que os matem-
ticos tambm estejam na linha de frente da batalha para tentar
decifrar esses cdigos. (SINGH, 2007, p.13)
xii
Introduo
A importncia da criptograa est relacionada com a proteo de dados sigilo-
sos de carter pessoal ou prossional. Por exemplo: na comunicao de dois pases
aliados na criao de uma nova tecnologia que deve ser mantida em segredo. Atra-
vs da Cincia da Computao, tendo a ajuda da Matemtica, essas informaes
so transmitidas de modo extremamente rpido e seguro. Hoje em dia vemos isso
acontecer claramente quando fazemos uma transao bancria via internet, pois
preciso um meio de encriptar a senha dos usurios para que hackers no possam
obt-la e ter acesso conta do usurio. Vrios bancos tm um sistema diferenciado
de proteo de senhas dos usurios, que feito utilizando criptograa.
O problema fundamental e quase axiomtico durante muitos anos foi o problema
da distribuio de chaves, ou seja, dois usurios devem se comunicar utilizando um
algoritmo, mas, para isso ser feito, eles precisam de uma chave para codicar e
decodicar as mensagens. Como essa chave pode ser distribuda de modo seguro?
A Matemtica entra em cena com os nmeros primos e os logaritmos discretos.
Iremos aprender que estes so fundamentais para resolver o problema da troca de
chaves, pois o intruso ter uma diculdade imensa, j que no existe um algoritmo
eciente que possa calcular esses logaritmos discretos para nmeros primos muito
grandes. Isso foi feito por Die e Hellman nos anos 70, causando um avano imenso
na criptograa.
Partindo do princpio que a criptograa um assunto importante e interessante
no contexto atual, acredita-se que a sua utilizao em sala de aula possa ser um
fator que motive os alunos, j que a informtica est presente de maneira intensa na
vida dos jovens. Trazendo a criptograa para a sala de aula, poderemos associ-la
com contedos de Matemtica, vistos na educao bsica, fazendo com que o aluno
sinta motivao no momento de aprender ou aplicar tal contedo.
Partindo do princpio que a criptograa um assunto importante e interessante
no contexto atual, acredita-se que a sua utilizao em sala de aula possa ser um
fator que motive os alunos, j que a informtica est presente de maneira intensa na
vida dos jovens. Trazendo a criptograa para a sala de aula, poderemos associ-la
com contedos de Matemtica, vistos na educao bsica, fazendo com que o aluno
sinta motivao no momento de aprender ou aplicar tal contedo.
O objetivo geral deste trabalho fornecer um conhecimento sobre Criptograa de
modo que o Professor de Matemtica possa introduzi-la em sala de aula, relacionando
este tema com assuntos do ensino bsico, tornando a prtica docente mais dinmica
e motivante, pois os alunos caro frente a frente com atividades de codicao e
decodicao.
xiii
Introduo
Os objetivos especcos so:
Introduzir a denio de criptograa;
Relatar a evoluo histrica da criptograa;
Diferenciar as criptograas simtrica e assimtrica;
Compreender a denio de relaes, grupos, razes primitivas e logaritmos
discretos bem como os teoremas e demonstraes;
Saber a importncia dos logaritmos discretos na troca de chaves de Die-
Hellman;
Relacionar a criptograa com assuntos de matemtica vistos no ensino bsico.
A m de proporcionar uma viso geral do nosso trabalho, apresentamos uma
breve descrio dos assuntos que iremos tratar em cada um dos captulos.
No captulo um, vamos mostrar a evoluo histrica da criptograa apresentando
como Herdoto relatou o aparecimento da Esteganograa; a Cifra de Csar; os
criptoanalistas rabes; a cifra de Vigenre, as mquinas de cifragem e a criptograa
na atualidade, descrevendo a criptograa simtrica e a assimtrica.
No captulo dois, faremos um estudo resumido de lgebra, apresentando vrias
denies e teoremas importantes que so utilizados na criptograa. Os assuntos que
veremos so: relaes binrias, Grupos, Razes Primitivas e Logaritmos Discretos.
No captulo trs, uma abordagem histrica sobre a criptograa Die-Hellman
ser apresentada e, em seguida, descreveremos o problema da troca de chaves junto
com a sua soluo utilizando Logaritmos Discretos.
No ltimo captulo, vamos propor trs atividades que relacionam a criptograa
com funes polinomiais do primeiro grau, matrizes e divisibilidade, respectiva-
mente.
xiv
Captulo 1
A evoluo da criptograa ao longo
da histria
Neste captulo vamos fazer uma abordagem histrica da criptograa, mostrando
a evoluo dos mtodos de cifragem, fornecendo dados para que o Professor de
Matemtica possa ter ideias de como introduzir este assunto no ensino bsico. As
referncias utilizadas na escrita deste captulo foram SINGH [20]; STALLINGS [21];
MALAGUTTI [13]; TBARA [22] e OLIVEIRA [15].
1.1 Herdoto
Um dos primeiros textos sobre cdigos secretos foi escrito pelo gegrafo e histori-
ador grego Herdoto (485 a.C. - 420 a.C.). Ele foi o primeiro no s a escrever sobre
o passado, mas tambm a considerar o passado como um problema losco ou um
projeto de pesquisa que podia revelar conhecimento do comportamento humano.
Por esse motivo ele recebeu o ttulo de o pai da Histria. Na sua principal obra,
conhecida por as histrias de Herdoto, retratada a histria dos conitos entre
a Prsia e a Grcia no incio do sculo V a.C; atribuiu, pois, habilidade da escrita
secreta a causa de a Grcia no ter sido conquistada por Xerxes, cuja inteno,
poca, era formar um grande exrcito para invadir a Grcia. Para a infelicidade
de Xerxes, o plano da invaso foi testemunhado por Demarato, um grego que foi
expulso da sua terra natal e vivia em uma cidade persa chamada Susa. Mesmo
sendo um exilado, ele ainda tinha um sentimento de lealdade com a Grcia e decidiu
enviar uma mensagem para advertir os espartanos dos planos de invaso de Xerxes.
O principal desao era como enviar essa mensagem sem que ela fosse interceptada
pelos guardas. Vejamos a histria contada nas palavras de Herdoto:
1
Herdoto Captulo 1
O perigo de ser descoberto era grande; havia apenas um modo pelo
qual a mensagem poderia passar: isso foi feito raspando a cera
de um par de tabuletas de madeira, e escrevendo embaixo o que
Xerxes pretendia fazer, depois a mensagem foi coberta novamente
com cera. Deste modo, as tabuletas pareceriam estar em branco
e no causariam problemas com os guardas ao longo da estrada.
Quando a mensagem chegou ao seu destino, ningum foi capaz de
perceber o segredo, at que, pelo que entendi, a lha de Clemenes,
Gorgo, que era casada com Lenidas, adivinhou e contou aos outros
que se eles raspassem a cera encontrariam alguma coisa escrita na
madeira. Isto foi feito, revelando a mensagem, ento transmitida
para os gregos. (SINGH, 2007, p. 20)
Assim, os gregos, que no estavam se preparando para uma batalha, comea-
ram a se armar. Como exemplo, podemos citar o lucro das minas de ouro, antes
compartilhada pelos cidados, comeou a ser entregue marinha para a construo
de duzentos navios de guerra. Curiosidade: os gregos foram vencedores da futura
batalha. Note que a estratgia de Demarato foi, apenas, ocultar a mensagem.
Herdoto tambm narra outro incidente no qual a ocultao foi suciente para
garantir a transmisso segura da mensagem. a histria de Histaeu, que queria
encorajar Aristgora de Mileto a se revoltar contra o rei persa. Para transmitir
suas instrues de segurana, Histaeu raspou a cabea do mensageiro, escreveu a
mensagem no couro cabeludo e aguardou at que o cabelo voltasse a crescer. O
mensageiro partiu e, quando chegou ao seu destino, raspou a cabea e exibiu a
mensagem ao destinatrio.
Figura 1.1: Busto de Herdoto
Fonte: http://commons.wikimedia.org/wiki/File:AGMA_Herodotus_7307.jpg
2
A cifra de Csar Captulo 1
As duas histrias contadas por Herdoto no so consideradas comunicaes se-
cretas, pois foram obtidas atravs da ocultao da mensagem. A arte ou cincia
de ocultar mensagens chamada de estenograa, nome derivado das palavras gre-
gas estenos, cujo signicado escondido e graphein que que signica escrever.
Vrias formas de estenograas foram utilizadas durante muitos sculos. Entre al-
guns exemplos esto a escrita de uma mensagem secreta em uma tira de seda na,
que era amassada formando uma pequena bola, coberta com cera e engolida por
um mensageiro; a tinta invisvel usada na escrita que, aps um suave aquecimento,
adere a cor marrom; e a mensagem no ovo cozido que baseava-se em escrever uma
mensagem sobre a casca desse ovo com uma tinta especial que penetrava essa casca
e estampava o ovo.
1.2 A cifra de Csar
Em paralelo com o desenvolvimento da estenograa, houve a evoluo da crip-
tograa, derivada da palavra grega kriptos, que signica oculto, escondido, secreto.
O objetivo da criptograa no ocultar a existncia de uma mensagem, e sim es-
conder o seu signicado - um processo conhecido como encriptao. A vantagem
da criptograa: a mensagem codicada interceptada pelo inimigo ser ilegvel e seu
contedo no poder ser percebido. O primeiro cdigo secreto que se tem notcia
foi utilizado pelo militar e governante romano Jlio Csar (100 a.C. - 44 a.C.), na
poca da transio do nal do perodo republicano da Roma Antiga.
Figura 1.2: Cabea colossal do imperador Jlio Csar
Fonte: http://sp-arte.aonde.org/wp-content/uploads/2012/01/exposicao-roma.jpg
3
A cifra de Csar Captulo 1
Jlio Csar considerado por muitos o maior gnio militar da histria. Um dos
motivos que pode justicar esse adjetivo o fato dele utilizar um recurso para codi-
car mensagens com o objetivo de manter segredos de natureza militar. No livro As
vidas dos Csares, escrito no sculo II por Suetnio, um dos recursos utilizados por
Csar consistia numa substituio de cada letra do alfabeto por outra, trs posies
adiante, a partir do que as trs ltimas letras do alfabeto fazem corresponder s trs
primeiras. Na prtica, a letra a substituda pela letra d; a letra b, pela e; a
letra c, pela f e assim sucessivamente.
Qualquer forma de substituio criptogrca, a partir da qual cada letra subs-
tituda por outra letra ou smbolo chamada de cifra. Dessa forma, o alfabeto da
lngua portuguesa aps a cifra de Csar :
Figura 1.3: Cifra de Csar
Por exemplo, no lugar de escrever atacar pelo norte, o remetente escreveria
DWDFDU SHOR QRUWH.
Antes de prosseguirmos, vamos denir congruncia modular para entendermos a
notao utilizada por STALLINGS [21]:
Denio 1 Seja m N com m > 1. Diremos que dois nmeros naturais a e b so
congruentes mdulo m se os restos de sua diviso euclidiana por m so iguais.
a b mod m
Exemplo: Note que 12 7 mod 5, pois os restos da diviso de 12 e de 7 por 5
so iguais a 2.
A teoria das congruncias tambm importante para calcularmos o resto da
diviso entre dois nmeros. Se 0 b < m, ento b o resto da diviso de a por m,
por exemplo 8 deixa resto 3 na diviso por 5:
8 = 1 5 + 3
Ento, 8 3 mod 5.
4
Criptoanalistas rabes Captulo 1
Com base nessa denio, vamos atribuir um equivalente numrico a cada letra
do alfabeto a = 0, b = 1, c = 2, d = 3, ..., z = 25:
Podemos expressar um algoritmo da seguinte maneira: para cada letra no texto
original, que vamos chamar de texto p, substitua-a pela letra do texto cifrado, que
vamos chamar de C. Aplicando a notao utilizada na aritmtica modular, temos:
C (p + 3) mod 26
Embora Suetnio s mencione que Csar deslocava as letras em trs casas, ca
claro que podemos fazer um deslocamento de qualquer quantidade, de modo que o
algoritmo de Csar ca representado por
C (p + k) mod 26, com k Z xo e 1 k 25
No que diz respeito a decodicar o texto, basta fazer, no mximo, 25 tentativas,
pois o texto no o original, por isso uma possibilidade excluda, ou seja, quando
k = 0, STALLINGS [21] chama esse mtodo de decodicao utilizando a fora
bruta.
O mtodo de Csar mais geral aquele em que efetuamos uma permutao
arbitrria das 26 letras do alfabeto. Como existem 26! permutaes distintas de
um conjunto de 26 elementos, existe uma grande quantidade de cifras distintas.
Para tentar decodicar um texto utilizando a fora bruta devemos descrever os 26!
textos distintos (um para cada permutao) e, seguramente, um desses textos ter
a mensagem original. Na prtica, este mtodo totalmente invivel, pois existem
mais de 400.000.000.000.000.000.000.000.000 rearranjos do alfabeto original e, por
isso, durante sculos este foi o mtodo mais eciente para codicar mensagens.
1.3 Criptoanalistas rabes
No sculo IX um matemtico rabe, que trabalhava na Casa da sabedoria de
Bagdad, escreveu um livro manuscrito sobre o deciframento de mensagens cripto-
grcas. O nome deste rabe Abu Yusuf Yaqub ibn Ishaq al-Sabbah Al-Kindi,
mas nos referimos simplesmente como Al-Kindi, conhecido como o lsofo dos ra-
bes. Autor de 290 livros sobre Medicina, Astronomia, Matemtica, Lingustica e
Msica, seu maior tratado s foi descoberto em 1987, no Arquivo Otomano Sulaima-
5
Criptoanalistas rabes Captulo 1
niyyah em Istambul, e se intitula: Um manuscrito sobre a decifrao de mensagens
criptogrcas.
Figura 1.4: Imagem artstica de Al-Kindi
Fonte: http://muslimheritage.com/topics/default.cfm?ArticleID=691
Nesse livro descrito o mtodo da anlise das frequncias, o qual permite rom-
per todas as cifras de substituio monoalfabticas, ou seja, cifras de substituio
a partir das quais cada letra do texto claro substituda por outra letra no texto
cifrado, de forma constante.
O mtodo de Al-Kindi consiste em decifrar uma mensagem codicada, quando se
conhece o idioma. Para isso, deve-se encontrar um texto diferente, na mesma lngua,
suciente longo para preencher uma pgina e fazer essa anlise das frequncias. A
letra que aparecer com maior frequncia no texto chamada de primeira, a segunda
mais frequente recebe o nomes e segunda e assim por diante, at todas as letras
do texto serem contadas. Em seguida, examina-se o texto cujo deciframento ser
feito e os smbolos tambm so classicados com relao frequncia. O smbolo
que aparecer com maior frequncia substitudo pela primeira, o segundo smbolo
mais frequente substitudo pela segunda e assim por diante, at todos os smbolos
serem convertidos.
Para poder aplicar a anlise das frequncias, precisamos conhecer qual a porcen-
tagem de apario de cada letra nos textos de uma determinada lngua. A frequncia
mdia de cada letra na Lngua Portuguesa est apresentada na tabela a seguir:
6
Criptoanalistas rabes Captulo 1
Figura 1.5: Frequncia das letras na lngua portuguesa
Para decodicar o texto cifrado, basta contar a frequncia de cada smbolo no
texto para descobrir a que letra correspondem os smbolos mais frequentes. Isto
geralmente suciente para quebrar o cdigo e ler toda a mensagem. Observe,
entretanto, que este mtodo de quebra do cdigo s funciona bem se a mensagem
for longa. fcil escrever uma mensagem curta cuja contagem de frequncia seja
totalmente diferente da contagem de frequncia mdia do portugus. Por exemplo,
na frase O rato roeu a roupa do rei de Roma a letra R aparece 5 vezes e a letra
A aparece 4 vezes. De um modo geral, textos curtos tm maior probabilidade de se
desviarem signicativamente das frequncias padro; caso haja menos de cem letras,
a decodicao ser muito difcil.
Por exemplo, MALAGUTTI [13] apresenta o seguinte texto para ser decodicado:
urtklm tr dqapuakcftr ltr iasqtr aj nmqsuouar lacfdqa t jakrtoaj tetfxm
a cmjniasa t steait ntqt qaofrsqtq tr ruersfsufcmar akcmksqtltr
Analisando a frequncia de cada letra no texto, temos:
Figura 1.6: Frequncia das letras no texto cifrado
7
Criptoanalistas rabes Captulo 1
Note que a letra que aparece com maior frequncia a letra t e h uma grande
possibilidade de ela ser a letra A no texto original. A segunda letra que aparece na
segunda colocao das frequncia a letra a e, como zemos anteriormente, h uma
grande possibilidade de ela ser a letra E. Vale a pena ressaltar que isso apenas um
estudo, ou seja, estamos fazendo uma especulao. Substituindo essas informaes
no texto, temos:
UrAklm Ar dqEpuEkcfAr lAr iEsqAr Ej nmqsuouEr lEcfdqE A
jEkrAoEj AeAfxm E cmjniEsE A sAeEiA nAqA qEofrsqAq Ar
ruersfsufcmEr EkcmksqAlAr.
Diferenciamos em maisculas as letras do alfabeto original e minsculas as do
alfabeto cifrado. A letra r a terceira letra com maior frequncia, ento ela pode
estar codicando as letras O,R ou S. Vamos substituir essa letra por cada uma das
letras que estamos especulando para ver se algum texto faz sentido.
Substituindo a letra r por O:
UOAklm AO dqEpuEkcfAO lAO iEsqAO Ej nmqsuouEO lEcfdqE A
jEkOAoEj AeAfxm E cmjniEsE A sAeEiA nAqA qEofOsqAq AO
OueOsfsufcmEO EkcmksqAlAO.
Substituindo r por R, temos:
URAklm AR dqEpuEkcfAR lAR iEsqAR Ej nmqsuouER lEcfdqE A
jEkRAoEj AeAfxm E cmjniEsE A sAeEiA nAqA qEofRsqAq AR
RueRsfsufcmER EkcmksqAlAR.
Finalmente, substituindo r por S, a mensagem ca:
USAklm AS dqEpuEkcfAS lAS iEsqAS Ej nmqsuouES lEcfdqE A
jEkSAoEj AeAfxm E cmjniEsE A sAeEiA nAqA qEofSsqAq AS
SueSsfsufcmES EkcmksqAlAS.
Diante das trs possibilidades, a que mais faz sentido a terceira, ou seja, quando
trocamos r por S. A quarta letra a q, ento, provavelmente ela ser O ou R. Assim:
Se a letra q foi substituda por O, obtemos:
USAklm AS dOEpuEkcfAS lAS iEsOAS Ej nmOsuouES lEcfdOE A
jEkSAoEj AeAfxm E cmjniEsE A sAeEiA nAOA OEofSsOAO AS
SueSsfsufcmES EkcmksOAlAS.
8
Criptoanalistas rabes Captulo 1
Se a letra q foi substituda por R,
USAklm AS dREpuEkcfAS lAS iEsRAS Ej nmRsuouES lEcfdRE A
jEkSAoEj AeAfxm E cmjniEsE A sAeEiA nARA REofSsRAR AS
SueSsfsufcmES EkcmksRAlAS.
Na primeira opo temos algo que se torna absurdo na Lngua Portuguesa. Isso se
d pelo fato da palavra nAOA aparecer no texto. Logo, iremos optar pela segunda
possibilidade. Note que a palavra Ej pode ser EM, ou seja, a letra j pode ter sido
substituda pela letra M no momento da codicao. Assim:
USAklm AS dREpuEkcfAS lAS iEsRAS EM nmRsuouES lEcfdRE A
MEkSAoEM AeAfxm E cmMniEsE A sAeEiA nARA REofSsRAR AS
SueSsfsufcmES EkcmksRAlAS.
Realmente isso faz muito sentido, pois apareceu a palavra MEkSAoEM, haja
vista, claramente, que ela representa a palavra MENSAGEM, ou seja, no texto
cifrado, a letra k foi trocada por N e a letra o foi substituda por G. Analisando
mais uma vez o texto:
USANlm AS dREpuENcfAS lAS iEsRAS EM nmRsuGuES lEcfdRE A
MENSAGEM AeAfxm E cmMniEsE A sAeEiA nARA REGfSsRAR AS
SueSsfsufcmES ENcmNsRAlAS.
Podemos observar que apalavra lEcfdRE deve ser DECIFRE, REGfSsRAR
deve ser REGISTRAR e USANlm deve ser USANDO. Desta forma, percebemos
que l D, f I, d F, s T e m O.
USANDO AS FREpuENCIAS DAS iETRAS EM nORTuGuES
DECIFRE A MENSAGEM AeAIxO E COMniETE A TAeEiA nARA
REGISTRAR AS SueSTITuICOES ENCONTRADAS.
Note que SueSTITuICOES SUBSTITUIES, FREpuENCIAS FREQUN-
CIAS, iETRAS LETRAS. Assim, u U, e B, p Q e i L. Logo:
USANDO AS FREQUENCIAS DAS LETRAS EM nORTUGUES
DECIFRE A MENSAGEM ABAIxO E COMnLETE A TABELA
nARA REGISTRAR AS SUBSTITUICOES ENCONTRADAS.
Finalmente, note que a letra n a letra P e a letra x X. Logo chegamos a
mensagem original:
9
A cifra de Vigenre Captulo 1
USANDO AS FREQUENCIAS DAS LETRAS EM PORTUGUES
DECIFRE A MENSAGEM ABAIXO E COMPLETE A TABELA
PARA REGISTRAR AS SUBSTITUICOES ENCONTRADAS.
Note que no foi to difcil descriptografar a mensagem, visto que foi possvel
manter a estrutura da Lngua Portuguesa, s omitindo acentos e trocando por c.
Poderamos ter juntado os artigos, preposies entre outros nas prximas palavras.
Isso j tornaria o texto mais difcil de ser decifrado. Apesar de ser um mtodo que re-
quer muito tempo para ser decifrado, os chamados criptoanalistas foram evoluindo
nos seus mtodos tanto no mundo rabe quanto na Europa, destruindo a segurana
deste mtodo, ou seja, qualquer um que enviasse uma mensagem codicada tinha
que aceitar a possibilidade de que um especialista inimigo poderia intercept-la e
conhecer os segredos mais preciosos.
1.4 A cifra de Vigenre
O italiano Leon Battista Alberti (1404 - 1472) nasceu em Gnova e foi pintor,
compositor, poeta, lsofo e, sobretudo, conhecido como arquiteto. Alberti teve
grande destaque na Renascena, pois, em meados de 1440, ele escreveu um ensaio
do que acreditava ser um novo tipo de cifra. Alberti props a utilizao de dois ou
mais alfabetos cifrados, usados alternadamente, para confundir os criptoanalistas.
Observe:
O avano principal do mtodo de Alberti consiste em no permitir que a mesma
letra do texto original aparea como uma nica letra do alfabeto cifrado, ou seja,
ele o primeiro personagem que se tem notcia que utilizou a cifra de substituio
polialfabtica. Nesse mtodo ele utilizava alternadamente dois alfabetos de Csar,
causando uma enorme diculdade para os criptoanalistas, pois a anlise das frequn-
cias era insuciente para decifrar as mensagens. Ele no conseguiu desenvolver a sua
ideia num sistema completo de cifragem, sistema que fora aperfeioado por Johannes
Trithemius (1462 - 1516), depois pelo italiano Giovanni Porta (1541 - 1615), e, por
m, pelo nosso prximo personagem: Blaise de Vigenre (1523 - 1596).
Segundo TBARA [22], Blaise de Vigenre foi um diplomata francs do sculo
XVI. Em razo da diplomacia, entrou em contato com o mundo da criptograa e,
10
A cifra de Vigenre Captulo 1
quando encerrou sua carreira, dedicou grande parte do seu tempo a esta arte. Em
1586, publicou o livro Trait des chires o secrtes manires descrire no qual exps
seu novo mtodo de criptografar mensagens, baseado na cifra de Csar, a partir das
ideias de Alberti.
Vamos imaginar que ciframos a primeira letra utilizando o mtodo de Csar,
deslocando trs unidades; a segunda letra, deslocando 7; e assim por diante, deslo-
cando arbitrariamente. Este mtodo resiste anlise de frequncias, pois cada letra
se codica de muitas formas distintas. Mas, se trocarmos arbitrariamente a cifra
de Csar, nem ns mesmos seremos capazes de decifr-la. Para no se perder na
prpria encriptao, Vigenre utilizou o conceito de palavra chave. Vamos imaginar
que nos do a chave de VIGENERE. Se quisermos cifrar uma mensagem com esta
chave procederemos do seguinte modo: para cifrar a primeira letra, utilizamos o
alfabeto de Csar que comea por V, ou seja, quando k = 21 na cifra de Csar; para
cifrar a segunda letra, utilizamos o alfabeto que comea por I, isto , quando k = 8;
a terceira com G, quando k = 6 e assim por diante, at chegar oitava letra. Para
a nona letra voltamos a utilizar o alfabeto na letra V. Neste exemplo, utilizamos
seis alfabetos diferentes. Caso sejam escolhidas outras palavras (ou frases) chave,
podemos variar muito o resultado do criptograma.
Figura 1.7: Blaise de Vigenre
Fonte: http://algorithinking.blogspot.com.br/2011/07/vigenere-cipher.html
11
A cifra de Vigenre Captulo 1
Para a realizao prtica deste mtodo utiliza-se uma tabela que contm todos
os alfabetos possveis de serem utilizados. Para complicar ainda mais os criptoana-
listas do mtodo de Vigenre, basta elencar chaves bem mais longas e com poucas
letras repetidas. Quanto mais alfabetos empregarmos, mais difcil ser realizar a
criptoanlise.
Figura 1.8: Cifra de Vigenre
Na cifra de Vigenre, uma linha diferente do quadrado utilizada para codicar
letras diferentes da mensagem. Para decifrar a mensagem, o destinatrio precisa
saber que linha do quadrado de Vigenre foi usada para a cifragem, e, para isso,
utiliza-se uma palavra-chave. Por exemplo, vamos utilizar a palavra-chave ROMA
para o texto INVADIR A CIDADE. A letra I ser substituda pela letra cor-
respondente no alfabeto que comea pela letra R, ou seja, a letra Z; a letra N
ser substituda pela letra correspondente no alfabeto que comea pela letra O, ou
seja, a letra B e assim por diante, at chegarmos ao texto cifrado ZBHAUWD
R OIUOPE.
12
Mquinas de cifragem Captulo 1
Figura 1.9: Cifragem da frase invadir a cidade
A aplicao deste mtodo no computador ou no seu estudo matemtico feita
utilizando-se aritmtica modular. A partir da palavra chave, aplicamos os nmeros
associados e cada letra do texto original deve adicionar, modularmente, as letras
da chave. Apesar da potncia deste mtodo, ele veio a ser utilizado muito tarde,
devido complexidade do mesmo. Alm disso ele resistiu durante muitos sculos s
tentativas dos criptoanalistas quebr-lo, tanto que chegou a ser conhecido como Le
chire indchirable que signica a cifra indecifrvel.
1.5 Mquinas de cifragem
De acordo com SINGH [20], a primeira mquina criptogrca que se tem registro
foi inventada no sculo XV pelo arquiteto italiano Leon Alberti, um dos criadores
da cifra polialfabtica. A mquina era composta de dois discos de cobre. O maior
era xo e o outro, o menor, era mvel. Cada disco continha o alfabeto ao longo da
sua borda; no disco maior, o alfabeto original em letras maisculas e, no menor, o
alfabeto cifrado em letras minsculas. O disco menor poderia ser girado e, com isso,
13
Mquinas de cifragem Captulo 1
poderia ser usado para cifrar uma mensagem utilizando a cifra de Csar. Embora
fosse um dispositivo muito bsico, o disco de cifras possibilitava o trabalho de ci-
fragem e foi utilizado por sculos. A gura 1.9 mostra o disco utilizado na Guerra
Civil americana.
Figura 1.10: Disco de cifras utilizado na guerra civil americana
Fonte: http://www.cryptomuseum.com/crypto/usa/ccd/index.htm
Em 1918 o inventor alemo Arthur Scherbius e seu amigo Richard Ritter fun-
daram uma empresa, a Scherbius&Ritter. Um de seus projetos era substituir os
sistemas de Criptograa inadequados, usados na Primeira Guerra Mundial, a partir
da troca de cifras de papel e lpis por uma forma de cifragem que usasse a tecnolo-
gia do sculo XX. Engenheiro eletricista de formao, ele patenteou uma inveno
de uma mquina de cifra mecnica, basicamente uma verso eltrica do disco de
Alberti, mais tarde vendida como a mquina Enigma.
Em 1925, Scherbius produziu a Enigma em grande escala, pois as autoridades
alems acreditavam na segurana absoluta que ela proporcionava. Trinta mil mqui-
nas foram adquiridas e utilizadas, nas duas dcadas seguintes, pelo exrcito alemo.
A Enigma era extremamente forte e, por aproximadamente treze anos, os cripto-
analistas franceses e britnicos acreditaram que mensagens cifradas por ela eram
indecifrveis sem o conhecimento da chave. At que aps um rduo trabalho, o crip-
toanalista Alan Turing conseguiu quebra-la na primeira metade da dcada de 40.
Isso foi feito em Bletchley Park, onde cava a sede da Escola de Cifras e Cdigos do
Governo (GC&CS) da Inglaterra, a partir do desenvolvimento dos criptoanalistas
poloneses. Essa identicao se deu pelo desenvolvimento de mquinas chamadas
bombas. A quebra das cifras da Enigma deu aos Aliados uma vantagem funda-
mental, que, de acordo com historiadores, encurtou a guerra por mais dois anos,
salvando muitas vidas.
14
Criptograa nos computadores Captulo 1
Figura 1.11: Enigma - Maquina alem
Fonte: http://www.ilord.com/enigma.html
Outro aparelho que tinha como nalidade decifrar mensagens foi desenvolvido na
Inglaterra com base nas ideias de Turing. Denominado de Colossus, foi utilizado
para decifrar as codicaes feitas pela mquina Lorenz, empregada nas comunica-
es de Hitler e seus generais. O Colossus apresentou duas vantagens em relao
s bombas: a primeira era que ele era constitudo de vlvulas eletrnicas bem mais
rpidas do que os antigos eletromecnicos utilizados nas bombas e a segunda o
fato de serem programveis, ou seja, esse fato fez com que ele seja considerado o pre-
cursor do computador moderno. em razo disto, podemos dizer que o computador
teve origem na criptoanlise.
1.6 Criptograa nos computadores
1.6.1 Criptograa simtrica
A criptograa simtrica (ou de chave privada) transforma um texto claro em
um texto cifrado, usando uma chave secreta e um algoritmo de criptograa. A
partir da mesma chave e com o auxlio de um algoritmo de decriptograa, o texto
claro recuperado a partir do texto cifrado. Ela conhecida tambm por secret-
key ou symmetric-key encryption. Esta chave pode ser uma palavra, frase ou uma
sequncia aleatria de nmeros e/ou smbolos. O tamanho da chave medido em
bits e, por regra, quanto maior for a chave, mais seguro ser o documento codicado.
O esquema dessa criptograa pode ser resumido na gura 1.12.
15
Criptograa nos computadores Captulo 1
Figura 1.12: Modelo simplicado de Criptograa simtrica
Fonte: STALLINGS [21], p. 18
Para um remetente e um destinatrio se comunicarem utilizando este mtodo,
eles tm que concordar quanto ao valor da chave e tm que manter isso em segredo.
Se eles esto em localizaes fsicas diferentes, devero conar em um mensageiro,
telefone, SMS, e-mail, pessoalmente ou outro meio seguro de comunicao para pre-
venir a revelao da chave secreta antes da transmisso. Como fazer que destinatrio
receba a chave sem algum intercept-la? Veremos mais adiante que isto se tornou
um problema quase axiomtico na informtica, conhecido como o problema da troca
de chaves.
Os principais algoritmos de chave privada so, conforme OLIVEIRA [15]:
DES - O Data Encryption Standard (DES) foi o algoritmo simtrico mais dis-
seminado no mundo, at a padronizao do AES. Foi criado pela IBM em 1977 e,
apesar de permitir cerca de 72 quadrilhes de combinaes, seu tamanho de chave
(56 bits) considerado pequeno, tendo sido quebrado por fora bruta em 1997 em
um desao lanado na internet.
AES - O Advanced Encryption Standard (AES) uma cifra de bloco, anunci-
ado pelo NIST em 2003, fruto de concurso para escolha de um novo algoritmo de
chave simtrica para proteger informaes do governo federal, sendo adotado como
padro pelo governo dos Estados Unidos, um dos algoritmos mais populares, desde
2006, usado para Criptograa de chave simtrica, sendo considerado como o padro
substituto do DES. O AES tem um tamanho de bloco xo em 128 bits e uma chave
com tamanho de 128, 192 ou 256 bits, ele rpido tanto em software quanto em
hardware, relativamente fcil de executar e requer pouca memria.
16
Criptograa nos computadores Captulo 1
IDEA - O International Data Encryption Algorithm (IDEA) foi criado em 1991
por James Massey e Xuejia Lai e possui patente da sua ASCOM Systec. O algo-
ritmo estruturado seguindo as mesmas linhas gerais do DES. Mas na maioria dos
microprocessadores, uma implementao por software do IDEA mais rpida do
que uma implementao por software do DES. O IDEA utilizado principalmente
no mercado nanceiro e no PGP, o programa para Criptograa de e-mail pessoal
mais disseminado no mundo.
Outros algoritmos de chave privada so 3DES, Blowsh, Twosh, RC4 e CAST.
1.6.2 Criptograa assimtrica
A criptograa assimtrica (ou de chave pblica) transforma um texto claro em
texto cifrado usando uma de duas chaves e um algoritmo de criptograa. Usando a
outra chave associada e um algoritmo de decriptograa, o texto claro recuperado a
partir do texto cifrado. A chave pblica pode car disponvel para qualquer pessoa
que queira se comunicar com outra de modo seguro, mas a chave privada dever
car em poder apenas de cada titular. Para ilustrar essa situao, vamos utilizar o
esquema dos cadeados em que Alice deseja enviar uma carta a Bob. Bob distribui
milhares de cadeados abertos iguais pelas agncias de correios do mundo todo, mas
somente ele tem a chave que abre esses cadeados. Assim, Alice vai at uma agncia
dos correios, pede o cadeado referente a Bob e tranca a carta com esse cadeado.
Note que ela no pode mais abrir o cadeado, somente Bob pode fazer isso. Assim,
mesmo que outra pessoa tente interceptar a mensagem, somente Bob pode abri-lo.
Esse modelo de criptograa foi criado na dcada de 70 pelo matemtico Cliord
Cocks, que trabalhava no servio secreto ingls, porm, como o seu trabalho no
foi divulgado, a primeira evidncia pblica foi em 1976 com Die e Hellman. Eles
mudaram os rumos da criptograa desenvolvendo a criptograa assimtrica na ten-
tativa de solucionar o problema da troca de chaves. Conforme foi dito por Die:
Anal, qual a vantagem de desenvolver criptossistemas impenetrveis, se seus
usurios forem forados a compartilhar suas chaves com um Centro de Distribui-
o de Chaves - CDC - que pode estar sujeito a roubo ou suborno?. A principal
vantagem deste mtodo a sua segurana, pois no preciso (nem se deve) compar-
tilhar a chave privada. Deve-se destacar que na criptograa assimtrica, o tempo de
processamento de mensagens muitas vezes maior do que a criptograa simtrica,
dando maior diculdade para o criptoanalista que deseja decifrar a mensagem. A
gura 1.13 mostra, de forma simplicada, a criptograa assimtrica.
17
Criptograa nos computadores Captulo 1
Figura 1.13: Modelo simplicado de Criptograa assimtrica
Fonte: STALLINGS [21], p. 184
Os principais algoritmos de chave pblica, conforme OLIVEIRA [15] so:
RSA- um algoritmo assimtrico que possui este nome devido a seus inventores:
Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no Massachusetts
Institute of Technology (MIT). Atualmente, o algoritmo de chave pblica mais
amplamente utilizado, alm de ser uma das mais poderosas formas de criptograa
de chave pblica conhecidas at o momento. O RSA utiliza nmeros primos. A
premissa por trs do RSA consiste na facilidade de multiplicar dois nmeros primos
para obter um terceiro nmero, mas muito difcil de recuperar os dois primos a
partir daquele terceiro nmero. Isto conhecido como fatorao. Por exemplo,
os fatores primos de 3.337 so 47 e 71. Gerar a chave pblica envolve multiplicar
dois primos grandes; qualquer um pode fazer isto. Derivar a chave privada a partir
da chave pblica envolve fatorar um grande nmero. Se o nmero for grande o
suciente e bem escolhido, ento ningum pode fazer isto em uma quantidade de
tempo razovel. Assim, a segurana do RSA baseia-se na diculdade de fatorao
de nmeros grandes.
ElGamal - outro algoritmo de chave pblica utilizado para gerenciamento de
chaves. Sua matemtica difere da utilizada no RSA, mas tambm um sistema co-
mutativo. O algoritmo envolve a manipulao matemtica de grandes quantidades
numricas. Sua segurana advm de algo denominado problema do logaritmo dis-
creto. Assim, o ElGamal obtm sua segurana da diculdade de calcular logaritmos
discretos em um corpo nito, o que lembra bastante o problema da fatorao.
Die-Hellman - Tambm baseado no problema do logaritmo discreto; trata-
se do criptossistema de chave pblica mais antigo ainda em uso. O conceito de
18
Criptograa nos computadores Captulo 1
chave pblica, alis, foi introduzido pelos autores deste criptossistema em 1976. O
problema desse mtodo que ele no permite ciframento, o sistema foi projetado
para permitir a dois indivduos entrarem em um acordo ao compartilharem um
segredo tal como uma chave, muito embora eles somente troquem mensagens em
pblico.
Curvas Elpticas - Em 1985, Neal Koblitz e V. S. Miller propuseram de forma
independente a utilizao de curvas elpticas para sistemas criptogrcos de chave
pblica. Eles no chegaram a inventar um novo algoritmo criptogrco com curvas
elpticas sobre corpos nitos, mas implementaram algoritmos de chave pblica j
existentes, como o algoritmo de Die-Hellman, usando curvas elpticas. Assim,
os sistemas criptogrcos de curvas elpticas consistem em modicaes de outros
sistemas (o ElGamal, por exemplo), que passam a trabalhar no domnio das curvas
elpticas, em vez de trabalharem no domnio dos corpos nitos. Eles possuem o
potencial de proverem sistemas criptogrcos de chave pblica mais seguros, com
chaves de menor tamanho. Muitos algoritmos de chave pblica, como o Die-
Hellman e o ElGamal podem ser implementados em curvas elpticas sobre corpos
nitos.
No nosso trabalho vamos focar como funciona a criptograa utilizando o pro-
tocolo Die-Hellman para a troca de chaves. Para isso devemos ter conhecimento
sobre Grupos, assunto estudado na disciplina de lgebra Abstrata nas universidades,
para compreendermos melhor o problema do logaritmo discreto.
19
Captulo 2
Das relaes binrias aos logaritmos
discretos
Neste captulo vamos estudar vrias denies e teoremas relacionados lgebra.
Este estudo ser feito para que possamos entender, nos demais captulos, o protocolo
da troca de chaves de Die-Hellman. Mesmo que a maioria desses assuntos no
estejam presentes no currculo do ensino bsico, o Professor de Matemtica pode
fazer algumas adaptaes nos resultados para que estes quem mais acessveis aos
alunos. As referncias utilizadas para a elaborao deste captulo foram ARAJO
[2], DOMINGUES Domingues-Iezzi, FIGUEIREDO [9], FILHO [10], HEFEZ [11] e
KAKUTA [12], ORE [16], SHOKRANIAN [19], SANTOS [18] e STALLINGS [21].
2.1 Relaes binrias
Denio 2 Dados dois elementos x e y, chama-se par ordenado um terceiro ele-
mento que se indica por (x, y), em que o elemento x chamado de primeira coorde-
nada e o elemento y chamado de segunda coordenada
Denio 3 Dados dois conjuntos no vazios A e B, chama-se produto cartesiano
de A por B, denotado por AB, o conjunto formado por todos os pares ordenados
(x, y), onde x A e y B.
A B = {(x, y) | x A e y B}
Exemplo: Considere os conjuntos A = {1, 0, 1} e B = {1, 2, 3, 4}.
a) AB = {(1, 1), (1, 2), (1, 3), (1, 4), (0, 1), (0, 2), (0, 3), (0, 4), (1, 1), (1, 2), (1, 3), (1, 4)}
b) BA = {(1, 1), (1, 0), (1, 1), (2, 1), (2, 0), (2, 1), (3, 1), (3, 0), (3, 1), (4, 1), (4, 0), (4, 1)}
20
Domnio, imagem e relao inversa Captulo 2
Denio 4 Dados dois conjuntos no vazios A e B, chama-se relao binria ou
simplesmente relao de A em B a todo subconjunto R do produto cartesiano AB.
R relao de A em B R A B
O conjunto A recebe o nome de conjunto de partida e o conjunto B recebe o
nome de conjunto de chegada. Para indicar que (x, y) R, escrevemos xRy e lemos
x erre y ou x se relaciona com y por R. Caso (x, y) / R, escrevemos x

Ry e
lemos x no erre y ou x no se relaciona com y por R.
Exemplo: Com base no exemplo anterior, temos alguns exemplos de relaes:
R
1
= {(1, 1), (1, 2), (0, 2), (1, 3)}
R
2
= {(0, 1), (0, 2), (0, 3)}
R
3
= {(1, 4)}
2.2 Domnio, imagem e relao inversa
Denio 5 Seja R uma relao de A em B. Chama-se domnio de R e denota-se
por D(R) o subconjunto de A formado pelos elementos x para os quais existe algum
y em B tal que xRy.
D(R) = {x A | y B com xRy}
Exemplo: Utilizando as relaes R
1
, R
2
e R
3
utilizadas na seo anterior, temos
que seus respectivos domnios so:
D(R
1
) = {1, 0, 1}
D(R
2
) = {0}
D(R
3
) = {1}
Denio 6 Seja R uma relao de A em B. Chama-se imagem de R e denota-se
por Im(R) o subconjunto de B formado pelos elementos y para os quais existe algum
x em A tal que xRy.
Im(R) = {y B | x A com xRy}
21
Relaes de equivalncia Captulo 2
Exemplo: Novamente utilizando R
1
, R
2
e R
3
, obtemos:
Im(R
1
) = {1, 2, 3}
Im(R
2
) = {1, 2, 3}
Im(R
3
) = {4}
Denio 7 Seja R uma relao de A em B. Chama-se relao inversa de R e
denota-se por R
1
a seguinte relao de B em A:
R
1
= {(y, x) B A : (x, y) R}
Exemplo: Dados os conjuntos A = {1, 2, 3} e B = {3, 0, 2}. A relao inversa
de R = {(1, 3), (2, 0), (3, 2)} em B A R
1
= {(3, 1), (0, 2), (2, 3)}.
Note que:
i) D(R
1
) = Im(R)
ii) Im(R
1
) = D(R)
iii) (R
1
)
1
= R
Denio 8 Quando A = B e R uma relao de A em B, diz-se que R uma
relao sobre A ou, ainda, R uma relao em E.
2.3 Relaes de equivalncia
Denio 9 Uma relao R sobre um conjunto no vazio A chamada relao de
equivalncia sobre A quando R relexiva, simtrica e transitiva, ou seja, quando
so verdadeiras as seguintes propriedades:
i) Se x A, ento xRx (reexiva)
ii) Se x, y A e xRy, ento yRx (simtrica)
iii) Se x, y, z A e xRy e yRz, ento xRz (transitiva)
22
Classes de equivalncia e conjunto quociente Captulo 2
Quando R uma relao de equivalncia sobre um conjunto A, costumamos repre-
sentar (x, y) R (ou xRy) por
x y mod R ou x y mod R
Antes de irmos para o prximo exemplo, vamos utilizar uma denio equivalente
a denio 1 de congruncia modular. Assim:
Denio 10 Dados a, b N e m um nmero natural xo, com m > 1, dizemos
que a congruente a b mdulo m se, e somente se, m dividir a diferena a b. Em
smbolos:
a b m m| (a b)
A prova da equivalncia das duas denies feita de maneira imediata.
Exemplo: A relao de congruncia mdulo m (em que m Z e m > 1) sobre Z,
uma relao de equivalncia, pois:
i) Se x Z, ento x x mod m
De fato, a b m, pois m| 0.
ii) Se x, y Z e x y mod m, ento y x mod x
Com efeito, se m| (ab), ento m divide o negativo, ou seja, m| (ab), ou ainda,
m| b a.
iii) Se x, y, z Z e x y mod m e y z mod m, ento x z mod m
Note que m| (a b) e m| (b c), ento m| (a b) + (b c), ou seja, m| (a c).
2.4 Classes de equivalncia e conjunto quociente
Denio 11 Seja R uma relao de equivalncia sobre um conjunto A. Dado
a A, chama-se classe de equivalncia determinada por a mdulo R (ou segundo
R) e indica-se por [a], o subconjunto de A constitudo por todos os elementos x tais
que xRa,
[a] = {x A | xRa} ou [a] = {x A | x a mod R}
23
Classes de equivalncia e conjunto quociente Captulo 2
Neste caso, o elemento a [a] chamado um representante de classe [a].
Exemplo: Seja A = {x Z : | x| 10} e consideremos a relao R sobre A
denida por:
aRb a
2
+ 2a = b
2
+ 2b
Note que R uma relao de equivalncia, pois:
i) aRa, pois a
2
+ 2a = a
2
+ 2a, a A.
ii) aRb a
2
+ 2a = b
2
+ 2b b
2
+ 2b = a
2
+ 2a bRa.
iii) aRb e bRc a
2
+ 2a = b
2
+ 2b e b
2
+ 2b = c
2
+ 2c a
2
+ 2a = c
2
+ 2c aRc.
Proposio 1 Seja R uma relao de equivalncia sobre A e sejam a, b A. As
seguintes proposies so equivalentes:
i) aRb
ii) a [b]
iii) b [a]
iv) [a] = [b]
Demonstrao: Devemos provar que (i) (ii) (iii) (iv) (i).
(i) (ii): decorrncia da denio de classe de equivalncia.
(ii) (iii): Como a [b], ento aRb. Da, pela simetria de R, bRa e, portanto,
b [a].
(iii) (iv): Por hiptese, b [a], ou seja, bRa. Logo, aRb. Temos que provar que
[a] [b] e [b] [a].
De fato, para provar a primeira das incluses, seja x [a]. Ento, xRa e, levando
em conta que aRb, conclumos, por transitividade de R, que xRb. Assim, x [b] e
[a] [b].
A prova de [b] [a] feita de modo anlogo.
(iv) (i): Como a [a] e b [b], os conjuntos [a] e [b] no so vazios. Considere
um x [a] = [b]. Ento, xRa e xRb. Assim, pela simetria em R, valem aRx e xRb.
A transitividade em R garante, ento, que aRb.
Nota: A propriedade (ii) nos motra que se x [a], ento [x] = [a], isto , todo
elemento de uma classe de equivalncia um representante desta classe.
24
Classes de equivalncia e conjunto quociente Captulo 2
Exemplo: Utilizando a relao de congruncia mdulo m (m N e m > 1) so-
bre Z, as classes de equivalncia [0] , [1] , [2] , [3] , ..., [m1] so denominadas classes
residuais mdulo m e so dadas por
[0] = {x A | x 0 mod m}
[1] = {x A | x 1 mod m}
[2] = {x A | x 2 mod m}
[3] = {x A | x 3 mod m}
.
.
.
[m1] = {x A | x m1 mod m}
Note que paramos em [m1], pois [m] = [0].
Denio 12 O conjunto de todas as classes de equivalncia mdulo R ser indi-
cado por A/R e chamado conjunto quociente de A por R, termo que justica o fato
que R particiona o conjunto A em subconjuntos no vazios e disjuntos.
Exemplo: Note que podemos particionar o conjunto Z dos nmeros inteiros em
subconjuntos, em que cada um deles possuem os nmeros inteiros que possuem o
mesmo resto na diviso por m, ou seja, R a operao mod m. Assim, podemos
particionar o conjunto Z utilizando todos os conjuntos de classes residuais mdulo
m.
Z/R = {[0] , [1] , [2] , [3] , ..., [m1]}
Denotaremos o conjunto quociente Z/R, em que R a operao mod m por Z
m
.
Denio 13 Dadas duas classes residuais [a] e [b] Z
m
chama-se soma [a] + [b]
a classe [a + b].
Denio 14 Dadas duas classes residuais [a] e [b] Z
m
chama-se produto [a] [b]
a classe [a b].
Evidentemente, necessrio garantir que estas operaes esto bem denidas
no sentido de que uma soma ou um produto de classes residuais independem do
particular representante da classe que foi utilizado. Isto signica que devemos provar
que se x [a] e y [b], ento [x] + [y] = [a] + [b] e [x] [y] = [a] [b]. Dessa forma,
se x [a] e y [b] implicam que x a mod m e y b mod m e, ento, imediato
que, x + y a + b mod m e x y a b mod m.
25
Grupos Captulo 2
Exemplo: Vamos construir as tabelas da adio e multiplicao em Z
4
.
2.5 Funes
Denio 15 Seja f uma relao de A em B. Dizemos que f uma funo de A
em B quando
i) D(f) = A;
ii) Dado a D(f), existe um nico elemento b B tal que (a, b) f.
Se f uma funo de A em B, vamos escrever b = f(a) para denotar que
(a, b) f e f : A B ser uma maneira simblica de dizermos que f uma funo
de A em B. O conjunto B ser chamado de contradomnio de f.
Denio 16 Sendo A um conjunto no vazio, toda funo f : A A A recebe
o nome de operao sobre A ou lei de composio interna em A.
Exemplo: A funo f : N N N tal que f(x, y) = x
y
a operao de
potencio sobre N.
Denio 17 Seja uma operao sobre um conjunto no vazio A. Seja B um
subconjunto no-vazio de A. Dizemos que B uma parte fechada de A para a
operao se, e somente se, temos
x B e y B x y B, x, y B
2.6 Grupos
Denio 18 Seja G um conjunto no vazio e : G G G uma operao.
Dizemos que (G, ) um grupo se satisfaz as seguintes condies:
26
Grupos Captulo 2
i) A operao associativa: a (b c) = (a b) c, a, b, c G;
ii) Existe um elemento neutro: e G tal que a e = e a = a, a G;
iii) Existncia do elemento simtrico: a G, a

G | a a

= a

a = e.
Da denio de grupos seguem algumas propriedades imediatas:
A unicidade do elemento neutro de (G, );
A unicidade do simtrico de cada elemento de G;
Se e o elemento neutro, ento e

= e;
(a

= a para qualquer que seja a G;


(a b)

= b

;
Todo elemento de G regular para a operao , ou seja, vale a lei do corte:
a x = a y x = y.
Denio 19 Dizemos que um grupo (G, ) abeliano ou comutativo se a operao
: GG G comutativa, isto ,
a b = b a, a, b G.
Caso a operao de um grupo seja representada pelo smbolo +, ento a iden-
tidade do grupo chamada zero, o inverso de um elemento a denotado por a
e o grupo dito grupo aditivo. Por outro lado, se a operao representada pelo
smbolo , ento a identidade do grupo chamada um, o inverso de um elemento a
a
1
e o grupo chamado de grupo multiplicativo.
Denio 20 Um grupo nito um grupo (G, ) no qual o conjunto G nito. O
nmero de elementos de G denotado por o(G) chamado de ordem do grupo G.
Para representar todos os elementos de um grupo nito costuma-se utilizar a
tabela (ou tbua) da operao associada ao grupo. A primeira linha da tabela
chamada de linha fundamental e a primeira coluna esquerda chamada de
coluna fundamental. Por exemplo, observe a tabela do grupo (G, ), em que G =
{g
1
, g
2
, g
3
, ..., g
n
}.
27
Grupos Captulo 2
Observe que
A operao comutativa se a tabela simtrica em relao a diagonal
principal;
Existe um elemento neutro, se existirem uma linha e uma coluna idnticas s
fundamentais;
Seja L
i
a linha iniciada por g
i
. Se nesta linha o elemento neutro e, se situa na
coluna C
j
, ento o simtrico de g

i
inicia na coluna C
j
.
Exemplo: G = {1, 1} um grupo em relao multiplicao usual. Ele um
grupo nito de ordem 2. Observe a tabela:
Exemplo: Vamos construir as tabelas de Z
2
, Z
3
, Z
4
e Z
5
com relao as operaes
de adio e multiplicao usuais.
Note que (Z
m
, +) sempre um grupo e o representamos como o grupo aditivo das
classes residuais mdulo m. Porm (Z
m
, ) s ser o o grupo multiplicativo das
classes residuais mdulo m se, e somente se, m for um nmero primo. Note que
(Z
4
, ) no um grupo, pois [2] no possui elemento simtrico, mas (Z
2
, ), (Z
3
, )
e (Z
5
, ) so grupos.
28
Grupos Captulo 2
Denio 21 Seja (G, ) um grupo. Diz-se que um subconjunto no vazio H G
um subgrupo de G se:
i) H fechado para a operao (isto , se a, b H, ento a b H);
ii) (H, ) tambm um grupo.
Note que se e indica o elemento neutro de G, ento {e} um subgrupo de G.
imediato, tambm, que o prprio G um subgrupo de si mesmo. Esses dois
subgrupos, ou seja, {e} e G, so chamados de subgrupos triviais de G.
Proposio 2 Seja (G, ) um grupo. Para que um subconjunto no vazio H G
seja um subgrupo de G, necessrio e suciente que (a b

) seja um elemento de
H sempre que a e b pertencerem a esse conjunto.
Demonstrao:
Vamos indicar por e e e
h
, respectivamente, os elementos neutros de G e H. Como
e
h
e
h
= e
h
= e
h
e
29
Grupos Captulo 2
e todo elemento do grupo regular em relao a , ento e = e
h
.
Agora, vamos tomar um elemento b H e indiquemos por b

e b

h
seus simtricos
em G e H, respectivamente. Como,
b

h
b = e
h
= e = b

b b

h
= b

Novamente pelo fato de todos os elementos do grupo serem regulares para sua ope-
rao. Finalmente, se a, b H, ento ab

h
H, pois temos da hiptese que (H, )
um grupo. Mas, b

h
= b

e, portanto, a b

H.
Reciprocamente, sabemos que, por hiptese, H no vazio, ento podemos con-
siderar um elemento x
0
H. Juntando esse fato a hiptese: x
0
x

0
= e H.
Considerando um elemento b H, da hiptese e da concluso anterior segue que:
e b

= b

H
Mostremos agora que H fechado para a operao . De fato, se a, b H, ento
levando em conta a concluso anterior, a, b

H. Usando a hiptese, temos:


a (b

= a b H
Agora, s falta mostrar a associatividade em H. De fato, se a, b, c H, ento
a, b, c G e, portanto, a (b c) = (a b) c, j que essa propriedade vale em G.
Quando estivermos tratando de grupos multiplicativos, denotaremos ab para indicar
que a b, ento a condio de subgrupo dada pela proposio, em termos de grupos
multiplicativos, apresenta-se assim:
a, b H ab
1
H
Denio 22 Seja G um grupo multiplicativo. Se a G e m um nmero inteiro,
a potncia m-sima de a, ou potncia de a de expoente m, o elemento de G
denotado por a
m
e denido da seguinte maneira:
i) Se m 0, por recorrncia, da seguinte forma
a
0
= e elemento neutro de G
a
m
= aa
m1
, se m 1
ii) Se m < 0
a
m
=
_
a
m
_
1
30
Grupos Captulo 2
A denio por recorrncia no caso m 0 deve ser interpretada assim:
a
1
= a
11
a = a
0
a = ea = a
a
2
= a
21
a = a
1
a = aa
a
3
= a
31
a = a
2
a = aaa
E assim por diante.
Exemplo: No grupo multiplicativo Z

5
das classes de resduos mdulo 5, seja
a = [2]. Ento:
[2]
0
= [1]
[2]
1
= [2]
[2]
2
= [2] [2] = [4]
[2]
3
= [4] [2] = [3]
[2]
1
= [3]
[2]
2
=
_
[2]
2
_
1
= ([4])
1
= [4]
Note que Z

5
= {[1] , [2] , [3] , [4]} foi gerado pelas potncias de [2].
Proposio 3 Seja G um grupo multiplicativo. Se m e n so nmeros inteiros e
a G, ento:
i) a
m
a
n
= a
m+n
;
ii) a
m
= (a
m
)
1
;
iii) (a
m
)
n
= a
mn
.
Demonstrao:
i) Inicialmente vamos demonstrar por induo sobre n o caso particular, em que
n 0 e m + n 0. De fato,
n = 0 a
m
a
n
= a
m
a
0
= a
m
e = a
m
= a
m+0
= a
m+n
Logo, a propriedade vlida quando n = 0.
Agora, seja r 0 e suponhamos que, para qualquer inteiro m tal que m + r 0,
seja vlida a igualdade a
m+r
= a
m
a
r
, ou seja, a nossa hiptese de induo, ento:
31
Grupos Captulo 2
a
m
a
r+1

..
= a
m
(a
r
a) = (a
m
a
r
) a

..
= a
m+r
a

..
= a
(m+r)+1
Note que nas passagens assinaladas por usamos a denio de potncia, o que
possvel por que r +1 1 e m+r +1 1; e na passagem assinalada por usamos
a hiptese de induo.
Para o caso geral, sejam m e n inteiros quaisquer. Tomemos um nmero inteiro
p > 0 tal que p +n > 0 e p +m+n > 0, o que claramente possvel. Da denio,
temos:
a
p
a
p
= a
p
(a
p
)
1
= e
Ento,
a
m+n
= a
m+n
_
a
p
a
p
_
=
_
a
m+n
a
p
_
a
p

..
= a
(m+n)+p
a
p
=
= a
m+(n+p)
a
p

..
=
_
a
m
a
n+p
_
a
p
=
_
a
m
(a
n
a
p
) a
p

=
=
_
(a
m
a
n
) a
p
a
p

= (a
m
a
n
)
_
a
p
a
p
_
= a
m
a
n
e = a
m
a
n
Note que nas passagens utilizamos a concluso anterior.
ii) Note que, devido ao primeiro item,
a
m
a
m
= a
(m)+m
= a
0
= e
De modo anlogo,
a
m
a
m
= e
Logo, cada uma dessas potncias inversa da outra, ou seja,
a
m
= (a
m
)
1
Como queramos demonstrar nesse item.
iii) Para provar a veracidade dessa equao, vamos provar por induo o caso em
que n 0. Para n = 0, temos:
(a
m
)
0
= e = a
0
= a
m.0
Vamos supor que exista r 0 que satisfaa a igualdade (a
m
)
r
= a
mr
(hiptese de
induo). Vamos provar que valida a igualdade (a
m
)
r+1
= a
m(r+1)
. De fato,
32
Grupos Cclicos Captulo 2
(a
m
)
r+1
= (a
m
)
r
(a
m
)
1
= a
mr
a
m
= a
mr+m
= a
m(r+1)
e, por m, vamos supor que n < 0. Assim:
(a
m
)
n

..
=
_
(a
m
)
n

1
=
_
a
mn
_
1

..
= a
mn
Em usamos a denio e usamos (ii).
Denio 23 Se a um elemento de um grupo multiplicativo G, denotaremos por
a o subconjunto de G formado pelas potncias inteiras de a, ou seja,
a = {a
m
| m Z}
.
Proposio 4 (i) o subconjunto a um subgrupo de G; (ii) se H um subgrupo
de G ao qual a pertence, ento a H.
Demonstrao:
i) Note que a = , pois e, o elemento neutro de G, pertence a ele, uma vez
que e = a
0
. Considere u e v elementos de a. Dessa forma:
u = a
m
e v = a
n
Para convenientes inteiros m e n, utilizando a proposio anterior, temos:
uv
1
= a
m
(a
n
)
1
= a
m
a
n
= a
mn
Isso mostra que uv
1
a, ou seja, a um subgrupo de G.
ii) Se a H, ento toda potncia de a tambm pertence a H e, portanto,
a H.
2.7 Grupos Cclicos
Denio 24 Um grupo multiplicativo G ser chamado de grupo cclico se, para
algum elemento a G, se vericar a igualdade G = a. Nessas condies, o
elemento a chamado gerador do grupo G.
G = a = {a
m
| m Z}
33
Grupos Cclicos Captulo 2
Exemplo: O grupo multiplicativo (Z

5
, ) um grupo cclico, pois
Z

5
=
_
[2]
1
, [2]
2
, [2]
3
, [2]
4
_
= {[2] , [4] , [3] , [1]} = {[1] , [2] , [3] , [4]} = 2
Proposio 5 Seja G = a um grupo cclico que a
r
= a
s
para algum par de inteiros
distintos r e s. Ento, existe um inteiro h > 0 tal que:
i) a
h
= e
ii) a
r
= e sempre que 0 < r < h.
Neste caso,
G = a =
_
e, a, a
2
, ..., a
h1
_
o grupo chamado de grupo cclico nito e o expoente h, perodo ou ordem de
a, cuja notao ord(a) = h.
Demonstrao: Sem perda de generalidade, vamos supor que r > s. Ento,
a
r
(a
s
)
1
= a
s
(a
s
)
1
= e
E,
a
rs
= e
Em que rs > 0. Isso mostra que h potncias de a, com expoentes estritamente
positivos, iguais ao elemento neutro e. Portanto, pelo princpio da boa ordenao,
possvel fazer a seguinte escolha: seja h o menor nmero inteiro estritamente positivo
tal que a
h
= e. Ento,
a
h
= e
a
h+1
= a
h
a = ea = a
a
h+2
= a
h+1
a = aa = a
2
Ou seja, a partir do expoente h as potncias de a se repetem ciclicamente. Vamos
provar a unicidade das potncias a seguir:
34
Razes primitivas Captulo 2
a
0
= e
a
1
= a
a
2
.
.
.
a
h1
De fato, suponhamos que a
i
= a
j
, com 0 i < j < h. Ento, 0 < j i < h e
a
ji
= a
j
_
a
i
_
1
= a
j
_
a
j
_
1
= e
Ora, mas isso gera um absurdo, pois dada a escolha de h, no podemos ter
simultaneamente 0 < j i < h e a
ji
= e.
Agora, vamos provar que os nicos elementos no grupo cclico so e, a, a
2
, a
3
, ...,
a
h1
. De fato, seja x um elemento de G = a. Ento, x = a
m
para algum inteiro m.
Usando-se o algoritmo de Euclides colocando m como dividendo e h como divisor,
temos:
m = hq + r (0 r < h)
Ento,
a
m
= a
hq+r
=
_
a
h
_
q
a
r
= e
q
a
r
= ea
r
= a
r
Como os valores possveis de r so 0, 1, 2, 3, ..., h1, ento as possibilidades para
a
m
so e, a, a
2
, a
3
, ..., a
h1
. Isso mostra que a
_
a
0
= e, a
1
= a, a
2
, a
3
, ..., a
h1
_
.
Note que, devido a denio de a , vale a incluso contrria, ou seja, a =
_
a
0
= e, a
1
= a, a
2
, a
3
, ..., a
h1
_
e a ordem desse grupo h.
2.8 Razes primitivas
Denio 25 Designaremos por (m) quantidade de nmeros naturais entre 0 e
m1 que so primos com m.
Teorema 26 (Euler) Sejam m, a N com m > 1 e mdc(a, m) = 1. Ento:
a
(m)
1 mod m
35
Razes primitivas Captulo 2
Teorema 27 Se m = p

1
1
p

2
2
p

n
n
a decomposio de m em fatores primos,
ento
(m) = p

1
1
p

2
2
p

n
n
_
1
1
p
1
__
1
1
p
2
_

_
1
1
p
n
_
Em particular, quando m primo (m) = m1.
Para calcular o resto da diviso de uma potncia a
n
por um nmero natural
m > 1, conveniente achar um expoente h de modo que a potncia a
h
1 mod m.
Pelo teorema de Euler existe h = (m) tal que a
h
deixa resto 1 na diviso por m.
Como o conjunto formado por esses elementos h no-vazio, podemos utilizar o
princpio da boa ordenao para a seguinte denio:
Denio 28 Suponha que a, m N

, com m > 1 e mdc(a, m) = 1, dene-se


ordem de a com respeito a m como sendo o nmero natural
ord
m
(a) = min
_
i N

; a
i
1 mod m
_
.
Exemplo:
a) A ordem de 7 com respeito a 15 igual a 4.
Com efeito,
7
1
7 mod 15
7
2
= 49 4 mod 15
7
3
= 343 13 mod 15
7
4
= 2401 1 mod 15
Note que poderamos ter utlizado as propriedades da aritmtica modular, mas
preferimos calcular as potncias na fora bruta. Ao calcular 7
4
1 mod 15 perce-
bemos que nenhuma potncia de 7 menor que 4 congruente a 1 mdulo 15. Logo,
ord
15
(7) = 4.
Agora, vamos calcular (15):
(15) = 3.5
_
1
1
3
_
.
_
1
1
5
_
(15) = 3.5.
2
3
.
4
5
(15) = 8.
Logo, a ordem de 7 com respeito a 15 igual 4 e (15) = 8.
36
Razes primitivas Captulo 2
b) A ordem de 4 com respeito a 9 igual a 3.
De fato,
4
1
4 mod 9
4
2
= 16 7 mod 9
4
3
= 64 1 mod 9
Por curiosidade, vamos calcular (9):
(9) = 3
2
.
_
1
1
3
_
(9) = 9.
2
3
(9) = 6.
Nos dois casos percebe-se que a ord
m
(a) | (m). Isso ser enunciado no corolrio
do teorema a seguir.
Teorema 29 Temos que a
n
1 mod m se, e somente se, ord
m
(a) | n.
Demonstrao: Inicialmente vamos fazer ord
m
(a) = k N

. Seja n um inteiro
tal que existe um nico par de inteiros q e r, 0 r < k tal que
n = qk + r
Dessa forma,
a
n
= a
qk+r
=
_
a
k
_
q
a
r
a
r
mod m
Como a
n
1 mod m, acabamos de mostrar que a
r
1 mod m. Sendo r < k,
r deve ser zero, pois k , por denio, o menor inteiro positivo para o qual a
k

1 mod m. Logo, r = 0 e n = qk. A recproca demonstrada de maneira anloga.


Corolrio 5.1 Sejam a, m N, com mdc(a, m) = 1. Temos que ord
m
(a) | (m).
Denio 30 Quando (m) a ordem de a com respeito a m, ento dizemos que
a uma raiz primitiva mdulo m.
a raiz primitiva com respeito a m ord
m
(a) = (m)
Exemplo: Vamos calcular a ordem de 2 com respeito a 9. Note que no precisamos
calcular todas as potncias do nmero 2, pois vimos que ord
9
(2) | (9) = 6. Assim:
37
Razes primitivas Captulo 2
2
1
2 mod 9
2
2
= 4 4 mod 9
2
3
= 8 8 mod 9
2
6
= 64 1 mod 9
Dessa forma, o inteiro 2 uma raiz primitiva mdulo 9, pois a ordem de 2 com
respeito a 9 6 e (9) = 6.
Teorema 31 Seja ord
m
(a) = k N

, ento a
t
a
h
mod m se, e somente se,
t h mod k.
Demonstrao: Vamos supor que a
t
a
h
mod m. Sem perda de generalidade
podemos supor que t h. Logo, como a
t
a
h
a
th
mod m e a
t
a
h
mod m temos
a
h
a
h
a
th
mod m. Como mdc(a, m) = 1 temos (a
h
, m) = 1, podemos cancelar a
h
nesta ltima congruncia, obtendo
1 a
th
mod m.
Dessa forma, k | (t h) o que equivale a dizer que t h mod k.
A recproca uma consequncia do algoritmo da diviso de Euclides. Se t
h mod k, ento existe um inteiro n tal que t = h + nk. Logo:
a
t
= a
h+nk
= a
h
_
a
k
_
n
a
h
mod m
Pois k a ordem de a mdulo m, o que conclui a demonstrao.
Corolrio 5.2 Seja p um nmero primo e a uma raiz primitiva mdulo p, ento
a
t
a
h
mod m se, e somente se, t h mod (p 1).
Demonstrao: Com efeito, se p um nmero primo, ento pelo teorema anterior,
sabemos que a
t
a
h
mod m t h mod (ord
p
(a)). Como a raiz primitiva, ento
ord
p
(a) = (p) = p 1 e, consequentemente, a
t
a
h
mod m t h mod (p 1).
Por curiosidade, somente os nmeros naturais da forma 1, 2, 4, p
t
e 2p
t
( p primo
impar e t inteiro positivo) possuem razes primitivas. A demonstrao desse teorema
feita por SANTOS [18].
38
Logaritmos discretos Captulo 2
Teorema 32 a = Z

m
se, e somente se, a raiz primitiva mdulo m.
O resultado desse teorema muito importante, pois somente razes primitivas
geram grupos cclicos mdulo m, STALLINGS [21].
Figura 2.1: Potncia dos inteiros mdulo 19
Fonte: STALLINGS [21], p. 176
2.9 Logaritmos discretos
Denio 33 Para um nmero natural b co-primo com m, e a uma raiz primi-
tiva mdulo m, denimos como ndice de b mdulo m na base a ou logaritmo
discreto de b mdulo m na base a denotado por dlog
a,m
(b) como o nico nmero
j {1, 2, 3, 4, , (m)} tal que a
j
b mod m.
O ndice ou logaritmo discreto de b mdulo m na base a foi denotado por
dlog
a,m
(b), mas alguns autores denotam esse fato por dlog
a,m
(b).
A principal aplicao dos logaritmos discretos feita em algoritmos de chave
pblica, como por exemplo na troca de chaves de Die-Hellman e no ElGamal. Esse
assunto conhecido como problema do logaritmo discreto, em que considerado um
nmero primo p ao invs de um inteiro qualquer m (m > 1).
39
Logaritmos discretos Captulo 2
Exemplo: As potncias de 2 com expoentes positivos mdulo 11 so:
2
1
= 2 2 mod 11
2
2
= 4 4 mod 11
2
3
= 8 8 mod 11
2
4
= 16 5 mod 11
2
5
= 32 10 mod 11
2
6
= 64 9 mod 11
2
7
= 128 7 mod 11
2
8
= 256 3 mod 11
2
9
= 512 6 mod 11
2
10
= 1024 1 mod 11
Note que 2 raiz primitiva mdulo 11, pois (11) = 11 1 = 10 e, portanto,
Z

11
=< 2 >= {2
1
, 2
2
, 2
3
, , 2
10
}.
Esses resultados que obtivemos das potncias de 2 mdulo 11, nos fornecem
os valores de dlog
2,11
(x). Por exemplo, dlog
2,11
(1) = 0, pois 2
0
1 mod 11 e
dlog
2,11
(6) = 9, pois 2
9
6 mod 11.
Vamos construir uma tabela com dlog
2,11
(x) para todos os valores de x de 1 a
10.
Na verdade a funo dlog
2,11
(x), em que x N

, satisfaz propriedades semelhan-


tes s propriedades dos logaritmos. As propriedades so:
i) dlog
a,p
(1) = 0;
ii) dlog
a,p
(a) = 1;
iii) dlog
a,p
(xy) dlog
a,p
(x) + dlog
a,p
(y) mod (p 1);
iv) dlog
a,p
(x
r
) r.dlog
a,p
(x) mod (p 1);
Demonstrao:
i) Da denio, temos que dlog
a,p
(1) = 0, pois a
0
= 1 1 mod p.
40
Logaritmos discretos Captulo 2
ii) Da denio, temos que dlog
a,p
(a) = 1, pois a
1
= a a mod p.
iii) Considere a
dlog
a,p
(x)
x mod p e a
dlog
a,p
(y)
y mod p, multiplicando as duas
congruncias, temos:
a
dlog
a,p
(x)+dlog
a,p
(y)
xy a
dlog
a,p
(xy)
mod p
Mas, como a raiz primitiva mdulo p, ento
dlog
a,p
(xy) dlog
a,p
(x) + dlog
a,p
(y) mod (p 1)
iv) Seja r um inteiro no-negativo. Podemos escrever x
r
como x.x.x.x.x.x x
com r fatores iguais a x. Considere a
dlog
a,p
(x)
x mod p, multiplicando essa
congruncia por ela mesmo r vezes, temos:
a
dlog
a,p
(x)+dlog
a,p
(x)++dlog
a,p
(x)
x
r
a
dlog
a,p
(x
r
)
mod p
De maneira anloga ao que zemos no item anterior, temos:
dlog
a,p
(x
r
) r.dlog
a,p
(x) mod (p 1)
41
Captulo 3
Criptograa Die-Hellman
Neste captulo estudaremos os fatos histricos que foram importantes para o ser-
gimento do protocolo Die-Hellman; o problema da distribuio das chaves e a troca
de chaves de Die-Hellman. As referncias bibliogrcas utilizadas foram: SINGH
[20], ALMEIDA [1], COUTINHO [5], DIZ [6], FIARRESGA [8], ODLYZKO [14],
RAYMOND [17] e VERISSIMO [23].
3.1 Um pouco de histria
Whiteld Die - nascido em 1944, Queens, Nova York, EUA - muito conhecido
pela sua descoberta do conceito de criptograa de chave pblica (com Martin Hell-
man). Desde os tempos de criana tinha especial fascnio pela Matemtica; leu livros
que iam do Manual de tabelas matemticas da Companhia Qumica da Borracha at
o Curso de matemtica pura de G. H. Hardy. Justamente por isso, Die decidiu
estudar Matemtica no Massachusetts Instituteof Technology - MIT; formou-se em
1965. Depois disto, trabalhou com segurana de computadores at que, no incio
dos anos 70, adquirira o amadurecimento necessrio para se tornar um criptgrafo
de pensamento livre. Seus cabelos longos e a sua maneira de ser fazem dele uma
espcie de hippie da alta tecnologia.
O interesse de Die era a soluo do problema da distribuio de chaves; apos-
tava na crena de entrada na histria daquele que encontrasse essa soluo; posto
que, nestas circunstncias, surgiria a sumidade dos criptgrafos de todos os tempos.
Ele acompanhou a evoluo da organizao de pesquisa ARPA (Advanced Research
Projects Agency), fundada pelo Departamento de Defesa dos EUA, responsvel por,
em 1969, criar o sistema de comunicao em rede chamado de ARPANet; no trans-
curso do tempo, em seu processo evolutivo, esse mtodo, em 1982, deu origem a
internet. Enquanto a ARPANet ainda era uma criana, Die sentia que uma re-
42
Um pouco de histria Captulo 3
voluo digital estava prestes a acontecer e que o projeto abria as portas para o
desenvolvimento de uma supervia de comunicao. Dessa forma, ele sabia que a
criptograa se transformaria numa ferramenta essencial e que o problema da distri-
buio de chaves se tornaria especialmente agudo.
Die considerou duas situaes. Na primeira, ele imaginou dois estranhos se
comunicando via internet e se perguntou como eles poderiam trocar uma mensagem
cifrada; e, na segunda, ele considerou uma pessoa que estava comprando um produto
via internet. Como esta pessoa poderia mandar um e-mail contendo informaes
cifradas sobre o seu carto de crdito, de modo que apenas o vendedor da internet
pudesse decifr-las? Note que nos dois casos as duas partes precisariam trocar uma
chave, mas como isso poderia ser feito de modo seguro? Ele cou obcecado pela
soluo do problema da troca de chaves.
Figura 3.1: Whiteld Die
Fonte: http://www.computerhistory.org/fellowawards/hall/bios/Whiteld,Die/
No ano de 1974, Die fez uma visita ao laboratrio Thomas J. Watson da Inter-
national Business Machine (IBM), onde foi convidado a dar uma palestra. Naquela
ocasio, foram citadas vrias estratgias para enfrentar o problema da distribuio
de chaves, porm as suas ideias ainda eram muito experimentais. Um dos primeiros
criptgrafos da IBM, Alan Kanheim, mencionou que outro palestrante falou sobre a
questo da troca de chaves - referia-se a Martin Hellman, um professor da Univer-
sidade de Stanford, na Califrnia. Assim, Die comeou uma viagem de cinco mil
quilmetros at a Costa Oeste para falar com Hellman.
Martin Hellman nasceu em 1945 no Bronx, Nova York, EUA. Quando tinha
apenas quatro anos de idade, sua famlia se mudou para um bairro cuja vizinhana
era predominantemente formada por catlicos irlandeses. Ser judeu mudou perma-
nentemente a sua atitude frente vida; na crena corrente, todo judeu Matador
43
O problema da distribuio das chaves Captulo 3
de Cristo e, em razo disto, apanhava dos demais meninos e sofria diversa outras
formas de perseguies e discriminaes ao longo da vida. Ele lembra que queria ser
como os outros meninos com relao rvore de Natal e presentes de m de ano,
mas percebeu que no poderia ser como os outros garotos e adotou uma atitude
defensiva de Quem que deseja ser como todo mundo?. Ele conta que este foi um
dos motivos pelos quais comeou a se interessar por criptograa.
Os colegas chamaram-no de louco: como fazer pesquisa de criptograa, concorrer
com a National Security Agency (NSA), uma agncia de oramento bilionrio, e
julgar que pudesse descobrir algo sem que eles soubessem? Sem falar que a NSA se
apoderaria da descoberta e a classicaria como secreta. At a visita inesperada de
Die, em 1974, o famoso livro de David Kahn, The Codebreakers, tinha sido o seu
livro de cabeceira e a nica fonte de informao de Hellman.
Figura 3.2: Martin Hellman
Fonte: http://http://www.nndb.com/people/407/000028323/
Finalmente Die havia cruzado o pas e, por meio de uma chamada telefnica,
entrou em contato com Hellman, que no hesitou em encontr-lo, embora o visi-
tante fosse totalmente desconhecido. Depois de meia hora de conversa, um estava
impressionado com o conhecimento do outro e perceberam que no estavam mais
sozinhos na busca de uma soluo que at ento era impossvel na prtica. Ape-
sar das evidentes diferenas de personalidade, travava-se ali comeo de uma grande
amizade e companheirismo. Imediatamente comearam a arquitetar um plano para
poderem trabalhar juntos. Como Die no tinha condies de contratar o novo
amigo como pesquisador, Hellman resolveu registrar Die como estudante gradu-
ado de Stanford. E, juntos, comearam a estudar o problema da distribuio de
chaves, tentando encontrar uma alternativa para a cansativa tarefa de transportar
sicamente as chaves atravs de grandes distncias.
44
O uso das funes na troca de chaves Captulo 3
3.2 O problema da distribuio das chaves
Se duas pessoas quiserem trocar mensagens secretas pelo telefone, o remetente
deve cifr-las e, para isso, ele usa uma chave, tambm secreta. Assim, surge o pro-
blema de transmitir uma chave secreta para o receptor, a m de que seja possvel
transmiti-la. Em suma, antes que duas pessoas possam partilhar um segredo (a
mensagem cifrada), necessrio partilhar outro segredo (a chave). Por mais com-
plexa que fosse a cifra, se o inimigo interceptasse a chave, o sigilo iria por gua a
baixo.
Quando se estuda o problema da distribuio das chaves surgem trs personagens
ctcios que se tornaram um padro nos debates sobre criptograa: Alice, Bob e
Eva. Vamos situao prtica: Alice deseja enviar uma mensagem para Bob ou
vice-versa e Eva est tentando interceptar esta mensagem. Se Alice est tentando
enviar mensagens condenciais para Bob, ela deve cifr-las antes do envio usando
uma determinada chave. Mas ela enfrenta sempre o problema de distribuio de
chaves, visto que ela precisa mandar as chaves para Bob em segurana, pois, caso
contrrio, Bob no conseguir decifrar as mensagens.
Uma alternativa para o problema seria Alice e Bob se encontrarem uma vez por
semana e trocarem chaves sucientes para cobrirem todas as mensagens que possam
ser enviadas durante os sete dias seguintes. Trocar chaves pessoalmente certamente
um modo seguro, mas, inconveniente, pois caso um dos dois casse doente, o sistema
deixaria de funcionar, ou, ainda, se contratassem um mensageiro, isso seria menos
seguro. De qualquer modo, a distribuio de chaves inevitvel e durante dois mil
anos isso foi considerado um axioma da criptograa. Assim, surge um mtodo que
parece desaar este axioma.
Suponha que Alice deseja enviar uma mensagem para Bob utilizando uma agn-
cia de correios, mas sabia que no trajeto desta carta algum poderia abrir e ler a
mensagem, ento ela resolveu colocar a carta numa caixa de ferro trancada com
um cadeado, cando com a chave. Quando Bob recebe a caixa, ele no tem como
abri-la, ento ele coloca outro cadeado e mandou de volta para Alice. Aps receber
a caixa, ela remove o prprio cadeado, deixando apenas o cadeado de Bob para im-
pedir a abertura da caixa. Por m, ela envia novamente a caixa para Bob e, nesta
circunstncia, temos uma diferena crucial: Bob pode abrir a caixa porque ela est
fechada apenas com o seu cadeado, para o qual s ele tem a chave, gura 3.3.
A mensagem chegou ao destinatrio com segurana sem que as pessoas trocas-
sem, necessariamente, as chaves. Ser que a troca de chaves pode no ser uma
parte inevitvel na criptograa? Veremos que esse esquema vlido somente para
cadeados, mas ele contribuiu muito para o avano das pesquisas de Die e Hellman.
45
O uso das funes na troca de chaves Captulo 3
Figura 3.3: Esquema da troca de chaves ilustrada pelo exemplo dos cadeados
Fonte: http://www.youtube.com/watch?v=pEfEgCEKcJ0
3.3 O uso das funes na troca de chaves
Vamos interpretar o exemplo dos cadeados em termos de cifragem. Alice usa a
sua prpria chave para cifrar a mensagem e a envia para Bob. Ele codica de novo
a mensagem e a envia para Alice, da ela recebe a mensagem, duplamente cifrada
e retira a sua cifra e envia para Bob. Finalmente, Bob retira a sua cifra e ler a
mensagem. Vejamos um exemplo:
Note que a mensagem decifrada por Bob no faz sentido algum, ou seja, a ordem
que o processo realizado muito importante. Por exemplo, se invertermos a ordem
46
A troca de chaves de Die-Hellman Captulo 3
em que foi decifrada, ou seja, primeiro Bob e depois Alice, obteremos a mensagem.
Estamos diante de um problema: qual a ordem em que as cifragens devem ser
feitas? De modo geral elas so feitas partindo do princpio ltimo dentro, primeiro
fora. Por exemplo, pela manh calamos nossas meias e em seguida os nossos tnis.
noite ns retiramos os tnis primeiro e as meias por ltimo. Seria impossvel
retirar as meias sem antes retirar os tnis. As pesquisas de Die e Hellman foram
avanando e eles chegaram concluso de que deveriam utilizar funes matemticas
para resolver o problema das trocas de chaves.
Denio 34 Uma funo invertvel f(x) recebe o nome de funo unidirecional se
fcil calcular y = f(x) para todo x do seu domnio, mas computacionalmente
inacessvel calcular x = f
1
(y) para todos os elementos y da imagem de f.
Essas funes apresentam uma propriedade em que elas e suas inversas so com-
pletamente assimtricas, quando nos referimos a termos de computao. Essas fun-
es tambm so conhecidas como funes de mo nica. Para ilustrar isso de
modo prtico, a funo que mistura tinta amarela com tinta azul para produzir
tinta verde unidirecional, pois impossvel desfazer essa mistura. A gura 3.4
representa como seria o esquema da troca de chaves utilizando o exemplo das tintas.
Figura 3.4: Troca de chaves ilustrada pelo exemplo das tintas
Fonte: http://pt.wikipedia.org/wiki/Die-Hellman
47
A troca de chaves de Die-Hellman Captulo 3
3.4 A protocolo das trocas de chaves de Die-Hellman
Depois de dois anos de trabalho com funes unidirecionais oferecidas pela arit-
mtica modular, em 1976, Hellman nalmente conseguiu resolver o problema da
troca de chaves, mudando dos rumos da criptograa desenvolvendo a criptograa
assimtrica. Finalmente, um protocolo para a troca de chaves foi criado para a
comunicao em um meio no seguro. Esse mtodo baseado nas operaes com
logaritmos discretos. Vamos ver como funciona o protocolo Die-Hellman na co-
municao entre Alice e Bob. Dado um nmero primo p e uma raiz primitiva de
p.
Alice escolhe um nmero x
a
< p. Esse nmero mantido em segredo.
Bob escolhe um nmero x
b
< p. Esse nmero tambm mantido em segredo.
Alice calcula y
a

x
a
mod p
Bob calcula y
b

x
b
mod p
Alice envia o nmero y
a
para Bob.
Bob envia o nmero y
b
para Alice.
Alice calcula k (y
b
)
x
a
mod p k (
x
b
)
x
a
mod p k
x
a
x
b
mod p
Bob calcula k (y
a
)
x
b
mod p k (
x
a
)
x
b
mod p k
x
a
x
b
mod p
Alice e Bob chegaram ao mesmo valor k. Esse nmero k ser a chave de comu-
nicao entre eles. Note que na hora em que Alice e Bob trocam as informaes
uma oportunidade para que Eva escutar e descobrir os detalhes da informao
transmitida. Mas, ela pode escutar toda a conversa, pois mesmo que Eva saiba dos
valores de p e e os nmeros trocados y
a
e y
b
ela no ter dados sucientes para
obter o nmero k se o valor de p for considerado computacionalmente grande.
Exemplo: Suponha que p = 97 e = 5. Ento a troca de chaves entre Alice e
Bob ser da seguinte forma:
Alice escolhe um nmero, por exemplo 36;
Bob escolhe um nmero, por exemplo 58;
Alice calcula 5
36
50 mod97;
Bob calcula 5
58
44 mod97;
Alice informa a Bob o nmero 50;
Bob informa a Alice o nmero 44;
Alice calcula 44
36
75 mod97;
48
A troca de chaves de Die-Hellman Captulo 3
Bob calcula 50
58
75 mod97;
Portanto a chave entre Alice e Bob o nmero 75.
Agora, vamos nos colocar na situao de Eva. Ela sabe os nmero p = 97, = 5,
y
a
= 50 e y
b
= 44. Vamos tentar obter os nmeros x
a
e x
b
.
5
x
a
50 mod 97
Ou seja, Eva tem que calcular,
x
a
= dlog
5,97
(50)
No site http://www.alpertron.com.ar/DILOG.HTM h uma calculadora de lo-
garitmos discretos. Inserindo os valores que Eva tem, obtemos rapidamente que
x
a
= 36 e com isso ela consegue saber que o valor de k 75.
Figura 3.5: Calculadora de logaritmos discretos
Fonte: http://www.alpertron.com.ar/DILOG.HTM
Assim, pode surgir a seguinte pergunta: o problema da troca de chaves no est
resolvido? Note que utilizamos nmeros relativamente pequenos. A segurana da
criptograa Die-Hellman reside no problema de determinar logaritmos discretos
muito grandes.
Segundo FIGUEIREDO [9], importante que a ordem do grupo multiplicativo
G seja um primo ou tenha um fator primo muito grande, caso contrrio bem
fcil resolver o problema do logaritmo discreto, como zemos anteriormente. Se
utilizarmos Z

p
, em que p um nmero primo, ou seja, a ordem do grupo p 1,
49
A troca de chaves de Die-Hellman Captulo 3
uma boa escolha so os primos de Sophie German, que so da forma p = 2q + 1,
onde q tambm primo.
Esses primos so famosos, pois a matemtica, fsica e lsofa francesa Marie-
Sophie Germain, nascida em Paris, provou que o ltimo Teorema de Fermat
verdadeiro para eles, ou seja, se p um nmero primo com estas caractersticas,
distintos dois a dois, ento no existem solues inteiras no triviais para a equa-
o x
p
+ y
p
= z
p
. Como curiosidade, h 189 primos de Sophie Germain no in-
tervalo [1, 10
4
] e o maior nmero de Sophie German conhecido at o momento
18543637900515
2666667
1 que tem 200701 dgitos e foi descoberto em abril de 2012
por Philipp Bliedung.
Figura 3.6: Primos de Sophie German
Fonte: http://es.wikipedia.org/wiki/N%C3%BAmero_primo_de_Sophie_Germain
Trabalhar com logaritmos discretos totalmente vivel no mbito computacional,
pois no existe um algoritmo que calcule em tempo hbil os logaritmos discretos para
primos muito grandes. Desta forma, os algoritmos que tentam descobrir o logaritmo
discreto fazem testes, ou seja, trabalham utilizando a fora bruta. Se o nmero primo
for muito grande o computador ir gastar muito tempo para calcular o logaritmo
discreto, pois esse problema computacionalmente muito difcil.
Vamos observar na prtica como funciona o protocolo da troca de chaves Die-
Hellman para a encriptao de uma mensagem, para isso vamos utilizar os nmeros
p e pequenos para uma melhor explicao. Suponha que Alice e Bob combinem
que iro utilizar os nmeros p = 97 e = 5. No exemplo anterior, vimos que a chave
secreta entre eles ser o nmero 75 e essa chave ser utilizada tanto no algoritmo
de criptograa quanto no algoritmo de decriptograa. Por exemplo, vamos supor
50
A troca de chaves de Die-Hellman Captulo 3
que nos computadores de Alice e Bob esteja instalado um algoritmo que utilize
a cifra de Vigenre. Esse algoritmo cifra as mensagens utilizando a posio dos
alfabetos de acordo com os algarismos da chave obtida. Nesse caso ele ir utilizar,
alternadamente, os alfabetos da posio 7 e da posio 5 nessa ordem.
Se Bob desejar enviar a mensagem AMOR para Alice, ento o algoritmo de
encriptao ir cifrar a mensagem como uiin e o algoritmo de decriptao ir decifrar
uiin transformando na mensagem inicial AMOR.
O grande problema deste modelo o fato das chaves de Alice e Bob serem as
mesmas, apesar da funo logaritmo discreto ser unidirecional, o computador de
ambos est sujeito a vrus. Suponha que um usurio deseja realizar uma transao
bancria via internet, sabemos que o sistema que protege os computadores dos
bancos so altamente seguros, mas o computador do usurio no, pois ele est
sujeito a ser invadido por um vrus. Como a chave a mesma um risco para
o banco utilizar esse mtodo. Ento, ela considerada segura se o meio onde as
chaves forem guardadas for seguro. Dessa forma, este modelo no considerado o
mais eciente, pelo contrrio, ele est obsoleto em relao a criptograa RSA, por
exemplo.
A criptograa RSA se baseia na fatorao de nmeros primos grandes no mbito
computacional e a chave de criptograa diferente da chave de decriptograa. As-
sim, se Bob desejar enviar uma mensagem para Alice, ele utilizar a chave pblica
de Alice para cifrar a mensagem, mas somente Alice ser capaz de decifrar a mensa-
gem, pois ela utilizar a sua chave privada, tornado a comunicao entre eles mais
segura. Portanto, a segurana da informao na troca de chaves de Die-Hellman
se torna inferior se comparada a segurana RSA, por isso a sua pouca utilizao
atualmente.
51
Captulo 4
Atividades com criptograa em sala
de aula
A abordagem de contedos que estimulem a curiosidade e que desencadeiem um
processo que permita a construo de novos conhecimentos um ponto de referncia
no processo de ensino e aprendizagem da Matemtica. Dessa forma, a inteno de
elaborar as atividades aqui propostas foi de aplicar o conhecimento obtido sobre
criptograa neste trabalho no ambiente escolar. Acredita-se que o tema Criptogra-
a pode ser utilizado como gerador de atividades didticas que permitam revisar,
exercitar, xar e aprofundar os contedos matemticos desenvolvidos no Ensino
Fundamental e Mdio. Partindo desse princpio, podemos introduzir a criptograa
ao comear um novo assunto ou no desenvolvimento dele.
4.1 Atividade 1 - A utilizao das funes na Crip-
tograa
Neste trabalho, estudamos a evoluo da criptograa ao longo da histria e
aprendemos vrios mtodos de cifragem de mensagens. Nesta atividade vamos as-
sociar a Cifra de Csar com uma funo denida por vrias sentenas, assunto que
geralmente visto aps as funes polinomiais do 1
o
e 2
o
graus.
Atividade
A funo f : N

, denida por f(x) =


_
2x + 1, se x 12
x, se x > 12
, ser respon-
svel pela codicao de mensagens cujas letras estaro associadas com os nmeros
da tabela a seguir:
Por exemplo, ao codicar a palavra casa, temos:
52
Atividade 1 - A utilizao das funes na Criptograa Captulo 4
f(3) = 2.3 + 1 f(3) = 6 + 1 f(3) = 7
f(1) = 2.1 + 1 f(1) = 2 + 1 f(1) = 3
f(19) = 19
Note que a imagem do nmero 3 (que representa a letra c) pela funo f
o nmero 7 que representa a letra g. Continuando o procedimento a mensagem
codicada ser gcsc.
O que acabamos que fazer era comumente utilizado pelo imperador romano Jlio
Csar para transmitir mensagens condenciais aos seus aliados. Esse mtodo
chamado de cifra de Csar. O nome dado a tcnica de codicar uma mensagem
para que apenas o seu destinatrio saiba traduzi-la chamada de criptograa. Um
ramo muito importante da informtica, cuja aplicao est diretamente ligada a
segurana das informaes transmitidas entre duas pessoas, ou empresas, ou pases,
etc.
Com base no exemplo, faa o que se pede:
a) cifre a mensagem eu amo criptograa;
b) Represente a funo f por meio de diagramas utilizando o esquema de echas;
c) Existem letras que no tero representao no texto cifrado. Quais so elas?
Objetivo geral
Introduzir a criptograa em sala de aula como fator motivacional para vericar
a aprendizagem dos alunos com respeito a funes denidas por vrias sentenas.
Objetivos especcos
Reconhecer uma funo denida por vrias sentenas;
Calcular o valor numrico de uma funo denida por vrias sentenas;
Retomar a ideia de diagramas por meio do esquema de echas;
Relacionar a funo denida por vrias sentenas a codicao e decodicao
de mensagens.
53
Atividade 1 - A utilizao das funes na Criptograa Captulo 4
Pblico Alvo
Estudantes da 1
a
srie do ensino mdio, segundo os Parmetros Curriculares
Nacionais (PCN).
Pr-requisitos
Os alunos devero saber a denio de funo constante e funo polinomial do
1
o
grau; representao de funes por meio do esquema de echas e clculo do valor
numrico para funes denidas por vrias sentenas.
Materiais
Os materiais utilizados nesta atividade so lpis, borracha e a folha contendo a
atividade.
Recomendaes Metodolgicas
Esta atividade ser aplicada em sala de aula ao nal do contedo de funes de-
nidas por vrias sentenas. Os alunos respondero as atividades e, posteriormente,
se reuniro em duplas para discutir os resultados obtidos. Ao trmino da discus-
so, o docente responder a atividade ou poder propor aos alunos responderem na
lousa.
Diculdades previstas
Esta atividade requer conhecimentos prvios, ou seja, se por algum motivo o
aluno no absorveu esses conhecimentos a atividade ser encarada com diculda-
des. Dessa forma, ao perceber essas diculdades o docente dever dar uma ateno
especial a esse aluno.
Possveis continuaes ou desdobramentos
O docente poder associar este contedo com outras funes estudadas na 1
a
srie do ensino mdio, basta ter cuidado na escolha da lei de formao destas., para
isso poder mudar os valores associados as letras desta atividade.
54
Atividade 2 - O uso das matrizes na Criptograa Captulo 4
4.2 Atividade 2 - O uso das matrizes na Criptograa
Um outro contedo visto na educao bsica que pode ser relacionar com a
Criptograa o estudo das Matrizes. Geralmente a contextualizao desse con-
tedo utilizada nos livros de ensino mdio diz respeito a multiplicao de matrizes.
Nessa atividade vamos relacionar a criptograa com multiplicao de matrizes, mas
o diferencial que vamos envolver matriz inversa nesses clculos, o que permite fa-
zer uma avaliao sobre o aprendizado dos alunos com relao a esse contedo de
modo instigante, pois obter a real mensagem ser motivante para os discentes. Para
isso propomos uma questo que foi explorada no vestibular 2011 da Universidade
Federal de Gois (UFG).
Atividade
Uma tcnica para criptografar mensagens utiliza a multiplicao de matrizes. Um
codicador transforma sua mensagem numa matriz M, com duas linhas, substituindo
cada letra pelo nmero correspondente sua ordem no alfabeto, conforme modelo
apresentado a seguir.
Por exemplo, a palavra SENHAS caria assim:
M =
_
S E N
H A S
_
=
_
19 5 14
8 1 19
_
Para codicar, uma matriz 2 2, A, multiplicada pela matriz M, resultando
na matriz E = A M, que a mensagem codicada a ser enviada.
Ao receber a mensagem, o decodicador precisa reobter M para descobrir a
mensagem original. Para isso, utiliza uma matriz 2 2, B, tal que B A = I,
onde I a matriz identidade (2 2). Assim, multiplicando B por E, obtm-se
B E = B A M = M.
Uma palavra codicada, segundo esse processo, por uma matriz A =
_
2 1
1 1
_
resultou na matriz E =
_
47 30 29
28 21 22
_
.
Calcule a matriz B, decodique a mensagem e identique a palavra original.
55
Atividade 2 - O uso das matrizes na Criptograa Captulo 4
Objetivo geral
Introduzir a criptograa em sala de aula como fator motivacional para vericar a
aprendizagem dos alunos com respeito a multiplicao de matrizes e matriz inversa.
Objetivos especcos
Identicar quando o produto de matrizes possvel;
Calcular o produto entre matrizes;
Obter a matriz identidade de ordem n;
Calcular a matriz inversa de uma matriz;
Resolver problemas envolvendo matrizes utilizando sistemas lineares;
Relacionar matrizes com a codicao e decodicao de mensagens.
Pblico Alvo
Estudantes da 2
a
srie do ensino mdio, segundo os Parmetros Curriculares
Nacionais (PCN).
Pr-requisitos
Os alunos devero saber a denio de matrizes bem como identicar quando o
produto entre matrizes possvel, multiplicao entre matrizes, obteno da matriz
inversa e matriz identidade.
Materiais
Os materiais utilizados nesta atividade so lpis, borracha e a folha contendo a
atividade.
Recomendaes Metodolgicas
Esta atividade ser aplicada em sala de aula ao nal do contedo de matrizes
para a vericao da aprendizagem dos alunos com relao a esse contedo. Os
alunos respondero a atividade e, ao trmino da discusso, o docente responder a
atividade ou poder propor aos alunos responderem na lousa.
Diculdades previstas
As diculdades, que podero surgir ao longo desta atividade, so aquelas referen-
tes a multiplicao de matrizes e, em especial, ao clculo de matrizes inversas, pois
56
Atividade 2 - O uso das matrizes na Criptograa Captulo 4
o discente ir se deparar com o assunto sistema de equaes lineares que foi visto
no 8
o
ano do ensino fundamental, segundo os PCNs. Ao notar essas diculdades,
o docente dever resgatar esse contedo para os alunos por meio de uma rpida
reviso.
Possveis continuaes ou desdobramentos
O docente poder criar outras atividades relacionando outras matrizes e outras
mensagens originais para serem codicadas e decodicadas.
57
Atividade 3 - A criptograa Die-Hellman em sala de aula Captulo 4
4.3 Atividade 3 - A criptograa Die-Hellman em
sala de aula
No captulo 3 deste trabalho aprendemos como funciona o algoritmo utilizado
no protocolo da troca de chaves de Die-Hellman e ao nal exemplicamos, no
nal do captulo, como ele funciona. A atividade aqui proposta ir fazer os alunos
trabalharem com o contedo diviso de nmeros inteiros e potenciao de nmeros
inteiros ambos vistos no 6
o
ano do ensino fundamental.
Atividade
A criptograa (do grego kryptos, escondido, e graphein,escrita) o estudo dos
princpios e tcnicas pelas quais a informao pode ser transformada da sua forma
original para outra ilegvel, de forma que possa ser conhecida apenas pelo remetente
e destinatrio da mensagem por meio de uma chave. Dois estudiosos americanos
chamados Whiteld Die e Martin Hellman publicaram em 1976 um novo mtodo
de duas pessoas trocarem mensagens de modo seguro utilizando o protocolo da troca
de chaves de Die-Hellman, baseado, de maneira simplicada, no resto da diviso
entre nmeros naturais.
Vamos supor que Alice e Bob so duas pessoas que desejam se comunicar utili-
zando uma mensagem secreta, mas para isso eles devero compartilhar uma chave
secreta. O protocolo Die-Hellman funciona da seguinte maneira:
i) Alice e Bob trocaro informaes utilizando os restos das potncias de base 4
com relao ao nmero primo 7.
ii) Alice dever escolher um valor natural entre 1 e 7, que vamos chamar de x, e
calcular o resto da diviso de 4
x
por 7 que denotaremos por a.
iii) Bob dever escolher um valor natural entre 1 e 7, que vamos chamar de y, e
calcular o resto da diviso de 4
y
por 7 que denotaremos por b;
iv) Agora, Alice ir calcular o resto da diviso de b
x
por 7 e chamar de k
1
;
v) Bob ir calcular o resto da diviso de a
y
por 7 e chamar de k
2
;
vi) Note que k
1
= k
2
e essa ser a chave da comunicao secreta entre eles, que
denotaremos por k.
Aps esse procedimento ser feito, Bob deseja enviar uma palavra secreta para
Alice, por exemplo, amor. Por exemplo, se o valor de k obtido for o nmero 5,
58
Atividade 3 - A criptograa Die-Hellman em sala de aula Captulo 4
ento Bob ir codicar a palavra amor substituindo cada letra dessa palavra pela
representante dela na 5 linha da tabela abaixo.
Ento, ele substituir a letra A por N, M por H, O por A e R por Z, obtendo a
palavra nhaz. Alice receber essa mensagem decodicar utilizando a 5
a
linha com
relao a linha do alfabeto da Lngua Portuguesa. Dessa forma, ela substituir a
letra N por A, H por M, A por O e Z por R, obtendo a mensagem original amor.
Renam-se em duplas e troquem palavras utilizando o protocolo Die-Hellman.
Objetivo geral
Introduzir a criptograa em sala de aula como fator motivacional para vericar a
aprendizagem dos alunos com respeito a diviso e potenciao de nmeros inteiros.
Objetivos especcos
Identicar o dividendo, divisor, quociente e resto de uma diviso;
Saber a denio de nmeros primos;
Calcular potncias de nmeros naturais;
Relacionar o resto de uma diviso com a codicao e decodicao de men-
sagens.
Pblico Alvo
Estudantes do 6
o
ano do ensino fundamental, segundo os Parmetros Curriculares
Nacionais (PCN).
Pr-requisitos
Os alunos devero conhecer o algoritmo da diviso de Euclides, a denio e
propriedades das potncias de nmeros naturais e a denio e obteno de nmeros
primos.
59
Atividade 3 - A criptograa Die-Hellman em sala de aula Captulo 4
Materiais
Os materiais utilizados nesta atividade so lpis, borracha, calculadora e a folha
contendo a atividade.
Recomendaes Metodolgicas
Esta atividade ser aplicada em sala de aula ao nal do contedo de potenciao
para a vericao da aprendizagem dos alunos com relao a esse contedo. Os
alunos devero formar duplas para vericar, utilizando a calculadora para o clculo
de potncias, se conseguiram chegar a mesma chave e codicar e decodicar as
mensagens transmitidas. Ao nal desta atividade o professor dever discutir os
resultados obtidos com os discentes, vericando se as mensagens foram trocadas
com xito.
Diculdades previstas
As diculdades, que podero surgir ao longo desta atividade, so aquelas referen-
tes ao assunto diviso, pois estudos comprovam a diculdades dos alunos em todo o
pas com relao a esse contedo. O professor ao andar pela sala e ver o andamento
das atividades poder ajudar os alunos percebendo essa diculdade.
Possveis continuaes ou desdobramentos
O docente poder utilizar outros valores para o nmero primo e a base da potn-
cia, bem como mudar o alfabeto utilizado no nal desta atividade para a codicao
e decodicao das mensagens.
60
Referncias Bibliogrcas
[1] ALMEIDA, Paulo J., Criptograa e segurana. Departamento de Matemtica
de Aveiro. Portugal, (2012). Disponvel em: http://arquivoescolar.org/
bitstream/arquivo-e/195/1/CS11_12.pdf>. Acesso em 05 fevereiro 2013.
[2] ARAJO, Maria Julieta Ventura Carvalho, Fundamentos de Matemtica Ele-
mentar. Notas de aula, (2010). Disponvel em: http://www.ufjf.br/andre_
hallack/files/2012/07/fund-09.pdf. Acesso em 20 janeiro 2013.
[3] BRASIL, Orientaes curriculares para o ensino mdio. Cincias da natureza,
matemtica e suas tecnologias. Braslia: Ministrio da Educao, Secretaria
de Educao Bsica, 2006. Disponvel em: http://portal.mec.gov.br/seb/
arquivos/pdf/book_volume_02_internet.pdf. Acesso em 28 fevereiro 2013.
[4] , Parmetros Curriculares Nacionais: matemtica. Secretaria de Educa-
o Fundamental. Braslia: MEC, SEF, 1997. Disponvel em: http://portal.
mec.gov.br/seb/arquivos/pdf/livro03.pdf. Acesso em 25 fevereiro 2013.
[5] COUTINHO, S. C., Nmeros inteiros e Criptograa RSA. Srie de Computao
e Matemtica n. 2. 2 ed. Rio de Janeiro, IMPA e SBM, (2000).
[6] DIZ, Jos Ral Durn, Nmeros primos especiales y sus aplicaciones cripto-
grcas. Tese (Departamento de Fsica Aplicada a las Tecnologias de la Infor-
macin). Escuela Tcnica Superior de Engenieros de Telecomunicacin. Madrid,
(2003). Disponvel em: http://oa.upm.es/193/1/09200317.pdf. Acesso em
12 fevereiro 2013.
[7] DOMINGUES, H. H.; IEZZI, G., lgebra moderna. 4 ed. So Paulo: Atual,
(2003).
[8] FIARRESGA, Victor Manuel Calhabrs, Criptograa e Matemtica. Disserta-
o (Mestrado em Matemtica para Professores) - Universidade de Lisboa, Lis-
boa, (2010). Disponvel em: http://repositorio.ul.pt/bitstream/10451/
3647/1/ulfc055857_tm_Victor_Fiarresga.pdf. Acesso em: 05 janeiro 2013.
[9] FIGUEIREDO, Luiz Manoel Silva, Nmeros primos e Criptogra-
a de chave pblica. Rio de Janeiro: Universidade Federal Flumi-
nense, (2006). Disponvel em: http://pt.scribd.com/doc/52956969/
48189108-Criptografia-Numeros-Primos. Acesso em: 20 dezembro 2012.
61
Referncias Bibliogrficas
[10] FILHO, Edgard de Alencar, Teoria das congruncias. So Paulo: Nobel, (1986).
[11] HEFEZ, Abramo, Elementos de aritmtica. 2 ed. Rio de Janeiro: SBM, (2011).
[12] KAKUTA, Neuza, lgebra I. Universidade Estadual Paulista, So Jos do Rio
Preto, (2005).
[13] MALAGUTTI, Pedro Luiz, Atividades de Contagem a Partir da Criptograa.
OBMEP, Rio de Janeiro, (2009). Disponvel em: http://server22.obmep.
org.br:8080/media/servicos/recursos/296660.o. Acesso em: 14 janeiro
2013.
[14] ODLYZKO, Andrew. Discrete logarithms over nite elds. University of Min-
nesota, (2009). Disponvel em: http://www.dtc.umn.edu/~odlyzko/doc/
discrete.logs.hff.pdf. Acesso em: 14 de fevereiro 2013.
[15] OLIVEIRA, Ronielton Rezende, Criptograa tradicional simtrica de chave pri-
vada e Criptograa assimtrica de chave pblica: anlise das vantagens e des-
vantagens. Trabalho da ps-graduao Criptograa e Segurana em Redes da
UFF, Niteroi, (2006).
[16] ORE, Oystein, Invitation to number theory. New York: Random House, (1967).
[17] RAYMOND, J. F.; STIGLIC, A., Security Issues in the Die-Hellman Key
Agreement Protocol. (2003). Disponvel em: http://crypto.cs.mcgill.ca/
~stiglic/Papers/dhfull.pdf. Acesso em: 12 fevereiro 2013.
[18] SANTOS, Jos Plnio de Oliveira, Introduo teoria dos nmeros. 3 ed. Rio
de Janeiro: IMPA, (2010).
[19] SHOKRANIAN, Salahoddin, Uma introduo teoria dos nmeros. Rio de
Janeiro: Editora Cincia Moderna Ltda., (2008).
[20] SINGH, Simon; traduo de Jorge Calife, O livro dos cdigos. 6 ed. Rio de
Janeiro: Record, (2007).
[21] STALLINGS, Willian; traduzido por Daniel Vieira, Criptograa e segurana de
redes. 4 ed. So Paulo: Pearson Prentice Hall, (2008).
[22] TBARA, Jos Luis, Breve histria de la Criptograa clssica. Ma-
drid, (2011). Disponvel em: http://pt.scribd.com/doc/123095010/
Breve-Historia-de-La-Criptografia-Clasica. Acesso em: 05 Janeiro 2013.
[23] VERISSIMO, Fernando, Segurana em redes sem o. Monograa. Uni-
versidade Federal do Rio de Janeiro, Rio de Janeiro, (2012). Disponvel
em: http://www.lockabit.coppe.ufrj.br/sites/lockabit.coppe.ufrj.
br/files/publicacoes/lockabit/wnsmono.pdf. Acesso em: 02 Janeiro 2013.
62

Você também pode gostar