Você está na página 1de 31

Alessandro André de Sousa

Criptografia RSA

Curitiba
2018
Alessandro André de Sousa

Criptografia RSA

Trabalho de conclusão de curso, com objetivo


de aprovação para o título de graduado em
Licenciatura em Matemática, na Instituição
Pontifícia Universidade Católica do Paraná.

Pontifícia Universidade Católica do Parará


Curso de Licenciatura em Matemática

Orientador: AINDA NÃO TENHO


Coorientador: AINDA NÃO TENHO

Curitiba
2018
Alessandro André de Sousa
Criptografia RSA/ Alessandro André de Sousa. – Curitiba, 2018-
30 p. : il. (algumas color.) ; 30 cm.

Orientador: AINDA NÃO TENHO

Trabalho de COnclusão de Curso – Pontifícia Universidade Católica do Parará


Curso de Licenciatura em Matemática
, 2018.
1. Palavra-chave1. 2. Palavra-chave2. 2. Palavra-chave3. I. Orientador. II. Univer-
sidade xxx. III. Faculdade de xxx. IV. Título
Errata

Elemento opcional da ??, 4.2.1.2). Exemplo:

FERRIGNO, C. R. A. Tratamento de neoplasias ósseas apendiculares com


reimplantação de enxerto ósseo autólogo autoclavado associado ao plasma rico
em plaquetas: estudo crítico na cirurgia de preservação de membro em cães. 2011. 128 f.
Tese (Livre-Docência) - Faculdade de Medicina Veterinária e Zootecnia, Universidade de
São Paulo, São Paulo, 2011.

Folha Linha Onde se lê Leia-se


1 10 auto-conclavo autoconclavo
Alessandro André de Sousa

Criptografia RSA

Trabalho de conclusão de curso, com objetivo


de aprovação para o título de graduado em
Licenciatura em Matemática, na Instituição
Pontifícia Universidade Católica do Paraná.

Trabalho aprovado. Curitiba, 19 de agosto de 2018:

AINDA NÃO TENHO


Orientador

Professor
Convidado 1

Professor
Convidado 2

Curitiba
2018
Este trabalho é dedicado às crianças adultas que,
quando pequenas, sonharam em se tornar cientistas.
Agradecimentos

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis
egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna
fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est,
iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum.
Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur
auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan
eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
A cobra vai fumar
(FEB, 1944)
Resumo
Segundo a ??, 3.1-3.2), o resumo deve ressaltar o objetivo, o método, os resultados e
as conclusões do documento. A ordem e a extensão destes itens dependem do tipo
de resumo (informativo ou indicativo) e do tratamento que cada item recebe no
documento original. O resumo deve ser precedido da referência do documento, com
exceção do resumo inserido no próprio documento. (. . . ) As palavras-chave devem
figurar logo abaixo do resumo, antecedidas da expressão Palavras-chave:, separadas
entre si por ponto e finalizadas também por ponto.

Palavras-chave: latex. abntex. editoração de texto.


Abstract
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu
libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu
neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus
vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.
Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel
leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar
at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis
nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet
orci dignissim rutrum.

Keywords: latex. abntex. text editoration.


Lista de ilustrações

Figura 1 – Frequência das Letras na L.P. . . . . . . . . . . . . . . . . . . . . . . . 18


Figura 2 – Cifra Vigenère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figura 3 – Máquina Enigma D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 4 – Combinações das trocas de letras . . . . . . . . . . . . . . . . . . . . . 20
Figura 5 – Rotores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 6 – Esquema dos Rotores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 7 – Divisão Euclidiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Lista de tabelas

Tabela 1 – Criptografia ROT13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


Tabela 2 – Mensagem Criptografada . . . . . . . . . . . . . . . . . . . . . . . . . 17
Tabela 3 – Combinações dos Rotores . . . . . . . . . . . . . . . . . . . . . . . . . 22
Tabela 4 – algoritmo mdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Tabela 5 – Resto da Divisão por 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Lista de abreviaturas e siglas

ABNT Associação Brasileira de Normas Técnicas

abnTeX ABsurdas Normas para TeX


Lista de símbolos

Γ Letra grega Gama

Λ Lambda

ζ Letra grega minúscula zeta

