Criptografia: Uma Introdução Matemática
Criptografia: Uma Introdução Matemática
Maringá – PR
2014
DARCI DALA COSTA
Maringá – PR
2014
III
Ficha Catalográfica
D136m Dala Costa, Darci
A Matemática e os códigos secretos: uma introdução à criptografia/
Darci Dala Costa.- Maringá: UEM/PROFMAT,2014.
xi, 67 p.: gráficos, tabelas.
Inclui bibliografia
V
Agradecimentos
VI
Resumo
VII
Abstract
VIII
“ A engenhosidade humana não pode arquitetar uma
escrita secreta que a própria engenhosidade humana
não possa resolver.”
IX
Sumário
Introdução . 1
1 Códigos Secretos Notáveis 3
1.1 Um pouco de História. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Quadrado de Polybius. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 4
1.3 Troca de César . . . . . . . . . . . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . 5
1.4 O Quadrado de Trithemius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 A cifra de Vigenère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Criptografia por Transposição. . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 A cifra ADFGX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Números Inteiros 15
2.1 Indução Matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Elemento mínimo de um conjunto de inteiros. . . . . . . . 16
2.1.2 Princípio da Indução Finita . . . . . . . . . . . . . . . . . . . . . . 16
2.1.3 Propriedade da Boa Ordem. . . . . . . . . . . . . . . . . . . . . . 17
2.2 Fatores e Números Primos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 Divisibilidade e propriedades . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Algoritmo da Divisão ou Divisão Euclidiana . . . . . . . . 19
2.2.3 Máximo Divisor Comum e Mínimo Múltiplo Comum 20
2.2.4 Números Primos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.5 Como saber se um número é primo . . . . . . . . . . . . . . . . 23
2.2.6 Método da Fatoração de Fermat . . . . . . . . . . .. . . . . . . . 24
2.2.7 Formula de Fermat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.8 Fórmula de Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.9 Fórmula de Mersenne:. . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.3 Congruências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Teorema de Fermat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.2 Teorema de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4 Sistemas de Congruências Lineares . . . . . . . . . . . . . . . . . . . . . . . 36
2.5 Congruência e Criptografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
X
2.5.1 Cifra de César . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5.2 Cifra de Trithemius . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.5.3 Cifra de Vigenère . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 42
3 A Teoria dos Números e a Criptografia RSA 45
3.1 O método de criptografia RSA. . . . . . . . . . . . . . . . .. . . . . . . . . . . 45
3.1.1 Descrição do método RSA . . . . . . . . . . . . . . . . . . . .. .. 47
3.1.2 Um exemplo de mensagem criptografada de
acordo com o método RSA . . . . . . . . . . . . . . . . . . . . . . 49
4 Sugestão de Atividade 60
4.1 Plano de Aula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Conclusão 65
Referências Bibliográficas 67
XI
Introdução
Você é capaz de entender o significado da mensagem abaixo?
Essa mensagem foi codi…cada, ou seja, o texto original foi substituído por
símbolos com o objetivo de di…cultar a leitura, ocultando, assim, o signi…-
cado.
A arte de usar símbolos diferenciados para representar mensagens é quase
tão antiga quanto a própria escrita. Atualmente, esse procedimento recebe o
nome de criptogra…a, termo cuja origem vem do grego kryptós (escondido)
e gráphein (escrita). De modo geral, essa técnica pode ser entendida como
o ato de aplicar um determinado código a …m de manter secreto o conteúdo
de certas informações.
Antes de existir os meios de comunicação atuais, os exércitos dependiam
de mensageiros para transmitir ordens e informações às tropas. Entretanto,
se o arauto fosse capturado e a mensagem caísse em mãos inimigas, dados
sigilosos poderiam ser revelados. Diante disso, era prudente que o conteúdo
estivesse codi…cado. Desse modo, os adversários permaneceriam alheios à
signi…cação.
Convém ressaltar que cifrar o texto era apenas uma maneira de di…cultar
a leitura, não uma garantia absoluta de segurança com relação ao envio da
mensagem. Os exércitos deveriam possuir uma rede e…ciente de envio de
informações, pois, se estas não chegassem ao destinatário, pouco importaria
o fato de estarem codi…cadas ou não.
Com a invenção do telégrafo, as mensagens poderiam percorrer grandes
distâncias rapidamente, sem a necessidade de um mensageiro. Contudo, emb-
ora fosse muito mais prático enviar um telegrama, não havia meios de garantir
que a linha estivesse imune a possíveis interceptações. Tal incerteza fez com
que surgissem maneiras próprias de comunicação – por meio de códigos –,
formadas por frases cifradas ou de sentido modi…cado.
Outra evolução importante foi o surgimento do telefone, o qual permitia
conversas a longas distâncias. Todavia, assim como o telégrafo, o telefone
também poderia ser grampeado, o que colocaria em risco conversas con…den-
ciais. Para contornar a situação, novamente entra em cena a linguagem em
código –neste caso, evidentemente, no nível da fala.
Nos tempos atuais, mesmo com o advento de toda a tecnologia relacionada
à Internet, a necessidade de o homem constituir novos sistemas semióticos
não se extinguiu. A…nal, os dados dos usuários são transmitidos via cabo
telefônico ou rádio, e as informações que viajam através desses meios estão
sujeitas aos mesmos perigos enfrentados em dispositivos como o telégrafo e
1
o telefone. Então, o remédio também é o mesmo: a utilização de mensagens
cifradas.
Em face do exposto, o trabalho ora aduzido almeja explorar, ainda que
nos limites de nossas possibilidades, o riquíssimo campo da criptogra…a.
Com efeito, apresentar-se-ão aqui alguns métodos semióticos desenvolvidos
no decorrer da História ocidental; métodos estes que se caracterizam pela uti-
lização, ora de letras do alfabeto latino, ora de números, como símbolos para
transmitir mensagens codi…cadas. Conseguintemente, o objetivo aqui pro-
posto é o de estabelecer uma base de pesquisa para professores que queiram
abordar o tema da criptogra…a em suas aulas.
Neste trabalho, analisaremos também a Teoria dos Números, ramo da
Matemática que contribuiu para o desenvolvimento do mecanismo criptográ-
…co que tornou mais seguras as transações comerciais via Internet: o método
RSA.
No Capítulo 1, destacaremos alguns processos de codi…car mensagens
usados antes do surgimento do computador. Para cada método apresentado,
elaboramos um exemplo de codi…cação, seguido da respectiva decodi…cação
–tudo isso, com modelos simples, de fácil entendimento.
No Capítulo 2, veremos alguns tópicos da Teoria dos Números. Focamos
a nossa atenção no estudo de números primos e congruências, apresentando
as principais proposições e teoremas que envolvem tais tópicos. Objetivamos,
com esse capítulo, formar uma base para o entendimento de um sistema de
criptografar muito empregado nos tempos atuais: o RSA.
No Capítulo 3, trabalharemos o funcionamento do método RSA. Para
tanto, destacaremos um exemplo de cifragem de palavra com o uso do mesmo.
No Capítulo 4, apresentaremos sugestões de atividades –desa…os ou ex-
ercícios de aplicação – para serem trabalhadas em aulas de Matemática.
Isso envolverá conteúdos como funções, matrizes, análise de frequência, pro-
priedades das potências e outros que, porventura, o leitor julgar exequível.
2
Capítulo 1
3
No caso dos espartanos, a cítala era como a "chave"do código, pois servia
tanto para ocultar a mensagem como para revelá-la. A chave, no caso citado,
era um objeto. No entanto, com o passar do tempo, ela foi, aos poucos,
substituída por outros elementos, tais como números, mudança de posição
de letras, símbolos associados a letras, entre outros.
Veremos agora algumas maneiras de codi…cação conhecidas na História
ocidental.
Figura 1.1
e
LÁPIS PRETO por 31113524433542154434:
4
poderiam ser colocadas no interior do quadro de maneira aleatória o que
daria inúmeras possibilidades de variação da cifra.
Figura 1.2
e a frase
VIM, VI, VENCI …ca XKO XK XGPEK.
5
descreveu uma maneira de decifrar mensagens de acordo com a frequência em
que os símbolos apareciam nas mesmas, (ver[7]). Esse método é conhecido,
hoje, como "análise de frequência". Ele realiza uma contagem de símbolos
da mensagem e associa a quantidade deles com a frequência de cada letra
nos textos escritos na língua em que a mensagem foi, supostamente, escrita.
A Figura 1.3 mostra qual é a porcentagem de frequência das letras num
texto em português.
Figura 1.3
Com o uso das informações contidas nele, podemos concluir que o símbolo
com maior frequência em um texto tem uma grande possibilidade de ser um
A, se o texto estiver em português.
Como o objetivo da criptogra…a é ocultar informações, uma simples sub-
stituição alfabética, com o passar do tempo, deixou de ser segura tornando
necessária a criação de novas maneiras de ocultar mensagens.
6
um alfabeto em sua estrutura de codi…cação. O método de criptogra…a apre-
sentado faz uso de um quadro formado por 26 linhas e 26 colunas contendo
todas as letras do alfabeto. Cada linha do quadro representa uma troca de
César em relação à primeira linha.
O primeiro livro impresso que continha a descrição dessa forma de crip-
tografar foi: «Polygraphiae libri sex, Ioannis Trithemii abbatis Peapolitani,
quondam Spanheimensis, ad Maximilianum Ceasarem» , traduzido, "Poligra…a
em seis livros por João Trithemius, abade de Würzburg, anteriormente de
Sponheim, dedicados ao Imperador Maximiliano". Devido a isso o quadro
usado por Alberti …cou conhecido como Qaudrado de Trithemius, (ver[7],[8]).
A Figura1.4 representa o Quadrado de Trithemius.
Figura 1.4
Figura 1.5
7
Assim: POLIGRAFIA torna-se PPNLKWGMQJ
Note que, o primeiro I é cifrado por L e o segundo I por Q. Apenas a
análise de frequência não é su…ciente para quebrar esse tipo de código.
Para decodi…car, basta fazer o deslocamento oposto ao da codi…cação,
como está apresentado na Figura 1.6.
Figura 1.6
Figura 1.7
8
Para cifrar, devemos ter nas mãos o Quadrado de Trithemius. Cada letra
da cifra é obtida pela interseção da linha iniciada pela letra da palavra chave
com a coluna iniciada pela letra do texto.
Na mensagem que estamos codi…cando a primeira letra é obtida pela
interseção da linha que inicia com "P"com a coluna que inicia com "L"que é
a letra "A". A segunda letra é obtida pela interceção da linha que começa com
"R"com a coluna que começa com "E"que é "V".Seguindo esse procedimento
obtemos a cifra ilustrada na …gura 1.8.
Figura 1.8
Figura 1.9
Figura 1.10
9
Apesar de ter sido elaborada por Belaso essa cifra é chamada de Cifra de
Vigenère.
Além desse sistema, Vigenere propôs um esquema chamado cifra de auto
chave, onde a chave era a própria mensagem iniciada por uma letra, chamada
letra primária, previamente combinada entre remetente e receptor. As Fig-
uras 1.11 e 1.12 mostram como …caria a nossa mensagem usando como letra
primária o "S".
Figura 1.11
Figura 1.12
Figura 1.13
Figura 1.14
10
Agora repetimos esse procedimento com o "L"e o "P"para encontrar o
"E", que é a segunda letra da mensagem e a terceira letra da chave. Repeti-
mos o processo até o término da mensagem ilustrado na Figura 1.15.
Figura 1.15
11
Figura 1.17
Assim:
ATACAREMOS AO NASCER DO SOL
torna-se
AEND TMAO AOSS CSCO AAEL RORX
Para decodi…car a mensagem, os blocos são escritos em uma matriz de 6
por 4, cuja transposta é a mensagem original.
12
Figura 1.18
CHEGAREI SÁBADO,
teríamos:
C=AF,H=DF,E=AX,G=DD,A=AA,R=GD,E=AX,I=DG,
S=GF,A=AA,B=AD,A=AA,D=AG,O=FG
que, agrupado, …ca
AFDFAXDDAAGDAXDGGFAAADAAAGFG
Figura 1.19
13
Figura 1.20
O código ADFGX, por sua vez, deu origem a outro, o ADFGVX, que
incluía os algarismos de 0 a 9 e foi utilizado pelo exército alemão no …nal
primeira guerra mundial.
Embora o número de grupamentos nos dão a quantidade de letras da
palavra chave, esse código foi difícil de ser quebrado, feito realizado por
Georges-Jean Painvin sem o auxílio de computadores. Estes são capazes de
realizar várias simulações por segundo, podendo "quebrar"a mensagem pelo
que é chamado "força bruta"que signi…ca testar todos os casos.
Mas se o método da "força bruta"pode "quebrar códigos"e decodi…car
mensagens, surge a necessidade de criar uma maneira de codi…cação que
mesmo os computadores não possam decifrar.
Um método usado atualmente que vem conseguindo realizar essa proeza
é o RSA. Para apresentá-lo vamos revisar alguns conceitos de Teoria dos
Números que servem como base para o mesmo.
14
Capítulo 2
Números Inteiros
15
2.1.1 Elemento mínimo de um conjunto de inteiros
De…nição 2.1. Seja A um conjunto de inteiros. Chama-se elemento mín-
imo de A um elemento de A tal que a x para todo x 2 A.
Notação: minA; se lê: mínimo de A.
Teorema 2.2. Se a é elemento mínimo de A, então esse elemento é único.
Demonstração: Com efeito, se existisse um outro elemento mínimo b de A,
teríamos: a b, porque a = minA e b a, porque b = minA o que implica
em a = b.
S = fm 2 N; a + m 2 V g;
16
que veri…ca trivialmente a + S V:Como, pela primeira condição, temos que
a + 0 = a 2 V , segue que 0 2 [Link] outro lado, se m 2 S; então a + m 2 V;
e por (ii), temos que a + m + 1 2 V; logo m + 1 2 S: Assim, pelo Axioma de
Indução, temos S = N. Portanto,
fm 2 N; m ag = a + N V;
Teorema 2.4. Sendo N o conjunto dos números inteiros positivos todo sub-
conjunto não vazio de N possui um menor elemento.
In = fk 2 N; k ng;
p(n) : In T:
In+1 = In [ fn + 1g T;
17
2.2 Fatores e Números Primos
Nesta seção apresentamos algumas propriedades relativas à divisão de números
inteiros, os números primos e teoremas envolvendo números primos e divisibil-
idade. Citamos, também, algumas fórmulas de obtenção de números primos
e o Método de Fatoração de Fermat.
b c = (a d) (a f ) = a(d f)
bc = (a d) c = a (d c):
Portanto, ajbc:
18
v) Vamos considerar o caso (b + c). Como ajb e aj(b + c);então,
por de…nição, existem d e f 2 Z tais que b = a d e (b+c) = a f: Substituindo
b na segunda igualdade, temos:
b + c = (a d) + c = a f:
Subtraindo a d de ambos os lados da igualdade temos:
c=a f a d = a(f d);
o que mostra que ajc.
19
Exemplo 2.1. Na expressão 17 = 3 5 + 2 temos que na divisão de 17 por
5 o quociente q = 3 e o resto r = 2:
20
Sendo n = ax0 + by0 , de (ii) e (iii), n = dq1 x0 + dq2 y0 : Isolamos d e temos
n = d(q1 x0 + q2 y0 ); donde concluímos que djn: Do fato n ser divisor comum
de a e b e d = mdc(a; b); vem n d e de djn temos d n, logo d = n;
consequentemente d = ax0 + by0 :
a r + b s = 1.
1 = ax + py
Corolário 2.14. Se p é um primo tal que pjp1 pn , então pjpi para algum
i = 1; :::::; n:
21
menos um dos fatores (hipótese de indução). Pela proposição..., se pjp1 pn ,
então pjpn ou pjp1 pn 1 . Se pjpn , a proposição está demonstrada, e se,
ao invés, pjp1 pn 1 , então a hipótese de indução assegura que pjpk , com
1 < k < n 1. Em qualquer dos casos, p divide um dos inteiros p1 ; p2 ; :::; pn .
n = p1 p2 pr q1 q 2 qs :
p2 p r = q2 qs
22
Demonstração: Consideremos que a quantidade de números primos seja
…nita e P = fp1 ; p2 ; p3 ; ; pn g o conjunto de todos os primos. Seja R =
p1 p2 p3 pn + 1; notemos que R é maior que qualquer pi 2 P e nenhum el-
emento de P é fator de R: Como, pelo Teorema Fundamental da Aritmética,
ou R é primo ou possui algum fator primo, isto implica na existência de um
primo que não pertence P . Portanto P não pode ser um conjunto …nito.
173 = 86 2 + 1 resto 1
173 = 57 3 + 2 resto 2
173 = 34 5 + 3 resto 3
173 = 24 7 + 5 resto 5
173 = 15 11 + 8 resto 8
173 = 13 13 + 4 resto 4
Logo, 173 é primo.
Esta proposição diminui a quantidade de cálculos necessário para deter-
minar se um número dado é primo. Mesmo assim o processo é pouco prático
e demorado. Por isso o método RSA baseia sua segurança no processo de
fatoração de números extremamente grandes. pois sua chave pública é for-
mada por um número composto n que é produto de primos p e q com mais
23
de 60 algarismos cada. Fatorar um número como esse, usando testes de di-
visibilidade toma muito tempo, questão de anos para os computadores mais
avançados.
24
Algorítmo de Fermat
A proposição 2.19 nos permite descrever um algorítmo,pque é muito e…ciente
nos casos em que n tem um fator primo próximo de n. A ideia é tentar
achar números inteiros positivos x e y tais que n = x2 y 2 . Caso estes
números sejam encontrados, temos que:
n = x2 y 2 = (x + y) (x y):
Tabela 2:1
25
Essa maneira de encontrar fatores de um númerop inteiro n é prática
quando, pelo menos um deles estiver próximo de n:Também não é muito
útil para números inteiros muito grandes. Uma saída para agilizar a fatoração
de números, seria encontrar uma fórmula simples que fornecesse todos os
números primos.
Ainda não existe uma fórmula aritmética simples e e…caz que forneça
somente primos. As seções seguintes fornecem algumas fórmulas, elaboradas
por grandes matemáticos, que geram uma certa quantidade deles.
são primos.
Para n = 0; 1; 2; 3; 4 os números:
0
F0 = 22 + 1 = 3
F1 = 22 + 1 = 5
2
F2 = 22 + 1 = 17
3
F3 = 22 + 1 = 257
4
F4 = 22 + 1 = 65:537
26
porque cada novo trabalho inspirava-o para criar uma Matemática nova e
engenhosa. Era capaz de escrever vários trabalhos em um único dia com os
cálculos completos e prontos para serem publicados, (ver[3][8]).
Em 1772 Euler descobriu um polinômio tendo uma longa sucessão de
valores primos, dado por
F (n) = n2 + n + 41
27
2.3 Congruências
A codi…cação e decodi…cação pelo método RSA é baseada em cálculos que en-
volvem congruências. Nessa parte de nosso estudo veremos algumas de…nições
e proposições a repeito da mesma.
a b(mod m):
i) a a(mod m)
ii) se a b(mod m);então b a(mod m);
iii) se a b(mod m) e b c(mod m), então a c(mod m)
iv) se a b(mod m) e c d(mod m), então a + c b + d(mod m)
v) se a b(mod m) e c d(mod m), então a c b d(mod m)
vi) se a b(mod m);então an bn (mod m):
Demonstração: i) a a(mod m) pois mj(a a) = 0.
ii) Se a b(mod m), pela proposição2.22 que mj(b a) sendo assim,
existe um inteiro x tal que (b a) = xm; por outro lado, existe o inteiro x,
simétrico de x; tal que xm = (b a) = (a b): Donde concluímos que
mj(a b), ou seja b a(mod m):
iii) Se a b(mod m) e b c(mod m);então mj(b a) e mj(c b): Pela
proposição2.6 (iii) mj(b a) + (c b) que equivale a mj(b a + c b), ou
mj( a + c):Portanto a c(mod m):
28
iv) Se a b(mod m) e c d(mod m); então mj(b a) e mj(d c):Pela
proposição2.6 (iii) mj(b a) + (d c) que é o mesmo que mj(b a + d c), ou
mj(b+d a c) ou, ainda, mj((b+d) (a+c)):Portanto a+c b+d(mod m):
v) Se a b(mod m) e c d(mod m); logo mj(b a) e mj(d c):Faça
bd ac = d(b a) + a(d c):Como mjd(b a) + a(d c) concluímos que
mjbd ac; portanto a c b d(mod m):
vi) Usando o Princípio da Indução, temos que para n = 1 é verdadeira.
Supondo que an bn (mod m) como verdadeira, temos, usando a propriedade
(v) a b(mod m) e an bn (mod m), então a an b bn (mod m) =) an+1
bn+1 (mod m):O que mostra que a propriedade é verdadeira.
logo
a b(mod m).
Partindo de a b(mod m): Temos, por (i); c c(mod m). Usando a pro-
priedade (iv) temos a + c b + c(mod m):
29
ou seja
m
a b(mod ).
mdc(c; m)
pela Proposição 2.6 (iii) pjqm ab o que implica em pj1 que é um absurdo
pois 1 < p. Logo, nestas condições , não existe tal b.
A Proposição 2.25 pode ser visualizada nas Tabelas 2.2 e 2.3 nos casos de
m = 7 e m = 6, respectivamente.
30
Tabela 2.2
Tabela 2.3
ap 1
1(mod p):
31
Demonstração: Consideremos os (p 1) primeiros positivos do conjunto
S = fa; 2a; 3a; 4a; :::(p 1)ag. Certamente, nenhum desses (p 1) inteiros é
divisível por p e, além disso, dois quaisquer deles são incongruentes módulo p,
pois, se fosse teríamos r e s tais que: ra sa(mod p); com 1 r s (p
1): Então, o fator comum a poderia ser cancelado, visto que o mdc(a; p) = 1.
Teríamos: r s(mod p), isto é pj(s r) o que é impossível, porque 0 <
s r < p. Assim sendo, dois quaisquer dos (p 1) inteiros a; 2a; 3a; :::; (p 1)a
divididos por p deixam restos distintos e, por conseguinte, cada um desses
p 1 inteiros é congruente módulo p a um único dos inteiros 1; 2; 3; :::; p 1.
Naturalmente numa certa ordem. Multiplicando ordenadamente essas p 1
congruências, teremos:
ou seja:
ap 1
(1 2 3 ::: (p 1) 1 2 3 ::: (p 1)(mod p);
ap 1
1(mod p):
(5 10 15 20 25 30) (5 3 1 6 4 2)(mod 7)
(5 10 15 20 25 30) (1 2 3 4 5 6)(mod 7)
32
isolando 5 nos fatores do primeiro termo
separando os fatores 5
56 ( 2 3 4 5 6) (1 2 3 4 5 6)(mod 7)
56 6! 6!(mod 7):
56 1(mod 7):
5234 510 23+4 (510 )23 54 123 54 54 625(mod 11) 9(mod 11)
33
Exemplo 2.11.
Teorema de Euler
Antes de enunciarmos o Teorema de Euler, vamos considerar o seguinte lema.
34
Teorema 2.31. (Teorema de Euler) Se n é um inteiro positivo e se
mdc(a; n) = 1, então:
(n)
a 1(mod n):
Demonstração: A proposição é verdadeira para n = 1, pois a (1) 1(mod 1).
Suponhamos, pois, n > 1, e sejam a1 ; a2 ; :::; a (n) os inteiros positivos menores
que n e relativamente primos a n. Como o mdc(a; n) = 1, então, pelo Lema
2.30, os inteiros a:a1 ; a:a2 ; :::; a:a (n) são congruentes módulo n aos inteiros
a1 ; a2 ; :::; a (n) , em uma certa ordem:
a:a1 a10 (mod n); a:a2 a20 (mod n); :::; a:a (n) a (n0 ) (mod n)
onde a10 ; a20 ; :::; a (n0 ) denotam os inteiros a1 ; a2 ; :::; a (n) em uma certa ordem.
Multiplicando ordenadamente todas essas (n) congruências, obtemos:
(a:a1 ) (a:a2 ):::::(a:a (n) ) a10 a20 ::: a (n0 ) (mod n)
ou seja,
(n)
a (a1 ; a2 ; :::; a (n) ) a1 ; a2 ; :::; a (n) (mod n).
Cada um dos inteiros a1 ; a2 ; :::; a (n) é coprimo com n, de modo que podem
ser sucessivamente cancelados, o que dá a congruência de Euler:
(n)
a 1(mod n).
35
O Teorema de Euler aplicado em resoluções de congruências lin-
eares A congruência linear a x b(mod m) no caso em que o mdc(a; m) =
1, admite uma única solução módulo m, que se pode facilmente obter usando
o Teorema de Euler. Com efeito, a partir da expressão
a x b(mod m)
obtemos
(m)
a x b a (mod m).
Como mdc(a; m) = 1, podemos cancelar o fator comum a, que resulta em
(m) 1
x b a (mod m):
x 7 (120 + 5) 7 (8 15 + 5) 7 (0 + 5)(mod 8)
x 7 5 35 3(mod 8)
Note que 3 é o valor procurado , pois 5 3 = 15 7(mod 8):
36
Quantas coisas temos?”
Utilizando congruências para resumir o problema, sendo X a quantidade
de coisas procuradas, temos:
8
< X 2(mod 3)
X 3(mod 5)
:
X 2(mod 7)
Uma maneira de resolução para este sistema será mostrada logo após o
seguinte teorema:
Teorema 2.33. Teorema Chinês do Resto(TCR) . (Restrito a duas
congruências com módulos primos entre si). Sejam m e n inteiros positivos
primos entre si. Se a e b são inteiros quaisquer, então o sistema
x a(mod m)
x b(mod n)
sempre tem solução e qualquer uma de suas soluções pode ser escrita na
forma a + m (m0 (b a) + n t); onde t é um inteiro qualquer e m0 é o
inverso de m módulo n.
Demonstração: Considere o sistema
x a(mod m)
x b(mod n)
x0 = a + m k (i)
a+m k b(mod n)
ou ainda
m k (b a)(mod n) (ii)
37
Supondo que m e n sejam primos entre si, temos pela Proposição 2.1.2 que
m é inversível módulo n . Digamos que m0 é o inverso de m módulo n ou
m m0 1(mod n). Multiplicando (ii) por m0, obtemos
k m0 (b a)(mod n)
em outras palavras,
k = m0 (b a) + n t
para algum inteiro t. Substituindo esta expressão para k em (i), vemos que
x0 = a + m (m0 (b a) + n t):
Resumindo, provamos que x0 é uma solução do sistema.
Exemplo 2.15. Determinar o menor número inteiro que dividido por 3 tem
resto 2 e dividido por 7 tem resto 3. Devemos determinar um valor x que
satisfaça o sistema de congruências:
x 2(mod 3)
x 3(mod 7)
Chamando m0 o inverso de 3 módulo 7, temos que m0 = 5, visto que 3 5
15 1(mod 7):Pela fórmula do TCR, temos que x0 é uma solução:
x0 = 2 + 3(5(3 2) + 7t)
x0 = 2 + 15 + 21t
x0 = 17 + 21t
Logo x=17 é a menor solução positiva para o problema dado.
Embora tenha sido usado uma parte restrita do TCR o procedimento us-
ado para encontrarmos uma fórmula para x pode ser estendido para sistemas
com mais de duas congruências.
No momento só nos interessa um caso particular de sistemas, vamos
resolvê-los por substituição e utilizando os Teoremas de Fermat e Euler.
Estudaremos apenas sistemas do tipo:
8
>
> X a1 (mod b1 )
<
X a2 (mod b2 )
>
> :::
:
X an (mod bn )
onde mdc(bi ; bj ) = 1, com i = 1; 2; :::n e j = 1; 2; :::n.
38
Exemplo 2.16. Resolveremos o problema proposto no “Manual Aritmético
do Mestre Sol” 8
< X 2(mod 3)
X 3(mod 5)
:
X 2(mod 7)
pois mdc(3; 5) = 1; mdc(3; 7) = 1 e mdc(5; 7) = 1; temos da primeira equação
que existe um inteiro y tal que: X = 3y + 2: Substituindo na segunda
congruência, temos: 3y + 2 3(mod 5); que implica em 3y 1(mod 5);
donde y 3 (5) 1 33 27 2(mod 5); que signi…ca que existe um
K; inteiro, tal que y = 5K + 2:Agora temos: X = 3(5K + 2) + 2 onde
X = 15K + 8:Substituindo na terceira congruência, temos: 15K + 8
2(mod 7); que implica em 15K 6(mod 7); sendo K 6 1(mod 7)
que signi…ca que existe um U; inteiro, tal que K = 7U + 1: Finalmente:
X = 15(7U + 1) + 8 =) X = 105U + 23: Então X = 23 é a menor solução
positiva para este sistema de congruências.
Tabela 2.4
Ci Li + d(mod 26)
39
onde d é o deslocamento utilizado. Usamos mod 26 por ser este o número de
letras do alfabeto latino.
A tabela 2.5 mostra como codi…car a palavra CODIGO com d = 15.
Tabela 2.5
Assim:
CODIGO por está Cifra de César é RDSXVD
Decodi…cação
Para decodi…car, partimos da fórmula inicial Ci Li +d(mod 26), subtraímos
d de ambos os lados da congruência e teremos:
Li = Ci d(mod 26):
Assim a decodi…cação de RDSXVD com d = 15, …ca:
Tabela 2.6
40
Temos, então:
Ci Li + i 1(mod 26)
Tabela 2.7
Assim:
Decodi…cação
Usando as propriedades das congruências e somando i 1 a ambos os termos
da expressão temos a fórmula de decodi…cação:
Li = Ci i + 1(mod 26)
41
Caso a mensagem cifrada fosse CFWDDZR, teríamos:
Tabela 2.8
Assim, temos:
Ci Li + Ki (mod 26):
42
Tabela 2.9
obtendo
LEITURA por Vigenère AVQFIGR.
Decodi…cação
Neste método a decodi…cação também necessita de uma fase preparatória da
mesmo forma que foi feita na codi…cação. Agora usamos Ci para i ésima
letra cifrada e Ki para a i ésima letra da chave. Na Tabela 2.12, temos a
pré decodi…cação.
43
Tabela 2.12
Li = 26 + Ci Ki (mod 26):
Tabela 2.13
Dessa forma
44
Capítulo 3
45
intencionada, com o equipamento certo, poderia interceptar mensagens e,
agora, com uma agravante: tinha a seu dispor uma poderosa máquina de
calcular com o potencial de decifrar as mensagens criptografadas.
Essa insegurança perdurou até o …nal do século passado, quando Ronald
Rivest, Adi Shamir e Leonard Adleman criaram a RSA, um dos métodos
de criptogra…a mais seguros de todos os tempos, utilizado por governos e
empresas do mundo inteiro.
Fazendo uma retrospectiva, é interessante observar que, desde as cítalas,
usadas pelos gregos, passando pelos demais sistemas criptográ…cos surgidos
posteriormente, havia, entre todos esses mecanismos, como ponto em comum,
uma chave secreta, na qual residiria a segurança na troca de correspondências.
Entretanto, nos tempos atuais, com a Internet, processos semióticos dessa
natureza seriam inviáveis. Por exemplo, no ato de efetuar uma compra via
computador, o usuário teria que receber, da empresa que organiza a página
virtual, cartas con…denciais que o orientassem acerca de como codi…car os
seus dados. Isto tornaria o comércio eletrônico inviável ou muito restrito, pois
como con…ar na segurança de uma operação mediante a emissão de cartas?
A novidade trazida pelo método RSA é que ele con…gura um sistema de
chave pública, ou seja, opera como uma porta de duas chaves diferentes: a
chave A tranca a porta, mas uma chave diferente (B) a destranca. Então, a
chave A não precisa ser secreta, e a distribuição de cópias dela não comprom-
ete a segurança. Na hipótese de esta porta guardar a entrada da seção segura
da página virtual de uma empresa, esta poderia distribuir livremente a chave
A para qualquer visitante virtual que quisesse enviar uma mensagem segura,
como, por exemplo, o número do cartão de crédito. Embora todos possam
codi…car seus dados usando a mesma chave, ninguém pode ler as mensagens
codi…cadas dos outros.
A chave A é composta por um par de números (n; e), no qual “n” é o
produto de dois números primos muito grandes, e “e”não tem fator comum
com “n”; a chave B é um número “d”, que aprenderemos a encontrar no
decorrer do processo.
A segurança deste método tem suas bases na teoria dos números e é
garantida pela di…culdade de fatoração dos números inteiros quando estes
são muito grandes. Lembremos que, de acordo com o que se estuda no
Ensino Fundamental, fatorar um número é escrevê-lo como um produto de
números primos. Por exemplo: 10 = 2 5 e 42 = 2 3 7. É claro que fatorar
números pequenos é fácil, mas, à medida que eles aumentam, a fatoração vai-
se tornando uma tarefa demorada, visto que não há uma fórmula especí…ca
para fazê-la diretamente.
O processo manual para fatorar um número “n”, dividindo o por números
primos até encontrar um divisor, exige uma quantidade de tentativas que en-
46
p
volvem os primos “p” de 2 até “p n”. Os números utilizados pelo RSA
são números com mais de 200 algarismos. Como o processo de fatoração com
o uso de computador segue, praticamente, o mesmo princípio do processo
manual –tentativas de divisão –, e os números usados são muito grandes, se-
riam necessários alguns anos de cálculo para o melhor computador do mundo
fatorar um desses números, o que torna o esforço de fazê-lo uma tarefa im-
praticável.
Obviamente, para trabalharmos um exemplo de como criptografar usando
o RSA, não poderemos usar um número absurdamente grande. Então, vamos
utilizar números que podemos manusear com calculadora de bolso.
Pré-Codi…cação
As mensagens enviadas, geralmente, são textos e o método trabalha com
números. Assim, para podermos utilizá-lo cada letra do alfabeto é colocada
em correspondência biunívoca com um número de dois algarismos. Escol-
hemos um número, também de dois algarismos, diferente dos demais para
representar o espaço entre as palavras. Feito isso, a mensagem se transforma
em um número. Para tanto, podemos substituir as letras de acordo com a
Tabela 3.1.
Tabela 3.1
47
Codi…cação
Feita a pré-codi…cação, obtemos uma sequência de números. Separamos este
número em uma sequência em blocos menores, de forma que o número for-
mado por cada bloco seja menor que n. Denotamos esses blocos por bi , onde
i = 1; 2; :::; k.
O bloco codi…cado, que chamaremos de C(bi ); é o resto da divisão bei por
n, ou C(bi ) é a menor solução positiva da congruência:
Decodi…cação
Para decodi…car a mensagem precisamos encontrar uma relação, ora chamada
D(xi ), tal que D(xi ) bi (mod n). Para tanto, recordemos alguns conceitos
já estudados.
Sendo bi um inteiro , relativamente primo com n, o Teorema de Euler nos
diz que:
(n)
bi 1(mod n) (ii)
48
e
t (n)+1
bi bed
i (bei )d (C(bi ))d (C(bi ))d xdi (mod n).
Portanto
D(xi ) xdi (mod n)
Observe que D(xi ) é a relação inversa de C(bi ):
Pré Codi…cação
Como dito anteriormente as mensagens, geralmente, são textos devemos,
então, achar uma maneira de converter a mensagem em uma sequência de
números.
Faremos isso, desconsiderando o acento agudo, de acordo com a Tabela
3.1, segundo a qual:
SAIA JÁ
torna-se
29111911552011.
Agora quebramos o grande bloco, formado inicialmente, em blocos menores
que n: Para escolher os blocos em que vamos dividir a mensagem devemos
tomar alguns cuidados. Como já foi dito: nenhum bloco deve ser maior que
n e, também, não devemos iniciar um bloco com zero. A explicação para
essa condição será dada após a codi…cação e decodi…cação da mensagem na
qual estamos trabalhando. A mensagem atual pode ser quebrada assim:
49
Codi…cação A partir dos blocos
Tabela 3.2
onde xi = C(bi ):
Uma observação importante a ser feita é que não podemos agrupar nova-
mente os números formando um só bloco, pois a decodi…cação da mensagem
está vinculada a cada resto, se eles forem agrupados haveria confusão. Por
exemplo três blocos que originalmente seriam 12 32 25; agrupados, for-
mariam o número 123225 que poderia ser interpretado pelos blocos 132 225
que também são restos possíveis para n = 253:
50
Decodi…cação Agora vamos decodi…car um bloco da mensagem cod-
i…cada. Veremos de que forma, possuindo a mensagem codi…cada e a chave
secreta, podemos reconstruir a mensagem original.
A informação necessária para decodi…car consiste de dois números: n e o
inverso d > 0 de 3 módulo (p 1)(q 1), onde q e p são os únicos fatores
primos de n. Neste caso: p = 11 e q = 23, visto que 11 23 = 253:
Isto signi…ca que devemos ter;
3 d 1(mod(p 1)(q 1))
3 d 1(mod(11 1) (23 1))
3 d 1(mod 220)
aplicando o resultado
((p 1)(q 1)) 1
d e (mod(p 1)(q 1))
temos
(220) 1
d 3 (mod 220).
Como (220) = (10) (22) = 4 10 = 40, segue que.
d 340 1
339 147(mod 220)
De (i), temos:
101147 2147 (mod 11).
51
Pelo teorema de Fermat
210 1(mod 11):
Como
147 = 10 14 + 7
segue que
X 7(mod 11)
X 6(mod 23).
X = 11Y + 7.
Y = 23K + 2.
52
Voltamos à primeira equação e substituímos o valor de Y
X = 11(23K + 2) + 7 =) X = 253K + 29
D(x2 ) = D(166)
Calculamos 166147 módulo 11 e 166147 módulo 23 que são os primos em
que n se fatora. Inicialmente, temos:
166 1(mod 11) (i)
166 5(mod 23) (ii).
De (i), temos:
166147 1147 1(mod 11) (1)
Da equação (ii):
166147 5147 (mod 23).
Pelo teorema de Fermat
522 1(mod 23)
Como
147 = 22 6 + 15
segue que
X = 11Y + 1
53
logo, existe K 2 Z, tal que:
Y = 23K + 10
onde 111 é a menor solução positiva para o sistema e também o bloco inicial
procurado.
D(x3 ) = D(137)
Calculamos 137147 módulo 11 e 137147 módulo 23 que são os primos em
que n se fatora. Inicialmente, temos:
De (i), temos:
137147 5147 (mod 11).
Pelo teorema de Fermat
510 1(mod 11).
Como
147 = 10 14 + 7
segue que
Da equação (ii):
137147 1147 (mod 23)
segue que
137147 1(mod 23) (2)
Disto, chamando 137147 de X; temos, por(1) e (2):
X 3(mod 11)
X 1(mod 23)
54
Resolvemos este sistema de equações utilizando o algoritmo Chinês dos
Restos: Da primeira equação temos que, existe Y 2 Z, tal que:
X = 11Y + 3.
Y = 23K + 8
X = 11(23K + 8) + 3 =) X = 253K + 91
D(x4 ) = D(221)
Calculamos 221147 módulo 11 e 221147 módulo 23 que são os primos em
que n se fatora. Inicialmente, temos:
De (i), temos:
221147 1147 1(mod 11) (1)
Da equação (ii):
221147 14147 (mod 23)
ou, sendo 14 9(mod 23) e 9147 = 3294
55
Disto, chamando 221147 de X; temos, por(1) e (2):
X 1(mod 11)
X 6(mod 23)
X = 11Y + 1.
Y = 23K + 14
onde 155 é a menor solução positiva para o sistema e também o bloco inicial
procurado.
D(x5 ) = D(60)
Calculamos 60147 módulo 11 e 60147 módulo 23 que são os primos em que
n se fatora. Inicialmente, temos:
De (i), temos:
60147 5147 (mod 11).
Pelo teorema de Fermat
510 1(mod 11).
Como
147 = 10 14 + 7
segue que
56
Da equação (ii), resulta:
60147 14147 (mod 23)
sendo 14 9(mod 23) e 9147 = 3294
60147 3294 (mod 23).
Pelo teorema de Fermat
322 1(mod 23).
Como
294 = 22 13 + 8
segue que
60147 322 13+8 (113 38 ) 38 6(mod 23) (2)
Disto, chamando 101147 de X; temos, por(1) e (2):
X 3(mod 11)
X 6(mod 23)
D(x6 ) = D(1)
Calculamos:
1147 = 1 1(mod 253)
onde 1 é a menor solução positiva para o sistema e também o bloco inicial
procurado.
A Tabela 3.4 resume os resultados da decodi…cação
57
Tabela 3.4
Tabela 3.5
A pré-codi…cação seria:
:::22103055302[Link]
codi…cada com e = 3;
58
quando agrupamos novamente, temos:
:::221305532[Link]
MD? W?O...
59
Capítulo 4
Sugestão de Atividade
60
cada valor da mensagem. Podemos fazer isso com o auxílio de uma tabela,
Tabela 4.2.
Para decodi…car, encontramos a função inversa da função usada para
codi…car e calculamos o valor da mesma em cada valor da cifra (Tabela 4.3).
A sequência dos valores da imagem relativos aos valores do código deve ser
a sequência numérica da mensagem original. Isto feito trocamos os números
pelas letras correspondentes da Tabela 4.1.
Tema:
Criptogra…a e uso de Relação Inversa
Objetivo geral:
Aplicar o conceito de função inversa.
Objetivos especí…cos:
- Calcular o valor de uma função em um ponto dado;
- De…nir a função inversa de uma função dada;
- Utilizar uma função e sua inversa como recurso para troca de mensagens
criptografadas.
Conteúdo:
- Função inversa;
- Criptogra…a.
61
Desenvolvimento do tema:Criptogra…a e uso da função inversa
A arte de usar símbolos diferenciados para representar mensagens é quase
tão antiga quanto a própria escrita. Atualmente, esse procedimento recebe o
nome de criptogra…a, termo cuja origem vem do grego kryptós (escondido)
e gráphein (escrita). De modo geral, essa técnica pode ser entendida como
o ato de aplicar um determinado código a …m de manter secreto o conteúdo
de certas informações.
O processo de codi…car e decifrar uma mensagem pode ser entendido como
uma transformação. E é justamente a palavra transformação, de um ponto
de vista intuitivo, que caracteriza o estudo das funções.
Do ponto de vista matemático, veremos a aplicação de uma função –para
cifrar uma mensagem – e sua inversa – para decifrar a mensagem cifrada.
Para tanto é necessário que a função escolhida, seja uma função bijetora,
uma vez que somente estas possibilitam a construção de funções inversas.
Utilizando números e deslocamento podemos criar uma maneira própria
de codi…cação e decodi…cação de mensagens.
Inicialmente faremos algo chamado pré-codi…cação, que consiste em asso-
ciar a cada letra do alfabeto um número, de preferência de dois algarismos,
como mostra a Tabela 4.1.
Tabela 4.1
O LAPIS
que …ca
25 55 22 11 26 19 29
62
y = 2x 3;
esta relação é a chave de codi…cação pois com ela codi…camos a mensagem.
Com essa chave a mensagem O LAPIS é codi…cada da seguinte forma:
Tabela 4.2
63
Exercícios
1) Considerando que cada uma das sentenças a seguir é a lei de associação de
uma função bijetora, obtenha a lei de associação da inversa de cada função.
a) y = 3x 5
b) y = 3x4 2
c) y = 3x
x+1
2
Recursos didáticos:
- Quadro;
- Giz;
- Projetor Multimídia.
Avaliação:
A avaliação será feita mediante relatório de aula, participação nas atividades
e apresentação da resolução dos exercícios.
64
Conclusão
65
Convém ressaltar que o método RSA tem uma importância signi…cativa
para a matemática, pois deu uma nova dimensão à Teoria dos Números, que
possuía, antes dele , pouca aplicação prática, mostrando que em matemática,
em alguns casos, podemos ter a solução antes mesmo do problema.
Embora apresente uma série de possibilidades, a criptogra…a é pouco
explorada em atividades escolares, geralmente aparece como desa…os. Isso
é justi…cável pela sua natureza instigadora que desperta a curiosidade do
aluno. Então por que não explorá-la mais?
Mostramos neste trabalho que isto é possível, sem que seja necessário o
uso de cálculos mirabolantes que desestimulam nosso educando. O exemplo
sugerido pode ser aplicado sem que seja necessário abrir um espaço no cur-
rículo só para tratar de criptogra…a, podemos utilizá-la no estudo de funções,
como sugerido, além de matrizes, probabilidade, estatística, propriedade das
potências entre outros.
Devido ao tempo em que foi elaborado, férias escolares, não temos resul-
tado de aplicação em sala de aula. Distribuímos e discutimos as questões
com alguns professores que se mostraram otimistas em relação aos resulta-
dos que podem ser obtidos, tais como: um interesse maior pela disciplina e
esclarecimentos sobre a aplicação da mesma
Como a criptogra…a está atrelada à tecnologia e é cada vez maior o número
de estudantes que tem acesso a ela, boa parte de nossos alunos já possuem,
celulares, smartphones ou tablets, é justi…cável que devam também ter acesso
ao modo como suas mensagens são protegidas.
66
Referências Bibliográ…cas
67