Вы находитесь на странице: 1из 161

Universidade de Lisboa

Faculdade de Cincias
Departamento de Matemtica


Criptografia e Matemtica
Victor Manuel Calhabrs Fiarresga






Mestrado em Matemtica para Professores

Setembro de 2010
i
















ii

Universidade de Lisboa
Faculdade de Cincias
Departamento de Matemtica



Criptografia e Matemtica
Victor Manuel Calhabrs Fiarresga

Dissertao realizada sob a superviso do
Professor Doutor Jorge Nuno Monteiro de Oliveira e Silva,
Professor Auxiliar da
Faculdade de Cincias da Universidade de Lisboa
Mestrado em Matemtica para Professores

Setembro de 2010
iii

























iv



Aos meus pais,
Berta e Isabel

















v






















vi

Agradecimentos

Agradeo:
Ao meu orientador, Professor Doutor Jorge Nuno Silva, todo o apoio na
elaborao desta tese.
Isabel Fiarresga, minha mulher, pela pacincia e por no ter deixado, na parte
no cientfica, que algumas gralhas grasnassem.
escola bsica 2, 3 Sophia de Mello Breyner Andresen pelo facto de ter
proporcionado a frequncia da parte curricular deste mestrado.
Aos meus pais e sogra por todo o apoio prestado.

Victor Manuel Calhabrs Fiarresga
Belas, Setembro 2010











vii

























viii

Criptografia e Matemtica
Resumo
Neste trabalho, fazemos um pequeno estudo sobre as origens da criptografia e
alguns criptossistemas.
No primeiro captulo, definimos criptografia e introduzimos alguns conceitos que
lhe esto inerentes, a saber: alfabeto de cifra e cifras de substituio,
transposio, monoalfabticas e polialfabticas.
No segundo captulo, fazemos uma breve histria da criptografia, em que
procuramos abordar as suas origens, bem como, os seus momentos mais
marcantes ao longo do tempo.
A principal ferramenta da criptografia a Matemtica, assim no terceiro captulo,
so estudados alguns resultados da Matemtica, que so de extrema importncia
para o funcionamento da criptografia. Aqui no podemos deixar de salientar a
importncia actual da Teoria dos Nmeros.
No quarto captulo, estudamos os criptossistemas simtricos e assimtricos.
Definimos cada uma das cifras e atravs de exemplos simples mostramos como
elas so aplicadas.
No quinto captulo, abordamos as assinaturas digitais. Aqui so estudados trs
esquemas de assinaturas digitais: RSA, ELGamal e Digital Standard. Mais uma
vez, recorremos a exemplos simples para mostrar a sua aplicabilidade.
Por ltimo, no sexto captulo, fazemos a concluso deste trabalho, onde referimos
que a criptografia pode ser utilizada para criar gosto, hbitos de trabalho e
persistncia nos alunos dos Ensinos Bsico e Secundrio, de uma forma
diferente.




ix




























x

Cryptography and Mathematics
Abstract
In this work, we do a small study on the origins of some cryptography and
cryptosystems.
In the first chapter, we define encryption and introduce some concepts that would
arise, namely, alphabet cipher and substitution, transposition, and monoalphabetic
and polyalphabetic ciphers.
In the second chapter, we present a brief history of cryptography; we seek to
address its origins, as well as their most memorable moments over time.
The main tool of cryptography is the mathematics, so in the third chapter, are
studied some results of mathematics, which are of extreme importance for the
purpose of cryptography. Here we can not fail to emphasize the current
importance of the Theory of Numbers.
In the fourth chapter, we study the symmetric and asymmetric cryptosystems. We
define each one of the ciphers and through simple examples show how they are
applied.
In the fifth chapter we discuss the digital signatures. Here we study three schemes
of digital signatures: RSA, ElGamal and Digital Standard. Again, we resort to
simple examples to show its applicability.
Finally, in chapter six, we conclude this work, where we mentioned that
cryptography can be used to create enjoyment, work habits and persistence in
students of basic and secondary school in a different way.








xi

ndice

Introduo 1

1 Criptografia 3

2 Uma Breve Histria da Criptografia 6

3 Matemtica 28

3.1 Grupos, anis e corpos 28
3.2 Divisibilidade e algoritmo de Euclides 29
3.3 Congruncias 36
3.4 Matrizes 43
3.5 Teorema de Euler 44
3.6 Razes primitivas 48
3.7 Pequeno Teorema de Fermat 53
3.8 Resduos quadrticos 58
3.9 Problema do Logaritmo Discreto 64
3.10 Curvas elpticas 75
3.11 Testes de primalidade 79
3.12 Algoritmos de factorizao 97

4 Cifras 106
4.1 Cifras simtricas 106
4.1.1Definio 106
4.1.2 A cifra Shift 107
xii

4.1.3 A cifra Afim 108
4.1.4 A cifra por permutao 109
4.1.5 A cifra de Hill 110
4.1.6 A cifra de Vigenre 111
4.1.7 A cifra de One-Time Pad 114
4.1.8 As cifras de Fluxo 116
4.1.8.1 A cifra autokey 116
4.2 A troca de chaves 117
4.3 Cifras Assimtricas 118
4.3.1 O criptosistema RSA 119
4.3.2 O criptosistema ELGamal 126
4.3.3 O criptosistema Massey-Omura 128
4.3.4 O criptosistema Menezes-Vanstone 131

5 Assinaturas Digitais 135
5.1 Definio 135
5.2 Esquema da assinatura RSA 136
5.3 Esquema da assinatura ELGamal 136
5.4 Esquema da assinatura Digital Standard 137

6 Concluso 140

Bibliografia 143



xiii






















xiv

Lista de Tabelas
2.1 Cifra atbash 6
2.2 Cifra albam 6
2.3 Cifra atbah 7
2.4 Cifra de Polbio 8
2.5 Cifra de Polbio, usando nmeros 9
2.6 Cifra de Csar 9
2.7 Frequncia relativa de cada uma das letras, na Lngua Portuguesa 10
2.8 Cifra ADFGVX 19
2.9 Mensagem escrita utilizando a palavra-chave 20
2. 10 Mensagem escrita depois da palavra-chave ser ordenada por
ordem alfabtica 20
2.11 Nmeros binrios ASCII para as letras maisculas 24
3.1 o ciclo Floyds no algoritmo de Pollard 71
3.2 Pseudoprimos fortes para as bases 2, 3 e 5 e os resultados do
teste para as bases 7,11 e 13 89
4.1 Correspondncia entre letras e nmeros 106
4.2 Converso do alfabeto latino, utilizando o criptosistema
El Gamal, aplicando a chave pblica (2357, 2, 1185) 127





xv






















xvi

Lista de Figuras
2.1 Scytale ou basto de Licurgo 7
2.2 Cifra dos templrios 11
2.3 Disco de Alberti 13
2.4 Tabula recta Caesar 14
2.5 Alfabetos de cifra utilizados por Della Porta 15
2.6 Cilindro de Jefferson 17
2.7 Mquina Enigma 21
2.8 Maqueta da mquina Enigma 23
3.1 (a) y
2
+ xy = x
3
+ 1, (b) y
2
= x
3
4x + 5 76
4.1 Cifra de Vigenre 112

1

Introduo
Quando, em 1940, G. H. Hardy declarou que a melhor matemtica , em
grande parte, intil, acrescentou logo que isso no necessariamente uma m
coisa: As matemticas a srio no tm qualquer efeito na guerra. Ningum
ainda descobriu que qualquer aplicao guerreira fosse servida pela Teoria dos
Nmeros.
Singh, S. A Soluo do ltimo Teorema de Fermat, 1997.

Hoje podemos dizer que Hardy estava errado? No! O que Hardy afirmou, s
prova uma coisa: que a Matemtica tem estado muitas vezes frente do
Tempo umas vezes mais longe, outras mais perto! No entanto, quando
menos se espera, pode entrar nas nossas vidas sem pedir licena, para o Bem
e para o Mal. Foi o que aconteceu com a Teoria dos Nmeros a partir do ltimo
quartel do sculo passado.
Quando da abordagem do tema da criptografia e o seu relacionamento com a
Matemtica, havia alguma noo da riqueza do tema, no entanto este
relacionamento ultrapassou as expectativas pela tamanha grandeza que
evidenciou. Devido ao secretismo que o tema envolve por parte de estados e
empresas a noo dos seus limites continua a no estar ao nosso alcance.
Contudo a aprendizagem efectuada aquando do desenvolvimento destes
assuntos contribuiu para um enriquecimento quer pessoal quer profissional.
Ao longo do texto, so dados exemplos que ajudam numa melhor
compreenso dos diversos mtodos de encriptar e desencriptar mensagens,
para tal utilizamos nmeros primos com o mximo de dois dgitos; pois o
objectivo, no transcrever a realidade do mundo da criptografia, onde se
utilizam nmeros primos com centenas de algarismos, mas dar uma simples
viso desse mundo.
No captulo um, damos a noo de criptografia e fazemos a distino entre
criptografia e esteganografia, a qual muitas vezes no clara! Abordamos
alguns tipos de criptografia, simtrica e assimtrica. Dentro da criptografia
2

simtrica, fazemos a distino entre cifra de substituio e cifra de
transposio. Falamos tambm das distines entre o trabalho do criptgrafo e
do criptanalista. Sero dadas, como exemplo, algumas cifras para nos
familiarizarmos com o verdadeiro papel da criptografia ocultar a informao!
Esclarecemos ainda quais os objectivos da criptografia.
No captulo dois, fazemos uma breve, mas esclarecedora, Histria da
Criptografia. A compreenso da evoluo histrica de um tema, ajuda-nos no
s a entender a sua importncia para a Humanidade; como tambm, o seu
desenvolvimento ao longo do tempo. E neste caso, a criptografia adaptou-se
sempre ao sucesso dos criptanalistas.
No terceiro captulo, expomos algumas partes da Matemtica, que contriburam
para o desenvolvimento da Criptografia: estruturas algbricas, teoria dos
nmeros, problema do logaritmo discreto, testes de primalidade, algoritmos de
factorizao, etc. Embora a maior parte da Matemtica, no fosse criada para
esse efeito; a Criptografia viu nela e continua a ver, uma aliada insubstituvel!
No quarto captulo, falamos de alguns criptosistemas que nos pareceram ser os
mais importantes; no s pela sua importncia histrica, como tambm, alguns,
pela segurana revelada ao longo do tempo.
No captulo cinco, as assinaturas digitais so abordadas, de modo, a explicar
um futuro para todos, que est j ao virar da esquina! Assinar um contrato, com
nmeros e no com a nossa querida assinatura que era reconhecida pelo
notrio, ser motivo de desconfiana mesmo para quem ensina Matemtica,
quanto mais, para o cidado comum!
Por ltimo, fazemos um balano do que foram estes dois anos de trabalho e
tecemos algumas consideraes sobre o Ensino da Matemtica, neste
momento, no nosso pas. Lanamos ainda um desafio, por analogia com um
outro, que a criptografia, embora parea de enorme complexidade, tem muitos
assuntos, que com as devidas adaptaes podem ser abordados quer no
Ensino Bsico quer no Secundrio, o que permitiria desenvolver nos nossos
jovens, no s o gosto pela matemtica, como ajudar a estimular a capacidade
de resilincia.
3

Captulo 1
Criptografia
A necessidade de sigilo na comunicao escrita deve ser to velha como a
prpria escrita.
Ao longo dos tempos, com a evoluo da tecnologia e consequentemente dos
meios de comunicao, a complexidade de ocultar a mensagem escrita tem
vindo a aumentar de uma forma exponencial. Se h necessidade de guardar
um segredo, ento, em princpio, existe algum que o quer saber. este jogo
do gato e do rato que a humanidade vem praticando desde h muito tempo.
A ocultao de uma mensagem pode ser feita atravs da esteganografia, nome
que deriva de duas palavras gregas: steganos que significa coberto e graphien
que significa escrever. Ou seja, como a origem do prprio nome indica, esta
tcnica consiste em ocultar a existncia de uma mensagem. Esta tcnica j era
praticada no sculo V a. C. e continua a s-lo nos nossos dias. No entanto,
padece de uma enorme fragilidade se for interceptada, o seu contedo, logo
no momento, fica claro como gua.
Um dos exemplos mais caricatos da esteganografia, foi relatado por Herdoto
que registou o modo como Histieu transmitiu uma mensagem a Aristgoras de
Mileto. Histieu rapou a cabea de um indivduo, escreveu no seu couro
cabeludo a mensagem que queria enviar, esperou que o cabelo voltasse a
crescer e, enviou-o em viagem at ao seu destinatrio. Este quando chegou,
rapou novamente a cabea e mostrou a mensagem a Aristgoras de Mileto.
To velha, mas com o mesmo objectivo primordial, ocultar a mensagem, a
criptografia - que tambm deriva de dois vocbulos gregos: kryptos, que
significa oculto e graphien cujo significado j conhecido, no esconde a
existncia da mensagem, apenas oculta o seu significado. De um modo geral,
se a mensagem cair nas mos de um intruso, este ao l-la, no a
compreender. S o remetente e o destinatrio, em princpio, atravs de um
acordo pr-estabelecido, que tm acesso ao significado da mensagem. O
termo criptografia usado muitas vezes como sinnimo de criptologia,
4

abrangendo, desta forma, a criptanlise que tem por funo descobrir os
segredos, quebrar a confidencialidade entre emissor e receptor.
O trabalho do criptgrafo consiste em transformar um texto simples (mensagem
original antes da criptao) num texto em cifra (mensagem aps ser criptada),
o criptanalista tenta fazer o inverso. Foram estes homens que colocaram as
suas inteligncias ao servio de reis, de naes, do Bem e do Mal. Alguns
tiveram uma importncia fulcral no percurso da Histria da Humanidade, mas
trabalharam no anonimato e alguns permaneceram annimos.
At dcada de 70, do sculo passado, as cifras eram todas simtricas; isto ,
a chave para encriptar e desencriptar uma mensagem era a mesma e o seu
uso era mais poltico e militar. S h trinta e trs anos, que se comeou a
utilizar a cifra assimtrica, para a qual existem duas chaves: uma pblica, que
serve para encriptar a mensagem; e uma outra, a privada que serve para a
desencriptar.
Com a utilizao generalizada do computador pelo cidado comum, a
criptografia assume um papel fundamental na nossa vida diria: o cdigo do
multibanco e a assinatura digital no carto do cidado, so apenas dois, dos
muitos exemplos que poderamos dar. Neste momento, os objectivos da
criptografia so:
Confidencialidade mantm o contedo da informao secreto para
todos excepto para as pessoas que tenham acesso mesma.
Integridade da informao assegura que no h alterao, intencional
ou no, da informao por pessoas no autorizadas.
Autenticao de informao serve para identificar pessoas ou
processos com quem se estabelece comunicao.
No repudiao evita que qualquer das partes envolvidas na
comunicao negue o envio ou a recepo de uma informao.
A criptografia tem utilizado diferentes cifras ao longo do tempo. Existem cifras
de transposio e cifras de substituio. Enquanto na cifra de transposio
cada letra conserva a sua identidade, mas muda de posio dentro da
5

mensagem; na cifra de substituio, cada letra conserva a sua posio, mas
substituda por uma outra letra ou smbolo.
Quando utilizamos a criptografia por transposio, a mensagem original
transformada num anagrama. Por exemplo, a palavra SER, pode ser cifrada
em 5 (3! -1) anagramas distintos: RES, RSE, ERS, ESR e SRE. J a palavra
TEORIA pode originar 719 (6! 1) anagramas diferentes. Se considerarmos a
frase: RONALDO REGRESSA AO SPORTING, existem mais de 1,87 10
20

formas de combinar as letras desta curta frase (

). medida que
o nmero de letras aumenta no texto, o nmero de combinaes das letras
trocadas de uma forma aleatria aumenta de uma forma exponencial, o que
dificulta a recuperao da mensagem original por qualquer intruso. Mais
adiante apresentaremos outros exemplos da utilizao da cifra de transposio.
Para cifrarmos uma mensagem por substituio, um dos primeiros passos
fazer corresponder o alfabeto comum a um alfabeto em cifra. Nas cifras de
substituio monoalfabticas, que foram bastante eficientes durante sculos, o
alfabeto simples : reordenado, substitudo por nmeros ou outros caracteres;
criando desta forma uma funo bijectiva. Aps escrevermos o texto original,
substitumos cada letra, pela letra ou smbolo correspondente do alfabeto em
cifra; criando, desta forma, um texto em cifra que, em princpio, s ser
entendido pelo seu verdadeiro destinatrio. Dizemos em princpio, porque ao
longo da Histria muitas foram as mensagens que foram interceptadas e o
curso dos acontecimentos alterados.
A quebra das chaves das cifras de substituio monoalfabticas, atravs da
anlise de frequncias mtodo que ser exposto mais frente -, levou ao
aparecimento das cifras de substituio polialfabticas; neste tipo de cifras
utilizam-se diversos alfabetos de cifra; ou seja, na passagem do texto original
para o texto em cifra, cada uma das letras pode ser substituda ao longo da
mensagem por diversas letras ou smbolos, dificultando, desta forma, a quebra
da chave pela anlise de frequncias.


6

Captulo 2
UMA BREVE HISTRIA DA CRIPTOGRAFIA
H 4000 anos, no Antigo Egipto, numa vila chamada Menet Khufu, no tmulo
de Khnumhotep II, um membro da nobreza egpcia, foram usados hierglifos
que no eram compreendidos pelo resto da populao. O seu objectivo foi
ocultar o significado de mensagens, ou seja, usou-se a criptografia. Embora,
este seja o registo de criptografia mais antigo, segundo Kahn, a criptografia no
apareceu s num determinado local. Foi aparecendo em diferentes civilizaes
e de diferentes modos; todas com o mesmo objectivo - guardar o significado da
mensagem.
Na Palestina foram usadas as cifras hebraicas. Os hebreus, desde a
Antiguidade que sempre tiveram interesse em ocultar informaes, para tal
utilizavam as cifras atbash, albam e atbah.
Na cifra atbash, a primeira letra do alfabeto substituda pela ltima, a
segunda letra pela penltima e assim sucessivamente, como se pode observar
na tabela em baixo.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
z y x w v u t s r q p o n m l k j i h g f e d c b a
Tabela 2.1 Cifra atbash.
A cifra albam, tambm uma cifra de substituio. Neste caso, considerando
novamente o nosso alfabeto que tem 26 letras, a substituio feita da
seguinte forma: a primeira letra substituda pela que ocupa 14 posio, a
segunda letra pela que ocupa a 15, at a 13 letra ser substituda pela 26.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
n o p q r s t u v w x y z a b c d e f g h i j k l m
Tabela 2.2 Cifra albam.
A cifra atbah, tal e qual como as anteriores, consiste em substituir umas letras
pelas outras. Esta substituio feita da seguinte forma:
7

A B C D J K L M E S T U V
I H G F R Q P O N Z Y X W
Tabela 2.3 Cifra atbah.
O nome Atbah tem a seguinte origem: a primeira letra do alfabeto hebreu
(Aleph) trocada por Teth e a segunda (Beth) trocada por Heth. Logo, Aleph
Teth Beth Heth originou ATBAH.
Os espartanos usavam o scytale ou basto de Licurgo, uma cifra de
transposio, para transmitir mensagens confidenciais.


Figura 2.1 Scytale ou basto de Licurgo
Este engenho militar, que podemos observar na figura 2.1, remonta ao sculo
V a.C.. A sua referncia encontra-se descrita no tomo III de As Vidas Paralelas
de Plutarco. Neste cilindro, era enrolada uma tira de couro ou papiro, onde era
escrita uma mensagem no sentido do seu comprimento, em seguida
desenrolava-se a tira e era transportada como um cinto, com as letras voltadas
para dentro, por um mensageiro at ao destinatrio. Este enrolava a tira num
basto de igual dimetro e ficava conhecedor de to importante informao.
Desta forma, os governantes e generais de Esparta trocavam, com segurana,
as suas mensagens secretas.
8

Em 200 a.C. Polbio descreve pela primeira vez, uma cifra que ficar conhecida
com o seu nome. O seu funcionamento baseia-se na seguinte tabela:
A B C D E
A A B C D E
B F G H I/J K
C L M N O P
D Q R S T U
E V W X Y Z
Tabela 2.4 - Cifra de Polbio.
Utilizando esta tabela, substitumos o A por AA, o B por AB e assim
sucessivamente. As letras I e J, tm a mesma cifrao, assim, quando se
proceder decifrao da mensagem codificada, escolhe-se a que d
significado ao texto.
Vamos dar o seguinte exemplo desta cifra:
Texto simples: JESUS A SALVAO DO BENFICA
Texto em cifra:
BDAEDCDEDCAEAADCAACAEAAAACAACDADCDABAECCBABDACAA
A cifra de Polbio utiliza somente cinco letras, mas o texto em cifra tem o dobro
do comprimento do texto original.
Se na tabela de Polbio substituirmos as letras A, B, C, D e E pelos primeiros
cinco algarismos, cada letra pode ser representada por um nmero.



9

0 1 2 3 4
0 A B C D E
1 F G H I/J K
2 L M N O P
3 Q R S T U
4 V W X Y Z
Tabela 2.5 Cifra de Polbio, usando nmeros.
Polbio sugeriu que se aproveitasse esta tabela para transmitir mensagens,
utilizando tochas de fogo. A mensagem era transmitida letra a letra, por
exemplo: para transmitir a letra h, que corresponde ao nmero 12, um
mensageiro segurava na mo direita um tocha e na esquerda duas.
Por volta de 60 a.C., o imperador Jlio Csar trocava as suas mensagens
secretas com os seus generais, usando uma cifra de substituio, em que as
letras do alfabeto em cifra resultam do avano da ordem das letras do alfabeto
simples trs posies para a direita. A tabela seguinte, mostra a converso do
alfabeto simples no alfabeto em cifra.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
d e f g h i j k l m n o p q r s t u v w x y z a b c
Tabela 2.6 - Cifra de Csar.
Para proceder decifragem, deslocam-se as ordens das letras do texto em
cifra trs posies para a esquerda, obtendo-se desta forma o texto original.
Na ndia, no ano 400, o brmane Vatsyayana escreveu o Kama-sutra. Este livro
recomenda s senhoras que estudem 64 artes, uma delas, a 45 era mlecchita-
-vikalpa, a arte da escrita secreta, que lhes permitia guardar os seus segredos.
A idade das trevas na Europa, tambm o foi para a criptografia. Durante a
Idade Mdia, a criptografia era vista como magia negra o que levou perda de
grande parte do conhecimento que existia.
10

Em, 855 d. C., u usuf qu in Is-hq in s-Sh in mrn ibn
Ismail al-Kindi mais conhecido por al-Kindi, escreveu vrios livros sobre
diferentes matrias. Num dos seus tratados, intitulado Um Manuscrito sobre a
Decifrao de Mensagens Criptogrficas, descreve o mtodo para decifrar
mensagens encriptadas, utilizando a anlise de frequncias.
As cifras utilizadas at esta altura, eram cifras monoalfabticas. Em cada
lngua, quando se faz a contagem do nmero de vezes que cada letra aparece
em textos longos, observamos que cada letra tem uma determinada frequncia
relativa. Atravs deste facto, os rabes abriram as portas para a criptanlise.
Por exemplo, na Lngua Portuguesa, a frequncia relativa de cada uma das
letras do alfabeto portugus a seguinte:
Letra % Letra % Letra % Letra %
A 12,71% H 0,74% O 11,32% V 1,36%
B 0,81% I 7,18% P 3,07% W 0,02%
C 4,16% J 0,21% Q 1,41% X 0,28%
D 5,52% K 0,00% R 6,47% Y 0,02%
E 11,99% L 3,23% S 7,99% Z 0,37%
F 1,34% M 4,48% T 5,31%
G 1,32% N 5,24% U 3,44%
Tabela 2.7 Frequncia relativa de cada uma das letras, na Lngua
Portuguesa.
Analisando a tabela, podemos agrupar as letras consoante o nvel das suas
frequncias:
1 A, E, O
2 S, R, I
3 N, D, M, U, T, C
11

4 L, P, V, G, H, Q, B, F
5 Z, J, X, K, W, Y.
Um criptanalista para decifrar uma mensagem, em que foi utilizada uma cifra
monoalfabtica e cujo texto original foi escrito em portugus, comea por fazer
uma tabela de frequncias das letras ou smbolos do texto em cifra. E
comparando o valor das frequncias relativas das diferentes letras ou smbolos,
com os valores da tabela anterior, pode ir substituindo as letras ou smbolos
pelas letras que tm percentagens semelhantes at a mensagem fazer sentido.
A hierarquia superior da Ordem do Templo, os Templrios, utilizou a
criptografia para comunicar entre si e para cifrar letras de cmbio e outros
documentos financeiros e comerciais da Ordem. Deste modo, os seus
membros no transportavam riquezas. O seu funcionamento era anlogo a um
banco, onde os documentos circulavam protegidos e eram reconhecidos nos
diferentes templos.
A sua cifra foi retirada da Cruz das Oito Beatitudes, que era o emblema da
Ordem. uma cifra monoalfabtica, que se encontra na figura abaixo.

Figura 2.2 Cifra dos templrios.
No sculo XIII, o monge franciscano, Roger Bacon, escreveu o livro A Epstola
sobre as obras de Arte Secretas e a Nulidade da Magia; o primeiro livro
europeu que descreve o uso da criptografia.
12

Em 1379, Clemente VII, o antipapa, pediu ao seu secretrio Gabrieli di Lavinde
para unificar o sistema de cifras da Itlia Setentrional. Este coligiu vrias cifras
num manual, do qual o Vaticano guarda uma cpia de 1379.
Lavinde criou o nomenclator que constitudo pela juno de uma cifra de
substituio com um cdigo de listas de palavras, slabas e nomes
equivalentes.
Em 1411, aparecem as primeiras cifras homofnicas. Nesta poca, com o
objectivo de combater a anlise de frequncias, so introduzidos os homfonos
e os nulos. Estes ltimos, no estavam ligados a nenhuma letra, eram
colocados aleatoriamente ao longo do texto cifrado para confundir qualquer
criptoanalista que fizesse uma anlise de frequncias do texto cifrado. Os
homfonos funcionavam da seguinte forma: na tabela 2.7, letr e prece
num texto cerca de 12%, se fizermos corresponder a esta letra trs smbolos
distintos e por cd e que for sustitudo, utilizarmos um dos trs smbolos
alternadamente, letr e ser mis difcil de ser detectada atravs da anlise
de frequncias.
No incio do sculo XV, Qalqashandi, Shihab al-Din abu `l-`Abbas Ahamad li
bem Ahmad `AbdAllah al- Qalqashandi escreveu uma enciclopdia de 14
volumes, onde se encontra uma seco de Criptologia, a refere-se o nome de
Taj ad-Din li ibn ad- Duraihim bem Muhammad ath-Tha`libi al-Mausili como o
autor das informaes desta seco. Nela apresentada uma lista de cifras de
substituio, transposio e uma cifra com vrias substituies para cada letra
do texto original.
Durante o sculo XV, assistiu-se a um grande desenvolvimento da criptografia
em Itlia, devido grande actividade diplomtica.
Uma das grandes figuras do Renascimento, Leon Battista Alberti publicou, em
1466, o livro Modus scribendi in ziferas, onde fala do disco de cifra (figura 2.3),
o primeiro sistema polialfabtico conhecido. O disco de cifra era constitudo por
dois discos concntricos e de raios diferentes. O disco maior era fixo, e o
menor mvel. Alberti dividiu cada uma das circunferncias em vinte e quatro
sectores; em cada um dos sectores do disco maior escreveu o alfabeto em
13

letras maisculas pela sua ordem normal, mas no continha as letras H, J, K,
U, W e Y; nos quatro sectores que sobraram colocou os algarismos 1, 2, 3 e 4.
No disco mvel, colocou de uma forma aleatria, em cada um dos sectores, as
letras do alfabeto, que eram 24, sendo a vigsima quarta o & (et).
No disco pequeno que representa o alfabeto de cifra - escolhe-se uma letra
chave, por exemplo a k, alinha-se esta letra alternadamente com as letras de
uma palavra-chave no disco maior, e podemos comear a encriptar o texto. Se
utilizarmos a palavra-chave LEON, alinhamos a posio da letra k do disco
menor com a letra L e ciframos a primeira letra do texto simples; em seguida,
alinhamos a letra k do disco menor com a letra E do disco maior e ciframos a
segunda letra; aps ciframos a quarta letra, repetimos o processo de
alinhamento at cifrarmos a mensagem toda. Neste caso, temos uma cifra
polialfabtica, onde se utilizaram quatro alfabetos de cifra. Os intervenientes
tm que ter conhecimento da letra-chave e da palavra-chave.







Figura 2.3 Disco de Alberti.
Vamos dar um exemplo, utilizando o disco, a letra-chave e a palavra-chave
anteriormente referidas, para ilustrar o funcionamento desta cifra:
Texto simples: Neda, smbolo de coragem.
Texto em cifra:1SVZ4CS43OBTZ2B1VP3R.
14

Uma das desvantagens deste mtodo, que emissor e receptor tm que ter
dois discos iguais e muito bem guardados; pois a segurana deste sistema
depende de ocultar os discos de olhos indiscretos.
O abade Johannes Trithemius escreveu o livro Polygraphia libri sex, onde so
descritas vrias cifras polialfabticas, sendo uma delas, uma tabela de
substituio denominada Tabula recta Caesar. Nesta tabela encontram-se,
como mostra a figura abaixo, todos os alfabetos de deslocao possveis.

Figura 2.4 Tabula recta Caesar.
Em 1563, Giovanni Battista Della Porta escreveu a obra De Furtivis Literarum
Notis constituda por quatro volumes, a sua obra mais importante sobre
criptografia. Nesta obra, Della Porta estudou as cifras clssicas e respectivas
criptoanlises e tambm criou uma cifra nova a cifra de Della Porta. Sugeriu,
ainda, o uso de sinnimos e erros ortogrficos para escapar anlise de
frequncias.
15

Na sua cifra, Della Porta utilizou onze alfabetos distintos. Como mostra a figura
abaixo.