∈ Pertence
Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 HISTÓRIA DA CRIPTOGRAFIA . . . . . . . . . . . . . . . . . . . . . 16
2.1 CIFRA DE VIGENÈRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 A MÁQUINA ENIGMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 DESVENDANDO A ENIGMA . . . . . . . . . . . . . . . . . . . . . . . . 22
3 HISTÓRIA CRIPTOGRAFIA RSA . . . . . . . . . . . . . . . . . . . . 23
4 DIVISORES E MÚLTIPLOS . . . . . . . . . . . . . . . . . . . . . . . 24
5 ALGORITMO DE DIVISÃO EUCLIDIANO . . . . . . . . . . . . . . . 24
6 MÁXIMO DIVISOR COMUM EUCLIDIANO (MDC) . . . . . . . . . 25
6.1 ALGORÍTIMO MDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7 ALGORITMO ESTENDIDO DIVISÃO EUCLIDIANA . . . . . . . . . 27
8 NÚMEROS PRIMOS E COMPOSTOS . . . . . . . . . . . . . . . . . 28
9 ARITMÉTICA MODULAR . . . . . . . . . . . . . . . . . . . . . . . . 28
9.1 CONGRUÊNCIA MODULAR . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1.1 Propriedades da Congruência Modular . . . . . . . . . . . . . . . . . . . . . 30
9.1.2 Adição e Multiplicação na Congruência Modular . . . . . . . . . . . . . . . . 30
15

1 INTRODUÇÃO
Desde a antiguidade a humanidade tem necessidade de esconder informações rele-
vantes, seja ela de cunho político, social, econômico e entre outras. Os primeiros relatos de
uso de criptografia vêm lá do período entre 100-44 a. C. A indícios de que o general romano
Júlio Cesar tenha usado um código secreto, que tinha o papel de esconder a verdadeira
mensagem da seguinte forma: trocando uma letra do alfabeto por outra. Dessa forma o
general conseguiu se comunicar com o seu exército que estava em guerra espalhado pela
Europa.
Com a evolução das ciências, principalmente a matemática, esses códigos foram
sendo “quebrados” (quebrar um código consiste em conseguir ler sem ser o destinatário),
esse código de Júlio Cesar é facilmente decifrado, pois está sujeito a uma contagem de
frequência, com que cada letra aparece, em determinado idioma.
Por necessidade de comunicação com confidencialidade, começa-se a estudar novos
métodos de criptografias com o passar dos anos, surgindo um duelo entre os criptógrafos e
os criptoanalistas (pessoas que estudar como decifrar o código e ler a mensagem).
Vários métodos de criptografia foram inventados durante os séculos, porem as cifras
polialfabéticas foram as mais utilizadas, ela se parece em muito com a de Júlio Cesar,
todavia ela não faz apenas uma troca de letras e sim varias. Esse método foi a base da
criptografia utilizada pelos alemães durante a segunda guerra mundial, em uma máquina
eletromecânica que foi batizada de Enigma. Na década de 1940 os inimigos da Alemanha
na guerra, juntaram esforços para quebrar o código usados por eles, e assim obter vantagem
na guerra, então que surge um matemático britânico chamado Alan Turing que consegue
finalmente decifrar os códigos.
Já se falou que a Primeira Guerra Mundial foi a guerra dos químicos, devido ao
emprego, pela primeira vez, do gás mostarda e do cloro, que a Segunda Guerra Mundial
foi a guerra dos físicos devido à bomba atômica. De modo semelhante se fala que uma
Terceira Guerra Mundial seria a guerra dos matemáticos, pois os matemáticos terão o
controle sobre a próxima grande arma de guerra, a informação. Os matemáticos têm sido
responsáveis pelo desenvolvimento dos códigos usados atualmente para a proteção das
informações militares. E não nos surpreende que os matemáticos também estejam na linha
de frente da batalha para tentar decifrar esses códigos.(SINGH, 2007, p.13)
Na atualidade a matemática vem tendo papel fundamental no sistema de criptografa,
e os criptógrafos vem se mantendo a frente da disputa com os criptoanalista. Com a
descoberta de como decifrar o código usado pelos nazistas, os matemáticos foram em
buscas de novos métodos, até que na década de 1970 surge a criptografia mais utilizada
em todo o mundo na atualidade a RSA.
A criptografia RSA é utilizada nos meios que exigem forte segurança, por exemplo,
um banco que faz transações de milhões de reais por dia, em trocas de informações
16

confidencias entre autoridades, no sistema militar. Ela baseia-se em uma área da matemática
que chamamos de teoria dos números e tem sua fundamentação em uma área muito
especifica deste ramo, que é o estudo dos números primos.
Os números primos são aqueles positivos e que só podem ser divididos por 1 e
por ele mesmo, apesar de muito esforço de vários matemáticos em encontrar uma forma
de verificar se um numero é primo de maneira rápida e eficaz, isso ainda não é possível,
essa verificação ainda é feita executando a divisão do suposto primo por todos os outros
números menores que ele até 1, se contatarmos que ele só é difícil por 1 e ele mesmo, então
ele é primo. Porem esse é o grande problema, quando pegamos um número suficientemente
grande demoramos muito tempo para descobrir se ele realmente é um número primos. Por
exemplo, recentemente foi descoberto um número primo que tem aproximadamente 22
milhões de dígitos, que pode ser obtido resolvendo a potência 274207281−1 , para isso foi
usado um computador de última geração que ficou ligado durante 31 dias ininterruptos
executando os cálculos citado acima, esse número ganhou o nome de M74207281, e se fosse
para ser impresso em folha de papel, gastaria mais de 5000.

2 HISTÓRIA DA CRIPTOGRAFIA
A estenografia é a “mãe” da criptografia, na antiguidade essa técnica era utilizada
para enviar mensagem sem que os inimigos pudessem descobri-la, essa consiste em esconder
a mensagem propriamente dita, porém, se fosse encontrada esta poderia ser lida. Diferente
da criptografia, que não se preocupa em esconde-la, e sim, escrevê-la de algum modo que
mesmo que o inimigo a intercepte, não poderá ler. A relatos no livro “as histórias” que
Histaeu levou uma mensagem para os persas, para isso ele raspou o cabelo e escreveu a
mensagem em seu couro cabelo e depois deixou crescer novamente, assim pode entrar no
reino persa sem problemas e transmitir mensagens.
Porem esse método de estenografia tinha muitos problemas práticos, eles demoravam
muito, observe o caso supracitado, há uma diferença de tempo grande para cortar e esperar
crescer novamente o cabelo, assim talvez quando a mensagem chegar ao destinatário ela
não tenha mais validade, além disso se a mensagem for descoberta ela pode ser lida por
qualquer pessoa.
Por esses problemas práticos surge então a criptografia, que ao invés de esconder a
mensagem ela torna inelegível para as pessoas que não são os destinatários. Com a criação
da criptografia surge também outra ciência chamada de criptoanálise, que busca descobrir
o que está escrito nas mensagens criptografadas.
Uma das primeiras criptografias vista na história, vem do imperador romano Júlio
César, que viveu entre os anos 100-44 a.C., há relatos que ele tenha usado uma técnica de
criptografia que hoje chamamos “Cifra de substituição monoalfabética”, para se comunicar
com o exército romano em batalha pela Europa.
17

O código de cifras consiste em trocar uma trocar uma letra do alfabeto por outra,
por exemplo, A troca por H, B troca por C e assim por diante. Era comum apenas deslocar
o alfabeto, para direita ou para a esquerda em algumas unidades (tabela 1), no exemplo,
o alfabeto foi deslocado para a esquerda em 13 unidades, desta maneira A passa a receber
o valor N, B o valor O, C o valor P e assim suscetivelmente até completar o alfabeto. Este
exemplo hoje em dia recebe o nome de criptografia ROT13.

Tabela 1 – Criptografia ROT13


A B C D E F ... U V W X Y Z
N O P Q R S ... H I J K L M
Fonte: O autor(2018)

Seguindo o raciocínio descrito acima, vamos criptografar a palavra MATEMATICA


pelo método ROT 13 (TABELA 2).

Tabela 2 – Mensagem Criptografada


Original ROT13
M Z
A N
T G
E R
M Z
A N
T G
I V
C P
A N
Fonte: O autor(2018)

Então a palavra matemática, agora criptográfica fica “ZNGRZNGVPN”. Esse


método de cifra monoalfabetica ficou invulnerável durante décadas, porém os criptoanalistas
nunca pararam de estudar como decifrá-la, e depois de tempos, eles finalmente conseguiram,
devido as suas várias falhas, a principal delas é que há possibilidade de contagem de
frequência, como em todas as línguas existem letras que são mais utilizadas que outras,
por exemplo, na língua portuguesa, a letra que mais aparece é a letra A, analisando
estatisticamente em um texto aleatório com uma quantidade suficiente de palavras, ela
aparece aproximadamente cerca de 14,5 por cento. (figura 1)
18