Figura 2.5 Alfabetos de cifra utilizados por Della Porta.
Como o nosso alfabeto constitudo por vinte e seis letras, para utilizarmos
esta cifra de forma anloga devemos utilizar treze alfabetos.
Nesta cifra uma palavra-chave que nos indica qual dos onze alfabetos que
devemos utilizar. Por exemplo, se utilizarmos a palavra-chave PORTA e o
quadro em cima, para cifrar a letra S, utilizamos o alfabeto OP da tabela e
substitumos a letra S pela letra A e assim sucessivamente at percorrermos as
letras da palavra-chave, se por acaso a mensagem for mais comprida que a
palavra-chave, reutilizamos novamente a mesma palavra-chave. Deste modo,
podemos encriptar a seguinte mensagem:
Texto simples: Sophie Germain trada por M. Le Blanc.
16

Texto em cifra: AHLZXYNXBZSPHDESPVQCHMQORTQRIP.
O diplomata francs, Blaise de Vigenre, depois de ter lido os textos dos trs
ltimos autores citados, publica, em 1586, o livro Traict des Chiffres, onde
apresentada pela primeira vez a cifra indecifrvel, que trataremos num dos
prximos captulos.
Em 1586, Mary Stuart, rainha da Esccia, condenada morte, depois de ser
descoberta a sua conspirao contra a vida de sua prima, Elizabeth I, rainha de
Inglaterra. Apesar da comunicao entre Mary Stuart e os restantes
conspiradores ter sido feita atravs de mensagens cifradas, atravs do uso de
um nomenclator, Thomas Phelippes, um criptoanalista ao servio do secretrio-
- mor da rainha Elisabeth I, Sir Francis Walsingham, conseguiu atravs da
anlise de frequncias descobrir a respectiva correspondncia entre caracteres
e letras e identificar os nulos; as palavras em cdigo foram deduzidas pelo
contexto. Verificamos com este exemplo, que a criptografia ou a criptoanlise
podem mudar o destino de um reino.
No sculo XVI, o filsofo ingls Francis Bacon criou uma cifra em que cada
letra substituda por uma sequncia de cinco letras, esta sequncia
formada unicamente pelas letras A e B. Neste caso, a = AAAAA, b = AAAAB,
c = AAABA, d = AAABB e assim sucessivamente at chegarmos ao
z = BABBB. Se substituirmos o A por zero e o B por um, podemos escrever
cada uma das letras do alfabeto em cdigo binrio. Como 2
5
= 32, ainda
sobram sequncias para outros smbolos.
Em 1626, Antoine Rossignol e o seu filho Bonaparte criaram a Grande Cifra ao
servio do rei Lus XIV. Esta cifra era to forte, que s foi quebrada passados
duzentos anos por Bazeries.
O franciscano Athanasius Kircher transformou as cifras polialfabticas em cifras
numricas (1663).
O grande matemtico alemo, Gottfried Wilhelm Von Leibniz inventou a
mquina de calcular e descreveu o sistema binrio.
17

Em 1795, Thomas Jefferson inventou a cifra de roda, que utilizada com
bastante eficcia na cifra de substituio polialfabtica. Para tal, Jefferson criou
o cilindro que pode ser observado na figura 2.6.

Figura 2.6 Cilindro de Jefferson.
Charles Babbage, em 1854, quebra a cifra de Vigenre, mas no publica o
feito, pelo que, este atribudo a Friedrich Wilhelm Kasiski, que publicou a
criptanlise desta cifra em Die Geheimschriften und die Dechiffrir-Kunst, em
1863.
Sir Charles Wheatstone inventou a cifra de Playfair, que foi publicada por Lyon
Playfair. Esta cifra faz parte das cifras de substituio, substitui cada par de
letras do texto simples por um outro par de letras. Neste caso, o emissor e o
receptor combinam uma palavra-chave e a partir dessa palavra construdo
um quadrado 5 5, com as letras do alfabeto, comeando pela palavra-chave.
A mensagem do texto simples dividida em conjuntos de duas letras cada. As
duas letras de cada um dos conjuntos tm de ser diferentes, quando tal no
suceder separam-se acrescentando uma outra letra entre elas.
Cada um dos conjuntos est numa de trs categorias, a saber:
1) As letras esto na mesma linha;
2) As letras esto na mesma coluna;
3) As letras no esto na mesma linha nem na mesma coluna.
Se ocorrer 1), ento cada letra substituda pela letra imediatamente direita,
se uma das letras estiver no final da linha, ento substituda pela letra que
est no incio da linha; se ocorrer 2), cada uma das letras substituda pela
letra que se encontra por baixo dela, se uma das letras estiver no final da
coluna, ser substituda pela primeira letra da coluna; no caso 3), para
18

substituir a primeira letra seguimos pela linha at encontrar a coluna onde se
encontra a segunda letra, a segunda trocada de forma anloga.
Exemplo:
TEXTO SIMPLES: DOPINGAPRAGADOCICLISMO
PALAVRA-CHAVE: JARDEL
Com a palavra-chave vamos construir uma tabela 5 5:
J A R D E
L B C F G
H I/K M N O
P Q S T U
V W X Y Z
TEXTO SIMPLES EM CONJUNTOS DE DUAS LETRAS: DO PI NG AP RA
GA DO CI CL IS MO
TEXTO EM CIFRA: ENQHOFJQDRBEENBMFBMQNH.
Marconi descobre a rdio. A comunicao comea a ser feita sem o uso de
fios. O canal aberto, a comunicao mais do que nunca est dependente do
uso da criptografia.
William Frederick foi o homem que utilizou o termo criptonlise pel primeir
vez.
Gilbert Sandford Vernam inventou uma mquina de cifragem polialfabtica que
utiliza uma chave totalmente aleatria que nunca se repete. Mais tarde deu
origem ao One-Time Pad.
No final da Primeira Guerra Mundial, em Maro de 1918 o exrcito alemo
inventou e usou a cifra ADFGVX, que era simultaneamente de substituio e
transposio; que foi quebrada a dois de Junho do mesmo ano, pelo tenente
francs Georges Painvin.
19

A primeira parte da construo desta cifra era algo semelhante cifra de
Polbio; pois consistia numa tabela de 7 x 7, onde na primeira linha e na
primeira coluna desta tabela colocamos, pela ordem indicada, as seguintes
letras: A, D, F, G, V e X, nos restantes espaos colocamos, de forma aleatria,
as 26 letras e os 10 algarismos, o que nos d 36! chaves diferentes para
construir a matriz; claro que, emissor e receptor tinham que partilhar a
mesma tabela. As letras A, D, F, G, V e X foram escolhidas, visto que as
mensagens eram transmitidas em Cdigo Morse, e estas letras neste cdigo
so bastante diferentes o que minimizava os erros quando a mensagem era
transmitida.
Tal como em exemplos anteriores, cada letra ou algarismo era substitudo por
duas letras, consoante a posio que ocupasse na tabela. Depois de
substituirmos todas as letras e nmeros, passava-se parte da transposio;
para tal, escolhia-se uma palavra-chave, por baixo desta palavra escrevia-se a
mensagem que j estava cifrada, em seguida ordenavam-se as letras da
palavra-chave por ordem alfabtica e consequentemente as letras da
mensagem mudavam de posio e seria por esta ordem que eram enviadas
em cdigo morse.
Vamos exemplificar esta cifra, que numa primeira leitura pode parecer de difcil
compreenso por utilizar dois mtodos de cifrao: substituio e transposio.
Para tal consideremos a seguinte tabela:
A D F G V X
A Q 1 W 2 E 3
D R 4 T 5 Y 6
F U 7 I 8 O 9
G 0 P A Z S X
V D C F V G B
X H N J M K L
Tabela 2. 8 Cifra ADFGVX.
20

Texto simples: Desastre no Ensino da Matemtica, 6V
Texto em cifra:
VAAVGVGFGVDFDAAVXDFVAVXDGVFFXDFVVAGFXGGFDFAVXG
GFDFFFVDGFDXVG
At aqui utilizamos a cifra de substituio. De seguida, utilizava-se uma
palavra-chave CRATO para aplicar a cifra de transposio, do seguinte modo:
C R A T O
V A A V G
V G F G V
D F D A A
V X D F V
A V X D G
V F F X D
F V V A G
F X G G F
D F A V X
G G F D F
F F V D G
F D X V G
Tabela 2.9 Mensagem escrita utilizando a palavra-chave.
Agora, ordeno a tabela com a palavra-chave escrita por ordem alfabtica, que
ficar do seguinte modo:
A C O R T
A V G A V
F V V G G
D D A F A
D V V X F
X A G V D
F V D F X
V F G V A
G F F X G
A D X F V
F G F G D
V F G F D
X F G D V
Tabela 2.10 Mensagem escrita depois da palavra-chave ser ordenada por
ordem alfabtica.

21

E a mensagem a ser enviada neste caso ser a seguinte:
AVGAVFVVGGDDAFADVVXFXAGVDFVDFXVFGVAGFFXGADXFVFGFGDV
FGFDXFGDV.
Em 1929, Lester S. Hill descreve como cifra um texto codificado atravs de
uma operao de matrizes, que ser explorado mais adiante.
Aps a Primeira Guerra Mundial, o alemo Scherbuis criou a mquina Enigma
(figura 2.7), que revolucionou o mundo da criptografia. Esta mquina de cifra,
devido ao elevado nmero de chaves que pode utilizar e sua complexidade
foi usada para fins militares pelos alemes, pois estavam convictos da sua
segurana.

Figura 2.7 Mquina Enigma.
A mquina Enigma utilizada pelos alemes, era formada pelas seguintes
componentes: um teclado, uma unidade de cifragem e um painel de
visionamento.
O operador para cifrar uma mensagem, utilizava o teclado para introduzir as
letras do texto simples uma a uma; na unidade de cifragem, cada letra era
transformada numa outra; a letra transformada era ento comunicada ao
22

operador atravs do painel de visionamento, onde era acesa a lmpada
correspondente.
A unidade de cifragem era composta por trs cilindros mveis, que podiam
alternar a sua posio dentro da mquina, e um fixo, que se chamava espelho.
Cada um dos cilindros contem as vinte e seis letras do alfabeto.
Entre o teclado e o primeiro cilindro existe um painel de ligao, que permite a
troca de seis pares de letras das vinte e seis do alfabeto. O que eleva bastante
o nmero de chaves que se pode utilizar.
Por cada letra cifrada, o primeiro cilindro roda um sexto sempre no sentido
directo, quando d uma volta completa, o segundo cilindro roda tambm um
sexto, aps seis voltas do primeiro cilindro, o segundo d uma volta completa e
o terceiro roda um sexto. Ou seja, por cada seis letras cifradas, o segundo
cilindro move-se e por cada 36 letras move-se o terceiro, o que permite o uso
de 17576 alfabetos de cifra diferentes.
Mas no s no nmero de alfabetos de cifra que esta mquina forte, o
nmero de chaves muito grande. O seu verdadeiro nmero pode ser
calculado da seguinte maneira:
1) Para comear, os cilindros podem permutar entre si, como so trs,
temos 3! = 6;
2) Cada um dos trs cilindros pode ser regulado de vinte e seis maneiras
diferentes, o que d 26
3
= 17576;
3) No painel de ligao podem-se trocar seis pares de letras a partir das
vinte e seis do alfabeto, o que pode ser feito de

maneiras diferentes
4) Por fim, o nmero de chaves dado por:
17576 6 100391791500 = 1058691676442400.
A colocao dos cilindros, a sua regulao inicial e o conhecimento da troca
dos seis pares de letras determinam a chave a usar.
23

Na 2.8, podemos ver um diagrama simplificado da mquina enigma.

Figura 2.8 Maqueta da mquina Enigma.
Neste diagrama, a letra B, est trocada com a letra A, no painel das ligaes.
Quando se tecla B, esta logo trocada por A e vai, nos cilindros seguir o
caminho que estava destinado para o A, at aparecer cifrada por C, no painel
luminoso.
Durante a Segunda Guerra Mundial, em Blethcheley Park, travou-se uma
batalha silenciosa, cujo alvo era quebrar a chave da Enigma. Uma vasta equipa
que inclua no s matemticos, mas pessoas de vrias reas, levou a melhor
e deu um grande contributo para a vitria dos Aliados, da qual, podemos
distinguir: Alan Turing, pois foi graas a ele que a Enigma foi vencida!
Em meados do sculo XX, o aparecimento do computador veio revolucionar o
mundo da criptografia. A grande capacidade do computador em cifrar
mensagens, aliado ao facto do computador modificar nmeros e no letras do
alfabeto, trouxe vrios problemas ao mundo da criptografia. Com a utilizao
crescente de computadores por parte das empresas e a necessidade do uso da
criptografia como medida de segurana, teve que se proceder a uma
estandardizao, de modo, a que as empresas pudessem trocar mensagens de
uma forma segura e eficiente.
A converso de letras em nmeros, pode ser feita atravs do American
Sandard Code For Information Interchange, que conhecida pela sigla ASCII.
Utilizando nmeros binrios de sete dgitos, o ASCII permite converter as letras
24

do alfabeto (minsculas e maisculas), pontuao e algarismos em nmeros
binrios.
Na tabela seguinte, cada letra maiscula convertida em cdigo binrio:
A 1000001 N 1001110
B 1000010 O 1001111
C 1000011 P 1010000
D 1000100 Q 1010001
E 1000101 R 1010010
F 1000110 S 1010011
G 1000111 T 1010100
H 1001000 U 1010101
I 1001001 V 1010110
J 1001010 W 1010111
K 1001011 X 1011000
L 1001100 Y 1011001
M 1001101 Z 1011010
Tabela 2.11 Nmeros binrios ASCII para as letras maisculas.
Com a crescente capacidade dos computadores houve necessidade de criar
algoritmos de cifra mais complexos. Um desses algoritmos ficou conhecido
como Lcifer.
O Lcifer codifica as mensagens do seguinte modo:
1) A mensagem traduzida para uma longa fila de dgitos binrios;
2) A fila dividida em blocos de 64 dgitos;
3) Cada um dos blocos de 64 dgitos baralhado;
25

4) Cada bloco de 64 dgitos dividido em 2 blocos de 32 dgitos,
designados por Esquerdo
0
e Direito
0
;
5) Os dgitos do bloco Direito
0
so submetidos a uma funo complexa
que os altera;
6) O bloco Direito
0
adicionado ao bloco Esquerdo
0
, originando um
bloco de 32 dgitos que passar a ser designado por Direito
1
. No
entanto, o Direito
0
passa a ser designado por Esquerdo
1
.
7) Repetem-se os passos 5) e 6) 16 vezes;
8) O texto cifrado ento enviado e para decifrar a mensagem o
processo invertido.
As chaves usadas por computadores so nmeros. A cifra de Lcifer era
bastante potente devido ao elevado nmero de chaves que podiam ser
utilizadas.
Devido prolems, ditos de segurn de Estdo, o nmero de chaves foi
limitado a 10
17
(este nmero escrito em sistema binrio tem 56 dgitos). No dia
23 de Novembro de 1976, a verso 56 bits da cifra de Lcifer foi adoptada
como padro oficial americano para a encriptao, que ficou conhecido como
Data Encryption Standard (DES). A DES resolveu o problema da
estandardizao da criptografia, e fomentou o seu uso por parte das empresas.
Apesar da cifrao e decifrao de mensagens se ter tornado mais rpida e
complexa, existia um velho problema que se agudizava com a generalizao
do uso da criptografia a distribuio da chave.
O problema da distribuio da chave continuava em aberto. A melhor forma de
emissor e receptor trocarem uma chave, continuava a ser na base da
confiana, o que originava grandes encargos para governos, empresas e
bancos. Em 1976, a dupla Whitfied Diffie e Martin Hellman encontraram uma
forma de poder haver uma troca segura de chaves, sem as pessoas se
encontrarem. At ento, as chaves utilizadas eram funes matemticas
injectivas uma determinada funo servia para cifrar uma mensagem, a sua
inversa para decifrar.
26

Hellman colocou a aritmtica modular ao servio da criptografia.
Diffie continuou a trabalhar no problema da distribuio da chave e teve uma
ideia brilhante a cifra assimtrica. A ideia de Diffie era usar uma chave para
cifrar uma mensagem e usar uma diferente para a decifrar. At ento, em
criptografia s se tinham usado cifras simtricas usam a mesma chave para
cifrar e decifrar uma mensagem. Ou seja, Diffie teve uma ideia que iria
revolucionar o mundo da criptografia, o seu problema era no saber como p-la
em prtica.
No sabia ele e no sabia mais ningum. Ronald Rivest, Adi Shamir, cientistas
informticos, e Leonard Adleman, matemtico, resolveram formar uma equipa
para pr a ideia de Diffie em prtica.
Durante um ano, os dois cientistas informticos desenvolveram ideias para
criar uma cifra assimtrica. Estas eram submetidas ao crivo matemtico de
Adleman, que as deitava fora devido s suas falhas. At que, em Abril de 1977,
numa noite de inspirao de Rivest, este resolveu de vez, o problema da
distribuio da chave. No final do artigo que escreveu nessa noite colocou os
nomes dos elementos da equipa por ordem alfabtica. Os seus colegas
concordaram em colocar o nome no seu artigo, mas o nome dele tinha que vir
em primeiro lugar. E desta forma, se deu nome cifra assimtrica RSA (Rivest,
Shamir e Adleman).
Em 1984, Taher ELGamal, baseado no Problema do Logaritmo Discreto, criou
uma cifra assimtrica que foi baptizada com o seu nome.
Em 1986, Miller introduz na criptografia as curvas elpticas.
Durante os anos 90, aparecem alguns trabalhos com computadores qunticos
e criptografia quntica. A biometria aplicada na autenticao.
Xuejia Lai e James Massey publicam uma proposta para um novo Padro de
Encriptao de Bloco, que viria a substituir o DES. O IDEA, como ficou
conhecido, utiliza uma chave de 128 bits e emprega operaes adequadas
para a maioria dos computadores, tornando as implementaes do software
mais eficientes.
27

So publicados por Charles H. Bennett e Gilles Brassard os primeiros
resultados sobre Criptografia Quntica. Esta usa fotes nicos para transmitir
um fluxo de bits chave para uma posterior comunicao usando a cifra de
Vernam. Na Criptografia Quntica surge a indicao, se ocorrer uma
intercepo de um certo nmero mximo de bits. Uma desvantagem desta
criptografia a necessidade de existirem fios de fibra ptica entre as partes
que se comunicam.
Phil Zimmermann publica a primeira verso de PGP (Pretty Good Privacy), que
oferece uma boa segurana para o cidado comum trocar informao. O PGP
disponibilizado como freeware, o que fez dele um padro mundial. O PGP5.0
Freeware amplamente distribudo para uso no comercial.
O governo dos Estados Unidos da Amrica adopta o SHA-1 (Secure Hash
Algorithm) para a autenticao de documentos digitais pelos departamentos e
agncias federais.
As bases da criptografia nos EUA sofrem um abano; pois o padro de
encriptao DES de 56 bits, base da sua criptografia, quebrado por uma rede
de 14 000 computadores. Mais tarde volta a ser quebrado por pesquisadores
da Electronic Frontier Foundation em apenas 56 horas. O golpe final foi dado
em 1999, quando este padro de encriptao quebrado em apenas 22 horas
e 15 minutos. O governo v-se obrigado a abandonar o DES de 56 bits e a
adoptar o Triple-DES.
No ano 2000, o algoritmo Rijndael seleccionado para substituir o DES e
denominado AES Advanced Encryption Standard.





28

Captulo 3
MATEMTICA
Hoje em dia, a criptografia tem como principal aliada a Matemtica. A
criptografia explora as virtudes e as fraquezas desta disciplina para seu prprio
proveito. Embora utilize vrios ramos da Matemtica, da Teoria dos Nmeros
que mais vezes se serve; caindo por terra, desta forma, a percepo de Hardy
de que a Teoria dos Nmeros no tinha nenhuma aplicao no dia-a-dia.
Nas prximas linhas sero expostos alguns conceitos matemticos
indispensveis para a compreenso do modo como a criptografia tem evoludo
ao longo dos tempos, especialmente desde 1977. Procuraremos dar:
definies, teoremas, algumas demonstraes e alguns exemplos, de modo a
ilustrar as suas aplicaes.
3.1 Grupos, anis e corpos
3.1.1 Definio. Seja G um conjunto munido de uma operao binria
: G G G. Dizemos que (G, ) grupo com respeito operao se nele
se verificarem as propriedades:
- associativa, ou seja, g (h k) = (g h) k sempre que g, h, k G;
- existe e G tal que e g = g e = g sempre que g G: e a
identidade ou elemento neutro de G;
- se g G, ento existe g
-1
G tal que g g
-1
= g
-1
g = e.
Quando o grupo G verifica a propriedade g h = h g sempre que g, h G,
dizemos que G grupo comutativo ou abeliano.
Por exemplo, ( ), sendo que o conjunto dos nmeros inteiros relativos,
com a adio usual um grupo abeliano.
3.1.2 Definio. Se o conjunto G for finito, dizemos que G um grupo finito e
escrevemos |G| para designar a ordem de G, ou seja, o seu nmero de
elementos.
29

3.1.3 Definio. Um grupo G diz-se cclico se existe algum elemento g G tal
que = G. Neste caso, g diz-se o gerador de G.
3.1.4 Definio. Seja S G, S . Dizemos que (S, um subgrupo do
grupo (G, ) se ab S e a
- 1
S com a, b S.
3.1.5 Definio. Um anel um conjunto R munido de duas operaes
binrias, + e , tal que:
- R grupo abeliano para +, com elemento neutro 0;
- associativa;
- as duas operaes esto ligadas pelas leis distributivas:
(a + b) c = (a c) + (b c) (a, b, c R) e
a (b + c) = (a b) + (a c) (a, b, c R).
Se a multiplicao comutativa, o anel diz-se comutativo.
Um anel tem identidade quando existe um elemento, designado por 1, que o
elemento neutro para a multiplicao.
Por exemplo, , em que o conjunto dos nmeros reais, um anel
comutativo.
3.1.6 Definio. Um corpo um anel K tal que K \ {0} um grupo abeliano
para a multiplicao: a identidade deste grupo designada por 1 = 1
k
.
Consideremos o seguinte exemplo, ( , o conjunto dos nmeros
complexos, com a adio e a multiplicao definidas de forma habitual, um
corpo.
3.2 Divisibilidade e algoritmo de Euclides
3.2.1 Definio. Dados a e b , com 0, diz-se que a divide b, e escreve-
- se a | b, se existe q

tal que b = aq (aq).
3.2.2 Propriedades. Sejam a, b, c, x e y nmeros inteiros.
a) Se a | b, ento ac | bc, qualquer que seja c.
30

b) Se a | b e b | c, ento a | c.
c) Se a | b e b 0, ento
d) Se a | b e a | c, ento a | (xb + yc).
Na demonstrao que se segue utilizaremos o facto de ser um anel
comutativo.
Demonstrao:
a) Se a | b, ento existe um f tal que b = af. Pelo que, bc = (af)c = f(ac).
b) Se a | b e b | c, ento existem f e g , tais que b = af e c = bg. O que
implica que c = bg = (af)g = a(fg).
c) Se a | b e b 0, ento existe f e f 0 tl que = f. Logo

d) Se a | b e a | c, ento existem f e g tais que b = fa e c = ga. O que
implica que xb + yc = xfa + yga = (xf + yg)a.

3.2.3 Teorema. Dados a e b , com a > 0, existem nmeros inteiros q e r,
com 0 r < , tais que b = qa + r.
Os nmeros inteiros q e r, designados, respectivamente, por quociente e resto
da diviso de b por a, so unicamente determinados por a e b.
Demonstrao: Consideremos o conjunto
{, 3a, b 2a, b a, b, b + a, b + 2a, b + 3,}.
Este conjunto tem de certeza nmeros inteiros no negativos. Designemos por
r o menor deles. Ento r da forma b qa para certo nmero inteiro q, donde
b = qa + r. Pela sua prpria definio, tem-se que r 0. Vmos provr gor
que r < . Suponhmos que r , temos ento que
r a = b qa a = b (q + 1)a,
donde podemos concluir que r a pertence ao conjunto acima referido. O que
absurdo, visto que, por definio, r o menor elemento no negativo que
pertence ao conjunto.
31

Vamos agora provar a unicidade de q e r. Suponhamos que b = qa + r, com
0 r < e b = q
1
a + r
1
, com 0 r

< . Se r
1
> r (no caso r
1
< r o raciocnio seria
anlogo), ento r
1
r > 0 e r
1
r < a, visto que r
1
< a e r < a. Mas, por outro
lado, temos que r
1
r = b q
1
a (b qa) = (q q
1
) a, donde se conclui que
a|(r
1
r), como r
1
r < a, sai que r
1
r = 0, ou seja, r
1
= r.
Uma vez que r
1
= r, ento q
1
a = qa, logo q
1
= q.

3.2.4 Observao: Sejam b e c dois nmeros inteiros. Quando um nmero
inteiro a divide b e c, dizemos que a um divisor comum de b e c. Se b e c no
forem ambos nulos, o nmero de divisores comuns de b e c finito. O conjunto
dos divisores comuns de dois nmeros inteiros no vazio, pois 1 pertence a
esse conjunto e nenhum dos divisores pode ser maior que o maior desses
nmeros.
3.2.5 Definio. Sejam b e c nmeros inteiros no nulos. Ao maior dos
divisores comuns de b e c chama-se mximo divisor comum de b e c. A
notao (b, c) ou m.d.c. (b, c).
Por exemplo m.d.c. (12,18) = 6.
3.2.6 Observao: O mximo divisor comum de dois nmeros inteiros no
ambos nulos existe e um nmero inteiro positivo.
3.2.7 Definio. Dizemos que um nmero inteiro positivo p primo se p e
os nicos divisores de p so p e 1.
Os primeiros vinte nmeros primos so: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
37, 41, 43, 47, 53, 59, 61, 67 e 71.
3.2.8 Definio. Se um nmero inteiro positivo (diferente de 1) no primo,
ento diz-se composto.
O nmero 20 um nmero composto, pois tem mais de dois divisores, a saber:
1, 2, 4, 5, 10 e 20.
32

3.2.9 Definio. Se m.d.c. ( , ) = , com , e dizem-se primos entre
si.
O m.d.c. (20 , 33) = 1, logo 20 e 33 so primos entre si.
3.2.10 Teorema. Qualquer nmero natural a > 1 um produto de nmeros
primos.
Demonstrao: Seja a , a > 1. Se a for primo, ento temos um produto
com um s factor. Vamos supor que a composto. Por definio, a tem
divisores entre 1 e a. Se m o menor dos divisores de a ento primo, pois se
no for primo, existem divisores de m que tambm seriam divisores de a.
Designemos m por p
1
. Ento temos a = p
1
a
1
com p
1
primo e 1 < a
1
< a. Se a
1

for primo, est provado. Se a
1
for composto, de forma anloga conclumos que
a
1
tem um divisor primo p
2
satisfazendo 1 < p
2
< a
1
, donde a = p
1
p
2
a
2
com p
1
e
p
2
primos e 1 < a
2
< a
1
< a.
Continuando desta forma, obtemos nmeros naturais a > a
1
> a
2
>. Qulquer
sucesso de nmeros naturais no pode decrescer indefinidamente, pelo que,
h-de chegar o momento em que um destes nmeros primo, digamos p
r
, pelo
que a = p
1
p
2
...p
r
.

3.2.11 Algoritmo de Euclides - Sejam b e c nmeros inteiros no ambos
nulos. Sem perda de generalidade, podemos supor c > 0. Proceda-se
seguinte sequncia de divises inteiras:
b = q
1
c + r
1
, 0 < r
1
< c
c = q
2
r
1
+ r
2
, 0 < r
2
< r
1

r
1
= q
3
r
2
+ r
3
, 0 < r
3
< r
2


r
k -

2
= q
k
r
k - 1
+ r
k
, 0 < r
k
< r
k - 1
r
k 1
= q
k + 1
r
k
.
33

Ento r
k
(o ltimo resto no nulo) o mximo divisor comum de b e c.
Demonstrao: Sabemos que, na sequncia de divises, os restos no podem
permanecer sempre positivos, porque cada um menor que o anterior.
Seja d o mximo divisor comum de b e c. Vamos provar que r
k
= d.
Das igualdades acima indicadas, conclumos que r
k
| r
k 1
. Assim sendo, da
penltima igualdade conclumos que r
k
| r
k 2
. Da anterior, que r
k
| r
k 3
. E assim
sucessivamente, podemos concluir que r
k
| c e, por fim, r
k
| b. Pelo que r
k
um
divisor comum de b e c , logo r
k
| d.
Como d | b e d | c, partindo das igualdades anteriores, e desta vez fazendo o
percurso inverso, chegamos concluso que d | r
k
.
Como r
k
| d e d | r
k
e ambos positivos, tem-se que r
k
= d.

Para determinar o m.d.c. (245, 135), podemos faz-lo da seguinte forma:
245 = 1 135 + 110
135 = 1 110 + 25
110 = 4 25 + 10
25 = 2 10 + 5
10 = 2 5 + 0
E, pelo algoritmo de Euclides, conclumos que o m.d.c. (245, 135) = 5.
3.2.12 Teorema. (Identidade de Bezout) - Se a e b so nmeros inteiros no
ambos nulos, ento existem nmeros inteiros m e n tais que m.d.c. (a, b) =
= ma + nb.
Demonstrao: Sejam a e b dois nmeros inteiros positivos. Como cada
combinao linear de a e b um mltiplo de d = m.d.c. (a, b), se d for escrito
nesta forma, ento o menor nmero inteiro positivo com esta propriedade.
Consideremos o conjunto de todas as combinaes lineares
34

S = {ma + nb: m, n }.
Seja c o menor nmero inteiro positivo em S, e c = m
1
a + n
1
b, com m
1
, n
1

Sabemos que Usando o algoritmo da diviso podemos escrever
a = qc + r, 0
Por conseguinte, r = a qc = a q(m
1
a + n
1
b) = (1 qm
1
)a qn
1
b.
Se r 0, r est escrito como um comino liner de e e menor que c;
o que absurdo visto que c o menor positivo que verifica esta condio.
Logo r = 0; isto a = qc, ou seja, c divide a. Analogamente, c divide b. Pelo
que, c = d, visto que d | c e c um divisor comum de a e b.