Figura 1 – Frequência das Letras na L.P.

Fonte: .C. Coutinho, Criptografia. Pg.3 (2018)

2.1 CIFRA DE VIGENÈRE


Depois de muito tempo parecia que os criptoanalistas estavam a frente dos criptó-
grafos, então surge francês Blaise de Vigenère (1523 -1596), aperfeiçoando os estudos de
vários cientistas desta área, desenvolvendo um novo método, coerente e poderoso. Este
ganha o nome de seu criador, cifra de Vigenère, que baseia-se novamente em deslocar o
alfabeto, porém utiliza mais de um deslocamento, na verdade são 26 alfabetos, cada um
altera alfabeto original em uma unidade, conforme figura 2, pagina 25.
Com esse novo método é possível utilizar mais de um alfabeto na criptografia,
por exemplo, podemos utilizar à linha 1, a linha 6 e a linha 25 para cifrar a mensagem
original, por exemplo, a palavra MATEMATICA, ficaria como seguido a lógica citada
anteriormente, a letra M na linha 1 é N, a letra A na linha 6 é G, o T na linha 26 é
S, depois de terminado a sequência dos alfabetos utilizados voltamos para o primeiro
e continuamos à criptografar, então a letra E na linha 1 é F e assim por diante. Após
concluído todos as letras nesta sequência, teremos a mensagem criptografada, neste caso,
NGSFSZUOBB. Então para decifrar surge o problema de saber qual as linhas que foram
utilizadas, para isso os usuários faziam o uso de uma palavra-chave que era a primeira
palavra do texto, por exemplo, se a primeira palavra do texto criptografado fosse não, isso
significava que a sequência de criptografia utilizada foi a qual o alfabeto começa com N,
ou seja, linha 13, a segunda letra A, então 26 e a terceira letra é a O, então é a linha 14,
por fim volta o ciclo e continua o processo de decifrar a mensagem.
19

Figura 2 – Cifra Vigenère

Fonte: SILVA. PAPANI.(2018)

O grande avanço neste método acontece porque ele é imune a contagem de frequên-
cia das letras em seus determinados idiomas, outro ponto interessante é o número de
combinações possíveis, impedindo a viabilidade de testar todas as chaves possíveis por parte
dos criptoanalistas. Com o passar dos anos esse método se difundiu como um dos melhores
métodos utilizado para enviar e receber informações importante que não poderiam ser
lidas por terceiros, com isso ele passou a ser usado em nas guerras para levar informações.
Durante a década de 1920 os alemães criaram uma máquina eletromecânica, auto-
matizada, que utilizava como base a Cifra de Vigenèr, que ficou conhecida como ENIGMA,
logo ela passou a ser a máquina mais usada pelos comerciantes, tendo seu auge na história
durante a segunda guerra mundial, pois era com uma versão da ENIGMA que os exércitos
nazistas trocavam informações.

2.2 A MÁQUINA ENIGMA


Arthur Scherbius (1878–1929), um engenheiro eletrotécnico de nacionalidade alemã,
por acreditar que a criptografia no pais estava atrasada, resolveu inventar uma máquina
eletromecânica de cifras, que anos depois ficou conhecida como a ENIGMA, máquina de
20

cifra utilizada pelos alemães na troca de informação durante a segunda guerra mundial.

Figura 3 – Máquina Enigma D

Fonte: CRYPTO. (2018)

A máquina ENIGMA passou por diversas modificações durante os anos, chegando


na sua versão final chamada de ENIGMA D, constituía-se de 13 terminais de permutação
de letras, fazia a troca de acordo com a configuração, por exemplo, A←→Y,B←→R e
assim por diante, isso já cria um número gigante de ajustes possíveis. Porem a parte mais
importe era os chamados rotores e o refractor.

Figura 4 – Combinações das trocas de letras

Fonte: adaptado de CRYPTO. (2018)