Pegando no exemplo anterior, podemos escrever o 5 como combinao linear
de 135 e 245, ou seja:
5 = 25 2 10
5 = 25 2 (110- 4 25)
5 = 9 25 2 110
5 = 9 (135 110) 2 110
5 = 9 135 - 11 110
5 = - 11 245 + 20 135
Temos que m = -11 e n = 20.
3.2.13 Teorema. Seja p um nmero primo e a e b dois nmeros inteiros
quaisquer. Ento:
1. ou p divide a , ou a e p so nmeros primos entre si;
2. se p | ab, ento p | a ou p | b;
Demonstrao: 1. Por definio m.d.c. (a , p) um divisor positivo de p, uma
vez que p primo, ou 1 ou p. Se m.d.c. (a , p) = p, ento como m.d.c. (a , p)
35

divide a, temos que p divide a; se m.d.c. (a , p) = 1 ento a e p so primos
entre si.
2. Seja p um divisor de ab. Se p no divide a, ento por 1. implica que
m.d.c. (a, p) = 1. Pela identidade de Bezout temos que 1 = au + pv para os
nmeros inteiros u e v, logo b = aub + pvb. Por hiptese, temos que p | ab,
logo divide aub; como p um dos factores de pvb claro que p divide pvb, pelo
que p divide b.

3.2.14 Corolrio. Se p primo e p | a
1
a
2

n
, ento p | a
k
para algum k, onde

Demonstrao: Pelo mtodo de induo, temos que para n = 1 a concluso
bvia, enquanto para n = 2 estamos nas condies do teorema anterior. Para
n > 2, tomemos para hiptese de induo que se p divide um produto com
menos de n factores, ento divide um desses factores. Consideremos agora
que p | a
1
a
2

n
. Pelo teorema anterior, ou p | a
n
, ou p | a
1
a
2

n -1
. Se p | a
n
,
est provado. Se

p | a
1
a
2

n- 1
, por hiptese de induo p | a
k
, para algum k,
com -. Assim, podemos concluir que p divide um dos factores
a
1
a
2

n
.
3.2.15 Teorema. (Teorema Fundamental da Aritmtica) Qualquer nmero
natural a > 1 escreve-se de forma nica como um produto de nmeros primos.
Demonstrao: Seja a > 1 qualquer. Pelo teorema 3.2.10, temos que a se
escreve como um produto de nmeros primos. Vamos demonstrar a unicidade
por absurdo. Suponhamos que a pode ser escrito como produto de nmeros
primos de duas maneiras diferentes: a = p
1
p
2
p
r
= q
1
q
2
q
t
.
Como p
1
divide p
1
p
2
p
r
, tambm divide q
1
q
2
q
t
, isto , p
1
| q
1
q
2
q
t
. Como p
1

divide um produto de factores, tem que dividir um dos seus factores, seja p
1
| q
j
,
com j {, , , t}. Como ambos os nmeros so primos, ento p
1
= q
j
, logo a
factorizao nica.

36

Por exemplo o nmero 100, escreve-se como um produto de nmeros primos:
100 = 2
2
5
2
.
3.2.16 Teorema. Existem uma infinidade de nmeros primos.
Demonstrao: Vamos demonstrar por absurdo.
Suponhamos que havia um nmero finito de nmeros primos, digamos p
1
, p
2
,
, p
r
. Seja n , tal que n = p
1
p
2
...p
r
+ 1. Logo n maior que todos os primos
p
1
, p
2
, , p
r
, n mltiplo de pelo menos um deles, pelo Teorema Fundamental
da Aritmtica. Sem perda de generalizao, suponhamos que p
1
divisor de n
(se for por qualquer outro, o raciocnio anlogo). Temos ento que n = qp
1
,
para q , e podemos concluir que p
1
( q p
2
p
r
) = 1, ou seja, p
1
| 1. O que
absurdo, porque p
1
nmero primo.

3.3 CONGRUNCIAS
3.3.1 Definio. Seja m um nmero inteiro positivo e a e b nmeros inteiros.
Dizemos que a congruente com b mdulo m, se a diferena entre a e b for
divisvel por m, e representa-se por a b (mod m). Se m (a b), escrevemos
a b (mod m) e dizemos que a no congruente com b mdulo m.
Pelo exposto, temos que 23 5 (mod 9), pois 23 5 = 18 e 18 divisvel por 9.

n
este conjunto dos nmeros inteiros 0, , ,, (n-1) um anel com a adio
+ e a multiplicao efectuadas em mdulo n.
3.3.2 Proposio. Seja n . Ento
n
um corpo se e s se n nmero
primo.
Demonstrao: Suponhamos que n = p (onde o conjunto dos nmeros
primos). Como
p
anel comutativo, resta mostrar que
p
\{0} grupo para
multiplicao. Primeiro, mostramos que todos os elementos de
p
\{0} tm
inverso multiplicativo. Se a tal que m.d.c. (a , p ) = 1, ento pelo teorema
3.2.12. existem u, v tais que ua + vp = 1. Logo, u + p
p
\{0} o inverso
de a + p
p
\{0}. Falta mostrar que
p
\{0} fechado para a multiplicao.
37

Suponhamos que
p
\{0} so tais que
p
\{0}. Logo, = 0 e, pela
existncia dos inversos,
1 =

= 0,
o que falso. Est provado que
p
corpo.
Inversamente, suponhamos que n . Se n = 1 em
n
ento 1 = 0 em
n
e
n

no corpo. Logo, n > 1 e podemos escrever n = ab com a , b e 1 < a ,
b < n. Ento (a + n)(b + n) = (ab + n) = n + n = 0 + n, enquanto

(a + n),(b + n) 0 + n
logo,
n
no pode ser corpo.

3.3.3 Teorema. Seja F um corpo. Ento qualquer subgrupo multiplicativo e
finito de F cclico.
Para

, definimos as operaes + e , do seguinte modo:


+ 0 1 2 3 4 5 6
0 0 1 2 3 4 5 6
1 1 2 3 4 5 6 0
2 2 3 4 5 6 0 1
3 3 4 5 6 0 1 2
4 4 5 6 0 1 2 3
5 5 6 0 1 2 3 4
6 6 0 1 2 3 4 5


38

0 1 2 3 4 5 6
0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6
2 0 2 4 6 1 3 5
3 0 3 6 2 5 1 4
4 0 4 1 5 2 6 3
5 0 5 3 1 6 4 2
6 0 6 5 4 3 2 1

3.3.4 Observao:

n
o grupo multiplicativo formado por todos os elementos
invertveis de
n
, ou seja, por todos os elementos a
n
tais que existe b
n

onde a (mod n).
3.3.5 Teorema. A congruncia mdulo m uma relao de equivalncia, pois
verifica as seguintes propriedades:
1. (mod m);
2. Se (mod m), ento (mod m);
3. Se (mod m) e c (mod m), ento c (mod m).
Demonstrao:
1. a (mod m), pois a = 0 e 0 mltiplo de m.
2. Se (mod m), ento b mltiplo de m. Como b a = - (a b), ento
b a tambm mltiplo de m. Logo (mod m).
3. Se (mod m) e c (mod m), ento existem nmeros inteiros k e n tais
que a b = km e b c = nm. Logo,
a c = ( a b) + (b c) = km + nm = (k + n)m, pelo que c (mod m).

39

3.3.6 Proposio:
1. Se (mod m) e c d (mod m), ento (a c) (b d) (mod m).

2. Se (mod m) e c d (mod m), ento ac d (mod m).
3. Se (mod m) e d | m, d > 0, ento (mod d).
4. Se (mod m), ento ac c (mod m), com c
5. Se b (mod m) e c d (mod m), ento
(x + cy) (x + dy) (mod m), x, y
6. Se (mod m), ento a
k

k
(mod m), k
Demonstrao:
1. (mod m), c d (mod m)
a = b + mx, c = d + my
a c = b d + m (x y)
(a c) (b d) (mod m)

2. (mod m), c d (mod m)
a = b + mx e c = d + my
ac = (b + mx) (d + my) = bd + m (by + xd + mxy)
ac d (mod m).

3. Se m|(a b) e d|m, ento d divide todos os mltiplos de m, ou seja,
d|(a ), logo (mod d).

4. Temos que m|(a b) e (a b)c um mltiplo de (a b), pelo que
conclumos que m|(ac c), ou sej, c c (mod m).

40

5. Temos que (a b) = km e (c d) = lm, com k,l . Logo (a b)x = (kx)m e
(c d)y = (ly)m, ou seja, (ax + cy) (bx + dy) = (kx + ly)m e daqui
conclumos que (x + cy) (x + dy) (mod m), x, y .


6. Vamos provar esta afirmao pelo mtodo de induo.
Por hiptese, temos que a afirmao vlida para k = 1.
Para hiptese de induo, consideremos a afirmao verdadeira para k = n.
Temos ento que a
n

n
(mod m), como a
1

1
(mod m), pela propriedade 2
desta proposio, conclumos que a
n
a
1

n
b
1
(mod m); ou seja,
a
n+1

n + 1
(mod m), pelo que est provada a tese de induo.

3.3.7 Teorema. Para a, x, y e m nmeros inteiros tal que m > 0:
1. x y (mod m) x y (mod

).
2. Se x y mod (m
i
), i = ,,r, ento x y (mod [m
1
,, m
r
]), onde m
1
,
m
2
,, m
r
so nmeros inteiros positivos.
3.3.8 Teorema. (Teorema da inverso) A classe tem inverso em
n
se e s
se a e n so primos entre si.
Demonstrao:
() Suponhamos que tem inverso. Ento existe

tal que

(mod n).
Logo, ab + kn = 1 e portanto m.d.c. (a, n) = 1.
Suponhamos m.d.c. (a, n) = 1. Logo existem e tais que + n = .
Logo = - n + , ou seja, (mod n) e portanto tem inverso em
n
.

3.3.9 Teorema. A congruncia linear ax b (mod m) tem exactamente
d = m.d.c. (a, m) solues se d | b, e no tem solues se d b.
41

Se d | b e x
0
uma soluo, ento as d solues distintas mdulo m so

(mod m) pr i = 0, ,, d 1.
Demonstrao:
Se d = 1, a equao tem uma soluo, pois a tem um inverso mdulo m. A
soluo nica mdulo m porque ax
1
(mod m) e ax
2
(mod m) implic
que ax
1
x
2
(mod m). Podemos cortar a, porque m.d.c. (a, m) = 1, obtendo
desta forma x
1
x
2
(mod m).
Se d > 1 e d b, ento a congruncia linear no tem soluo, visto que
m (ax b) para algum x. Se d | b, ento resolvemos

d
x

d
mod
m
d
.
Esta ltima equao tem uma nica soluo x
0
mdulo

porque

tem um
inverso mdulo

. Ao escrevermos

para algum nmero inteiro k,


podemos eliminar d e obtemos ax
0
b = km. Ento x
0
uma soluo para
ax b (mod m). Uma outra soluo x precisa de satisfazer a equao
x x
0
(mod

), ou seja x x
0
= i

. As solues x
i
e x
j
so distintas mdulo m
se e s se i j (mod m). Demonstremos esta ltima afirmao. Se
x
i
x
j
(mod m), ento

(mod m). Como

um divisor de m,
podemos dividir todos os termos por

e obtemos i j (mod d). Se


i j (mod d), ento x
i
x
j
(mod m). O que mostra que existem exactamente d
solues distintas.

3.3.10 Observao: resolver a congruncia linear ax b (mod m)
equivalente a resolver a equao ax my = b. Pois
ax b (mod m) m | (ax-b) ax b = my ax my = b, para algum y .
Exemplo: consideremos a congruncia linear 18x 30 (mod 42). Como
m.d.c. (18, 42) = 6, e 6 um divisor de 30, podemos concluir que esta equao
tem seis solues distintas, que so congruentes mdulo 42. Esta congruncia
linear equivalente a 18x 42y = 30, que uma equao Diofantina.
42

Comecemos por escrever 6 = m.d.c. (18 , 42) como uma combinao linear de
18 e 42, ou seja, 42 2 18 = 6. Se multiplicarmos ambos os membros por 5,
obtemos 18 ( - 10) 42 (- 5) = 30, donde x = - 10 e y = - 5 satisfazem a
equao Diofantina e consequentemente, todas as solues de
18x 30 (mod 42) so dadas pela frmula x = - 10 +

t = - 10 + 7 t, em
que t = 0, 1, 2, 3, 4, 5. Daqui podemos concluir que
x -10 (mod 42), x - 3 (mod 42), x 4 (mod 42), x 11 (mod 42)
x 18 (mod 42), x 25 (mod 42) so as solues da congruncia linear. Se
quisermos s as solues positivas temos x 4, 11, 17, 25, 32, 39 (mod 42).
3.3.11 Corolrio. Se m.d.c. (a, n) = 1, ento a congruncia linear ax
b mod (n) tem uma nica soluo mdulo n.
3.3.12 Teorema. (Teorema Chins dos Restos) Sejam m
1
, m
2
,, m
k

nmeros primos relativos dois a dois, ou seja, tal que m.d.c. (m
i
, m
j
) = 1 para
i j, e sejm
1
, a
2
,,
k
nmeros inteiros. Ento, o sistema de congruncias

x

mod m

mod m

x
k
(mod m
k
)


tem soluo. Quaisquer duas solues so congruentes mdulo m
1
m
2
m
k
.
Demonstrao:
Seja m = m
1
m
2
m
k
. Para cada j , , , k, tem-se
m
m
j
e
m.d.c.
m
m
j
, m
j
= 1. Ento, para cada j, a congruncia
m
m
j
x 1 (mod m
j
) tem
soluo. Seja b
j
uma soluo dessa congruncia. Tem-se, para cada
j , , , k, por um lado

1 (mod m
j
) e por outro

0 (mod m
i
) se
i j porque, se i j, o nmero inteiro

mltiplo de m
i
.
Seja

.
43

Ento, para cada j , , , k, tem-se

a
j
(mod m
j
) ou seja x
0

uma soluo do sistema de congruncias.
Como m
1
, m
2
,, m
k
so nmeros primos dois a dois, tem-se [m
1
, m
2
,, m
k
] =
= m
1
m
2
m
k
, logo a segunda afirmao do teorema resulta de algumas
propriedades da relao de congruncia, pois se x e x forem duas solues
do sistema acima indicado, ento tem-se x x (mod m
1
), x x (mod m
2
),
, x x (mod m
k
).
O conjunto completo das solues ento [x
0
]
m
.

Exemplo: Consideremos o sistema
x 2 (mod 3)
x 3 (mod 5)
x 2 (mod 7).
Vamos utilizar o Teorema Chins dos Restos, para resolver este sistema.
Sejam m
1
= 3, m
2
= 5 e m
3
= 7, logo m = 3 5 7 = 105, c
1
= 35, c
2
= 21 e c
3
=
= 15. Primeiro precisamos de encontrar uma soluo y = d
1
de c
1
y 1 (mod
m
1
), ou seja, 35y 1 (mod 3); o que equivalente a: y 1 (mod 3); assim
y = d
1
= - 1, por exemplo. De forma anloga, c
2
y 1 (mod m
2
), feitas as
devidas substituies, temos 21y 1 (mod 5), logo uma soluo y = d
2
= 1.
Para c
3
y 1 (mod m
3
), temos 15y 1 (mod 7), podemos tomar para soluo y
= d
3
= 1. Finalmente, temos
x
0
= a
1
c
1
d
1
+ a
2
c
2
d
2
+ a
3
c
3
d
3
= 2 35 (-1) + 3 21 1 + 2 15 1 = 23,
logo as solues para o sistema so dadas por x = 23 + 105t (t ).
3.4 Matrizes
Vamos abordar as matrizes de modo a compreendermos a cifra de Hill, que
ser estudada no prximo captulo. Deste modo, no abordaremos o estudo
44

das matrizes de uma forma generalizada, mas apenas com o intuito de
compreendermos o funcionamento desta cifra, no que respeita ao exemplo
apresentado.
Considerando o pargrafo anterior, definimos a multiplicao de uma matriz
quadrada 3 3 com uma matriz coluna 3 1. Para o efeito consideremos as
matrizes: A =



e B =

, ento
A B =

. A multiplicao de matrizes no comutativa.


Vamos agora calcular o determinante da matriz A, utilizando a regra de Sarrus:
det A = | A | = (a e i + c d h + b f g)
- (c e g + a f h + d b i).
Com o clculo do determinante de uma matriz quadrada, podemos saber se
existe inversa para essa matriz, ou no!
Neste caso, se o determinante e 26 forem nmeros primos entre si, ento a
matriz quadrada tem inversa; ou seja, existe uma matriz quadrada A
-1
, tal que
A A
-1
= A
-1
A = I, em que I =



, I a matriz identidade mdulo 26.
3.5 Teorema de Euler
3.5.1 Definio. Seja m . Um sistema reduzido de resduos mdulo m um
conjunto {r
1
, r
2
, , r
k
} de nmeros inteiros satisfazendo m.d.c. (r
i
, m) = 1, i = 1,
, k; tl que, i j r
i
no congruente com r
j
mdulo m e para todo a ,
com m.d.c. (a , m) = 1, existe um r
i
, para o qual a r
i
(mod m).
3.5.2 Definio. Seja m um nmero inteiro positivo. A funo de Euler uma
funo natural de varivel natural onde (m) definida como o nmero de
nmeros naturais menores que m que so primos relativos a m.
45

Por exemplo (15) = 8. Pois 1, 2, 4, 7, 8, 11, 13 e 14 so primos relativos a 15.
3.5.3 Proposio. Sendo p um nmero primo e um nmero nturl, tem-se

.
Demonstrao:

o nmero de nmeros nturis p

que so primos com p

. Como p
nmero primo, os nmeros naturais que no so primos com p

so aqueles
que tm p como divisor, ou sej: p, p, 3p, , p
1
p.
Estes naturais so em nmero de p
1
, pelo que os nmeros nturis p

que
so primos com p

so em nmero de p

- p
1
.

Como 25 = 5
2
, temos que

, ou seja, existem 20 nmeros


entre 1 e 24 que so primos relativos a 25; a saber: 1, 2, 3, 4, 6, 7, 8, 9, 11, 12,
13, 14, 16, 17, 18, 19, 21, 22, 23 e 24.
3.5.4 Corolrio. Se p um nmero primo, ento .
Demonstrao:
Pel proposio nterior, fzendo = , o resultdo imedito.

Como 31 primo, pelo corolrio anterior, existem 30 nmeros naturais
menores que 31 que so primos relativos a 31.
3.5.5 Definio. Uma funo aritmtica f multiplicativa se f(mn) = f(m)f(n),
quando m.d.c.(m , n) = 1.
3.5.6 Lema. Se m e n so primos entre si, ento (mn) = (m)(n), ou seja,
uma funo multiplicativa.
Demonstrao:
Sejam R
m
= {x
1
, ,

} um sistema reduzido de resduos mdulo m,


R
n
= {y
1
, ,

} um sistema reduzido de resduos mdulo n e


46

S = {ay
i
+ bx
j
: i = ,, (n), j = , , (m) }.
Queremos provar que S um sistema reduzido de resduos mdulo mn. Como
S tem (m) (n) elementos, provaremos que (mn) = (m) (n).
Para mostrar que S um sistema reduzido de resduos mdulo mn,
necessitamos de mostrar trs coisas:
Primeiro: que cada x S e mn so primos relativos;
Segundo: que todos os elementos de S so distintos;
Terceiro: qualquer que seja o nmero inteiro a, tal que,
m.d.c. (a, mn) = 1, ento a s (mod mn) para algum s S.
Seja x = my
i
+ nx
j
. Como m.d.c. ( x
j
, m) = 1 e m.d.c. (m , n) = 1, temos ento
que m.d.c. (x , m) = 1. Analogamente, m.d.c. ( x , n) = 1. Como x primo
relativo de m e n, temos que m.d.c. (x , mn) = 1. Mostramos que cada elemento
do conjunto S primo relativo de mn.
Em seguida, suponhamos que (my
i
+ nx
j
) (my
k
+ nx
l
) (mod mn). Ento
mn | ((my
i
+ nx
j
) (my
k
+ nx
l
)) my
i
my
k
(mod n). Como m.d.c. (m, n) = 1,
temos que y
i
y
k
(mod n). Mas ento y
i
= y
k
, visto que R
n
um sistema
reduzido de resduos. De forma semelhante, conclumos que x
j
= x
l
. O que
mostra que os elementos de S so distintos mdulo mn.
Finalmente, suponhamos m.d.c. (a , mn) = 1. Como m.d.c. (m , n) = 1, ento
existem x e y, tais que mx + ny = 1. Ento max + nay = a. Como
m.d.c. (x, n) = 1 e m.d.c. (a , n) = 1, temos que m.d.c. (ax, n) = 1.
Consequentemente, existe um s
i
tal que ax = s
i
+ tn. Da mesma maneira,
m.d.c. (ay , m) = 1, e tambm existe um r
j
tal que ay = r
j
+ um. Ento
m(s
i
+ tn) + n(r
j
+ um) = a a = ms
i
+ nr
j
+ (t + u)mn a mr
i
+ ns
j
(mod mn),
o que demonstra o terceiro passo.

Podemos determinar (20), utilizando o teorema anterior,
47

(20) = (5 4) = (5) (4) = 4 2 = 8.
3.5.7 Corolrio. Seja m =

a factorizao em nmeros primos de


m, ento

= -


Demonstrao:
Como multiplicativa, temos que



Vamos recorrer a este corolrio, para determinar (60). Temos que 2, 3 e 5
so os nmeros primos que so divisores de 60, ento
(60) =

.
3.5.8 Lema. Seja n > 1 e m.d.c. (a, n) = 1. Se a
1
, a
2
,,

so nmeros
inteiros positivos menores que n e primos relativos com n, ento
aa
1
, aa
2
,,


so congruentes mdulo n com a
1
, a
2
,,

pela mesma ordem.


3.5.9 Teorema de Euler. Sejam a um nmero inteiro e m um nmero inteiro
positivo tais que m.d.c. (a, m) = 1, ento
m
(mod m).
Demonstrao:
Seja {r
1
, r
2
, , r
m
} um sistema reduzido de resduos mdulo m. Pelo lema
anterior, {ar
1
, ar
2
, , ar
m
} tambm um sistema reduzido de resduos
mdulo m. Para cada elemento ar
i
do segundo sistema

existe um e um s
elemento r
j
do primeiro tal que ar
i
r
j
(mod m).
48

Multiplicando membro a membro todas estas (m) congruncias obtemos
ar
1
ar
2
r
m
r
1
r
2

(mod m) temos que

m
r
1
r
2
r
m
r
1
r
2

(mod m).
Como todos os r
i
so primos com m, tambm o seu produto primo com m,
pelo que pela teorema 3.3.7, ponto um, temos

(mod m).

Podemos aplicar este teorema para encontrar os dois ltimos dgitos de 3
1492
.
O que equivalente a determinar o menor resduo no negativo de
3
1492
(mod 100). O m.d.c. (3, 100) = 1, logo, pelo teorema de Euler,

1 (mod 100), ou seja, 3


40
1 (mod 100), j que (100) = 40. Como
1492 12 (mod 40), ento 3
1492
3
12
(mod 100). Como
3
4
= 81 - 19 (mod 100), ento 3
8
(- 19)
2
= 361 - 39 e assim conclumos
que 3
12
(- 19) (- 39) = 741 41. Os dois ltimos dgitos de 3
1492
so o 4 e o
1.
3.5.10 Corolrio. Se m.d.c. (a, m) = 1 e n' o menor resduo de n, no
negativo, mdulo (m), ento a
n

n'
(mod m).
3.6 Raizes primitivas
3.6.1 Definio. Sejam a e n nmeros inteiros tais que m.d.c. (a, n) = 1.
Ento a ordem de a mdulo n, com notao ord
n
(a) o menor nmero inteiro k,
tal que a
k
1 (mod n).
A ordem de 2 mdulo 31 5, visto que 5 o menor nmero inteiro que satisfaz
a condio 2
k
1 (mod 31). Pois 2
1
2 (mod 31), 2
2
4 (mod 31), 2
3
8
(mod 31), 2
4
16 (mod 31) e 2
5
1 (mod 31).
Temos que a ord
n
(a) , para m.d.c (a, n) = 1; visto que pelo teorema de
Euler

(mod n).

3.6.2 Proposio. Seja a
m
1 (mod n); ento

| m.


49

Demonstrao:
Seja k = ord
n
(a). Pelo algoritmo da diviso, existe um quociente q e um resto r
tal que , m = kq + r,
Se ord
n
a m, ento r 0.
Temos ento que
m

kq+r

kq

r

r
(mod n), pelo que
r
mod n. Como
r < k, ento r = 0 (k o menor nmero inteiro positivo que satisfaz esta
congruncia) e temos que ord
n
(a) | m.

3.6.3 Corolrio. - Suponhamos que m.d.c. (a, n) = 1 e

; ento


Demonstrao:
Como m.d.c. (a, n) = 1, a
j
invertvel e o seu inverso
-

. Daqui sai que

-
, logo
i - j
(mod n). Isto implica que ord
n
(a) | (i j), ou
seja, (i j) 0 (mod ord
n
(a)) ou i j (mod ord
n
(a)).


3.6.4 Corolrio. Se m.d.c. (a, n) = 1, ento a ord
n
(a) | Em particular, se
p um nmero primo e m.d.c. (a, p) = 1, ento ord
p
(a) | p -1.
3.6.5 Lema. Se m.d.c. (a, n) = 1, ento a ord
n
(a
k
) =
ord
n
()
mdc (k , ord
n
())
.
Demonstrao:
Seja x =

. Por um lado,

a
kx

ord
n
()

k
mdc (k , ord
n
())
1 (mod n),
o que implica que

por outro lado, se l = ord


n
(a
k
), ento

a
kl
1 (mod n), logo a

Podemos escrever kl = ord


n
(a)c
para algum c . Se dividirmos, ambos os lados, pelo mximo divisor
comum de k e ord
n
(a), temos que x | l. Pelo que ord
n
(a
k
) =
ord
n
()
mdc (k , ord
n
())
.

50

Suponhamos que ord
n
(a) = 15, ento ord
n
(a
20
) =


3.6.6 Corolrio. Se a tem ordem k mdulo n. Ento a
h
tem ordem k se e s
se m.d.c. (h, k) = 1.
3.6.7 Definio. Se m.d.c. (a, n) = 1 e ord
n
(a) = , ento a diz-se uma raiz
primitiva mdulo n, ou seja, o conjunto {a, a
2
, a
3
, ,
(n)
} um sistema de
resduos mdulo n.

3 uma raiz primitiva mdulo 31, pois ord
31
(3) = 30. No entanto, nem todos os
nmeros naturais tm razes primitivas.

3.6.8 Teorema. Para k 3, os nmeros inteiros 2
k
no tm razes primitivas.
Demonstrao:
Comecemos por mostrar que se a um nmero mpar, ento para
k


Para k = 3, temos a congruncia

, que verdadeira, pois

Para k > 3, vamos provar pelo mtodo de induo.


Por hiptese de induo, seja verdadeira para k, a congruncia

. O que equivalente equao

, com b .
Elevando ambos os membros ao quadrado, obtemos

o que prova a tese de induo, ou seja a


congruncia vlida para
Os nmeros inteiros que so primos com 2
k
so os nmeros mpares; mas

-
. O que prova, se a um nmero mpar e , ento

) e, consequentemente, no existem razes primitivas de 2


k
.

3.6.9 Teorema. Se m.d.c. (m, n) = 1, onde m > 2 e n > 2, ento o nmero
inteiro m n no tem razes primitivas.
51

Demonstrao:
Consideremos a um nmero inteiro tal que m.d.c. (a , mn) = 1; ento
m.d.c. (a, m) = 1 e m.d.c. (a , n) = 1. E seja h = m.m.c. (m, (n)) e
d = m.d.c. (m, (n)).
Como m e (n) so ambos pares, podemos concluir que d 2.
Logo h =
m(n)
d

(mn)

.
Temos que

1 (mod m), pelo teorema de Euler. Daqui tirmos a seguinte


concluso: a
h
=

(mod m).
De forma anloga, conclumos que a
h
1 (mod n). Com estas duas ltimas
congruncias e como m.d.c. (m , n) = 1, por hiptese, temos que
a
h
(mod m n).
A ordem de mn, como m e n so primos entre si, inferior ou igual a
(mn)

,
logo no existem razes primitivas para mn.

Do teorema anterior podemos tirar as concluses que se encontram no prximo
corolrio.
3.6.10 Corolrio. Um nmero inteiro n no tem razes primitivas se verifica
uma das seguintes propriedades:
(1) n divisvel por dois nmeros primos mpares;
(2) n = 2
m
p
k
, onde p um nmero primo mpar e m 2.
3.6.11 Teorema. Se p um nmero primo e d | (p -1), ento existem (d)
nmeros inteiros incongruentes mdulo p, que tm ordem d.
De um modo particular, se substituirmos d por p 1, conclumos que existem
(p - ) razes primitivas de p. Logo todo o nmero primo tem razes primitivas.
3.6.12 Lema. Se p um nmero primo, ento existe uma raiz primitiva de p tal
que r
p-
mod p

.




52

Demonstrao:
Como p um nmero primo, ento p tem razes primitivas. Escolhemos uma
delas, a qual designaremos por r. Se r
p 1
1 (mod p
2
), a demonstrao est
feita.
Caso contrrio, consideremos a raiz primitiva de p: r + p = s. Temos ento o
seguinte: s
p 1
((r + p)
p 1
r
p 1
+ (p 1)pr
p 2
)(mod p
2
).
Como r
p 1
1 (mod p
2
), daqui s
p 1
(1 pr
p 2
)(mod p
2
).
Considerando que r raiz primitiva de p, m.d.c. (r , p ) = 1 e p r
p 2
,
ento s
p 1
1 (mod p
2
).


3.6.13 Corolrio. Se p um nmero primo mpar, ento p
2
tem uma raiz
primitiva. Se r uma raiz primitiva de p, ento ou r ou r + p uma raiz primitiva
de p
2
.
Demonstrao:
Se r uma raiz primitiva de p, ento a ordem de r mdulo p
2
p 1 ou
p(p 1) = (p
2
). Da demonstrao do teorema anterior, temos que se r tem
ordem p 1 mdulo p
2
, ento r + p ser raiz primitiva de p
2
.