Cada máquina possui em torno de 3 ou 4 rotores (Figura 5), esses rotores, responsá-
veis por cifrar a mensagem. Os rotores eram discos que possuíam 26 terminais elétricos de
entrada e saída. OS terminais de entrada eram numerados de 1 a 26, que representavam
as letras de A até Z, de forma que 1 ←→ A,2 ←→ B,. . . ,26 ←→ Z, a parte interna dos
rotores possuíam um permutador de texto que embaralhava o que era digitado e envia
para os 26 terminais de saída, isso acontecia também nos ostros rotores. Os refractor eram
responsáveis por mandar a informação de volta para os rotores e repetir este processo, isso
garantia que uma letra não seria cifrada nela mesmo. (Figura 6)
21

Figura 5 – Rotores

Fonte: adaptado de sitio Cryptografia 101. (2018)

Figura 6 – Esquema dos Rotores

Fonte: Anchises Moraes. (2018)

A Enigma tornou-se muito segura para troca de informação durante a segunda


guerra mundial por existir inúmeras combinações possíveis, pois era possível ajustar a
posição iniciai do rotor, por exemplo, invés de iniciar o rotor 1 coma letra A, ajudar
com ajustar ele na leta D e assim por diante, podendo fazer nos demais rotores, além
disso existia também as comutações das letras antes deles passarem pelos rotores como
supracitado acima.
Analisando os números, vemos que a cifra utilizada na máquina enigma, conside-
rando as permutações das letras no início e a combinações dos rotores, para obter o maior
número e combinações possíveis teríamos o produto de:
22

Tabela 3 – Combinações dos Rotores


Calculo Total
Ordem dos Rotores 5·4·3 60
Ajustes dos Anéis 26 · 26 676
Posição Inicial dos Rotores 26 · 26 · 26 17576
Total 60 · 676 · 17576 712882560
712882560 · 205552193100000 = 146534573630742336000000

Fonte: CRYPTO. (2018)

Esse número de combinações possíveis da Enigma equivale a uma criptografia de 76


bits. Hoje em dia, os sistemas de segurança simples, como a senha da sua internet wireless,
trabalha em uma configuração de 126 bits ou 256 bits.

2.3 DESVENDANDO A ENIGMA


Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis
egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna
fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est,
iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum.
Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur
auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan
eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem
non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet,
tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi.
Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a
nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus
luctus mauris.
Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt
tristique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque ante.
Phasellus adipiscing semper elit. Proin fermentum massa ac quam. Sed diam turpis,
molestie vitae, placerat a, molestie nec, leo. Maecenas lacinia. Nam ipsum ligula, eleifend
at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend
consequat lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna.
Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam in tellus.
23

Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum
pellentesque felis eu massa.

3 HISTÓRIA CRIPTOGRAFIA RSA


Com o fim da segunda guerra mundial e a descoberta de como quebrar o código da
enigma, inicia-se estudos para desenvolver um novo método.
Por volta da década de 1970 surge a ideia de uma criptografia assimétrica, essa
é diferente de todas as outras que existiam anteriormente, pois ela trabalha com duas
chaves, por isso chama-se assimétrica, uma primeira chave é usada para criptografar e
uma segunda para descriptografar.
A ideia era criar uma função matemática única, capaz de criptografar facilmente e
ser processo inverso seja quase impossível de ser realizado, por exemplo, um cubo mágico
é bem simples de desarrumar, porém é muito difícil de arrumar se você não sabe como o
que foi feito.
Três cientistas americanos tentaram durante tempo encontrar essa função mate-
mática que cumprisse o requisite de ser assimétrica, porém os anos foram se passando e
eles não obtiveram sucesso e resolveram publicar seus estudos para que outros cientistas
pudessem usar como base e tentar resolver o problema.
E em 1977, no Instituto Tecnológico de Massachusetts na Califórnia, o trio de
cientistas Ronald Rivest, Adi Shamir e Leonard Adleman encontraram essa função tão
desejada, capaz de suprir os requisitos. Essa função deu início a uma nova era na criptografia,
surgindo a criptografia RSA, que leva esse nome por ser a inicial de seus criadores.
24

O MÉTODO DE CRIPTOGRAFIA RSA


Antes de estudar propriamente o método RSA, devemos relembrar algumas proprie-
dades matemáticas da área de teoria dos números, que são importantes para compreender
o funcionamento do método.

4 DIVISORES E MÚLTIPLOS
Dizemos que um inteiro b divide a se existe um inteiro c, tal que podemos escrever
a = b · c. Então dizemos também que b é um divisor de a, ou podemos dizer que a é
múltiplo de b.
Propriedades dos múltiplos: sejam a,b,c e d números inteiros:

1. d divide 0.
demonstração: Essa propriedade é trivial, pois 0 = 0 · d. De modo que zero é múltiplo
de todos os números.

2. Se d divide a e b, entao d divide a + b.


demonstração: por hipótese d divide a e b, então podemos escrever a = d · k1 e
b = d · k2 , onde k1 e k2 são inteiros. Portanto a + b = d · k1 + d · k2 , colocando d em
evidencia, temos a + b = d · (k1 + k2 ).
De fato temos que d divide a + b

3. Se d divide a então divide a · c.


demonstração: Por hipótese d divide a, então podemos escrever a = d · k1 , multipli-
cando a expressão por c, obtemos c · a = c · d · k1 , reorganizando a Equação teremos
a · c = d · (c · k1 ).
Logo d divide a · c.

5 ALGORITMO DE DIVISÃO EUCLIDIANO


Algoritmo é um processo que segue sempre as mesmas regras, no caso do algoritmo
de Euclides para divisão, ele busca encontrar um quociente (q) e um resto (r) para uma
divisão.
Supondo dois inteiros a, b desejamos encontrar seu quociente e seu resto, de modo
que possamos escrever essa divisão da seguinte forma:

a = b · q + r, onde 0 ≤ r < b
25

O algoritmo pode ser dividido em três passos, o primeiro se q = 0 entao q = r.


Quando r < b para-se a divisão, pois já temos um resultado para q e r. E por último se
r ≥ b seguimos com a divisão, executando r → r − b e q → q + 1.
Por exemplo, na figura abaixo temos uma divisão de 418 por 35.

Figura 7 – Divisão Euclidiana

Fonte: O autor

Na imagem supracitada aplicando o algoritmo de Euclides encontramos o quociente


q = 11 e o resto r = 33

Teorema 1 (Divisão Euclidiana). Sejam dois inteiros positivo a, b. Existem inteiros únicos
q e r tais que:

a = q · b + r, onde 0 ≤ r < b;

Demonstração 1 (Divisão Euclidiana). Sejam q, q1 , r, r1 tais que:

a = b · q + r, 0 ≤ r < b; (1)

a = b · q 1 + r1 , 0 ≤ r < b; (2)

Subtraindo a Equação1 da Equação2 temos:

r − r1 = b · (q1 − q); (3)

Ora, mas 0 ≤ r, r1 < b e portanto 0 ≤ r − r1 < b. Ou seja

0 ≤ b · (q1 − q) < b; (4)

Como b > 0, temos:


0 ≤ q − q1 < 1; (5)

ou seja,
q − q 1 = 0 → q = q 1 ; r = r1 (6)

Como queríamos demonstrar.

6 MÁXIMO DIVISOR COMUM EUCLIDIANO (MDC)


Definição: O máximo divisor comum entre a e b é um inteiro n, tal que:
26

1. n|a. (lê-se n divide a)

2. n|b.