3.6.14 Lema. - Seja p um nmero primo mpar e r uma raiz primitiva de p tal
que r
p-
mod p

. Ento para cada k 2, r


p
k-
(p )
mod p
k
.
Demonstrao:
A demonstrao feita por induo em k. Para k = 2, temos que
r
p
(-)
(p )
mod p

, ou seja, r
p-
mod p

, o que verdade por


hiptese. Consideremos a incongruncia verdadeira para todo k 2 e vamos
mostrar que a incongruncia verdadeira para k + 1. Como
m.d.c. (r , p
k 1
) = m.d.c. (r , p
k
) = 1,
pelo teorema de Euler, temos que


-
.
Daqui, conclumos que existe um nmero inteiro a que satisfaz a seguinte
igualdade r
p
k-
(p )
= + p
k-
, onde p a pela nossa hiptese de induo.
Elevando a p ambos os membros desta ltima equao obtemos o seguinte:
53

r
p
k-
(p )
= ( + p
k-
)
p
+p
k
(mod p
k+
).
Como o nmero inteiro a no divisvel por p, temos que
r
p
k-
(p )
(mod p
k+
).

3.6.15 Teorema. Se p um nmero mpar e , ento existe uma raiz
primitiva para p
k
.
Demonstrao:
Pelos dois lemas anteriores podemos escolher uma raiz primitiva r de p tal que
r
p
k-
(p )
mod p
k
; de facto, algum r satisfaz
-

. Queremos
provar que r uma raiz primitiva para todas as potncias de base p.
Se n a ordem de r mdulo p
k
. Temos ento que n divide (p
k
) = p
k 1
(p 1).
Como r
n
1 (mod p
k
), implica que r
n
1 (mod p), pelo que (p 1)|n.
Consequentemente, n = p
m
(p 1), onde 0 m k-. Se n p
k 1
(p 1), ento
p
k 2
(p 1) ser dividido por n, logo r
p
k-
(p )
mod p
k
, o que contradiz a
forma como r foi escolhido. Temos ento que n p
k 1
(p 1) e r uma raiz
primitiva de p
k
.

3.6.16 Corolrio. Existem razes primitivas de 2p
k
, onde p um nmero primo
mpar e k 1.
Demonstrao:
Se r uma raiz primitiva de p
k
. Consideremos que r um nmero inteiro mpar;
se fosse um nmero inteiro par, ento r + p
k
seria um nmero inteiro mpar e
uma raiz primitiva de p
k
. Ento m.d.c. (r, 2p
K
) = 1. A ordem n de r mdulo 2p
k

divide p
k
= p
k
= (p
k
).
Mas r
n
1 (mod 2p
k
) implica que r
n
1 (mod p
k
), ento (p
k
)|n. Logo
conclumos que n = p
k
, ou seja, r uma raiz primitiva de 2p
k
.

3.6.17 Teorema das razes primitivas. Seja m > 1. Existe uma raiz primitiva
mdulo m se e s se verifica um dos casos:
54

m {2, 4};
m = p
k
, com p um nmero primo mpar e k ;
m = 2p
k
, com p um nmero primo mpar e k .
Demonstrao:
1 uma raiz primitiva de 2 e 3 uma raiz primitiva de 4,como se prova a
seguir: temos que = e , daqui obtemos que
1
1
1 (mod 2) logo 1 raiz primitiva de 2; 3
1
3 (mod 4) e 3
2
1 (mod 4) logo
3 raiz primitiva de 4. Est demonstrado o primeiro caso.
Os outros dois casos esto demonstrados pelo teorema e corolrios anteriores.

3.7 Pequeno Teorema de Fermat
3.7.1 Definio. O coeficiente binomial com parmetros n e o nmero
inteiro definido por

-
.
3.7.2 Teorema. Um nmero inteiro n nmero primo se e s se

(mod n)
para todo -
Demonstrao: Suponhamos que n nmero primo, e seja - Por
definio,

-
um nmero inteiro. Um dos factores do numerador
desta fraco o n, mas o seu denominador no contem nenhum factor n, pois
tanto k como (n k) so inferiores a n, logo k! e (n k)! no tm nenhum factor
n. Como n primo, nunca desaparecer do numerador da fraco, qualquer
que seja a simplificao que se faa, ou seja, todo

mltiplo de n,
conclumos ento que

0 (mod n).
Suponhamos agora que

0 (mod n) para todo - e com vista a


uma contradio que n um nmero composto. Seja p um factor primo de n, e
p
c
a maior potncia de p que divide n. Por hiptese temos que

0 (mod n), o
que mostraremos ser falso.
Por definio,
n
k
=
n
kn-k
=
nn-n-(n-p+)
p
. No numerador, n o nico termo
que tem factores de p, porque o menor mltiplo de p a seguir a n n p.
55

Como o numerador tem exactamente c factores de p, e o denominador tem s
o prprio p como factor de p, conclumos que
n
k
tem c -1 factores de p, e p
c

n
k
. O que significa que
n
k
no mltiplo de p
c
, logo no pode ser mltiplo de
n. O que contradiz a hiptese que
n
k
0 (mod n), ento a nossa suposio
falsa. Pelo que n um nmero primo.

3.7.3 Pequeno Teorema de Fermat. Sejam p um nmero primo e a um
nmero inteiro positivo.
Ento a
p
(mod p). Em prticulr, se p a, ento a
p 1
(mod p).
Demonstrao:
Vamos provar este teorema por induo em a. Para a = 1, temos que
a
p 1
= 1, logo a
p 1
(mod p). Pr hiptese de induo consideremos o
teorema verdadeiro para a = n. Vamos provar o teorema para a = n + 1. Temos
que (n + 1)
p
= n
p
+(

p
) n
p-
+(

p
)n
p-
++ (
p-
p
)n+.
Pr k p 1, o coeficiente binomial

divisvel por p, pelo teorema


anterior.

-
, como p primo, o factor p do numerador no pode ser
cortdo por nenhum dos factores do denominador, pois estes factores so
menores que p. Logo, (n + 1)
p
(n
p
+ 1) (mod p). Como por hiptese de
induo, n
p
n (mod p), podemos concluir que (n + )
p
(n + 1) (mod p).

Podemos encontrar o menor resto da diviso de 3
91
por 23, com a ajuda do
Pequeno Teorema de Fermat. 23 um nmero primo e 3 no divisvel por 23,
pelo que 3
22
(mod 3), como 9 = + 3,ento

(mod 23).
3.7.4 Definio. n um pseudoprimo de base a , se para n > 1 composto
tem-se a
n 1
(mod n).
56

Temos, por exemplo, que 91 um pseudoprimo para a base 3
(3-pseudoprimo). Sabemos que 91 um nmero composto, pois 91 = 7 13;
vamos mostrar que 3
90
(mod 9). Como
3
2
9 (mod 9), 3
4
8 (mod 9), 3
8
9 (mod 9), 3
16
8 (mod 9),
3
32
9 (mod 9) e 3
64
8 (mod 9), ento
3
90
3
64
3
16
3
8
3
2
(mod 9) 8 8 9 9 (mod 91)
53 (mod 9) 1 (mod 91), logo 91 um 3-pseudoprimo.
3.7.5 Definio. Um nmero inteiro composto n diz-se um nmero de
Carmichael se a
n 1
(mod n) pr todo o nmero inteiro a tal que
m.d.c. (a , n) = 1.
O menor nmero Carmichael o 561; no entanto, o conjunto dos nmeros
Carmichael infinito. O que foi provado por Alford, Granville e Pomerance.
3.7.6 Teorema. (Alford, Granville, Pomerance) Existem infinitos nmeros de
Carmichael. Em particular, se C( x) define o nmero de nmeros de Carmichael
menores ou iguais a x, ento C(x) >

para x suficientemente grande.


3.7.7 Observao: Apesar da cardinalidade dos nmeros de Carmichael no
ser finita, a sua distribuio fraca, o que nos permite confiar nalguns testes de
primalidade.
3.7.8 Teorema. (Critrio de Korselt) Um nmero n inteiro positivo mpar um
nmero de Carmichael se, e s se, cada factor primo p de n satisfaz as
seguintes condies:
1. p
2
no divide n;
2. p 1 divide n 1.
Demonstrao:
Primeiro, vamos mostrar que se num nmero n a sua factorizao no livre
de quadrados, ento no pode ser um nmero Carmichael.
57

Suponhamos que a sua factorizao de n tem quadrados. Ento existe um
primo p tal que p
2

| n. Pelo teorema 3.6.17 o grupo multiplicativo
p
cclico
(ou seja, tem uma raiz primitiva) e daqui conclumos que existe um gerador
g (mod p
2
). Como (p

) = p (p 1), temos que g


p(p 1)
(mod p
2
) e a menor
potncia de g que congruente com 1 mdulo p
2
. Agora seja m = p
1
p
2
p
k
,
onde p
1
, , p
k
so outros nmeros primos diferentes de p que dividem n. Note-
se que p
k
no um nmero Carmichael, logo estes primos existem.
Escolhamos uma soluo b para o par de congruncias
g (mod p
2
)
(mod m),
que existe pelo teorem chins dos restos. Como g mod p
2
, temos que b
tambm tem ordem multiplicativa p (p 1) (mod p
2
). Suponhamos que n era um
nmero Carmichael. Ento n seria um pseudoprimo para a base b e daqui
temos que b
n 1
(mod n). O que implica que p(p 1) | n, visto que p(p -1)
a ordem de b. Contudo, se p | n, temos que n - 1 (mod p). Por outro lado,
se p (p 1) | (n -1), temos que n 0 (mod p), ou seja uma contradio. Pelo
que n no pode ser um pseudoprimo para a base b e por conseguinte no um
nmero Carmichael.
Suponhamos agora que n livre de quadrados, ou seja, n = p
1
p
2
p
k
com k 2
e os p
i
primos distintos. Consideremos primeiro que (p
1
1) | (n 1) para
i = , , k e sej m.d.c. (b, n) = 1. Ento
b
n 1

(p

- )k

k
mod p
i
, i = , , k.
Temos ento que b
n 1

. Por conseguinte, n um
pseudoprimo para a base b e como b arbitrrio com m.d.c. (b, n) = 1, segue -
- se que n um nmero Carmichael.
Inversamente, suponhamos que n = p
1
p
k
um nmero de Carmichael. Seja
p
i
, um desses primos e seja g um gerador do grupo multiplicativo de

. Um
grupo que seja livre de quadrados cclico. Temos ento que g tem ordem
multiplicativa p
i
1 (mod p
i
). Agora seja b uma soluo do seguinte par de
congruncias
58

g (mod p
i
)
(mod

).
Ento b tambm tem ordem multiplicativa p 1 (mod

). Temos ainda que


m.d.c. (b,

= 1 e m.d.c. (b,

) = 1 segue-se ento que m.d.c. (b, n) = 1. Como


n um nmero Carmichael um pseudoprimo para a base b e por isso
b
n - 1


Conclumos que

(p
1
1)|(n -1),
o que demonstra o teorema.


3.8 Resduos Quadrticos
3.8.1 Definio de resduo quadrtico. Seja p um nmero primo mpar e x um
nmero inteiro, x p-. x um resduo quadrtico mdulo p se a
congruncia y
2
x (mod p) tiver uma soluo

. Se no tiver, diz se um
resduo no quadrtico.
Consideremos p = 13. Temos que
1
2
12
2
1,
2
2
11
2
4,
3
2
10
2
9,
4
2
9
2
3,
5
2
8
2
12,
6
2
7
2
10.
Temos ento que os resduos quadrticos de 13 so: 1, 3, 4, 9, 10 e 12. E os
resduos no quadrticos so: 2, 5, 6, 7, 8 e 11.
3.8.2 Teorema. (Critrio de Euler) - Seja p > 2 um nmero inteiro primo. Ento
a um resduo quadrtico mdulo p se e s se



59


Demonstrao:
Suponhamos que a um resduo quadrtico de p, ento x
2
(mod p) dmite
uma soluo, que ser designada por x
1
. Como m.d.c. (a, p) = 1,
evidentemente m.d.c. (x
1
, p) = 1. Recorrendo ao Pequeno Teorema de Fermat,
temos que:
-

-
, o que prova a primeira implicao.
Em sentido inverso, temos que se
p

mod p e seja r uma raiz primitiva


de p. Ento a r
k
(mod p) para algum nmero inteiro k, com k p 1.
Podemos concluir ento que
-


Pela proposio 3.6.2, a ordem de r (nomeadamente, p 1) divide o expoente
-

. O que implica que k um nmero par, seja k = 2j. Temos ento que

sendo r
j
uma soluo da congruncia x
2
(mod p).
o que prova que a um resduo quadrtico do nmero primo p.
Se p um nmero primo mpar e m.d.c. (a, p) = 1, ento
(
p-

- ) (
p-

+ =
p-
0 mod p, esta ltima congruncia
justificada pelo Pequeno Teorema de Fermat. Daqui podemos concluir que se
verifica apenas uma e uma s das congruncias seguintes:

p-

mod p ou
p-

- mod p.
Se as congruncias anteriores se verificassem simultaneamente, ento
teramos 1 - mod p, o que seria equivalente, a p | 2, o que no est de
acordo com a nossa hiptese. Daqui conclumos que se a um no resduo
quadrtico no satisfaz a congruncia
p-

mod p, logo ter que


satisfazer
p-

- mod p


60

3.8.3 Corolrio. Seja p um nmero primo mpar e m.d.c. (a, p) = 1. Ento a
um resduo quadrtico ou um resduo no quadrtico de p consoante

1 (mod p) ou
-

- 1 (mod p), respectivamente.


Considerando p = 17, temos que

= 3
8
= 6561 - 1 (mod 17), ou seja, 3
no um resduo quadrtico de 17.
3.8.4 Definio. (Smbolo de Legendre) Seja p um nmero primo > 2. Para
0, o smbolo de Legendre,

definido da seguinte forma:



p
=

0 se 0 mod p
se um resduo qudrtico mdulo p
- se no um resduo qudrtico mdulo p.


No caso de p = 13 e considerando o critrio de Euler, obtemos o seguinte:

3-

(mod 3)

3-

= - (mod 3)
3

3-

= 9 (mod 3)

3-

= 09 (mod 3)
5

3-

=555 - (mod 3)

3-

=5 - (mod 3)

3-

=9 - (mod 3)
8

3-

= - (mod 3)
9

3-

= 53 (mod 3)
61

0

3-

=000000 (mod 3)

3-

=5 - (mod 3)

3-

=98598 (mod 3).


Daqui podemos concluir que:

= 1

= - 1
3.8.5 Teorema. Seja p um nmero primo mpar e a e b nmeros inteiros, os
quais so primos relativos a p. Ento o smbolo de Legendre tem as seguintes
propriedades:
1. Se a b (mod p), ento

p
=

.
2.


3.

(mod p).
4.

.
5.

e -

-
-


Demonstrao:
1. Se a b (mod p), ento x
2
a (mod p) e x
2
b (mod p) tm
exactamente as mesmas solues. Desta forma x
2
a (mod p) e
x
2
b (mod p), ou so ambas solveis, ou nenhuma tem soluo.
Logo

p
=


2. a uma soluo trivial de x
2
a
2
(mod p), logo


3. um corolrio do critrio de Euler.
4. Vamos utilizar esta ltima propriedade para provar a propriedade 4:
62

(mod p).
Se fosse

, teramos 1 - 1 (mod p) ou 2 0 (mod p); o que


no acontece desde que p > 2.
5. Na ltima propriedade, temos que a primeira igualdade um caso
particular da segunda propriedade; a outra igualdade obtm-se de
trs, substitudo a por 1. Como os resultados de
-

e -
-

so
ou 1 ou 1, temos que
-

-
-

(mod p) implica que


-

-
-



3.8.6 Observao: Das propriedades 2 e 4 do teorema anterior, podemos
concluir que

.
3.8.7 Corolrio. Se p um nmero primo mpar, ento

-
p
=
se p (mod )
- se p 3 (mod )
.
3.8.8 Teorema. Se p e q so nmeros primos mpares distintos, ento

excepto quando p q 3 (mod 4), neste caso,


3.8.9 Lema. Se p um nmero primo mpar, ento

; por
conseguinte, 2 um resduo quadrtico se e s se p 1 (mod 8).
3.8.10 Teorema. Se p um nmero primo mpar, ento


Daqui, conclumos que existem precisamente
-

resduos quadrticos e
-


resduos no quadrticos.


63

Demonstrao:
Seja r uma raiz primitiva de p. Sabemos que as potncias r, r
2
,, r
p 1
so
uma permutao, mdulo p, dos nmeros inteiros , , ,p 1. Pelo que, para
a, compreendido entre 1 e p 1, inclusive, existe um nico nmero inteiro
positivo k (-), tal que

(mod p). Pelo critrio de Euler, temos (*)

(mod p), como r uma raiz primitiva, vem

- (mod p). Mas

e ( - 1)
k
so iguais a 1 ou a 1, por (*). Se
somarmos os smbolos de Legendre em questo, obtemos o seguinte:

, o que prova o teorema.



3.8.11 Proposio. Se p um nmero primo mpar e a tal que
m.d.c. (a, p) = 1, ento a um resduo quadrtico mdulo p

p
=.
Vamos aplicar algumas propriedades anteriores para determinar (

.
(

= (

como so ambos nmeros primos e 15881 3 (mod 4);


(

= (

porque 15881 345 (mod 971);


(

= (

pela propriedade 4 do teorema 3.8.5;


Como 5 3 (mod 4), 3 3 (mod 4), 23 3 (mod 4) e 971 3 (mod 4), pelo
teorema 3.8.8, temos o seguinte: (

= - (

, (

= - (

e (

= (

.
Logo (

= (

.
(

= (

, pois 971 2 (mod 3), 971 1 (mod 5) e


971 5 (mod 23); como (

= 1 pela propriedade 5 do teorema 3.8.5 e


(

= - 1 pelo lema 3.8.9, ento


64

(

= - (

= - (

= - (

= - (

= - (

= - (- 1) = 1. Por fim,
podemos concluir que 971 um resduo quadrtico de 15881.
3.8. 12 Definio. (Smbolo de Jacobi). Seja n um nmero inteiro positivo e
mpar, cuja factorizao num produto de factores primos n= p

p
k
e
k
. Seja
0 um nmero inteiro. O smbolo de Jacobi,

n
=

p
i

e
i

k
i=

Vamos determinar

utilizando o smbolo de Jacobi e algumas propriedades


do smbolo de Legendre. Temos que 221 = 13 17, logo

=
=

= (- 1)
21
= -1. Conclumos
ento que 21 no um resduo quadrtico de 221.
3.8.13 Proposio. Seja p um nmero primo mpar e a um nmero inteiro tal
que p a. Se a um resduo quadrtico mdulo p ento a um resduo
quadrtico mdulo p
k
, para todo o k .
3.8.14 Proposio. Sejam n , mpar e superior a 1, e a , primo com n.
a um resduo quadrtico mdulo n se e s se a um resduo quadrtico
mdulo p para qualquer nmero primo p que divida n.
3.9 Problema do Logaritmo Discreto
3.9.1 Definio de logaritmo discreto. - Seja p um nmero primo,

um
grupo cclico de ordem p - 1 e g uma raiz primitiva mdulo p. Ento para algum
a existe um expoente c tal que a
g
c
(mod p).
Chamamos a c o logaritmo discreto de a na base g e representamo-lo da
seguinte forma c = log
g
a. O clculo do logaritmo discreto, quando p um
nmero primo grande, bastante difcil. At ao momento no se conhece
nenhum algoritmo eficiente capaz de o calcular. O que nos coloca um problema
o Problema do Logaritmo Discreto.
65

3.9.2 Definio. Seja r uma raiz primitiva de n. Se m.d.c. (a, n) = 1, ento
chamamos ndice de a relativo a r, ao menor nmero inteiro k que satisfaz a
condio a r
k
(mod n). E denotamos por ind
r
a = k.
Como 3 uma raiz primitiva de 7 e 3
1
3 (mod 7), 3
2
2 (mod 7),
3
3
6 (mod 7), 3
4
4 (mod 7), 3
5
5 (mod 7) e 3
6
1 (mod 7). Temos ento
que ind
3
1 = 6, ind
3
2 = 2, ind
3
3 = 1, ind
3
4 = 4, ind
3
5 = 5 e ind
3
6 = 3.
3.9.3 Teorema. Se n tem uma raiz primitiva r e ind a o ndice de a relativo a r,
ento:
1) ind (ab) (ind a + ind b) (mod ,
2) ind
k
k ind (mod (n) ), para k > 0,
3) ind 0 (mod (n) ), ind r (mod (n)),
4) a b (mod n) se e s se ind a = ind b.
Demonstrao:
1) Por definio de ndice, temos que r
ind a
a (mod n) e r
ind b
b (mod n).
Multiplicando estas congruncias membro a membro, obtemos
r
ind a + ind b
ab (mod n).
Mas como r
ind (ab)
ab (mod n), temos ento que r
ind a + ind b
r
ind (ab)
(mod n).
Logo ind a + ind b ind (ab) (mod )).
2) Temos que r
ind
k

k
(mod n) e, pelas regras das potncias, r
k ind a
=

; logo conclumos que

. Daqui sai que


ind
k
k ind (mod (n).
3) Temos que r
ind
o
r
0 ind
(mod n). Pela alnea anterior, temos ind 1 0
(mod (n). Na segunda parte, temos que r
ind r
(mod n), logo ind r 1
(mod (n).
4) Se ind a = ind b, ento r
ind a
r
ind b
(mod n, pelo que conclumos que
a (mod n). Inversamente, se a b mod n, ento r
ind a
r
ind b
(mod n). O
66

que implica que ind a ind b um mltiplo de (n). Como ambos os nmeros
tm que ser menores que (n), podemos concluir que ind a = ind b.

Com a ajuda destas propriedades, podemos resolver equaes do tipo:
7
x
4 (mod 17).
Como 3 uma raiz primitiva de 17, temos que:
ind
3
(7
x
) = ind
3
(4)
x ind
3
(7) ind
3
(4) (mod ().
Como ind
3
(7) = 11 e ind
3
(4) = 12, obtemos a seguinte equao equivalente
11x 12 (mod 16), logo x 4 (mod 16).
O problema do logaritmo discreto, quando se utilizam nmeros primos com
bastantes algarismos, passa a ser mesmo uma grande tarefa descobrir os
ndices, pelo que se diz que o problema do logaritmo discreto intratvel. Foi
com base neste facto que foi criado o criptosistema de chave pblica ElGamal,
que abordaremos mais frente.
De momento, vamos estudar alguns algoritmos que podem pr em causa a
segurana deste sistema criptogrfico, pois permitem atacar o problema do
logaritmo discreto.
O algoritmo de Shanks um desses algoritmos.
3.9.4 Algoritmo de Shanks (para o problema do logaritmo discreto em

:
Entrada: um elemento , gerador do grupo cclico

de ordem p -1, um
elemento

e m =

p -
Sada: x = log

, com x [0 , p -1].
1. Calcular
mj
(mod p), onde 0 j m - .
67

2. Construir o conjunto S, formado pelos pares ordenados (j,
mj
(mod p)).
3. Calcular
-i
(mod p), onde 0 i m - .
4. Construir o conjunto L, formado pelos pares ordenados (i,
-i
(mod p)).
5. Encontrar (j, y) S e (i, y) L, isto , pares ordenados com segundas
coordenadas iguais.
6. Definir x = log

= (mj + i)(mod (p 1)).


Vamos dar um exemplo deste algoritmo, com p = 103, um nmero primo, 5
uma raiz primitiva de p e propomo-nos a encontrar x, tal que,
5
x
41 (mod 103). Para tal, temos que m = 0 e calculmos
5
11
(mod 103) = 48.
Para obtermos o conjunto S, vamos calcular os pares ordenados
(j, 48
j
(mod 103)), com 0 j 0.
S = {(0, 1), (1, 48), (2, 38), (3, 73), (4, 2), (5, 96), (6, 76), (7, 43), (8, 4), (9, 89),
(10, 49)}.
Temos que 5 (mod 03), ou seja, 62 o inverso de 5. O inverso
necessrio para calcularmos os seguintes pares ordenados
(i,
i
(mod 03), com 0 i 0, que formam o conjunto L.
L = {(0, 41), (1, 70), (2, 14), (3, 44), (4, 50), (5, 10), (6, 2), (7, 21), (8, 66), (9,
75), (10, 15)}.
Quando comparamos as segundas coordenadas dos dois conjuntos,
constatamos que os pares ordenados (4, 2) S e (6, 2) L tm as segundas
coordenadas iguais; logo pelo 6 passo do algoritmo, o nosso x = 11 4 + 6 =
50. Ou seja, 5
50
41 (mod 103).
Outro algoritmo para resolver o problema do logaritmo discreto o Pohlig-
-Hellman. Neste algoritmo vamos considerar

, como grupo cclico gerado por


, de ordem p 1. Este algoritmo, calcula log

(mod q
c
), com q primo, tal que
p- 0 (mod q
c
) e p- 0 mod q
c+
.
68

Neste algoritmo, temos que proceder factorizao em nmeros primos de
p 1, ou seja, p 1 = q
i
c
i
n
i=
, onde os q
i
s so nmeros primos distintos. Para
cada

( i n), vamos calcular a


0
, a
1
,,
c
i -
onde log

mod q
i
c
i
=
i
c
i
-
t=0
q
i
t
.

3.9.5 O algoritmo de Pohlig-Hellman para o problema do logaritmo
discreto em

, obedece s seguintes etapas:


1. Calcular

, para

-
2. Se k = 0 ento


3. Enquanto

faz
(a) Calcular

(mod p)
(b) Encontrar j tal que


(c) a
k
= j
(d)

(mod p)
(e)
Finalmente, aplicaremos o teorema Chins dos Restos para resolver o sistema
de congruncias log

(mod q
i
c
i
( i n), cuja soluo o log

.
Exemplo: para ilustrar o algoritmo de Pohlig-Hellman, calculemos o expoente i,
na seguinte congruncia:


41 um nmero primo e 7 uma raiz primitiva de 41, logo ord
41
(7) = 40.
A factorizao de 40 em nmeros primos a seguinte 40 = 2225 = 2
3
5.
Para 0 j e q
i
= 5, calculemos
j
=
p-j
q
i
mod p :

= 1,

= 37,

. Avancemos agora, para o passo 3 (a) e temos que


=
8
(mod )=8 e daqui conclumos que a
i
= 3, ou seja, a = 3 (mod 5).
Para 2
3
, calculemos a
0
, a
1
e a
2,
para obtermos a

, com q
i
= 2 e
.
Para 0 j e q
i
= 2, temos que

= 1 e

= 40, visto que 7


20
40 (mod 41).
69

Como =
0
(mod )= 0, podemos concluir que a
0
= 1. Para calcular a
1
,
temos que

(mod 41) = 31 e

, logo a
1
= 0. Prosseguindo
com o algoritmo, calculemos

, logo

(mod 41) e daqui se determina que a


2
= 1. Pelo exposto, temos
que a =

= 5 (mod 8).
Vamos resolver o seguinte sistema:
3 (mod 5)
5 (mod 8)
, aplicando o teorema Chins
dos Restos. Sejam m = 5 8 = 40, c
1
= 8 e c
2
= 5, com 8y 1 (mod 5) e
5y 1 (mod 8), ou seja d
1
= 2 e d
2
= 5; ento x
0
= 3 8 2 + 5 5 5 = 173,
logo as solues do sistema so dadas por x = 173 + 40t, com t
Considerando t = - 4, obtemos a soluo 13, ou seja, 7
13
12 (mod 41).


3.9.6 Algoritmo P - Pollard
Seja G um grupo cclico com ordem prima p. Para aplicarmos o algoritmo de
Pollard, dividimos o grupo G em trs parties S
1
, S
2
e S
3
, cujas cardinalidades
sejam aproximadamente iguais e com a condio de S
2
.
Em seguida, calculamos a sequncia x
0
, x
1
, x
2
,, constitud por elementos de
G, com x
0
= 1 e


(3.9.6.1)
para i 0. Teremos, ainda, que determinar sequncias a
0
, a
1
, a
2
,e
0
, b
1
,
b
2
,,que satisfaz

para i 0: a
0
= 0, b
0
= 0, e para i 0,


(3.9.6.2)
e


(3.9.6.3)
70

Vamos aplicar a este algoritmo o ciclo Floyds. u sej, clculmos os
primeiros elementos da sequncia x
i +1
; de modo, a encontrar dois grupos de
elementos: x
i
e x
2i
, tais que x
i
= x
2i
. Temos ento que

, logo

. Se aplicarmos o logaritmo de base, a ambos os membros


desta ltima equao obtemos (b
i
b
2i
) log (a
2i
a
i
) (mod n), no caso de
b
i
b
2i
(b
i
b
2i
ocorre com uma probabilidade muito baixa), a ltima equao
permite-nos determinar log .
Depois, de definirmos as sequncias anteriores, apresentamos ento o
algoritmo de Pollard
Entrada: Um gerador de um grupo cclico de conjunto G de ordem prima n e
um elemento G.
Sada: O logaritmo discreto x =


1. x
0


1, a
0
0, b
0
0.
2. Pr i = , , fzemos
2.1 Usando as quantidades x
i 1
, a
i 1
, b
i 1
, e x
2i -2
, a
2i 2
, b
2i - 2
calculadas
previamente, calculemos x
i
, a
i
, b
i
e x
2i
, a
2i,
e b
2i
usando as equaes
(3.9.6.1), (3.9.6.2) e (3.9.6.3)
2.2 Se x
i
= x
2i
, ento:
r (b
i
b
2i
) (mod n)
se r = 0 ento termina, o algoritmo falhou; caso contrrio,
calculemos
x = r
-1
(a
2i


a
i
) (mod n) e retornamos x.
Tomemos o grupo

, para dar um exemplo do funcionamento deste ltimo


algoritmo. Como m.d.c. (5 , 59) = 1, pelo teorema de Euler, conclumos que
5
58
1 (mod 59). A ord
5
(59) | 58, 58 = 2 29, temos ainda que
5
2
25 (mod 59) e 5
29
1 (mod 59), ento existe um subgrupo G de

,
gerado por 5 e de ordem prima.
Vamos dividir os elementos de G em trs parties, do seguinte modo, x S
1
,

se x 1 (mod 3), x S
2
,

se x 0 (mod 3) e x S
3
,

se x 2 (mod 3), para
qualquer x G.
71

Tomando as consideraes anteriores, vamos calcular log
5
45. Para tal, vamos
calcular alguns elementos x
i +1
, a
i +1
e b
i + 1
e com eles construir a seguinte
tabela:
i x
i
a
i
b
i
x
2i
a
2i
b
2i
1 45 0 1 19 0 2
2 19 0 2 27 1 3
3 29 0 3 28 4 12
4 27 1 3 28 8 26
5 21 2 6 28 16 25
6 28 4 12 28 3 23
Tabela 3.1 - o ciclo Floyds no lgoritmo de Pollard
Para i = 6, a tabela mostra-nos que x
i
= x
2i
= 28. Logo,
r = (b
6
b
12
) (mod 29) = 18, r
-1
= 18
-1
(mod 29) = 21 e (a
12
a
6
) (mod 29) = 28.
Temos ento que log
5
45 = (21 28) (mod 29) = 8.
3.9.7 Algoritmo - Index-calculus
Outro algoritmo para calcular logaritmos discretos o ndex-calculus. Neste
algoritmo temos de escolher, previamente, um pequeno conjunto de nmeros
primos do grupo cclico G, de modo que um o prte dos elementos de G,
possa ser escrita como decomposio dos factores primos que escolhemos.
Este algoritmo o mais poderoso de todos os que referimos.
72

Entrada: gerador de um grupo cclico G de ordem n, e um elemento
Sada: o logaritmo discreto


1. Escolher um subconjunto de nmeros primos L = {p
1
, p
2
,,p
t
} de G, de
modo que, uma parte dos elementos de G possa ser escrita como um
produto de elementos de L.
2. Coligir relaes lineares envolvendo logaritmos dos elementos em L.
2.1 Seleccionar um nmero inteiro aleatrio k, -, e
calcular

.
2.2 Tentar escrever

como um produto dos elementos em


L:

(3.9.7.1)
Se esta operao for bem sucedida, aplicar o logaritmo de
base a ambos os membros da equao anterior, de modo a
obtermos uma relao linear

(mod n).
(3.9.7.2)
2.3 Repetir os passos 2.1 e 2.2 at t + c relaes da forma
(3.9.7.2) serem obtidas.
3. Encontrar os logaritmos dos elementos L. Resolver, usando mdulo n, o
sistema linear de t + c equaes (em t incgnitas) da forma (3.9.7.2)
obtidas no passo 2 para obter os valores de

.
4. Calcular y
4.1 Seleccionar um nmero inteiro aleatrio k, -, e
calcular

.
4.2 Tentar escrever

como um produto dos elementos em L:

(3.9.7.3)
Se esta tentativa for infrutfera, ento repetir o passo 4.1.
Seno, aplicar o logaritmo de base a ambos os membros da
equao (3.9.7.3), e obtemos

(mod n);
deste modo, calcular y

(mod n) e retornar
(y).
73

Vamos dar um exemplo deste algoritmo em

. Para o corpo

, p um
nmero primo e escolhemos os 5 primeiros nmeros primos deste conjunto.
Seja p = 2027 e L = {2, 3, 5, 7, 11} e pretendemos determinar x, tal que
2
x
13 (mod 2027).
Aplicando o passo 2.2 do algoritmo, obtemos o seguinte:
2
1593
(mod 2027)

33 = 3 11
2
983
(mod 2027)

385 = 5 7 11
2
1318
(mod 2027)

1408 = 2
7
11
2
293
(mod 2027)

63 = 3
2
7
2
1918
(mod 2027)

1600 = 2
6
5
2
Como 2 uma raiz primitiva de 2027, aplicando o log
2
em ambos os lados de
cada uma das congruncias, as propriedades dos logaritmos e o corolrio
3.6.3, se substituirmos L
2
= log
2
2 = 1, L
3
= log
2
3, L
5
= log
2
5, L
7
= log
2
7 e L
11
=
= log
2
11, obtemos o seguinte sistema de equaes:
L
3
+ L
11
1593 (mod 2026)
L
5
+ L
5
+ L
11
983 (mod 2026)
7L
2
+ L
11
1318 (mod 2026)
2L
3
+ L
7
293 (mod 2026)
6L
2
+ 2L
5
1918 (mod 2026).
Como 2026 = 2 1013 e 1013 um nmero primo, vamos resolver o sistema
anterior em mdulo 2 e mdulo 1013.
Em mdulo 2, o sistema anterior fica reduzido ao seguinte:
L
3
+ L
11
1 (mod 2)
L
5
+ L
7
+ L
11
1 (mod 2)
74

L
2
+ L
11
0 (mod 2)
L
7
1 (mod 2)
Como L
2
= 1, as solues deste sistema so L
2
L
5
L
7
L
11
1 (mod 2) e
L
3
0 (mod 2).
Para mdulo 1013, teremos o seguinte sistema:
L
3
+ L
11
580 (mod 1013)
L
5
+ L
7
+ L
11
983 (mod 1013)
L
11
298 (mod 1013)
2L
3
+ L
7
293 (mod 1013)
2L
5
899 (mod 1013)
Temos ento que L
11
298 (mod 1013). Como 507 o inverso de
2 (mod 1013), conclumos que L
5
956 (mod 1013). Destes dois resultados,
sai que L
3
282 (mod 1013) e L
7
742 (mod 1013).
Aplicando o teorema Chins dos Restos ao sistema:
L

(mod )
L

98 (mod 03)
,
como c
1
= 2, c
2
= 1013, d
1
= 507 e d
2
= 1, temos que
x
0
= 298 2 507 + 1 1013 1 = 303185,
logo a soluo geral 303185 + 2026 t, com t ; para t = - 149, L
11
1311
(mod 2026). De modo anlogo, resulta que L
2
1, L
3
282, L
5
1969 e
L
7
1755.
Finalmente, podemos calcular o valor de x, tal que 2
x
13 (mod 2027). Seja
k = 1397, pelo que 13 2
1397
(mod 2027) 110 = 2 5 11. Aplicamos o
ltimo passo do algoritmo e obtemos:
x = (1 + 1969 + 1311 1397) (mod 2026) = 1884. Logo 2
1884
13 (mod 2027).
75

Em criptografia, a segurana uma perda basilar. Normalmente, os nmeros
primos que so escolhidos para gerarem

, tm muitos dgitos, de forma que


o problema do logaritmo discreto seja intratvel, pelos algoritmos atrs
expostos.
3. 10 Curvas Elpticas
A importncia das curvas elpticas na criptografia deve-se ao facto de serem
utilizadas em: testes de primalidade, na factorizao de nmeros inteiros e
sistemas criptogrficos assimtricos. Nalgumas curvas elpticas sobre corpos
finitos, podemos associar uma estrutura de grupo abeliano, com uma operao
binria, sobre os seus pontos, que definiremos mais adiante.
3.10.1 Definio. Seja um corpo. Uma curva elptica E( o conjunto de
todos os pontos (x, y) que satisfazem a equao y
2
+ axy + by= x
3
+
+ cx
2
+ dx + e, onde as variveis x, y e os coeficientes a, b, c, d, e .
Em criptografia, devido ao facto como definimos a operao binria, s nos
interessam as curvas em que seja possvel traar uma recta tangente em todos
os seus pontos. O que acontece nas curvas no singulares. Nestas curvas, o
polinmio p(x) = x
3
+ dx + e no tem razes mltiplas, isto , 4d
3
+ 27e
2
.
3.10.2 Definio. Seja p > 3 um nmero primo. A curva elptica y
2
x
3
+ dx + e
em

o conjunto de solues (x, y)

para a congruncia
y
2
x
3
+ dx + e (mod p), onde d e e

so constantes tais que


4d
3
+ 27e
2
0 (mod p), mais o ponto O que chamamos de ponto no infinito.
Nestas curvas elpticas podemos associar uma operao binria denotada pelo
smbolo +. Sejam P e Q dois pontos de E(, definimos a operao binria da
seguinte forma:
1. traamos uma recta s definida por estes dois pontos;
2. pelo ponto de interseco da recta s com a curva, traamos uma
recta vertical, r;
3. o outro ponto de interseco da recta r com a curva ser o ponto
P + Q.
76

Para fazer 2P = P + P, procede-se de forma anloga anterior, considerando
agora a recta s, a recta tangente a P. O ponto 2P ser o ponto considerado no
passo 3. Como se pode observar nas seguintes figuras:

(a) (b)
Figura 3.1 - (a) y
2
+ xy = x
3
+ 1, (b) y
2
= x
3
4x + 5
Daqui a necessidade de consideramos para o nosso estudo as curvas elpticas
no singulares.
Vamos definir a operao binria em E(), de modo a obter uma estrutura de
grupo abeliano. Para tal, consideremos os seguintes pontos:
1. P + O = O + P = P para todo P E().
2. Se P = (x, y) E(), ento (x, y) + (x, - y) = O; ou seja, - P = (x, - y).
3. Seja P = (x
1
, y
1
) E() e Q = (x
2
, y
2
) E(), ento P + Q = (x
3
, y
3
), onde
x
3
e y
3
so definidos da seguinte forma:
x
3
=

- x

- x


y
3
= (x
1
x
3
) y
1

e =
y

- y

- x


, se P Q
3x

+
y

, se P=Q


Daqui temos que: O o elemento neutro da adio definida em E(); - P o
simtrico de P, para todo P E(); a adio de dois elementos de E(),
77

tambm um elemento de E(); (P + Q) + R = P + (Q + R) e (P + Q) = (Q + P),
para P, Q e R E()Ou seja, (E(), +) um grupo abeliano.
Consideremos o seguinte exemplo: seja E o conjunto de pontos da curva
elptica y
2
= x
3
+ x + 6 no corpo

. Vamos determinar os pontos de E. Para


cada x

, calculemos x
3
+ x + 6 (mod 11) e resolvemos a equao y
2
x
3
+
x + 6 (mod11), em ordem a y. Primeiro, temos que
41
3
+ 27 6
2
(mod 11) = 5 0.
Para cada valor de x obtido, verificmos se z = x
3
+ x + 6 (mod 11) um
resduo quadrtico, aplicando o critrio de Euler.
x x
3
+ x + 6 mod 11 resduo quadrtico? y
0 6 No
1 8 No
2 5 Sim 4, 7
3 3 Sim 5, 6
4 8 No
5 4 Sim 2, 9
6 8 No
7 4 Sim 2, 9
8 9 Sim 3, 8
9 7 No
10 4 Sim 2, 9

Os pontos de E so: (2,4), (2, 7), (3, 5), (3, 6), (5, 2), (5, 9), (7, 2), (7, 9), (8, 3),
(8, 8), (10, 2), (10, 9) e O. Como qualquer grupo de ordem prima cclico,
ento existe um ponto de E, excepto o ponto infinito, que gerador de E.
78

Tomando o ponto = (2, 4), com as operaes acima definidas, vamos
determinar 2 e 3.
Como 2 = (2, 4) + (2, 4), temos que

-
, logo x
3
= 3
2
2 2 (mod 11) = 5 e
y
3
= 3(2 5) 4 (mod 11) = -13 (mod 11) = 9, ou seja, 2 = (5, 9).
Para determinar 3, consideremos 3 = 2 + = (5, 9) + (2, 4), neste caso,
como os pontos so diferentes, calculado do seguinte modo:



pelo que x
3
= (9
2
5 2) (mod 11) = 8 e y
3
= [9(5 8) 9] (mod 11) =
= - 36 (mod 11) = 8, temos ento que 3 = (8, 8).
Procedendo desta forma, chegmos concluso que um gerador de E, e
os restantes pontos de E so gerados por , da seguinte forma: = (2, 4),
2 = (5, 9), 3 = (8, 8), 4 = (10, 9), 5 = (3, 5), 6 = (7, 2), 7 = (7, 9),
8 = (3, 6), 9 = (10, 2), 10 = (8, 3), 11 = (5, 2) e 12 = (2, 7).
O teorema a seguir d-nos uma estimativa do nmero de pontos de uma curva
elptica sobre um corpo finito.
3.10.3 Teorema de Hasse. Seja p um nmero primo e E(

) uma curva elptica


sobre

. Ento, p + 1 - 2

p E(
p
) p+ +

p .
Aplicando este teorema ao estudo que fizemos em cima, temos que:
5,3711 + 1 - 2 E(

) + + 18,63
Podamos concluir que o nmero de pontos estaria entre 6 e 18.


79

3.11 Testes de primalidade
3.11.1 Definio. Se x um nmero rel positivo, ento (x) o nmero de
inteiros primos menores ou iguais a x.
Exemplo: (0) = 8. (2, 3, 5, 7, 11, 13, 17 e 19 so os nmeros primos
menores que 20).
Para valores de x relativamente pequenos fcil contar o nmero de nmeros
primos que so menores que x, mas medida que x substitudo por valores
miores come ser difcil encontrr (x).
Gauss conjecturou que x
x
ln (x)
; conjectura essa que foi provada em 1898,
de forma independente, por Hadamard e DE LA Valle Poussin e que ficaria
conhecida pelo teorema dos nmeros primos.
3.11.2 Teorema dos nmeros primos.
x
x
ln (x)
ou lim
x
(x)
x
ln x
=
Como se pode ver no quadro em baixo medida que n aumenta os valores
de x e
x
ln (x)
ficam cada vez mais prximos.
n 3 5 7 9 11
(0
n
) 168 9592 664579 50847534 4118054813


145 8686 620420 48254942 3948131654


1,158 1,104 1,071 1,054 1,043

Esta relao uma preciosa ferramenta para encontrar nmeros primos; pois
permite-nos estimar o nmero de nmeros primos existentes num determinado
intervalo. Como podemos ver pelo seguinte exemplo: considerando o intervalo
[7 10
9
, 9 10
9
], quando calculamos

83872411; daqui
80

podemos concluir que, neste intervalo, aproximadamente 4,2% dos nmeros
inteiros so primos; ou seja, mais ou menos 1 em cada 23.
Esta procura de nmeros primos pode ser facilitada se excluirmos os nmeros
pares, os que tm por algarismo das unidades o 5 e mais alguns se aplicarmos
mais alguns critrios de divisibilidade. Para os restantes, teremos de recorrer
aos testes de primalidade. O teste de primalidade um algoritmo que
determina se um dado nmero inteiro um nmero primo ou no.
3.11.3 Lema. Se n no tem divisores a, tais que 1 < a , ento n primo.
Demonstrao:
Suponhamos que n no tem divisores a, tais que 1 < a , e suponhamos
que n composto. Como n composto, ento existe um divisor b de n tal que
e podemos escrever n = bc para algum c, com . Isto
implica o seguinte: bc = n. O que contradiz o facto de n = bc. Pelo que
n no pode ser um nmero composto.

O lema anterior permite-nos aplicar o algoritmo da diviso trivial. Fazemos a
diviso de n por cada um dos primeiros nmeros primos p
1
, , p
t
, t
encontrar uma que tenha resto zero. Percorremos somente os nmeros primos
at . Se no obtivermos para algum deles resto zero, ento n um nmero
primo.
Um dos pontos fracos deste algoritmo a sua pouca eficincia para nmeros
com muitos dgitos. Este algoritmo pode ser til, se o nmero a factorar possui
algum factor primo menor que 10
6
. Em criptografia, este teste pouco prtico,
pois s vivel para nmeros inteiros pequenos ou para nmeros inteiros que
sejam divisveis por um nmero primo pequeno.
Com o surgimento dos criptosistemas assimtricos, tornou-se de extrema
importncia saber se um nmero primo ou composto. Para nmeros com
poucos algarismos o velhinho crivo de Eratstenes ou a diviso trivial servem
perfeitamente; no entanto, para nmeros com centenas de dgitos, estes
81

algoritmos so obsoletos, pois no conseguem dar uma resposta em tempo
til! Estes testes so determinsticos, pois permitem saber com certeza
absoluta se determinado nmero inteiro n nmero primo ou no.
Alm dos testes determinsticos, existem, tambm, os testes probabilsticos.
Estes so mais rpidos que os determinsticos; mas, como o prprio nome
indica, informam que um nmero primo apenas com uma certa probabilidade.
De seguida, iremos apresentar mais alguns testes de primalidade.
3.11.4 Teste de Fermat.
O Pequeno Teorema de Fermat est na base deste teste de primalidade.
Para verificar se determinado nmero inteiro n nmero primo ou no,
utilizando o Pequeno Teorema de Fermat, podemos proceder da seguinte
forma:
1. Escolher uma base a, tal que m.d.c. (a, n) = 1;
2. Verificar se a
n - 1
- 1 0 (mod n);
3. Aps a anlise de 2, tirar as seguintes concluses:
3.1 Se no verificar 2, ento n no nmero primo e dizemos que
a base a testemunha de que n composto;
3.2 Se verificar 2, ento n passou no teste para a base a.
Se chegarmos at 3.2, no fica garantido que n seja primo. Por exemplo, para
341 temos o seguinte: 2
341 - 1
- 1 0 (mod 341), mas 3
341 - 1
56 (mod 341);
ou seja, para a = 3 prova-se que 341 um nmero composto, pois
341= 11 31. Existem nmeros compostos que verificam a
n 1
- 1 0 (mod n);
so chamados os pseudoprimos para a base a. Por exemplo, 341
pseudoprimo para a base 2, mas 3 testemunha que 341 composto. O teste
de Fermat probabilstico, devido existncia dos pseudoprimos.
3.11.5 Proposio. Se n um pseudoprimo de base 2, ento 2
n
1 um
pseudoprimo de base 2.


82

Demonstrao:
Seja n

= 2
n
1. Queremos provar que

2 (mod n

). Sabemos que
n | (n

1), porque n

1 = 2
n
2 e n um 2 pseudoprimo. Seja n

1 = nk,
com k ; ento recorrendo soma das sries geomtricas, temos que

.
Donde se conclui que n

-
-, ou de forma equivalente

,
ou seja


Para n

ser 2 pseudoprimo, falta provar que n

um nmero composto. Como


n um nmero composto, podemos escrever n = ab, com a, b e maiores
que um. Atravs da frmula da soma para as sries geomtricas, obtemos

-
-
, daqui conclui-se que n

um nmero
composto, pelo que 2 pseudoprimo.
Logo h infinitos pseudoprimos de base 2.

Est provado que existem infinitos pseudoprimos. No entanto, existem apenas
trs para base 2 menor que mil, a saber: 341, 561 e 645. Para a mesma base,
menores que um milho existem 245. devido sua fraca distribuio, que o
teste de Fermat tem alguma eficcia.
Considerando os nmeros inteiros s at 10
9
, temos que existem 50 847 534
primos e 5597 pseudoprimos na base 2. Para um nmero inteiro n < 10
9
, que
verifique 2
n - 1
- 1 0 (mod n), a probabilidade de ser primo igual a
-

0,9998899258, ou seja, bastante elevada. Se forem utilizadas


diferentes bases a probabilidade de n ser primo aumenta, visto que, existem
apenas 685 pseudoprimos para as bases 2, 3 e 5 menores que 10
9
.
No caso de um nmero inteiro n verificar a
n - 1
- 1 0 (mod n), para diferentes
bases a, ento aumenta a probabilidade de n ser primo. Os j referidos
83

nmeros de Carmichael apesar de serem infinitos tm uma distribuio muito
fraca; por exemplo: s existem 8241 nmeros Carmichael menores que 10
12
.
Este teste no capaz de distinguir os nmeros primos dos nmeros
Carmichael. Pelo que, convm aplicar o critrio de Korselt, antes de
declararamos que o nmero primo.
3.11.6 Teorema de Lucas (teste de primalidade de Lucas). Suponhamos
que existe um nmero inteiro a tal que a
n 1
1 (mod n), mas
-

(mod n),
para todo primo q, tal que q |(n -1), ento n primo.
Demonstrao:
Vamos demonstrar que a ord
n
(a) = n 1.
A congruncia a
n 1
1 (mod n) implica que a ord
n
(a) | (n 1). Seja
n 1 = ord
n
(a)k para algum k. Queremos mostrar que k = 1, suponhamos que
k > 1 e um primo q divide k. Ento q | (n 1), e podemos escrever

-


O que contradiz a hiptese do teorema, logo K = 1 e ord
n
(a) = n 1. Como a
ord
n
(a) | (n), temos ento que (n) n 1, mas (n) n 1; pelo que
(n) = n 1e n primo.

Exemplo: Vamos verificar que 31 primo recorrendo ao teste anterior.
Consideremos n = 31; n 1 = 30 = 2 3 5 a decomposio em factores
primos. Para a = 3, temos:
3
30
1 (mod 31)


84

Pelo teorema anterior, conclumos que 31 um nmero primo.
Para utilizarmos este teste, temos de conhecer a factorizao de n 1.
3.11.7 Definio. Dizemos que um nmero n composto um pseudoprimo de
Euler relativamente base b, se m.d.c. (n, b) = 1 e
-

(mod n).
Exemplo: Seja n = 1105 = 5 13 17 e b = 2. Ento temos

= 1 e

Ento

.
Pelo que, 1105 um pseudoprimo de Euler na base 2.
3.11.8 Teorema. Seja n um nmero mpar composto, ento n um
pseudoprimo de Euler no mximo para metade das bases b, com 1 < b < n e
m.d.c (b , n) = 1.
Demonstrao:
Suponhamos que n um nmero mpar composto. Primeiro vamos mostrar que
se n no pseudoprimo de Euler pelo menos para uma base b ento n no
pseudoprimo pelo menos para metade das bases b, com 1 < b < n e m.d.c. (b ,
n) = 1. De seguida mostraremos que se n nmero mpar composto, ento
existe uma base b para a qual n no um pseudoprimo de Euler.
Suponhamos que n um nmero mpar e composto e que n no um
pseudoprimo para a base b. Isto ,
-


Se n no pseudoprimo para alguma base, ento de certeza que n no um
pseudoprimo pelo menos para metade das bases possveis. Suponhamos
ento que n um pseudoprimo para a base b
1
, ou seja,


Ento temos o seguinte:

Assim, n no
pseudoprimo de Euler para a base bb
1
. Por conseguinte, para toda a base b
i

para a qual n um pseudoprimo, n no um pseudoprimo para a base bb
i
.
85

Alm disso, se b
i
, b
j
so distintos mdulo n e bases para as quais n um
pseudoprimo de Euler, ento bb
i
no congruente com bb
j
(mod n). Temos
ento, o seguinte: se {b
1
,,
k
} so bases distintas para as quais n um
pseudoprimo de Euler, ento {bb
1
,,
k
} so bases distintas para as quais n
no um pseudoprimo de Euler. Daqui, existem pelo menos tantas bases para
as quais n no pseudoprimo, como para as quais . Podemos ento concluir
que se existe pelo menos uma base b para a qual n um pseudoprimo de
Euler, ento n um pseudoprimo de Euler no mximo para metade das bases
possveis.
Vamos mostrar agora que existe uma base b para a qual n no um
pseudoprimo de Euler. Primeiro, suponhamos que existe um primo p, tal que

. Seja g um gerador do grupo multiplicativo

A ordem de g

-. Seja b soluo do seguinte par de congruncias:


b g (mod p
2
)
b 1 (mod

).
Ento suponhamos que

(mod n). Logo p(p 1) | (n 1), o que


impossvel, visto que p
2
| n. De seguida, suponhamos que
-

(mod n),
ento b
n - 1
1 (mod n), desta forma b
n - 1
1 (mod p
2
). Segue-se que
p (p - 1)|(n 1). Mas ento p | (n -1), o que uma contradio. Daqui, se n
divisvel por um p
2
, ento b uma base para a qual n no um pseudoprimo
de Euler.
Agora suponhamos que n = p
1
p
k
, sendo p
i
primos distintos. Seja g um
resduo no quadrtico (mod p
1
). Daqui

- 1. Escolhemos uma base b


que satisfaa simultaneamente as seguintes congruncias:
b g (mod p
1
)
b 1 (mod p
i
), i = ,,k,
86

a qual existe pelo teorema do Chins dos Restos. Pelo smbolo de Jacobi,
temos que:

. Mas

= - 1, visto que b g (mod p


1
) e

= 1. Logo

- 1.
Se n fosse um pseudoprimo para a base b, ento
-

, pelo que

- Mas ento
-

o que uma contradio, visto


que b 1 (mod p
2
). Consequentemente n no pode ser um pseudoprimo de
Euler para a base b. Daqui, para todo n existe uma base para a qual, n no
um pseudoprimo de Euler, o que prova o teorema.

3.11.9 Teste de Solovay-Strassen.
Seja n um nmero inteiro mpar.
Passo 1 Escolhemos aleatoriamente k nmeros inteiros, b
1
, b
2
,,b
k
, com
1 < b
i
< n
Passo 2 Pr i = ,, k
1. Determinamos m.d.c. (n, b
i
).
Se m.d.c. (b, n) > 1, ento n composto e pra.
2. Calculmos

(mod n) e

.
Se

(mod n), ento n composto e pra.


Passo 3 A probabilidade de n ser primo maior que 1 -

.
Apliquemos este teste a alguns nmeros mpares e retiraremos as respectivas
concluses. Seja n = 1121 e escolhamos para base 2. Temos que
m.d.c. (1121, 2) = 1 e

(mod 1121) e

=
= 1, como

= 1 137 (mod 1121), ento 1121 um nmero composto.


87

Vamos testar 1123, para as bases 2, 3 e 5. Para a base 2, temos que
m.d.c (2, 1123) = 1,

-1 (mod 1123) e

= -1,
podemos concluir que 1123 passou o teste para a base 2. O mesmo se verifica
para as bases 3 e 5, logo podemos concluir que 1123 nmero primo, com
uma probabilidade de 1 -

0,875. E de facto, 1123 um nmero primo.


Consideremos agora n = 2821 e as seguintes bases: 3, 4, 9, 12, 16, 17, 25, 27
e 36. Quando aplicamos o teste de Solovay-Strassen, verificamos que 2821
passa o teste para todas as bases, o que nos leva a concluir que 2821 um
nmero primo com uma probabilidade de 1 -

0,998. Valor muito prximo


de 1, ou seja a probabilidade de 2821 ser primo bastante elevada. Mas 2821
um nmero de Carmichael, ou seja, um nmero composto e tem a seguinte
factorizao: 2821 = 7 13 31.
Os dois ltimos exemplos, mostram-nos que a primalidade vinda deste teste
sempre relativa, apesar de um nmero passar o teste para muitas bases,
nunca fica garantido que o nmero primo!
Se p um nmero primo, ento a equao

tem duas solues,


x = 1, - 1 (mod p).
O nmero de solues para

maior que dois para nmeros


compostos.
3.11.10 Definio. Seja n um nmero inteiro e n 1 = 2
r
s. Ento diz-se que n
passa no teste dos pseudoprimos fortes se:
1.


2.

-, para algum
3.11.11 Definio. Um nmero n mpar e composto, que passe no teste dos
pseudoprimos fortes para a base a, chama-se um pseudoprimo forte para a
base a.
3.11.12 Proposio. Se n um nmero mpar e pseudoprimo forte para a base
2, ento 2
n
1 um pseudoprimo forte para a base 2.
88

Demonstrao: Na proposio 3.11.5 provamos que 2
n
1 um
2 pseudoprimo. Em particular, que n composto.
Temos que
-
, pois n um 2 pseudoprimo. Podemos escrever
2
n 1
1 = nk, onde k necessariamente um nmero mpar. Seja n

= 2
n
1. A
factorizao de n

1 = 2
n
2 = 2(2
n 1
1) = 2nk; por conseguinte, nk um
factor mpar de n

1, e a sequncia {x
0
, x
1
, , x
r
} tem somente dois termos,
2
nk
e 2
2nk
.
Obviamente que,

-, ou

, o que implica que

, satisfaz a condio 1 na definio de pseudoprimos fortes para


a base 2. Logo existem infinitos pseudoprimos fortes para a base 2.

Podemos concluir que existem infinitos pseudoprimos fortes para a base 2.
Existem 14884 2 - pseudoprimos menores que 10
10
, mas s existem 3291
pseudoprimos fortes para base 2. No entanto, se considerarmos pseudoprimos
fortes para diferentes bases, o panorama fica mais agradvel. 1373653 o
menor pseudoprimo forte para as bases 2 e 3. Existem apenas 66 nmeros
inteiros menores que 10
6
que so pseudoprimos para as base 2 e 3. S
existem 13 que so menores ou iguais que 25 10
9
que so pseudoprimos
fortes para as bases 2, 3 e 5, no entanto para as mesmas bases e menores
que 25 10
9
existem 2522 pseudoprimos.
3.11.13 Algoritmo. (Teste simples de primalidade):
Ddo n 5 10
9
, este algoritmo determina se n primo:
1. Se n falhar o teste de pseudoprimo forte para a base 2, ento n
composto.
2. Se n falha o teste de pseudoprimo forte para a base 3, ento n
composto.
3. Se n falha o teste de pseudoprimo forte para a base 5, ento n
composto.
89

4. Se n um dos 13 nmeros que se encontra na tabela em baixo,
ento n composto; de outro modo, n primo.
Base 7 Base 11 Base 13
25326001 No No No
161304001 No Spsp No
960946321 No No No
1157839381 No No No
3215031751 Spsp Psp Psp
3697278427 No No No
5764643587 No No Spsp
6770862367 No No No
14386156093 Psp Psp Psp
15579919981 Psp Spsp No
18459366157 No No No
19887974881 Psp No No
21276028621 No Psp Spsp
Tabela 3.2 Pseudoprimos fortes para as bases 2, 3 e 5 e os resultados
do teste para as bases 7,11 e 13.
Exemplo:
Consideremos n = 117371.
n 1 = 2 58685, ou seja, s = 56685. Temos ento que:


90


Pelo que n primo.
3.11.14 Definio. Um nmero na forma

para algum

diz-se
um nmero de Fermat. Os nmeros F
0
, F
1
, F
2
, F
3
e F
4
so nmeros primos. Em
1732, Euler mostrou que
F
5
= 4294967297 = 641 6700417, ou seja, um nmero composto.
3.11.15 Teste de Pepin. O nmero de Fermat

primo se e s se

.
Demonstrao:
Suponhamos que

. Ento


O nico factor primo de F
n
1 =

o 2, ento n primo pelo teorema de


Lucas.
Inversamente, seja F
n
primo. Como 2
n
par, temos que

(mod 3), pelo


que F
n
2 (mod 3). Temos tambm que F
n
1 (mod 4), ento pelo smbolo de
Legendre

1, isto , 3 no quadrado (mod F


n
). Pelo critrio de Euler,
temos a congruncia pretendida.

Vamos aplicar o teste de Pepin para verificar que 17 um nmero primo.
Temos ento que:

= 3
8
. Como 3
2
9 (mod 17), 3
4
13 (mod 17) e
3
8
- 1 (mod 17), logo 17 um nmero primo.
3.11.16 Lema. (POCKLINGTON). Seja n um nmero inteiro. Suponhamos que
n 1 = q
k
r, k , onde q primo e q r. Se existe a tal que a
n 1
(mod n) e
m.d.c.
n-
q
- , n=, ento para todo primo p | n temos p 1 (mod q
r
).

91

3.11.17 Teorema. Seja n um nmero mpar e n 1 = 2
k
q com q mpr e k .
Se n primo e a

n
, ento a
q
(mod n) ou existe um i {0, , , , k 1}
tal que

- mod n .
Definimos o conjunto S(n) = {a

-}, com
t e n 1 = 2
t
d. Quando a S(n), dizemos que n tem uma testemunha
forte, a, da sua composio.

3.11.18 Teste de Miller-Rabin
Seja n , n > 1 e mpar. n 1 = 2
s
t, com s e t nmero mpar.
Passo 1 Escolhemos aleatoriamente k nmeros inteiros, b
1
, b
2
,,
k
, com
1 < b
i
< n
Passo 2 Pr i = ,, k
1. Determinamos m.d.c. (n, b
i
).
Se m.d.c. (b, n) > 1, ento n composto e pra.
2. Para i = 1,..,k
i) Calculamos


j) Se m
i
= 1, ento n um pseudoprimo forte para a base b
i
e
avanamos para o prximo i. Se no
k) Pr j = ,,s 1, calculamos


l) Se k
j
- 1 (mod n), ento n um pseudoprimo forte para a base
b
i
e avanamos para o i seguinte. Se no avanamos para o j
seguinte
m) Se k
j
no congruente com -1 (mod n) para todo o j, ento n
composto e para.
Passo 3 A probabilidade de n ser primo maior que 1 -


92

Vamos ilustrar este teste com alguns exemplos.
Consideremos n = 1729 e b = 671. Temos que: 1729 1 = 1728 = 2
6
27, ou
seja, s = 6 e t = 27. Apliquemos ento o teste:
671
27
1084 (mod 1729)

1084
2
1065 (mod 1729)

1065
2
1 (mod 1729).
Podemos concluir que 1729 um nmero composto.
Consideremos agora n = 104513, com b = 3. Temos que:
104513 1 = 2
6
1633, ou seja, s = 6 e t = 1633. Apliquemos o teste:
3
1633
88958 (mod 104513)

88958
2
10430 (mod 104513)

10430
2
91380 (mod 104513)

91380
2
29239 (mod 104513)

29239
2
2781 (mod 104513)

2781
2
- 1 (mod 104513).
Podemos concluir que 104513 provavelmente um nmero primo. No entanto,
precisaramos de testar n para mais bases, para aumentarmos a probabilidade
da sua primalidade.
3.11.19 Lema. Sej n 3 um nmero inteiro mpar. S(n) =

n
se, e somente
se, n primo.
3.11.20 Teorema. Se n 3 um nmero mpar composto, ento o conjunto
{,,n - 1} tem no mximo

nmeros que so primos com n e no so


testemunhas da composio de n .
Demonstrao:
93

Queremos estimar os nmeros a {, , , n - 1} primos com n, tais que

(mod n) ou

(mod n) para algum r {, , , s - 1}.


Suponhamos que existe uma no testemunha, a. Suponhamos que satisfaz a
segunda condio (na verdade, se

(mod n), ento

(mod n).
Seja k o maior valor de r, para o qual existe um nmero inteiro a primo com n
que satisfaz a segunda identidade. Consideremos m = 2
k
d. Seja n =

a
factorizao em nmeros primos de n.
Sejam J, K, L e M subgrupos de

, definidos da seguinte forma:


J =

-

K =



L =


M =


Temos M L K J

.
Todo o a S(n) tambm elemento de L, pois se

(mod n), ento

(mod n). Provaremos que L um subgrupo de ndice pelo


menos quatro de

.
O ndice de M em K uma potncia de base 2, porque o quadrado de cada
elemento de K pertence a M. Por conseguinte, o ndice de L em K tambm
uma potncia de base dois, seja 2
j
. Se j 2, est demonstrado.
Se j = 1 ([K:L] = 2) ento n tem dois divisores primos. Pelo teorema 3.7.8,
conclumos que n no um nmero Carmichael. O que implica que J um
subgrupo prprio de

e o ndice de J em

pelo menos dois. Temos ento


que o ndice de L em

pelo menos quatro.


Por fim, seja j = 0. Ento n = p
e
, com e > 1. Mas ento, |J| = p 1, e |

: J| =
= p
e 1


4, excepto quando p
e
= 9. Se n = 9, ento existem apenas dois
94

elementos pertencentes a S (n), o 1 e o 1. Pelo exposto, podemos concluir
que o nmero de elementos
-

.

Antes de apresentarmos o algoritmo AKS, vamos tecer algumas consideraes
sobre polinmios, com vista a um melhor entendimento deste ltimo.
3.11.21 Definio. Seja R um anel comutativo com 1. Define-se polinmio na
indeterminada x como sendo a expresso formal
r
0
+ r
1
x + r
2
x
2
+
...
+ r
n
x
n
,
onde r
0
, r
1
,

,r
n
R, n

.
Os elementos r
i
so os coeficientes do polinmio.
O teste de primalidade AKS baseado no seguinte resultado da Teoria dos
Nmeros: suponhamos que a e n so nmeros inteiros, primos entre si, ento n
primo se e s se os polinmios (x + a)
n
e x
n
+ a so equivalentes mdulo n.
3.11.22 Lema. Se m.d.c. (a, n) = 1, ento

(mod n) para k 0.
3.11.23 Teorema. Seja m.d.c. (a, n) = 1. Ento n primo se e s se
(x + a)
n
(x
n
+ a) (mod n).
Demonstrao:
Suponhamos que n primo. Temos que (x + a)
n
=
-

. Pelo teorema
3.7.2 todos os termos entre x
n
e a so iguais a zero, pois
n
k
0 (mod n) para
- Pelo teorema 3.7.3 temos que a
n


a (mod n). Logo
(x + a)
n
(x
n
+ a) (mod n).
Tomemos por hiptese, (x + a)
n
(x
n
+ a) (mod n). Temos ento que
(x + a)
n
=
-

(mod n),
95

ou seja,

0 (mod n) para -. Pelo lema anterior, como


m.d.c. (a, n) = 1, sai que

(mod n) para k 0, temos ento que

n
k
0 (mod n) para -. Pelo teorema 3.7.2 temos que n primo.

Com este teorema, analisando mdulo n os termos que esto entre x
n
e a
temos um teste de primalidade infalvel. O problema que para valores de n
muito grandes temos que calcular todos os termos e verificar se os que esto
entre x
n
e a so mltiplos de n ou no. O que torna este mtodo pouco ou nada
eficiente.
Em Agosto de 2002, o Professor Agrawal, mais dois alunos seus de
doutoramento, Kayal e Saxena, apresentaram um algoritmo que ficaria
conhecido por AKS. Baseando-se na ideia anterior, criaram um teste de
primalidade mais eficiente. Em vez de analisarem os n 1 termos, calcularam o
resto da diviso de (x a)
n
por x
r
1, sendo r um primo bastante menor que o
nmero n e analisam no mximo r 1 termos.
3.11.24 Definio. Dois polinmios f(x) =

e g(x) =

so
congruentes mdulo n se os respectivos coeficientes so congruentes mdulo
n. Isto , f(x) g(x) (mod n) significa que a
i
b
i
(mod n) para todo i.
Por exemplo, (5x
3
+ 3x
2
+ 13 x 5) (9x
3
+ 7x
2
+ x + 3) (mod 4).
3.11.25 Definio. Se f(x) e g(x) so polinmios, f(x) (mod g(x)) o resto da
diviso do polinmio f(x) por g(x).
Se f(x) = 4x
4
+ 3x
3
+ 2x
2
+ 5x + 7 e g(x) = x
2
+ 1, ento f(x) (mod g(x)) = 2x + 9.
3.11.26 Definio. Dados os polinmios f(x), g(x), e h(x), dizemos que f(x) e
g(x) so congruentes mdulo h(x) e n, se os seus restos quando divididos por
h(x) so congruentes (mod n). Isto ,
f(x) g(x) (mod (h(x),n)) se [f(x) (mod h(x))] [g(x) (mod h(x))] mod n.
Neste caso, se considerarmos:
f(x) = 5x
3
+ 3x
2
+ 12x 4 , g(x) = 10x
3
+ 8x
2
+17x + 26 e h(x) = x +1, temos que
96

f(x) (mod h(x)) = - 18 e g(x) (mod h(x)) = 7, -18 7 (mod 5), ento podemos
concluir que f(x) g(x) (mod( x + 1, 5)).
3.11.27 Teorema. Se n e r so primos e a um nmero inteiro, ento
(x + a)
n
(x
n
+ a)(mod (x
r
1, n)).
Demonstrao:
Resulta das definies de congruncias de polinmios e do teorema anterior.

Se o teorema anterior fosse mais do que uma implicao, teramos um teste de
primalidade que nos garantiria se um determinado nmero seria primo ou no!
No entanto, o que pode acontecer que dois polinmios diferentes tenham o
mesmo resto quando divididos por x
r
1, o que no garante que quando n
composto que (x + a)
n
(x
n
+ a) mod (x
r
1, n).
O que os autores deste teste nos mostraram, foi que se escolhermos um valor
certo pr o r, podemos diminuir, no s o nmero de termos, como tmm,
substancilmente o nmero de s serem testdos e grntir fiilidde n
primalidade do nmero.
3.11.28 Teste AKS
Seja n > 1, um nmero inteiro.
1. Se n = b
k
, com b, k e k > 1, ento n composto e paramos.
2. r:= 2;
3. Enquanto (r < n) fazemos {
4. Se m.d.c. (n, r) 1, ento n composto;
5. Se r primo, ento
6. Seja q o maior factor de r 1
7. Se

(mod r), pare;


8. r: r + 1;
9. }
10. Para a = 1 at


97

11. Se (x + a)
n
(x
n
+ a) (mod x
r
-1, n), ento n composto;
12. Retorna primo.
Este teste determinstico e bastante eficiente. No entanto, o matemtico
Lenstra j lhe introduziu algumas alteraes tornando-o mais rpido.

3.12 Algoritmos de factorizao
Um dos casos notveis da multiplicao, a diferena de quadrados, que
aprendemos no 3 Ciclo do Ensino Bsico, utilizado neste mtodo.
Se escrevemos um nmero n > 0, na forma n = x
2
y
2
, com x e y nmeros
inteiros positivos, ento n = (x y) (x + y), os factores de n so (x y) e (x + y).
Se n for um quadrado perfeito, ento existe um r , tal que n = r
2
; neste
caso, x = r e y = 0.
3.12.1 Algoritmo de Fermat
Dado n mpar
1. r =
2. Se n = r
2
, ento fazemos x = r e y = 0
3. Seno enquanto

ou s no for nmero inteiro fazemos


r = r + 1
s =

-
4. Fazemos a = (r + s) e b = (r s)
5. Retorna a e b.
3.12.2 Teorema. O algoritmo de Fermat funciona.
Demonstrao:
Vamos mostrar que existe x tal que

- seja um nmero inteiro, o


algoritmo efectua um nmero finito de passos.
98

Suponhmos que n = com . Este lgoritmo procur nmeros inteiros x
e y tais que n = x
2
y
2
= (x y)(x + y). Como x y x + y, ento consideremos
a = x y e b = x + y. O sistema de equaes
-

, tem soluo x=
+

e
y=
-

. Como n mpar ento a e b tm de ser mpares. Donde, a + b e b a


so nmeros pares, o que implica que

e
-

so nmeros inteiros
tais que x
2
y
2
=

-
-

= ab = n. (*)
Se a = b, ento o algoritmo pra no passo (2.). Suponhamos 1 < a < b < n.
Como 1 < b e 1 < a temos que a 1 > 0, ento (a 1) 1 < (a 1) b
a 1 + (b + 1) < ab b + (b + 1) a + b < n + 1

<

.
Por outro lado, pela equao (*) temos

-
-

= n

- n =
-

0.
Logo,

n 0

. Portanto, x <

.
Como a varivel r inicializada com o valor e aumentada de uma
unidade em cada ciclo. Se n composto, o algoritmo encontra um valor r =
+


antes de chegar a
n+

.

3.12.3 Observao: Este algoritmo encontra rapidamente factores que estejam
perto de .
Vamos factorizar n = 517, usando este mtodo. O primeiro quadrado perfeito
maior que 517 23
2
= 529. De seguida, vamos calcular a sequncia de r
2
, com
r 23 e as diferenas r
2
n.

23
2
517 = 529 517 = 12
24
2
517 = 576 517 = 59
99

25
2
517 = 625 517 = 108
26
2
517 = 676 517 = 159
27
2
517 = 729 517 = 212
28
2
517 = 784 517 = 267
29
2
517 = 841 517 = 324 = 18
2
.
Temos ento que 517 = 29
2
18
2
= (29 - 18) (29 + 18) = 11 47.
O p 1 de Pollard algoritmo eficiente quando o nmero a factorar tem um
factor primo p, tal que o nmero p 1 tem um factor < 10
4
.
A ideia que se encontra a montante deste mtodo a seguinte: seja n o
nmero que queremos factorar, e p um nmero primo que divisor de n.
Sabemos, pelo Pequeno Teorema de Fermat que
-
(mod p), para algum
a, tal que m.d.c. (a, p) = 1. Se p 1 divide um nmero M, ento

(mod p),
isto , p | (a
M
1). Como p | n e p | (a
M
1), logo p divide m.d.c. (a
M
1, n). Em
vez de a
M
1, vamos calcular (a
M
1) (mod n) e m.d.c. ((a
M
1) (mod n), n).
Se o mximo divisor comum no for igual a n, ento encontramos um factor
no trivial de n. Este factor pode no ser p.
Mas sendo p 1 de Pollard um algoritmo de factorizao, o que queremos
saber quais so os factores de n, logo o p desconhecido. Para
determinarmos quais so os factores, vamos escolher um M tal que (p 1) | M.
O expoente M no pode ser muito grande, pois precisamos de calcular a
M
num
tempo razovel. Como desconhecemos a factorizao em nmeros primos de
p 1, M deve incluir todos os nmeros primos at um limite superior B.
A forma mais fcil fazermos M = k!, com k tomando valores naturais de uma
forma crescente. Se todos os nmeros primos divisores de p 1 so menores
ou iguais a que k B, ento (p 1) | k!, e teremos p |

- e p | n, e
podemos encontrar um factor no trivial atravs do m.d.c.

-
Exemplo: factorizemos n = 2479. Para tal, vamos determinar 2
k!
(mod n) e o
m.d.c. (2
k!
1 (mod n), n), para k {1, 2, 3, 4, 5}.
100

(mod n), m.d.c. (2 1, n) = 1,

(mod n), m.d.c. (4 1, n) = 1,

(mod n) m.d.c. (64 1, n) = 1,

(mod n) m.d.c. (1823 1, n) = 1,

(mod n) m.d.c. (618 1, n) = 1,


(mod n) m.d.c. (223 -1, n) = 37.


O factor 37 foi encontrado em 6 passos.
Na maior parte das vezes o mximo divisor comum igual a 1, pelo que, em
vez de procedermos como em cima, podemos determinar o mximo divisor
comum de n, com o produto dos nmeros (a
k!
1)(mod n),
(a
(k + 1)!
1)(mod n), pr um pequeno nmero de factores.
Exemplo: Seja n = 15943; comeamos por calcular 2
1!
(mod n), 2
2!
(mod n), e
assim sucessivamente. Se

(mod n); ento

(mod n).
Podemos considerar o produto Q
1
= (a
1
-1)(a
2
)(
10
1) (mod n) e
determinar o m.d.c. (Q
1
, n); em seguida, para Q
2
= (a
11
1)(a
12
)(
20
1)
(mod n) , encontremos o m.d.c. (Q
2
, n); at o mdc (Q
t
, n) , pr lgum t
Q
1
6645 (mod n), m.d.c. (Q
1
, n) = 1,
Q
2
7988 (mod n), m.d.c. (Q
2
, n) = 1,
Q
3
1692 (mod n), m.d.c. (Q
3
, n) = 1,
Q
4
14453 (mod n) m.d.c. (Q
4
, n) = 149.
149 um factor de n, o outro factor 107.
No entanto, podemos depararmo-nos com alguma surpresa, como veremos no
exemplo seguinte: consideremos n = 23489, a
k
= 2
k!
(mod n) e Q
k
como no
exemplo anterior, ou seja, vamos determinar o mximo divisor comum a cada
dez passos:

101

Q
1
21444 (mod n), m.d.c. (Q
1
, n) = 1,
Q
2
12687 (mod n), m.d.c. (Q
2
, n) = 1,
Q
3
1870 (mod n), m.d.c. (Q
3
, n) = 1,
Q
4
1839 (mod n) m.d.c. (Q
4
, n) = 1.
Q
5
0 (mod n), m.d.c. (Q
5
, n) = n.
Isto aconteceu, porque todos os factores primos de n so tais que (p 1)| 50!.
Neste caso, temos que recomear o processo de 2
40!
(mod n). Determinamos
2
41!
(mod n) e m.d.c. (2
41!
(mod n), n), 2
42!
(mod n) e m.d.c. (2
42!
(mod n), n), e
assim sucessivamente at encontrarmos um mximo divisor comum diferente
de um.
Como 2
41!
23074 (mod n) e m.d.c. (23074 -1, n) = 83, um dos factores de n
83 e o outro 283.
3.12.4 Algoritmo p 1 de Pollard. Dado um nmero n composto, este
algoritmo de factorizao calcula a
k!
(mod n) sucessivmente pr k B, B um
limite pr-especificado. O m.d.c. (a
k!
1, n) calculado a cada produto de 25
factores.
1. Seja a = 2, m = 1, Q = 1, k 2;
2. Seja a = a
k
(mod n), Q = Q(a 1) (mod n), k = k + 1, m = m + 1. Se
m = 25, avanamos para o passo 3; se no, repetimos o passo 2.
3. Seja d = m.d.c. (Q, n); se d e d n, retornos n como um factor de n;
se no avanamos para o passo 4.
4. Se d = n, ento necessrio recuar e calcular o mximo divisor comum
mais vezes. Se d = 1 e k < B, Q = 1, m = 1, e vamos para o passo 2; se
no, se m B, terminmos o algoritmo, n no tem um factor p em que
p 1 seja decomposto em factores primos pequenos.
3.12.5 Observao: Quando escolhemos uma chave do RSA, a escolha dos
nmeros primos p e q, deve ter em conta que p 1 e q 1 no tenham factores
pequenos, pois o algoritmo p -1 de Pollard, pe em risco a segurana do RSA.

102

3.12.6 Crivo quadrtico
Este mtodo de factorizao foi criado por C. Pomerance em 1981.
Dado um nmero inteiro n, o crivo quadrtico procura nmeros inteiros x, y tais
que x
2
y
2
(mod n) e x y (mod n). Logo, n um divisor de
x
2
y
2
= (x y)(x + y) mas no divide x y ou x + y. Pelo que,
g = m.d.c. (x y, n) um divisor prprio de n.
Como que encontramos os nmeros inteiros x e y, usando este mtodo?
Seja m = e f (x) = (x + m)
2
n.
Vamos utilizar um exemplo para demonstrar este processo.
Seja n = 7429. Temos que = 8,993, logo m = 86 e
f(x) = (x + m) 7429.
F(- 3) = 83
2
7429 = -540 = -1 2
2
3
2
5
F(1) = 87
2
7429 = 140 = 2
2
5 7
F(2) = 88
2
7429 = 315 = 3
2
5 7
Temos ento que

(mod 7429)

(mod 7429)

(mod 7429)
Se multiplicarmos as duas ltimas congruncias, obtemos o seguinte:

(mod 7429).
Assim obtemos x = 87 88 (mod 7429) = 7656 (mod 7429) = 227 (mod 7429)
e, por outro lado, y = (mod 7429) = 210 (mod 7429). Como
x = 227 e y = 210, ento x + y = 437 e x y =17, em que 17 e 437 so factores
de 7429 e m.d.c. (17, 7429) = 17.
103

3.12.7 Algoritmo de Lenstra
Este mtodo baseado no mtodo p 1 de Pollard, j referido anteriormente.
Seja n um nmero inteiro composto, ento tem uma factorizao nica em
nmeros primos. O nosso objectivo encontrar um nmero primo p que seja
um factor de n.
Para tal, vamos escolher uma curva elptica, um ponto P que lhe pertena e um
nmero k que o produto de nmeros primos pequenos elevados a potncias
pequenas (m.m.c. (, , 3, , B) ou k = B, onde B um certo nmero inteiro
dado). Vamos calcular kP em

onde

um anel, pois n um nmero


composto. As operaes efectuadas em kP j foram descritas anteriormente.
Se no tivermos qualquer problema no clculo de kP, porque conseguimos
calcular sempre , ou seja, teve sempre denominador c invertvel em

, isto
m.d.c. (c, n) = 1. Neste caso, a nossa busca foi infrutfera. Ficamos ento
com duas sadas: ou aumentamos o valor de k, ou escolhemos outra curva
elptica e recomeamos novamente o processo.
Se depararmos com problemas no clculo de kP, porque no conseguimos
calcular algum dos , ou seja, um dos tem um denominador que no
invertvel em

. Ento 1 < m.d.c. (c, n) n, em que c o denominador do


que impediu a continuao do clculo de kP, e duas situaes podem ocorrer:
1. Se m.d.c. (c, n) < n, ento c um factor prprio de n;
2. Se m.d.c. (c, n) = n, vamos ter de continuar a trabalhar para
encontrar um factor primo, para tal, vamos mudar de curva elptica e
recomear o processo.
Algoritmo de Lenstra.
Seja n 2 um nmero inteiro composto, para o qual vamos encontrar um factor
primo.
1. Verificamos que m.d.c. (n, 6) = 1 e se n no tem a forma m
r
para algum
r 2.
2. Escolhemos nmeros inteiros aleatrios a, x
1
e

y
1
entre 1 e n.
104

3. Fazemos

(mod n) (Seja C a curva y


2
= x
3
+ ax + b e
P = (x
1
, y
1
) um ponto de C).
4. Verificamos que m.d.c. (4

+ 27b
2
, n) = 1. (Se for igual a n, vamos para
o passo (2) e escolhemos um novo a. Se estiver entre 1 e n, ento ele
um factor no trivial de n. Paramos.)
5. Calculamos kP mod n, para um valor elevado de k. Usando o mtodo
das duplicaes sucessivas, ou considerando k = B!, sendo B natural e
tomando, sucessivamente; valores crescentes. Se conseguirmos (
porque todos os s tm denominadores invertveis em

), aumentamos
o valor de k ou vamos para (2) e mudamos para outra curva elptica.
Caso contrrio ( porque em alguma etapa do clculo de kP o
denominador c de no invertvel, isto , m.d.c. (c, n) 1; vamos para
(6).
6. Se m.d.c. (c, n) < n, encontramos um factor no trivial de n. Paramos. Se
m.d.c. (c, n) = n vamos para (2) e escolhemos outra curva.
Vamos factorizar 6887, utilizando este algoritmo. Para tal, na famlia de curvas
y
2
= x
3
+ ax + b, consideremos a = 14 e P = (1512 , 3166) e calculemos o valor
de b; b = 3166
2
1512
3
14 1512 19 (mod 6887).
O m.d.c. (6887,6) =1, pois 6887 no divisvel por 2 e 3. Com uma simples
mquina de calcular, tambm verificamos que no existem m e r tal que
m
r
= 6887. O m.d.c. (20723, 6887) = 1, avanamos para o passo 5 e
calculamos 2!P, 3!P, 4!P, 5!P e 6!P e obtemos os seguintes resultados:
2!P (3466, 2996)
3!P (3067, 396)
4!P (6507, 2654)
5!P (2783, 6278)
6!P (6141, 5581).
At aqui conseguimos, infelizmente, encontrar , ou seja, at aqui teve
sempre um denominador invertvel em

. Podemos escolher um de dois


105

caminhos alternativos: ou continuamos a aumentar o valor de K, ou
escolhemos outra curva elptica; optemos pela primeira opo e vamos calcular
7!P. Consideremos Q = 6!P = (6141,5881) e calculemos 7Q. Para facilitar os
clculos, podemos escrever 7 na forma binria (7 = 1 + 2 + 2
2
). Calculemos
2Q (5380, 174) e 4Q 2 2Q (203, 2038), logo
7Q (Q + 2Q) + 4Q ((6141, 5581) + (5380, 174)) + (203, 2038)
(984, 589) + (203, 2038).
Esta ltima adio no se pode fazer, pois m.d.c. (203 984, 6887) 1; ou
seja, o denominador de , no invertvel em

.
Pelo passo 6, m.d.c. (6106, 6887) = 71. Encontramos um factor de 6887, o 71.
Se dividirmos 6887 por 71, obtemos 97. Como 97 nmero primo, ento a
factorizao de 6887 est concluda: 6887 = 71 97.
Exemplo de uma estratgia para factorizar um nmero inteiro em factores
primos:
1. Procurar factores primos pequenos atravs da diviso, com primos
menores que um nmero inteiro b
1
, previamente estabelecido.

2. Aplicar o algoritmo - Pollard, para encontrar factores primos p, com
b
1

2
.

3. Utilizar o algoritmo de factorizao com curvas elpticas para
encontrar factores primos p, com b
2
p <
3
.

4. Se todos falharem, aplicar o crivo quadrtico.




106

Captulo 4
Cifras
Quando se transmitem mensagens encriptadas porque existe o receio que
algum, que no deve, se apodere do seu contedo; pondo desta forma, em
risco: negcios, a vida privada, a segurana de pessoas, pases e bens
Neste captulo, abordaremos alguns criptosistemas que nos permitem trocar
mensagens com relativa segurana. Esta relatividade, est dependente do
conjunto de chaves, que se utiliza. Quanto maior for a cardinalidade deste
conjunto, maior ser a segurana do criptosistema.
Ao longo deste captulo vo aparecer trs personagens: Berta, Duarte e
Ricardo. Berta e Duarte trocaro diferentes mensagens entre si, usando os
diversos criptosistemas; enquanto Ricardo ser o intruso que procurar
apoderar-se dessas mensagens que no lhe dizem respeito.
Em primeiro lugar, estudaremos algumas cifras simtricas, ou seja, as cifras
que utilizam a mesma chave para encriptar e desencriptar uma mensagem, isto
, o processo para desencriptar uma mensagem precisamente o oposto ao
que a encriptou; passaremos pela troca de chaves e por fim, debruar-nos-
emos sobre as cifras assimtricas, as quais utilizam chaves diferentes para
encriptar e desencriptar a mesma mensagem uma pblica e outra privada.
Nos diversos criptosistemas que se seguem utilizaremos a seguinte tabela:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Tabela 4.1 - Correspondncia entre letras e nmeros.
Esta correspondncia permite-nos trabalhar no anel

.

4.1 Cifras simtricas
Apesar das vrias cifras simtricas serem bastante diferentes entre si, h um
modelo comum a todas elas. com este modelo que so criados os diversos
criptosistemas.
107

4.1.1Definio: Um criptosistema um quntuplo (P, C, K, E, D), onde so
satisfeitas as seguintes condies:
1. P um conjunto finito de smbolos;
2. C um conjunto finito de smbolos;
3. K um conjunto finito de chaves possveis;
4. Para cada k K, existe uma regra de encriptao e
k
E e a
correspondente regra de desencriptao d
k
D. Cada e
k
: P C e
d
k
: C P so funes tais que d
k
(e
k
(x)) = x, para todo o x P.

4.1.2 A cifra Shift
Esta cifra era aplicada nas mensagens que Jlio Csar encriptava.
O modelo desta cifra o seguinte:
Seja P = C = K =

. Para , define-se
e
k
(x) = (x + k) (mod 26)
d
k
(y) = (y k) (mod 26), com x, y

.
No entanto, existem s 25 chaves diferentes, o que torna esta cifra muito
insegura!
Combinando a chave k = 8, Berta envia a Duarte a seguinte mensagem:
Mensagem: Che Guevara utilizava a cifra de Vernam
Para tal, converte as letras em nmeros e aplica a cada um deles a funo
e
8
(x), como o demonstramos para a primeira letra
e
8
(2) = (2 + 8) (mod 26) = 10,
e 10 corresponde letra k, prosseguindo desta forma, obtemos a seguinte
mensagem encriptada:
KPMOCMDIZICBQTQHIDIIKQNZILMDMZVIU
Duarte para desencriptar a mensagem converte novamente as letras em
nmeros e aplica a funo d
8
(x) a cada um dos nmeros. Para a primeira letra,
temos d
8
(10) = (10 8) (mod 26) = 2, que corresponde ao C, continuando este
processo obtm a mensagem original.
claro que se o Ricardo interceptar a mensagem, sabendo qual a cifra que foi
utilizada no ter grande dificuldade em apoderar-se do seu verdadeiro
significado!
108

4.1.3 A cifra Afim
Esta cifra tem o seguinte sistema criptogrfico:
Sejam P = C = K =

.
Para k = (a, b) K, define-se
e
k
(x) = ax + b (mod 26)
d
k
(y) = a
-1
(y b) (mod 26), com x, y

.
necessrio que m.d.c. (a, 26) = 1, para garantir que a funo e
k
(x) seja
injectiva, deste modo, a funo e(x) tem inversa, pois, s desta forma que o
criptosistema tem condies de ser aplicado! O que garantido pelo teorema
3. 3.8.
A funo e
k
(x) = ax + b (mod 26) tem que ser injectiva pelas razes j
expostas, o que no acontece para qualquer valor de a. Seja a = 4 e b = 3,
utilizando a tabela 4.1, temos que e
k
(1) = 4 1 + 3 = 7, 7 = 7 (mod 26), e
e
k
(14) = 4 14 + 3= 59, 7 = 59 (mod 26), pelo que s letrs e vo dr
s dus origem mesm letr, H. O que causa problemas na decifrao.
Se os nossos intervenientes escolherem a = 3 e b = 5, temos que m.d.c. (3, 26)
= 1. O que lhes permite usar esta cifra para trocar mensagens. Como por
exemplo:
Mensagem: Berlusconi perde dois dentes
Berta encripta a primeira letra da seguinte forma:
e
3
(1) = (3 1 + 5) (mod26) = 8, e substitu B por I, repetindo este processo
para todas as letras da mensagem, obtm, no os dentes do senhor, mas a
seguinte mensagem encriptada:
IREMNHLVSDYREOROVDHORSKRH
Duarte calcula o 3
-1
(mod 26), ou seja, 9. E aplica a funo
d
3
= 9 (8 - 5) (mod 26) = 1,
que substitui por B, percorrendo deste modo todas as letras da mensagem
encriptada, obtm a mensagem original.
109

Esta cifra tem |K| = 12 26 = 312, pois (26) = 26 (1-

) (1-

) = 12. O que a
torna pouco segura. Ricardo com um bocadinho de pacincia e tempo
descobria facilmente as mensagens trocadas entre Berta e Duarte.
4.1.4 A Cifra por permutao
Na cifra por permutao, as letras do texto simples so misturadas de acordo
com uma permutao, que seja do conhecimento do emissor e do receptor.
Esta cifra tem o seguinte sistema criptogrfico:
Seja m um nmero inteiro
P = C =
m

26
K = conjunto de tods permutes de ,, m
.
e
k
(x
1,
x
2
, x
3
,, x
m
) = (x

(1), x

(2), x

(3), , x

(m))
d
k
(y
1
, y
2
, y
3
,,y
m
) = (y

-1
(1), y

-1
(2), y

-1
(3), , y

-1
(m)), d
k
a
funo inversa de e
k.
A cifra por permutao funciona do seguinte modo, suponhamos que Berta
quer enviar a Duarte a seguinte mensagem: HAITI VITIMA DA NATUREZA
Para tal, vai utilizar a seguinte permutao


Comea por dividir a mensagem em grupos de sete letras, do seguinte modo:
HAITIVI TIMADAN ATUREZA.
Em seguida, a cada um dos grupos aplica a permutao , para reagrupar
cada conjunto de letras, do seguinte modo: no primeiro grupo, para a primeira
posio vem o I que estava na quinta posio, para a segunda posio vem o I
que estava na terceira posio, para terceira posio vem o A que estava na
segunda posio e assim sucessivamente, at obter estes novos grupos:
IIAHTIV DMITANA EUTARAZ.
Berta envia o seguinte texto em cifra: IIAHTIVDMITANAEUTARAZ.
110

Duarte, dividindo o texto em cifra em grupos de sete letras e aplicando a
permutao

, recupera a mensagem original.


Ricardo, aps descobrir qual o criptosistema que est a ser utilizado, poder
apoderar-se da mensagem; para tal, tem que estar disposto a enfrentar at 7!
chaves possveis!
4.1.5 A cifra de Hill
Para esta cifra, tomemos o seguinte sistema criptogrfico:
Tomemos m um nmero inteiro positivo fixo.
P = C =
m
26
K = {matrizes invertveis em
26
, m m}
Para uma chave k K definem-se as funes:
e
k
(x) = Kx
d
k
(y) = K
-1
y
Para se poder decifrar a mensagem necessrio que a matriz K seja invertvel,
o que poder ser verificado atravs do clculo do seu determinante, se o seu
valor for primo com 26, ento existe a matriz inversa, com as operaes a
serem efectuadas em mdulo 26.
Exemplo da cifra de Hill
Seja K =



, , como m.d.c.(1, 26) = 1 pelo que a matriz K tem
inversa em
26
.
Texto simples: BENFICA GANHA A SEGUNDA TAA DA LIGA
Utilizando a tabela 4.1 e trocando as letras pelos nmeros correspondentes, a
mensagem corresponde a:
1 4 13 5 8 2 0 6 0 13 7 0 0 18 4 6 20 13 3 0 19 0 2 0 3 0 11 8 6
0
111

Podemos dividir este conjunto de nmeros em subconjuntos de trs elementos,
da seguinte forma:


Neste momento, podemos cifrar a mensagem multiplicando a matriz do tipo
3 3 por cada uma das matrizes coluna, as operaes aritmticas so feitas
em
26
:



, deste modo BEN substitudo por AJF,


continuando este processo at ltima multiplicao, obtemos o seguinte texto
em cifra: AJFNDESMYIBCWAWBUBUBJGEIAUO.
K
-1
=



a matriz inversa de K, com as operaes aritmticas
feitas em
26
.
O receptor para conseguir obter a mensagem original, inverte o processo,
utilizando a matriz k
-1
; tomemos como exemplo as trs primeiras letras do texto
em cifra AJF, que correspondem aos nmeros 0, 9 e 5, fazendo a multiplicao
de forma anloga




, o que corresponde a BEN, aps ter feito todas as


multiplicaes, ficaria conhecedor da excelente novidade!
4.1.6 A cifra de Vigenre
Esta cifra polialfabtica, ou seja, a mesma letra do texto simples pode ser
substituda por vrias letras diferentes, evitando deste modo que a mensagem
sofra um ataque pela anlise de frequncias, para tal, utilizamos diferentes
alfabetos de cifra.
Normalmente utiliza-se o quadro da figura 4.1, chamado quadro de Vigenre
para cifrar mensagens.

112

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
25 Z A B C D E F G H I J K L M N O P Q R S T U V W X
Y
Figura 4.1 Cifra de Vigenre.
Para o uso desta cifra, Berta e Duarte recorrem a uma palavra-chave para
estabelecerem uma comunicao segura, neste caso escolhem a palavra
rbitro. essa palavra-chave que vai permitir o uso de diferentes alfabetos de
cifra.
Esta cifra tem o seguinte sistema criptogrfico:
Tomemos m um nmero inteiro positivo fixo.
P = C =
m
26
113

K
m
=
m
26
K
m
=
m

Para uma chave K = (K
1
, K
2,
K
3, ,
K
m
)
e
k
(x
1,
x
2
, x
3
,, x
m
) = (x
1
+ K
1
, x
2
+ K
2
, x
3
+ K
3
, , x
m
+ K
m
)
d
k
(y
1
, y
2
, y
3
,,y
m
) = (y
1
- K
1
, y
2
- K
2
, y
3
- K
3
, , y
m
- K
m
), d
k
a funo inversa
de e
k.
Atravs de um exemplo, vamos ver como funciona esta cifra.
Berta, indignada, envia a Duarte, a seguinte mensagem: A FRANA D A
MO AO MUNDIAL, HENRY I.
Palavra-chave: rbitro.
Utilizando a tabela 4.1, a palavra-chave d origem a K = (0, 17, 1, 8, 19, 17,
14), que tem comprimento 7, ou seja, m = 7. O que corresponde a
K
7
=
7
= 8031810176 chaves possveis.
Utilizando a tabela 4.1, podemos converter as letras em nmeros da seguinte
forma:
0 5 17 0 13 2 0 3 0 0 12 0 14 0 14 12 20 13 3 8 0 11 7 4 13 17
24 8.
De seguida, podemos comear por agrup-los 7 a 7, obtemos ento os
seguintes conjuntos
0 5 17 0 13 2 0
3 0 0 12 0 14 0
14 12 20 13 3 8 0
11 7 4 13 17 24 8.
Agora a cada um destes conjuntos, adicionamos mdulo 26 a palavra-chave e
obtemos estes novos conjuntos:
114

0 22 18 8 6 19 14
3 17 1 20 19 5 14
14 3 21 21 22 25 14
11 24 5 21 10 15 22
Recorrendo, novamente, tabela 4.1 obtemos o seguinte texto em cifra:
AWSIGTODRBUTFOODVVWZOLYFVKPW.
Duarte procede de forma semelhante para recuperar a mensagem, aplicando
desta vez a respectiva funo:
d
k
(y
1
, y
2
, y
3
,,y
7
) = (y
1
- 0, y
2
- 17, y
3
1, y
4
8, y
5
-19, y
6
17, y
7
- 8),
no esquecendo que a subtraco mdulo 26, torna d
k
a funo inversa de e
k.

4.1.7 A cifra de One-time Pad
Em 1917, Gilbert Vernam criou a cifra One time Pad, tambm conhecida por
cifra de Vernam. Nesta cifra, a chave aleatria, tem o mesmo comprimento
que o texto original e usada uma nica vez, da o termo One-time o que a
torna inquebrvel! Devido a esta caracterstica tem sido usada em contextos
militares e diplomticos ao mais alto nvel.
Para manter a sua segurana, normalmente, a chave transportada por meios
fsicos seguros.
O seu uso bastante fcil, tanto para encriptar como para desencriptar as
mensagens.
A encriptao da mensagem feita utilizando a operao binria XOR,
semelhante operao adio em

, que passamos a definir:







115

:


(b, c) b c, esta operao definida pelo seguinte quadro:
b c b c
0 0 0
0 1 1
1 0 1
1 1 0

A cifra de Vernam, de um modo geral, funciona da seguinte forma: se n 1
um nmero inteiro e P = C = K =

. Se quisermos enviar a mensagem


x = (x
1
, x
2
,,x
n
), os intervenientes tm que ter na sua posse uma chave k, que
foi criada aleatoriamente e com o mesmo comprimento que a mensagem,
k = (k
1
, k
2
,,k
n
), ento encriptamos a mensagem da seguinte forma:
e
k
(x) = (x
1
+ k
1
, x
2
+ k
2
,, x
n
+ k
n
) (mod 2).
Para desencriptar a mensagem, procedemos de modo idntico. Se
y = (y
1
, y
2
,,y
n
), ento d
k
(y) = (y
1
+ k
1
, y
2
+ k
2
,, y
n
+ k
n
) (mod 2).
Se Berta enviar a Duarte o nome do seu matemtico preferido utilizando esta
cifra, aps os dois terem na sua posse a chave a utilizar, pode faz-lo
utilizando os nmeros binrios ASCII para as letras maisculas, que se
encontram na tabela 2.11.
Mensagem: 1001110100000110100111001000
Chave: 1001110001110001001101100111
Encriptada: 0000000101110111101010101111
Depois de enviar a mensagem ao Duarte, este s tem que utilizar a mesma
chave e proceder da mesma forma:
Encriptada: 0000000101110111101010101111
Chave: 1001110001110001001101100111
Mensagem: 1001110100000110100111001000
Agora s lhe resta consultar o ASCII para as letras maisculas, e fica a saber
que NASH o matemtico preferido de Berta.


116

4.1.8 As cifras de fluxo
4.1.8.1 Definio Uma cifra de fluxo um sptuplo (P, C, K, L, F, E, D), para
o qual so satisfeitas as seguintes condies:
1. P um conjunto finito de smbolos;
2. C um conjunto finito de smbolos;
3. K um conjunto finito de chaves possveis;
4. L um conjunto finito chamado alfabeto chave de fluxo;
5. F = (f
1
, f
2
, ) o gerdor d chve de fluxo. Pr i ,
f
i
: K P
i - 1
L
6. Para cada z L, existe uma regra de encriptao e
z
E e a
correspondente regra de desencriptao d
z
D. Cada e
z
: P C e
d
z
: C P so funes tais que d
k
(e
k
(x)) = x para todo o x P.


4.1.8.2 A cifra Autokey
Esta cifra de fluxo utiliza a prpria mensagem na chave que utiliza para
encriptar o texto, o seu funcionamento o seguinte:
sejam P = C = K = L =

. Seja z
1
= K, e z
i
= x
i 1
(. Para
definimos:
e
z
(x) = x + z (mod 26) e
d
z
(y) = y z (mod 26), com x , y

.
Se as nossas personagens, quiserem trocar mensagens atravs desta cifra,
podem faz-lo do seguinte modo: Berta e Duarte comeam por escolher uma
chave, seja 10. S depois que podem trocar mensagens. Se a mensagem a
enviar for: SALGUEIRO MAIA, O LTIMO HERI PORTUGUS; temos que
transform-la numa sequncia de nmeros, sendo o primeiro nmero a chave,
utilizando a 4.1:
10 18 0 11 6 20 4 8 17 14 12 0 8 0 14 20 11 19 8 12 14 7 4 17 14 8 15 14 17 19
20 6 20 4 18
Berta encripta a mensagem da seguinte forma:
e
10
= (10 + 18) (mod 26) = 2
e
18
= (18 + 0) (mod 26) = 18
e
0
= (0 + 11) (mod 26) = 11
117

e
11
= (11 + 6) (mod 26) = 17,
.
e
4
= (4 +18) (mod 26) = 22.
A nova sequncia gerada a seguinte:
2 18 11 17 0 24 12 25 5 0 12 8 8 14 8 5 4 1 2 20 0 21 11 21 5 22 23 3 5 10 25
13 0 0 24 22
Voltando tabela 4.1, a mensagem fica com o seguinte aspecto:
CSLRAYMZFAMIIOIFEBCUAVLVFWXDFKZNAAYW
Duarte converte as letras em nmeros e desencripta-a do seguinte modo:
d
10
= (2 10) (mod 26) = 18
d
18
= (18 18) (mod 26) = 0
d
0
= (11 0) (mod 26) = 11
d
11
= (17 11) (mod 26) = 6
.
d
4
= (22 4) (mod 26) = 18, recuperando a mensagem original!

4.2 A troca de chaves
Como j foi referido, com o aumento exponencial do uso da criptografia, um
dos problemas mais prementes era a distribuio das chaves pelos diferentes
intervenientes, pois os encargos econmicos das empresas aumentavam, para
que a troca de informao fosse segura! O mtodo mais seguro para a
distribuio de chaves era atravs da contratao de pessoal de extrema
confiana!
Martin Hellman colocou a aritmtica modular ao servio da criptografia. A
funo Y
x
(mod P), com Y, P IN e Y < P, no injectiva e com ela Hellman
criou um esquema que permite uma troca de chaves segura, sem haver
necessidade dos intervenientes se encontrarem.
O esquema de Hellman o seguinte: duas pessoas, Berta e Duarte, podem
trocar os valores Y e P de forma descontrada e natural, sem olharem a regras
de segurana, pois no so estes os valores da chave, mas sim os valores que
iro levar chave. Por exemplo: Berta e Duarte podem combinar entre si que
Y = 11 e P = 13, criando assim a funo 11
x
(mod13). Mais tarde, quando j
118

esto separados, cada um escolhe um nmero para si; Berta escolhe um
nmero qualquer, por exemplo 3 e Duarte escolhe outro nmero ao acaso que
pode ser 6 e procedem do seguinte modo:
1) Berta substitui x por 3 na funo, 11
3
(mod 13) = 5;
2) Duarte faz a mesma coisa com o nmero por si escolhido,
11
6
(mod 13) = 12;
3) Berta e Duarte trocam entre si os nmeros obtidos;
4) Berta substitui na funo y pelo nmero enviado por Duarte e x por 3,
12
3
(mod 13) = 12;
5) Duarte age de forma anloga com o nmero que Berta lhe enviou, 5
6

(mod 13) = 12.
A chave encontrada 12 e usam para trocar mensagens entre si!
Porque que se faz quase tudo s claras e a chave secreta?
Algum que tenha escutado as conversas entre os nossos interlocutores, sabe
a funo Y
x
(mod P) e os nmeros trocados, 5 e 12; no entanto, no sabe os
nmeros que Berta e Duarte escolheram, 3 e 6, respectivamente. Como a
funo Y
x
(mod P) no injectiva, apesar de ser fcil neste exemplo, atravs
de algumas tentativas, encontrar os nmeros 3 e 6, tudo se complica quando
se escolhe para Y e P nmeros muito maiores, inverter todo o processo no
tarefa fcil!

4.3 As cifras assimtricas
Os problemas associados aos criptosistemas da chave pblica
1. Knapsach. Dado um conjunto de nmeros inteiros, encontrar um
subconjunto cuja soma seja um nmero N dado.
2. Logaritmo discreto. Se p um nmero primo, e g e M nmeros
inteiros, encontrar um nmero inteiro x tal que g
x
M (mod p); e suas
variantes para corpos finitos e grupos abelianos.
119

3. Factorizao. Se N o produto de dois primos, ento procuremos
resolver algum dos seguintes problemas:
(A) Factorizar N (Problema da Factorizao).
(B) Dados M e C, encontrar d tal que M
d
C (mod N) (problema
RSA);
(C) Dados nmeros inteiros e e C, encontrar M tal que
M
e
C (mod N) (Problema inverso de RSA)
(D) Dado um nmero inteiro x, decidir se existe um nmero inteiro
y tal que x y
2
(mod N) (Problema dos resduos quadrticos).

4.3.1 O criptosistema RSA
Whitfied Diffie concebeu a ideia da criptografia da chave pblica, no entanto
no foi capaz de a colocar em prtica, esta ltima parte estava guardada para
Ronald Rivest, Adi Shamir, cientistas informticos, e Leonard Adleman,
matemtico, aos quais este criptosistema deve o seu nome.
Este criptosistema baseia-se no seguinte:
seja n = pq, onde p e q so dois nmeros primos. Seja P = C =

, e defina-se
K= n, p, q, , :n=pq, p e q so nmeros primos, (mod (n)).
Para = n, p, q, , , define-se:
e
k
(x) = x
b
(mod n) e d
k
(y) = y
a
(mod n), com x, y

. Os valores n e b so
pblicos, e os valores p, q e a so secretos.
Esta cifra baseia-se na escolha de dois nmeros primos e na aritmtica
modular. O processo inicia-se com a criao, por parte do receptor, de uma
chave pblica e uma chave privada, atravs do processo seguinte:
1) Escolher os dois nmeros primos, p e q;
2) Calcular n = pq;
3) Calcular (n) = (p 1)(q-1);
4) Escolher um nmero inteiro b, tal que, 1< b < (n) e
m.d.c. (b, (n)) = 1;
120

5) Determinar um nmero inteiro a, tal que 1 < a < (n) e
a b = 1(mod (n)).
Podemos ilustrar este processo. Berta cria uma chave pblica e outra privada
da seguinte forma:
1) De um modo geral, por razes de segurana, os primos escolhidos
so enormes; no entanto por uma questo prtica Berta escolhe
p = 13 e q = 17;
2) n = 221;
3) (221) = 192;
4) b = 5; 1 < b < (221);
5) a = 77; 5 77 = 1 (mod 192).
Neste caso, a chave pblica (221, 5) e a chave privada (221, 77). Berta
pode imprimir a chave pblica num carto-de-visita. Como o prprio nome
indica esta chave tem de ser pblica, para se poderem trocar mensagens.
Agora, qualquer indivduo pode cifrar e enviar uma mensagem para Berta,
utilizando uma chave do conhecimento geral, mas no mximo sigilo. Para tal,
procede do seguinte modo:
1) Aps converter as letras em nmeros, utilizando por exemplo a tabela
4.1 da pgina 106, cifra o texto simples utilizando a frmula c = m
b
(mod
n), onde m um nmero que substitui uma letra do texto simples e c um
nmero que substitui m no texto em cifra;
2) Quando Berta recebe a mensagem cifrada, utiliza a frmula
m = c
a
(mod n), onde c e m so os definidos no passo anterior, para
tornar a mensagem legvel.
Utilizando as chaves criadas no exemplo anterior, vamos ilustrar estes
processos com o seguinte exemplo: Duarte utiliza este criptosistema para
enviar a seguinte mensagem: MOURINHO ASSINA PELO REAL MADRID.
121

Convertendo as letras em nmeros, atravs da tabela 4.1, temos a seguinte
correspondncia:
12 14 20 17 8 13 7 14 0 18 18 8 13 0 15 4 11 14 17 4 0 11 12 0
3 17 8 3
Duarte aplica a funo c = m
5
(mod 221),a cada um dos nmeros anteriores,
para obter a mensagem cifrada.
c
1
12
5
(mod 221) c
1
= 207
c
2
14
5
(mod 221) c
2
= 131
c
3
20
5
(mod 221) c
3
= 141
c
4
17
5
(mod 221) c
4
= 153
c
5
8
5
(mod 221) c
5
= 60
c
6
13
5
(mod 221) c
6
= 13
c
7
7
5
(mod 221) c
7
= 11
c
8
14
5
(mod 221) c
8
= 131
c
9
0
5
(mod 221) c
9
= 0
c
10
18
5
(mod 221) c
10
= 18
c
11
18
5
(mod 221) c
11
= 18
c
12
8
5
(mod 221) c
12
= 60
c
13
13
5
(mod 221) c
13
= 13
c
14
0
5
(mod 221) c
14
= 0
c
15
15
5
(mod 221) c
15
= 19
c
16
4
5
(mod 221) c
16
= 140
c
17
11
5
(mod 221) c
17
= 163
c
18
14
5
(mod 221) c
18
= 131
122

c
19
17
5
(mod 221) c
19
= 153
c
20

5
(mod 221) c
20
= 140
c
21
0
5
(mod 221) c
21
= 0
c
22
11
5
(mod 221) c
22
= 163
c
23
12
5
(mod 221) c
23
= 207
c
24
0
5
(mod 221) c
24
= 0
c
25

5
(mod 221) c
25
= 22
c
26
17
5
(mod 221) c
26
= 153
c
27
8
5
(mod 221) c
27
= 60
A mensagem a enviar a seguinte:
207 131 141 153 60 13 11 131 0 18 18 60 13 0 19 140 163 131 153
140 0 163 207 0 22 153 60
Aps receber esta mensagem, fazendo uso da chave privada, Berta reverte o
processo de modo a saber a mensagem, da seguinte forma:
m
1
= 207
77
(mod 221) m
1
= 12, que corresponde a letra M.
Berta pode calcular m
1
, de vrias formas, uma delas, utilizando uma simples
mquina de calcular, pode ser a seguinte:
207
2
(mod 221) = 196
207
4
(mod 221) = 183
207
8
(mod 221) = 118
207
16
(mod 221) = 1
207
32
(mod 221) = 1
207
64
(mod 221) = 1
123

207
77
(mod 221) = 207
64
(mod 221) 207
8
(mod 221) 207
4
(mod 221) 207

(mod 221) = (1 118 183 207)

(mod 221) = 12.
Esta forma de reverter o processo torna-se um trabalho rduo, se os nmeros
primos forem nmeros com muitos dgitos.
A fora desta cifra reside no facto de no existirem, actualmente, algoritmos
capazes de decompor em factores primos, de uma forma rpida, um nmero
enorme. Como escreve o Professor Jorge Buescu, referindo-se segurana
deste mtodo, no seu livro O Mistrio do Bilhete de Identidade e Outras
Histrias: perigo no vem dos computdores. N verdde, evoluo dos
computadores vem tornar o mtodo RSA mais seguro. A razo que o tempo
para a multiplicao de dois nmeros cresce mais devagar (polinomialmente)
do que o necessrio para a sua factorizao (que, tanto quanto se sabe, cresce
exponencilmente) O perigo no vem dos computadores vem da
Matemtica.
4.3.1.1 Proposio Seja n = p q um produto de dois nmeros primos
distintos. Ento determinar (n) equivalente a factorizar n.
Demonstrao: Se conhecemos a factorizao de n, ento
(n) = (p 1)(q 1).
Por outro lado, se n e (n) so conhecidos, ento fcil calcular os factores p
e q. Como n = pq, podemos escrever q =
n
p
e substitui-lo na frmula (n). Ou
seja,
(n) = (p 1)(q 1) = (p 1) (
n
p
- 1). Simplificando esta equao, obtemos a
seguinte equao do segundo grau p
2
- (n + 1 (n))p + n = 0. Tratando-se de
uma equao do 2 grau, fcil de calcular o valor de p, e q sai de imediato. O
que mostra que determinar (n) equivalente a factorizar n.

Se soubermos os seguintes valores n = 221 e (n) = 192, considerando a
demonstrao do teorema anterior, podemos fazer:
124

p
2
- (221 + 1 192)p + 221 = 0, que equivalente seguinte equao:
p
2
- 30 p + 221 = 0. Aplicando a frmula resolvente, encontramos as seguintes
solues p = 17 ou p = 13. Ou seja, os dois factores de n.
De seguida, mostraremos que existe um mtodo que descreve o clculo do
exponente a desconhecendo (n), o que nos levar factorizao de n.
Sabemos que ab 1 (mod (n)). O algoritmo que vamos descrever
probabilstico, alm de estar dependente das escolhas aleatrias que fazemos,
nem sempre nos d uma resposta correcta.
O algoritmo baseado no facto da equao

(mod n) ter quatro solues


quando n o produto de dois nmeros primos distintos. Qualquer soluo de

(mod n) tal que



. Como (mod n),
podemos calcular um factor de n, determinando m.d.c. ( ou
m.d.c. ( + 1, n).
Suponhamos que conhecemos a tal que mod n). Como ab 1 um
mltiplo de n, logo um nmero par, pelo que, podemos escrever
ab 1 = 2
r
s, onde s nmero mpar. Escolhamos aleatoriamente, um nmero
w tal que 0 < w < n e calculemos a sequncia seguinte: z
0
= w
s
(mod n),
z
1
=

(mod n),, z
i
=

(mod n),, z
r
=

(mod n). Note-se que


z
i
=

(mod n). Como (ab -1) = 2


r
s, pelo teorema de Euler, temos que o
ltimo termo da sequncia, z
r
, 1. Se o primeiro termo da sequncia no 1,
ento precisamos de encontrar um nmero

(mod n) tal que

(mod n). E esperemos que

- 1 (mod n). Se existir z


k
com estas
propriedades; ento encontramos uma raiz quadrada da unidade mdulo n, e
podemos factorar n.
Exemplo: Consideremos n = 13289 e b = 7849 uma chave pblica.
Suponhamos que o expoente de desencriptao a = 2713. Utilizando o
mtodo anterior, podemos factorizar n. Temos que ab -1 = 2
r
s, com r = 8 e s =
83181. Escolhemos aleatoriamente w = 493. Ento x
0
= w
s
(mod n) = 5032. Se
x
i
=
-

(mod n), ento x


1
= 5479, x
2
= 12879, x
3
= 8632 e x
4
= 1, ou seja,
125

8632
2
(mod n); calculando o m.d.c. (8632 1, n) obtemos um factor prprio
de n. Neste caso 137, pelo que o outro factor 97.
Este algoritmo falha sempre z
0
= 1 ou se existe um ndice k tal que z
k
= - 1.
Em 1977, Martin Gardner, imprimiu um texto em cifra e forneceu a seguinte
chave pblica: N = 114 381 625 757 888 867 669 235 779 976 146 612 010
218 296 721 242 362 562 561 842 935 706 935 245 733 897 830 597 123 563
958 705 058 989 075 147 599 290 026 879 543 541, e desafiou os
interessados a decifrar a sua mensagem. O desafio durou dezassete anos, e
foram necessrios seiscentos computadores ligados em rede para quebrar a
cifra.
Hoje em dia, so utilizados nmeros muito maiores do que aqueles que
Gardner usou, de forma a garantir a circulao da informao em segurana.
Podemos dizer, que neste momento, o gato que joga ao ataque!
4.3.1.2 Teorema: Seja (n, b) a chave pblica de RSA e a a correspondente
chave privada. Ento

(mod n) = m, para algum nmero inteiro m, com


.
Demonstrao:
Como --), existe um nmero inteiro l com
ab = 1 + l(p 1)(q - 1).
Por conseguinte,

= m
ba
= m
1 + l(p -1)(q -1)
= m( m
(p-)(q-)
)
l
. Temos ento que

-

Se p no um divisor de m, ento pelo Pequeno Teorema de Fermat, verifica-
-se a congruncia acima indicada. Por outro lado, se for um divisor de m, ento
de ambos os lados temos as congruncias iguais a 0 mdulo p. De modo
anlogo, temos que


Como p e q so nmeros primos distintos, temos que


(a afirmao deve-se ao facto de .)


126

4.3.1.3 A escolha dos nmeros primos p e q.
Alm de p e q serem nmeros primos enormes, temos que ter algum cuidado
na sua escolha.
p - 1 e q 1 no devem ter factores pequenos.

4.3.1.4 A escolha de b
O nmero b da chave pblica deve ser to pequeno quanto possvel. No
entanto, b tem de ser diferente de dois, pois o mdc (b, (p 1)(q 1)) = 1; como
p -1 e q 1 so pares o m.d.c. (b, (p 1)(q 1)) 2, se b for par.
Estes so apenas dois exemplos, dos cuidados que devem ser tomados,
aquando da criao de um criptosistema RSA. Pois os testes de primalidade e
os algoritmos de factorizao referidos no captulo anterior so utilizados por
criptgrafos e criptanalistas respectivamente, tanto para descobrir nmeros
primos com muitos algarismos, como para quebrar a chave atravs da
factorizao do produto de dois nmeros com algumas centenas de dgitos.

4.3.2 O criptosistema ELGamal
O criptosistema ElGamal baseado no problema do logaritmo discreto.


um corpo finito, onde p um nmero primo.
O criptosistema ElGamal em

tem a seguinte forma:


Seja p um nmero primo tal que o problema do logaritmo discreto em


intratvel, e

*
uma raiz primitiva. Sejam P =

*
, e defina-se

.
s vlores p, e so plicos, e secreto.
Para , e para um nmero

, secreto, e escolhido de forma


aleatria define-se a funo
e
k
(x, k) = (y
1
, y
2
), com (x, k)

e (y
1
, y
2
)

*
, onde
y
1
=

(mod p) e y
2
= x

(mod p).
Para y
1
, y
2

*
, define-se d
k
(y
1
, y
2
) = y
2


(mod p).

Exemplo: Se Duarte quiser enviar uma mensagem secreta para Berta,
utilizando este criptosistema, tem que conhecer a chave pblica de Berta. Para
127

tal , Berta procede da seguinte forma: comea por escolher um nmero primo,
p = 2357 e uma raiz primitiva mdulo 2357, = 2. Para a chave privada Berta
escolhe, a = 1751 (- e calcula 2
1751
(mod 2357) = 1185.
A chave pblica de Berta (2357, 2, 1185).
Para encriptar a mensagem: ORLANDO TAMAYO MORREU DE P NO
VIVEU DE JOELHOS; Duarte selecciona aleatoriamente um nmero inteiro k =
= 1520 ( ) e calcula
y
1
= 2
1520
(mod 2357) = 1430 e y
2
= 14 1185
1520
(mod 2357) = 892.
Fazendo clculos anlogos, com esta chave pblica, elaboramos uma tabela
que converte o alfabeto latino em nmeros que sero utilizados no envio da
mensagem. A tabela a seguinte:
A 0 0
B 1 2084
C 2 1811
D 3 1538
E 4 1265
F 5 992
G 6 719
H 7 446
I 8 173
J 9 2257
K 10 1984
L 11 1711
M 12 1438
N 13 1165
O 14 892
P 15 619
Q 16 346
R 17 73
S 18 2157
T 19 1884
U 20 1611
V 21 1338
W 22 1065
X 23 792
Y 24 519
Z 25 246
Tabela 4.2 - Converso do alfabeto latino, utilizando o criptosistema ElGamal,
aplicando a chave pblica (2357, 2, 1185).
128

Temos ento que y
1
= 1430 e utilizando y
2
, temos que a mensagem encriptada
a seguinte: 892 73 1711 0 1165 1538 892 1884 0 1438 0 519 892
1438 892 73 73 1265 1611 1538 1265 619 1265 1165 0 892 1338 173
1338 1265 1611 1538 1265 2257 892 1265 1711 446 892 2157
Para desencriptar a mensagem Berta calcula
y
p 1 a
= 1430
605
(mod 2357) = 872.
A mensagem original m, obtida calculando: m = 892 872 (mod 2357) = 14.
Aplicando este ltimo clculo a todos os nmeros da mensagem Berta
consegue obter a mensagem original.

4.3.3 O criptosistema de MASSEY- OMURA
Neste criptosistema utilizmos um corpo finito

, quanto maior for o nmero


primo p, maior ser a sua segurana.
Este criptosistema, apesar de ser bastante simples de implementar, tem uma
fragilidade o facto do vai e vem e torna a ir!
Quem pretende enviar a mensagem escolhe um e
1

, tal que
m.d.c. (e
1
, p-1) = 1, pois como

um anel, nem todos os seus elementos


tm inverso. Atravs da igualdade de Bezout, vamos calcular d
1

, tal que
e
1
d
1
(mod p 1).
Por sua vez, o receptor, que tem previamente conhecimento do corpo

,
atravs do qual se efectuaro as trocas de mensagens, procede como o
emissor e tambm escolhe um e
2

, tal que m.d.c. (e


2
, p-1) = 1 e calcula o
d
2

, tal que e
2
d
2
(mod p 1).
Vamos explicar o funcionamento deste criptosistema atravs dum exemplo.
Suponhamos que Berta e Duarte escolhem o corpo

para trocar
mensagens.
Berta vai enviar a seguinte mensagem: PORTUGAL VAI TERRA DOS
BAFANA BAFANA. Como 25 26 + 25 = 675 < 709, podemos agrupar as
letras da frase duas a duas e pela ordem que aparecem na mesma: PO, RT,
UG, AL, VA, IA, TE, RR, AD, OS, BA, FA, NA, BA, FA e NA, e converter cada
grupo num nmero, da seguinte forma: no caso de PO, fazemos a sua
converso, utilizando a tabela 4.1, em (15,14), podemos multiplicar o primeiro
129

nmero por 26 e adicionar ao resultado 14, ou seja, (15 26 + 14) que d o
resultado 404, fazendo o mesmo aos restantes grupos, obteremos a seguinte
mensagem: 404 461 526 11 546 208 498 459 3 382 26 130 338 26 130
e 138.
Neste caso Berta escolhe para e
1
= 97 e d
1
= 73; o Duarte utiliza o e
2
= 53 e
d
2
= 521. Berta recorre exponenciao modular em 709 e transforma,
utilizando o expoente 97, cada um dos nmeros da mensagem da seguinte
forma:
404
2
(mod 709) 146
404
4
(mod 709) 146
2
(mod 709) 46
404
8
(mod 709) 46
2
(mod 709) 698
404
16
(mod 709) 698
2
(mod 709) 121
404
32
(mod 709) 121
2
(mod 709) 461
404
64
(mod 709) 461
2
(mod 709) 530.
Como 97 = 64 + 32 +1, recorrendo, novamente, as regras da proposio 3.3.6,
temos que 404
97
(mod 709) (404
64
404
32
404) (mod 709) (530 461
404) (mod 709) 213.
Procedendo desta forma para cada um dos nmeros da mensagem, esta
convertida em: 213 412 554 435 285 174 596 350 299 210 507 567 23
507 567 e 23. Neste momento, Berta envia-a ao Duarte, podendo utilizar um
canal aberto!
Duarte recebe a mensagem, mas no a percebe, por enquanto! Para cada um
dos nmeros que recebeu, vai servir-se do seu e
2
e utilizando o mesmo
processo que a Berta aplicou anteriormente, converte a mensagem numa nova
srie de nmeros que para ele ainda no fazem sentido. Neste momento a
srie de nmeros a seguinte: 362 62 707 179 426 514 11 115 180 22
236 225 384 236 225 e 384.
Duarte reenvia estes nmeros para a Berta, para a qual deixaram de ter
sentido; se por acaso, Duarte enviou um nmero errado, Berta no se
apercebe! Neste momento, Berta pega no seu d
1
e mais uma vez aplica todo o
processo inicial, obtendo esta srie de nmeros: 241 431 490 300 560 637
448 281 614 270 494 127 10 494 127 e 10. E envia-a, pela ltima vez,
para o Duarte.
130

Finalmente, Duarte saber o contedo da mensagem, para tal, atravs do seu
d
2
, vai encontrar os nmeros iniciais da mensagem, como mostramos para o
primeiro nmero:
241
2
(mod 709) 652
241
4
(mod 709) 652
2
(mod 709) 413
241
8
(mod 709) 413
2
(mod 709) 409
241
16
(mod 709) 409
2
(mod 709) 666
241
32
(mod 709) 666
2
(mod 709) 431
241
64
(mod 709) 431
2
(mod 709) 3
241
128
(mod 709) 3
2
(mod 709) 9
241
256
(mod 709) 9
2
(mod 709) 81
241
512
(mod 709) 81
2
(mod 709) 180.
Como 521 = 512 + 8 + 1 e utilizando as propriedades da proposio 3.3.6,
temos que
241
521
(mod 709) (241
512
241
8
241) (mod 709)
(180 409 241) (mod 709) 404.
Deste modo, Duarte recuperar todos os nmeros da mensagem inicial: agora
basta dividir cada um dos nmeros por 26; o quociente ser a primeira letra de
cada grupo e o resto a segunda. Neste primeiro caso, quando Duarte dividir
404 por 26, obter como quociente 15 que corresponde letra P e 14 como
resto, que corresponde letra O; procedendo desta forma com todos os
nmeros obtidos da mensagem inicial, Duarte obter a mensagem original,
ficando a saber o que Berta lhe queria dizer.
De uma forma geral, este mtodo funciona da seguinte forma: os dois
interlocutores escolhem um nmero primo, p, grande (quanto maior for o
nmero primo, maior ser a segurana do criptosistema), cada um deles
escolhe um e
i

e com m.d.c. (e
i
, p 1) = 1 e calculam um d
i

, tal
que e
i
d
i
(mod p 1).
Aps converter as letras em nmeros, o emissor comea, para enviar a
mensagem m, por calcular m
e

(mod p) e remete-a para o receptor; este calcula


(m
e

)
e

(mod p) e devolve-a ao emissor; neste incio da segunda volta, o


emissor calcula:
131

(mod p)

(mod p)

(mod p)

(mod p), e
pela ltima vez, envia-a ao receptor que, finalmente, calcula:

(mod p)

(mod p) (mod p); recuperando a mensagem


inicial.
No entanto, este criptosistema tem uma brecha. Se a mensagem for
interceptada por Ricardo, quando do primeiro envio, e se este souber qual o
grupo finito que est a ser utilizado na troca de mensagens, ento pode,
atravs de um e
3

com m.d.c. (e
3
, p-1) = 1 e um d
3

, tal que,
e
3
d
3
(mod p 1), fazer os seus clculos e reenviar a mensagem a Berta.
Esta, na completa ignorncia, faz os clculos com os nmeros que o Ricardo
lhe enviou e reenvia-lhe a mensagem, possibilitando, desta forma, que Ricardo
se apodere do contedo da mensagem. Podemos evitar esta brecha, atravs
de um sistema de autenticao, que nos permita saber se a mensagem
reenviada de fonte segura.

4.3.4 O criptosistema Menezes-Vanstone
Seja E uma curva elptica definida em

(com p > 3 e primo), tal que, E


contem um subgrupo cclico H, para o qual o problema do logaritmo discreto
intratvel.
Seja P =

, C =

e definimos
K = {(E, , , ) : = }, onde E. s vlores e so plicos e
secreto.
Pr K = (E, , , ), k
H
um nmero escolhido de forma aleatria e
x = (x
1
, x
2
)

, definimos:
e
k
= (x, k) = (y
0
, y
1
, y
2
), onde
y
0
= k
(c
1,
c
2
) = k .
y
1
= c
1
x
1
(mod p) e
y
2
= c
2
x
2
(mod p).
Para o texto cifrado y = (y
0
, y
1
, y
2
), definimos
d
k
(y) = (y
1
c
1
-1
(mod p), y
2
c
2
-1
(mod p)), em que
ay
0
= (c
1
, c
2
).
132


Vamos ilustrar este criptosistema com o seguinte exemplo: Berta vai escolher a
curva elptica y
2
= x
3
+ x + 6 e o nmero primo 29, logo4 1
3
+ 27 6 = 166
21 (mod 29), ou seja, 166 no mltiplo de 29. Temos ento que E
constitudo pelos seguintes pontos: (0 , 8), (0 , 21), (2 , 4), (2 , 25), (3 , 6), (3 ,
23), (4 , 4), (4 , 25), (5 , 7), (5 , 22), (6 ,5), (6 , 24), (8 , 2), (8 , 27), (10 , 1),
(10, 28), (12, 8), (12, 21), (14 , 3), (14 , 26), (16 , 0), (17 , 8), (17 , 21),
(20 , 14), (20 , 15), (22 , 2), (22, 27), (23 , 4), (23 , 25), (25 , 5), (25 , 24),
(26 , 11), (26 , 18), (27 ,5), (27 , 24), (28, 2) e (28, 27).
Bert escolhe = (5, ) e = 8. Pelo que = 8 (5 , 22) = (22 , 2); temos
ento que os valores pblicos so (5 , 22) e (22 , 2) ; o valor secreto 8.
Se Duarte quiser enviar a Berta o seguinte poema:
Esta a madrugada que eu esperava
O dia inicial inteiro e limpo
Onde emergimos da noite e do silncio
E livres habitamos a substncia do tempo. S
Para tal, utilizando a tabela 4.1, Duarte converte cada uma das letras do poema
de Sophia de Mello Breyner Andresen no nmero correspondente, ou seja:
4 18 19 0 4 0 12 0 3 17 20 6 0 3 0 16 20 4 4 20 4 18 15 4 17 0
21 0 14 3 8 0 8 13 8 2 8 0 11 8 13 19 4 8 17 14 4 11 8 12 15 14
14 13 3 4 4 12 4 17 6 8 12 14 18 3 0 13 14 8 19 4 4 3 14 18 8
11 4 13 2 8 14 4 11 8 21 17 4 18 7 0 1 8 19 0 12 14 18 0 18 20
1 18 19 0 13 2 8 0 3 14 19 4 12 15 14 18
Escolhendo um nmero inteiro k, entre 0 e #E, neste caso pode ser k = 9 e
utilizando a chave pblica que Berta disponibilizou para o mundo, Duarte
encripta o poema da seguinte forma: pela ordem que os nmeros aparecem em
cima, vai formando pares ordenados, comeando pelo (4 , 18) e assim
sucessivamente at ao ltimo (14 , 18), como o nmero de letras do poema
mpar, a segunda coordenada do ltimo par ordenado um S de Sophia.
Duarte define ento a seguinte funo e
9
(x, 9) = (y
0
, y
1
, y
2
), onde x = (x
1
, x
2
),
y
0
= 9(5, 22) = (8 , 2); (c
1
, c
2
) = 9(22 , 2) = (3 , 6). Neste momento, Duarte cifra
o primeiro par ordenado, (4 , 18), da seguinte forma:
y
1
= c
1
x
1
(mod 29)
133

= 3 4 (mod 29)
= 12

y
2
= c
2
x
2
(mod 29)
= 6 18 (mod 29)
= 21.
Duarte envia a Berta a seguinte cifra ((8,2), 12, 21) que corresponde s duas
primeiras letras que foram cifradas: E e S. Em seguida, utilizando o mesmo
(c
1
, c
2
), envia o resto do poema encriptado que corresponde ao seguinte:
28 0 12 0 7 0 9 15 2 7 0 18 0 9 2 24 12 4 12 21 16 24 22 0 5 0
13 18 24 0 24 20 24 12 24 0 4 19 10 27 12 19 22 26 12 8 24 14
16 26 13 20 9 24 12 14 12 15 18 19 7 26 25 18 0 20 13 19 28 24
12 18 13 21 24 8 12 20 6 19 13 24 4 19 5 15 12 21 21 0 3 19 28 0
7 26 25 0 25 4 3 21 28 0 10 12 24 0 6 26 28 24 7 3 13 21.
Aps receber este conjunto de nmeros correspondentes mensagem
encriptada mais o par ordenado (8, 2) utiliza a funo
d(y) = (y
1
c
1
-1
(mod p), y
2
c
2
-1
(mod p)), onde ay
0
= (c
1
, c
2
)
para desencriptar a mensagem. Para tal calcula, os inversos de c
1
e c
2

mdulo 29, que neste caso so 10 e 5, respectivamente; e aplica os seguintes
clculos:
z
1
= y
1
c

-
(mod 29)
= 12 3
-1
(mod 29)
= 12 10 (mod 29)
= 4

z
2
= y
2
c

-
(mod 29)
= 21 6
-1
(mod 29)
= 21 5 (mod 29)
= 18
E aplicando, sucessivamente, os clculos anteriores ao resto da mensagem
ficaria a conhecer o poema 25 de Abril de Sophia de Mello Breyner Andresen.
134

claro, que mais uma vez utilizamos um nmero primo pequeno, o que no
torna o problema do logaritmo discreto intratvel, como feito habitualmente.
O modo como este criptosistema foi concebido, o fcto de Bert determinr ,
no subgrupo cclico H, a partir de um a, que secreto, e de um H, permite
um comunico secret e segur: Bert come por clculr = , quando
Duarte utiliza o seu k secreto e calcula y
0
e (c
1
, c
2
), temos que:
= k =k (c
1
, c
2
) = k (c
1
, c
2
) = ay
0
,
como o y
0
enviado para Berta, esta sem conhecer o k utilizado pelo Duarte,
com o seu a secreto determina (c
1
, c
2
), o que lhe permite desencriptar a
mensagem.
Ricardo, se quiser bisbilhotar a mensagem, ter que se esforar bastante e
pedir ajuda tecnologia para obter algum xito melhor ingressar nos
servios secretos de algum pas!


















135

Captulo 5
Assinaturas digitais
J l vai o tempo, em que bastava a palavra de cavalheiros para se selarem
acordos, fazerem-se negcios, etc. Hoje em dia, por falta de cavalheiros,
devido s novas tecnologias, ou aos dois factores em conjunto: os acordos e os
negcios podem ser feitos atravs de simples assinaturas digitais.
Neste momento o velhinho BI, que fisicamente tambm servia para reconhecer
a assinatura, est a ser substitudo pelo moderno carto do cidado, no qual a
nossa assinatura digital j vem incorporada! Neste momento, duas pessoas
podem fechar um negcio, estando a milhares de quilmetros de distncia!
No podemos dizer que este modernismo todo se deve s tecnologia; pois
muita matemtica est por trs dessa tecnologia. Os esquemas que se utilizam
neste tipo de assinaturas tm muita da matemtica utilizada na criptografia da
chave pblica.
As assinaturas digitais garantem, principalmente, a autenticidade do emissor e
a no repudiao do que enviado.

5.1 Definio: Um esquema de assinatura digital um 5 - uplo (P, A, K, S, V),
onde se verificam as seguintes condies:
1. P um conjunto finito de possveis mensagens;
2. A um conjunto finito de possveis assinaturas;
3. K, o espao das chaves, um conjunto finito de chaves possveis;
4. Para cada k K, existe um algoritmo para assinar sig
k
S e um
correspondente algoritmo de verificao ver
k
V. Cada sig
k
: P A
e ver
k
: P A {verdadeiro, falso} so funes que satisfazem a
equao


, para toda
mensagem x P e para toda a assinatura y A.




136

5.2 O esquema da assinatura RSA
Seja n = pq, onde p e q so nmeros primos. Seja P = A =

, e defina-se
.
Os valores n e b so pblicos, e os valores p, q e a so secretos.
Para , define-se sig
k
(x) = x
a
(mod n) e
ver
k
(x, y) = verdadeiro

com (x, y)

.
Consideremos agora p = 23 e q = 31, temos ento n = 23 31 = 713.
Calculemos = 22 30 = 660 e escolhemos a = 7; como
m.d.c. (7 , 660) = 1, ento existe um b

tal que ; neste


caso b = 283.
Os valores 713 e 283 so pblicos e os valores 23, 31 e 7 so secretos.
Berta escolhe x = 85 e aplica o algoritmo para assinar:
sig
k
(85) = 85
7
(mod 713) = 432.
A sua assinatura digital (85 , 432). Pode envi-la ao Duarte, assinando uma
mensagem, de forma a confirmar a sua autenticidade.
Como que Berta pode enviar a sua assinatura digital de forma segura?
Pode envi-la utilizando o criptosistema RSA; para tal, suponhamos que Duarte
tem uma chave pblica, (893 , 527) e uma chave privada, (893, 11), logo Berta
encripta, utilizando a exponenciao modular, a sua assinatura utilizando a
chave pblica de Duarte, desta forma o par ordenado (85, 432) d lugar ao par
ordenado (358 , 770). Duarte aplica a sua chave privada ao par ordenado
recebido e obtm (85, 432). Neste momento, aplica o algoritmo de verificao
para verificar a autenticidade da mensagem:

, onde x = 85,
y = 432 e b = 283. Como 432
283
(mod 713) = 85 verdadeiro = ver
k
(x, y).
Pelo que, a mensagem pode ser atribuda Berta.
5.3 O esquema da assinatura ElGamal
Sejam p um nmero primo tal que o problema do logaritmo discreto em


intratvel, e

*
uma raiz primitiva. Sejam P =

*
, A =

, e defina-
se

.
s vlores p, e so plicos, e secreto.
137

Para , e para um nmero

, secreto, e escolhido de forma


aleatria define-se a funo sig
k
(x, k) = onde

e
-
-
-.
Para x,

*
e

, define-se
ver
k

.
Vamos ilustrar este esquema, com p = 479, cuja raiz primitiva 13, P =

e
A =

.
Consideremos o vlor secreto = 50 e clculemos = 3
50
(mod 479) = 163.
Temos ento K = (479, 13, 50, 163). Os valores 479, 13 e 163 so pblicos e
50 o valor secreto.
Berta assina uma mensagem, utilizando este esquema de assinatura, do
seguinte modo:
Escolhe x = 85 e k = 11, como m.d.c. (11 , 478) = 1, ento existe o inverso de
11 mdulo 478; tem que 11
-1
(mod 478) = 87. Neste momento, calcula:


-.
A sua assinatura digital (237, 321). Duarte, aps receber este par ordenado
para a mensagem 85, aplica o seguinte algoritmo de verificao:
ver
k

.
Logo, (163
237
237
321
) (mod 479) = 259 e 13
85
(mod 479) = 259; Duarte
conclui que ver
k
.

5.4 O esquema da assinatura Digital Standard
A Assinatura Digital Standard uma modificao do Esquema da Assinatura de
ElGamal. Foi publicada a 19 de Maio de 1994 e adoptada como standard em
Dezembro do mesmo ano.
Seja p um nmero primo com 512-bit, ou seja nmeros primos com cerca de
160 dgitos decimais, tal que o problema do logaritmo discreto em


intratvel, e seja q um nmero primo com 160-bit que divide p 1. Seja


uma q-sima raiz de 1 mdulo p. Seja P =

, A =

, e definimos

.
138

Os valores p, q, eso pblicos, e a secreto.
Para K = , e para um nmero (secreto) k, escolhido de forma
aleatria entre todos os nmeros inteiros positivos menores que q, definimos
sig
k
(x, k) = ( , onde =

e
-

Para x

, a verificao feita pelos seguintes clculos:


e
1
= x
-1
(mod q)
e
2
=
- 1
(mod q)
ver
k
(x, = verdadeiro

(mod q) = .
Desta vez, Berta usar o esquema da Assinatura Digital Standard para assinar
a sua mensagem, para que Duarte no tenha dvidas que a mensagem
autntica. Para tal, consideremos q = 53, p = 2 53 + 1 = 107, 2 a raiz
primitiva de 107 e x = 30.
Bert clcul = 2
2
(mod 107) = 4, escolhe a = 85 e k = 40, o que lhe permite
clculr =
85
(mod 107) = 92. Como m.d.c. (40 , 53) = 1, Berta determina
40
- 1
( mod 53) = 4.
Neste momento, Berta faz os seguintes clculos:
=

= 76 (mod 53) = 23

A sua assinatura (23, 43) para x = 30.
Depois de receber, por um canal seguro, o par ordenado anterior e o valor 30;
Antes de aplicar o algoritmo de verificao, Duarte faz os seguintes clculos:
43
-1
(mod 53) = 37;
e
1
= (30 37)

(mod 53) = 50;
e
2
= (23 37) (mod 53) = 3.
Agora verifica a veracidade da assinatura.
139

(mod 53) = 23, pelo que ver


k
(x, = verdadeiro.
















140

Captulo 6
Concluso

Mas aqui tenho de lidar com um equvoco.
Diz-se com frequncia que os matemticos puros
se gabam da inutilidade do seu trabalho e do facto
de este no ter quaisquer aplicaes prticas.
A imputao baseia-se geralmente numa frase
irreflectida atribuda a Gauss, no sentido que,
se a matemtica a rainha das cincias, ento
a teoria dos nmeros ser, pela sua suprema
inutilidde, rinh ds mtemtics
G. H. hardy, in Apologia de Um Matemtico.

Se verdade ou no que se gabavam da inutilidade do seu trabalho, no
sabemos! O que o tempo demonstrou que no se podem gabar, pelo menos
da inutilidade! Pois, hoje, a Teoria dos Nmeros utilizada todos os dias por
grande parte da humanidade e um enorme nmero de vezes.
Muitas vezes, o conhecimento est a frente da tecnologia; foi este o caso. A
Teoria dos Nmeros, durante sculos, esteve espera de alguma
aplicabilidade, at que num belo dia da segunda metade do sculo vinte,
passou de rainha das matemticas a criada, para todo o servio, da criptologia.
Tanto a criptografia como a criptanlise servem-se da Teoria dos Nmeros
para encontrar nmeros primos com centenas de algarismos, factorizar
produtos com centenas ou milhares de algarismos, mtodos criptogrficos cada
vez mais seguros, mtodos para quebrar a segurana dos mesmos; enfim,
ajudou, e continua a ajudar, a revolucionar o nosso modo de vida nos ltimos
anos!
141

Sendo esta uma dissertao do mestrado de Matemtica Para Professores,
teceremos algumas consideraes sobre o actual Ensino da Matemtica, no
nosso pas.
Em primeiro lugar, contamos uma pequena histria. Quando da parte escolar
deste mestrado, na cadeira Histria e Teoria dos Nmeros, o Professor Jorge
Nuno ensinou-nos a calcular o dia da semana a partir de uma data qualquer.
Nas aulas de Estudo Acompanhado e do PAM (aulas que so atribudas
disciplina de Matemtica devido ao Plano de Aco para a Matemtica)
resolvemos explicar aos alunos do 7 ano de escolaridade, com as devidas
adaptaes da linguagem matemtica, esse mtodo e, apenas, com a ajuda de
uma mquina de calcular cientfica os alunos conseguiram calcular os dias da
semana em que tinham nascido, os quais foram confirmados com ajuda dos
calendrios do telemvel. E at a professora de Francs, que fazia par
pedaggico na disciplina de Estudo Acompanhado e cujo casamento j deve
ter passado as bodas de prata, se entusiasmou com o mtodo e resolveu
calcular o dia da semana em que se tinha casado embora soubesse, queria
ter a certeza que o mtodo era infalvel!
Este um exemplo, em que os alunos de uma faixa etria baixa conseguem
perceber e entusiasmarem-se com a Matemtica!
Neste momento, em Portugal, o vector que representa o rumo do Ensino da
Matemtica tem a direco certa, apenas tem que mudar o sentido! O que no
mau de todo, pois direco j temos, s nos falta o sentido!
A massificao do Ensino est feita; agora temos que por os alunos a pensar!
No esta tese que o vai fazer, nem esse o seu principal objectivo. No
entanto, a criptografia e criptanlise podem ajudar os alunos na sua
concentrao e persistncia perante a resoluo de problemas, e a combater a
frustrao de ao ler um problema no ter logo o mtodo de o resolver na
cabea, acabando por desistir, porque simplesmente Matemtica!
Algumas das cifras que foram descritas nesta tese, podem ser explicadas aos
alunos do Ensino Bsico e Secundrio, com as devidas adaptaes de
142

linguagem e consoante as suas faixas etrias; e a pouco e pouco, podemos
responder clebre pergunta: Para que serve a Matemtica?
Em relao ao tema da tese, a nvel pessoal, proporcionou uma vasta
aprendizagem, tanto ao nvel da Matemtica, como da Histria da Matemtica
e da Humanidade, s vezes, os pormenores modificam muito os
acontecimentos como a desencriptao do telegrama de Arthur Zimmermann,
por parte dos britnicos, que obrigou os Estados Unidos a entrarem na Primeira
Guerra Mundial e a ajudarem a derrotar a Alemanha. A nvel profissional,
permitiu relembrar matrias que j estvm n gvet e prender outras que
certamente ajudaro na prtica do ensino por vezes uma boa histria, ajuda a
captar a ateno dos alunos!
A criptografia tem muitos caminhos que podem ser percorridos. Como bvio
no se podia calcorrear todos; pois alm de serem muitos, alguns so bastante
longos e no fariam sentido neste trabalho. Muitos criptosistemas ficaram de
fora, outras abordagens poderiam ter sido feitas, como por exemplo os
problemas N e NP. Talvez, numa outra oportunidade, sigamos outros caminhos
e aprofundemos outras matrias relacionadas com este tema.
Por fim, foi um prazer explorar este assunto. Abriram-se as portas de um
mundo que nos era completamente desconhecido e no qual gostmos de estar
estes dois anos!








143

Bibliografia
[1] Brison, J. Owen. (2003). Teoria de Galois. Departamento de Matemtica.
Faculdade de Cincias da Universidade de Lisboa.
[2] Buchmann, Johannes A. (2004). Introduction to Cryptography. Springer.
[3] Buescu, Jorge. (2005). O Mistrio do Bilhete de Identidade e Outras
Histrias. Gradiva.
[4] Burton, David M. (1980). Elementary Number Theory. Allyn and Bacon Inc.
[5] Caldeira, C. & Almeida, P. (2007) Cdigos e Criptografia, consultado em
Abril de 2008 em http://www.mat.uc.pt/~pedro/lectivos/CodigosCriptografia/
[6] Christensen, C. (2007). Polish Mathematicians Finding Patterns in Enigma
Messages. Mathematics Magazine, 80, 4, pp. 247-273.
[7] Crandall, Richard & Pomerance, Carl. (2000). Prime Numbers. A
Computational Perspective. Springer.
[8] Fine, Benjamin & Rosenberger, Gerhard. (2007). Number Theory. An
Introduction via the Distribution of Primes. Birkuser.
[9] Fernandes, Rui Loja & Ricou, Manuel. (2004). Introduo lgebra. IST
Press.
[10] Hardy, G. H. (1940). Apologia de Um Matemtico. Traduzido por Daniela
Kato. Reviso cientifica por Jorge Nuno Silva. Gradiva.
[11] Irving, S. Ronald. (2000). Integers, polynomials and rings. Springer.
[12] Jones, Gareth & Jones, J. Mary. Elementary Number theory. Springer.
[13] Kahn, David. (1973). The Codebreakers. The New American Library, Inc.
[14] Koblitz, Neal. (1994). A Course in Number Theory and Cryptography.
Springer.
[15] Koblitz, Neal. (1998). Algebraic Aspects of Cryptography. Springer.
144

[16] Kumanduri, Ramanujachary & Romero, Cristina. (1998). Number Theory
with Computer applications. Prentice Hall, Inc.
[17] Monteiro, J. Antnio & Matos, Isabel (2001). lgebra, Um Primeiro Curso.
Escolar Editora.
[18] Quaresma, Pedro & Pinho, Augusto. (2009). Criptoanlise. Gazeta de
Matemtica n 157.
[19] Queir, Joo Filipe. (2002). Teoria dos Nmeros. Departamento de
Matemtica Universidade de Coimbra.
[20] Salomaa, Art. (1996). Public-Key Cryptography. Springer.
[21] Silveira, F. & Winterle, P. (s/d) Matrizes e Criptografia, consultado em
Maio de 2008 em
http://www.pucrs.br/famat/demat/facin/algainf/criptografia.pdf
[22] Silverman, H.J. (2009). The Arithmetic of Elliptic Curves. Springer.
[23] Singh, S. (2001 [1999]). O Livro dos Cdigos. Traduzido por A. F.
Bastos. Lisboa: Temas & Debates.
[24] Singh, S. (1997). A Soluo do ltimo Teorema de Fermat. Traduzido
por A. M. Baptista. Relgio Dgu.

Вам также может понравиться