3. se n1 é divisor de a e b, então n1 |n (em outras palavras, n1 é o máximo divisor de a


eb

Dizemos então que n é o máximo divisor comum de a e b, e denotamos por


n = mdc(a, b), e se o mdc(a, b) = 1 dizemos que a e b são primos entre si.

6.1 ALGORÍTIMO MDC


Sejam dois números inteiros positivos a e b, onde a > b, divide-se a por b, encon-
trando um resto r1 . Se r1 6= 0, dividimos b por r1 , obtendo r2 . Se r2 6= 0, dividimos r1 por
r2 e assim por diante. O último resto diferente de zero é o mdc(a, b). Por exemplo: calcular
mdc(512; 54).

Tabela 4 – algoritmo mdc


512(a) 26(r1 ) 0(r3 )
54(b) 2(r2 )
Fonte: O autor.(2018)

Então no nosso exemplo o mdc(512; 54) = 2

Teorema 2 (mdc). Sejam a e b números inteiros positivos. Se existem inteiros g e s tais


que a = b · g + s, então mdc(a, b) = mdc(b, s).

Demonstração 2 (mdc). sejam:

d1 = mdc(a, b) ; d2 = mdc(b, s) (1)

Afirmamos que d1 ≤ d2 . De fato, d1 é o máximo divisor de a e b. Logo d1 divide a e b e


portanto existem inteiros positivos u e v tais que:

a = d1 · u ; b = d1 · v (2)

Substituindo a e b na equação a = b · g + s obtemos:

s = d1 · (u − v · g) (3)

Ou seja, d1 divide s. Como d1 também divide b, d1 é um divisor comum de b e s. Mas d2 é


o maior divisor de b e s e portanto (por definição) d1 ≤ d2 como queríamos.
Seguindo um argumento semelhante, podemos provar o inverso, ou seja, d2 ≤ d2 .
Então d1 = d2 . # [referencia]
27

Com o teorema mdc podemos demostrar o teorema do resto que prova que o
algoritmo mdc funciona.

Teorema 3 (Teorema do Resto). Dados a e b inteiros positivos, o ultimo resto diferente


de zero da sequência de divisões dada pelo algoritmo euclidiano para a e b e o máximo
divisor comum entre a e b

Demonstração 3 (Teorema do Resto). Do algoritmo de Euclides temos:

a = b · q1 + r1 ; 0 ≤ r1 < b (1)

b = r1 · q2 + r2 ; 0 ≤ r2 < r1 (2)

r1 = r2 · q3 + r3 ; 0 ≤ r3 < r2 (3)
.. ..
. .

rn−2 = rn−1 · qn ; rn = 0 (4)

Do algoritmo podemos concluir que rn−1 divide rn−2 , logo o máximo divisor comum
entre eles é o próprio rn−1 . Então aplicando o TEOREMA MÁXIMO DIVISOR COMUM
EUCLIDES (Teorema 2) sucessivamente temos que mdc(a, b) = rn−1 . # [referencia]

7 ALGORITMO ESTENDIDO DIVISÃO EUCLIDIANA


Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum
ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis
egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna
fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. Integer sapien est,
iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum.
Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur
auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan
eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi auctor lorem
non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et, tellus. Donec aliquet,
tortor sed accumsan bibendum, erat ligula aliquet magna, vitae ornare odio metus a mi.
Morbi ac orci et nisl hendrerit mollis. Suspendisse ut massa. Cras nec ante. Pellentesque a
nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Aliquam tincidunt urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus
luctus mauris.
28

Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, tincidunt
tristique, libero. Vivamus viverra fermentum felis. Donec nonummy pellentesque ante.
Phasellus adipiscing semper elit. Proin fermentum massa ac quam. Sed diam turpis,
molestie vitae, placerat a, molestie nec, leo. Maecenas lacinia. Nam ipsum ligula, eleifend
at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend
consequat lorem. Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna.
Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam in tellus.
Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum
pellentesque felis eu massa.
Quisque ullamcorper placerat ipsum. Cras nibh. Morbi vel justo vitae lacus tincidunt
ultrices. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In hac habitasse platea
dictumst. Integer tempus convallis augue. Etiam facilisis. Nunc elementum fermentum wisi.
Aenean placerat. Ut imperdiet, enim sed gravida sollicitudin, felis odio placerat quam, ac
pulvinar elit purus eget enim. Nunc vitae tortor. Proin tempus nibh sit amet nisl. Vivamus
quis tortor vitae risus porta vehicula.

8 NÚMEROS PRIMOS E COMPOSTOS


Um número p é primo, se e somente se, se p6=1 e os únicos divisores dele for ±1 e
±p. Os primeiros números primos no conjunto dos naturais são então 2,3,5, e se o p não é
primo ele é chamado de composto, por exemplo, o número 30 é composto pois é divisível
por 5. Os números primos levam esse nome por que os gregos o chamavam de primeiros, e
quando foi traduzido para o latim ficou primus.

9 ARITMÉTICA MODULAR
A aritmética modular e a área da matemática que trata de fenômenos periódicos,
ou seja, que se repetem constantemente em um determinado intervalo. Intuitivamente
pode parecer que esses eventos não acontecem constantemente no nosso dia a dia, porem
estamos muito enganados quanto a isso, eles estão constantemente em nossa vida, um
exemplo é nosso calendário, ele é baseado em repetições, são 365 dias em um ano, depois
disse inicia-se novamente a contagem, os dias da semana também funcionam da mesma
maneira.
A soma modular, nós estamos efetuando constantemente durante os dias, sem nem
perceber, quando somamos as horas, por exemplo, se saímos de São Paulo as 21:00 horas
e vamos para Paris na França, sabendo que a viagem dura em torno de 12:00 horas, que
horas chegaremos ao destino? É de senso comum as pessoas responderam as 9:00 horas de
manhã, e isso é um cálculo soma modular, pois e não fosse, teríamos que responder as
33:horas, porem esse horário não existe em um dia.
29

Nossa mente está tão acostumada fazer esses cálculos com as horas que nem sabemos
como ele acontece, na verdade é bem simples, o dia tem 24 horas, ao somar a hora de
saída com o tempo que leva, obtemos 33:00 horas, mas como supracitado o dia só tem 24
horas, e agora? Dividimos por 24 horas e pegamos o resto da divisão, que vai ser a hora
correspondente que a pessoa vai chegar ao destino.
Quando fazemos esse teste com números pequenos parece trivial saber que horas
que a pessoa vai chegar, chagamos até a duvidar que nosso cérebro faz toda essa conta
intuitivamente. Agora vamos supor que um navegador resolve fazer uma volta ao mundo
e levara 518 horas para concluir, sabendo que ela saiu de seu destino as 15:00 horas de
tarde. A que horas ela vai terminar a volta ao mundo? Agora não parece intuitivo saber, e
nosso cérebro já não consegue saber automaticamente qual o horário, e precisamos então
executar as contas:

15 + 518 = 533
533 ÷ 24 = 22 com resto 5

podemos escrever na forma do algoritmo de Euclides:

a=b·q+r
533 = 24 · 22 + 5

agora podemos afirmar que o navegador vai terminar a volta ao mundo as 5 horas da
mana, 22 dias após a sua saída.
A aritmética modular estuda os fenômenos que acontecem nessas situações de
periodicidade quando multiplicamos, dividimos e fazemos outras operações matemática.
Um outro exemplo, importante para o estudo da criptografia é dos restos da divisão
euclidiana que também comportam de maneira periódica, montando uma sequência, de 1
a 9 e sempre dividindo por 3. Obtemos:

Tabela 5 – Resto da Divisão por 3


Numero 1 2 3 4 5 6 7 8 9
Resto 1 2 0 1 2 0 1 2 0
Fonte: O autor. (2018)

Analisando a tabela acima, percebemos a periodicidade nos restos da divisão, o


resto sempre começa com 1, depois 2 e por último resto zero.
Quando dividimos um inteiro por outro, temos o algoritmo de Euclides:

a = b · q + r ;0 ≤ r < b

então podemos concluir por que o resto sera no máximo dois no exemplo acima, pois o
resto segundo a divisão euclidiana deve ser sempre menor que b que nesse caso vale 3,
30

então podemos dizer que o período ou modulo, como é usado normalmente na matemática
dos restos vai ser sempre igual a b, e nesse caso então, temos período igual a 3, pois os
números se repetem de 3 em 3 vezes.

9.1 CONGRUÊNCIA MODULAR


Dizemos que dois números inteiros a e b são congruentes modulo n, se e somente
se, a − b for múltiplo de n, ou seja, que n|a − b (le-se n divide a − b). Outro enunciado
equivalente é: dizemos que dois números inteiros a e b são congruentes modulo n se deixam
o mesmo resto.
Notação:se a for congruente a b modulo n, usamos a seguinte notação:

a ≡ b (mod n)

Exemplo:

5 ≡ 8 (mod 3)

pois o resto da divisão de 5 por 3 é 2 e o resto da divisão de 8 por 3 é 2.


Se a não for congruente a b modulo n, denotamos por:

a 6≡ b (mod 3)

Por exemplo:

4 6≡ 9 (mod 3)

nesse caso temos que 4 não é congruente a 9 modulo 3, pois os dois deixam restos diferentes
para a divisão por 3. ]

9.1.1 Propriedades da Congruência Modular

A congruência modular tem algumas propriedades importantes para nosso estudo.

1. Reflexiva: Todo número é congruente a si mesmo modulo n.


demonstração: alessandro_1

2. Simétrica: Se a ≡ b (mod n) então b ≡ a (mod n).


demonstração: alessandro_2

3. Transitiva: a ≡ b (mod n) e b ≡ c (mod n) então a ≡ c (mod n)


demonstração: alessandro_3

9.1.2 Adição e Multiplicação na Congruência Modular

Você também pode gostar