Você está na página 1de 84

Índice

Dedicatória
Agradecimentos
Resumo.....................................................................................................................................v
Abstract....................................................................................................................................vi
Introdução.................................................................................................................................7
História.....................................................................................................................................9
1 TEORIA DOS NÚMEROS.................................................................................................11
1. 1. Critérios de Divisibilidade..........................................................................................11
1. 1. 1. Números Primos..................................................................................................12
Teorema Fundamental da Aritmética..............................................................................13
1. 1. 2. Algoritmo da Divisão de Euclides......................................................................15
1. 1. 3. Números Primos entre Si.....................................................................................16
Teorema de Euclides.......................................................................................................16
1. 1. 4. Teto e Piso de um Número Real..........................................................................16
1. 1. 5. Fracções Contínuas.............................................................................................17
1. 1. 6. Fracções Contínuas como Boas Aproximações..................................................20
Teorema Dirichlet...........................................................................................................25
1. 2. Aritmética Modular.....................................................................................................26
1. 2. 1. Congruência........................................................................................................26
1. 2. 2. Propriedades de Congruência..............................................................................27
1. 2. 3. Sistema completo de resíduos.............................................................................30
1. 2. 3. Função de Euler...................................................................................................31
1. 2. 4. Propriedades da Função de Euler........................................................................32
Teorema de Euler............................................................................................................34
Pequeno Teorema de Fermat...........................................................................................34
Teorema Chinês dos Restos............................................................................................35
2 FUNDAMENTOS DA CRIPTOGRAFIA E CRIPTOANÁLISE......................................38
2. 1. Criptografia.................................................................................................................38
2. 1. 1. Objectivos............................................................................................................38
2. 1. 2. Terminologias e Conceitos..................................................................................39
2. 1. 3. Classificação dos Sistemas Criptográficos..........................................................40
Esquema de Criptografia Simétrica.................................................................................41
Esquema da Ideia inicial de Criptografia Assimétrica....................................................41
Esquema de Criptografia Assimétrica.............................................................................42
2. 1. 4. Comparação da Criptografia Simétrica e Assimétrica........................................44
2. 1. 5. Algoritmo RSA...................................................................................................45
Funcionalidade de Algoritmo RSA.................................................................................45
Aplicação de RSA...........................................................................................................45
Geração de Chaves..........................................................................................................46
Algoritmo de encriptação e desencriptação....................................................................46
2. 1. 6. Segurança de Algoritmo RSA.............................................................................51
2. 2. Criptoanálise...............................................................................................................52
2. 2. 1. Ataques Criptográficos........................................................................................52
2. 2. 2. Classes de Ataques..............................................................................................53
2. 2. 3. Tipos de Ataques.................................................................................................53
Ataque ao RSA................................................................................................................54
Algoritmo de Factorização de Euclides..........................................................................55
Algoritmo de Factozição de Fermat................................................................................57
Algoritmo de Factorização de Módulo Comum..............................................................59
3 ATAQUE AO EXPOENTE PRIVADO PEQUENO..........................................................62
3. 1. Ataque De Wiener.......................................................................................................62
Teorema de Wiener.........................................................................................................62
3. 1. 1. Cálculo da chave Privada....................................................................................66
3. 1. 2. Factorização de N................................................................................................67
3. 1. 3. Contramedidas ao Ataque de Wiener..................................................................69
3. 2. Extensão do ataque de Wiener....................................................................................73
3. 2. 1. Ataque de Boneh e Durfee..................................................................................73
Conclusão...............................................................................................................................75
Recomendações......................................................................................................................76
Anexos....................................................................................................................................77
Tabela 1 – Tabela de Números primos de 2 à 1000........................................................77
Tabela 2 – Tabela de equivalência de letras de alfabeto em números............................77
Tabela 3 – ASCII completa.............................................................................................78
Referências bibliográfica........................................................................................................80
Dedicatória

Aos nossos pais.


Agradecimentos

Agradecemos:

 A Deus por sempre cuidar do nosso caminho e por proporcionar condições para que
pudéssemos chegar até aqui.

 Aos nossos pais em especial, responsáveis pela nossa formação pessoal e


profissional, que nos deram as melhores oportunidades de estudo e base para
crescermos e alcançar este feito. Agradecemos também a eles e a família no geral
pela compreensão, apoio e incentivo para que nós pudéssemos concluir este curso.

 Aos amigos, colegas pelo companheirismo, pela paciência e por ter nos dado força
nos momentos mais difíceis.

 Ao orientador, Professor Iván Ponomarev por ter aceite nos orientar neste tema
depois de temas como Funções Quase Periódica e Problema de Lehmer.

 Ao professor Walter Tomé por ser o primeiro a corrigir o nosso trabalho e nos ter
fornecidos alguns materiais.
Resumo

A criptografia é o ramo da matemática que estuda os princípios e técnicas para transformar


as informações da sua forma normal para outra ilegível, é também considerada como a arte
de embaralhar mensagens para não ser lida quando não se é destinatário. Os processos pelos
quais as informações são baralhadas e circulam de forma segura entre o remetente e o
destinatário dependem de maneira crucial do uso da matemática. Manter segura a
transmissão de informações é uma tarefa imprescindível no mundo atual, daí, surge a
necessidade de cada vez mais fazer-se o uso da criptografia mais segura, tendo o algoritmo
RSA como o principal criptossistema, que tem como objectivo propiciar a troca segura de
informações entre os intervenientes. Para isso, são necessárias chaves e regras para
transformar o texto original no baralhado. Temos na contramão a criptoanálise, cujo
objectivo é encontrar meios de quebrar e ler as informações sem autorização.

O algoritmo RSA, como qualquer um outro algoritmo criptográfico também é uma aplicação
de teoria dos números, e, é resultado de dois cálculos matemáticos, uma para encriptar
(baralhar) a mensagem e outra para desencriptar (tornar legível) a mensagem. E para ler esta
mensagem temos de factorizar o número conhecida publicamente.

O algoritmo RSA, baseia-se no fato de que, embora seja fácil encontrar dois números primos
de grandes dimensões, conseguir factorizar o produto de tais números, é considerado
computacionalmente complexo se os números forem bem escolhidos. A criptografia é a
técnica que passou silenciosamente a integrar o cotidiano, sem que se perceba, como
exemplo os sistemas de caixas eletrônicos vulgo multicaixas, terminais de pagamentos
automáticos, páginas na internet, sistemas que pedem senha de acesso, etc. todos utilizam a
criptografia como meio de conferir segurança às suas operações.

A escolha do expoente de desencriptação pequeno, serve para reduzir o tempo necessário na


desencriptação de uma mensagem, pode-se optar, usar um valor de pequeno ao invés de um
grande número. Fazendo isto, também alcançasse os objetivos da criptografia, mas o Wiener
mostrou que a escolha de um valor pequeno para , resultará num sistema inseguro no qual o
intruso pode quebrar completamente.
Palavras Chaves: Algoritmo RSA, Fracções Contínuas, Expoente Privado Pequeno.
Abstract

The cryptography is the branch of mathematics that studies the principles and techniques to
transform information from its normal form to another illegible, is aiso considered as the art
of shuffling messages not to be read when it is not intended. The processes by which
information is shuffled and circulated securely between the sender and recipient are crucially
dependent on the use of mathematics. Keeping the transmission of information secure is an
indispensable task in today's world, hence the need to make more secure encryption using
the RSA algorithm as the main cryptosysrem, as aims to provide the secure exchange of
information between stakeholders. For that, keys and rules are needed to turn the original
text into the clutter. We have against cryptoanalysis, whose ai mis to find ways to break and
read the information without authorization.

The RSA algorithm, like any other cryptographic algorithm, is also a number theory
application, and is the result of two mathematical calculations, one for encrypting the
message and the other for decrypting the message. And to read this message we have to
factorize the number known publicly.

The RSA algorithm is based on the fact that although it is easy to find two prime numbers,
to be able to factorize the product of such numbers, it is considered computationally
complex if the numbers are well chosen.

The cryptography is the technique that silently passes into the everyday, without being
noticed, such as ATM systems “multi-dial ATM”, automatic payment terminals, Internet
pages, systems request password, etc. all use encryption as a means of providing security for
their operations.

The choice of the small decryption exponent serves to reduce the time required in decrypt a
message, one may choose to use a small d instead of a large number. In doing so, it also met
the objectives of cryptography, but Wiener showed that choosing a small value for d will
result in an insecure system in which the intruder can break completely.

Keywords: RSA Algorithm, Continued Fractions, Small Secret Exponents


Introdução

No decorrer da nossa formação para licenciatura em Matemática, e sabendo, desde que as


primeiras sociedades foram formadas a comunicação entre os homens tornou-se vital, a arte de
embaralhar mensagens para não ser lida quando não se é destinatário , tem desempenhado um
importante papel em diversas áreas da vida cotidiana , e os processos pelos quais as informações
enviadas eletronicamente são codificadas dependem de maneira crucial do uso da
matemática, sendo assim algumas disciplinas nucleares como as álgebras, teoria dos
números despertaram nosso interesse como seriam aplicadas no nosso dia à dia para
comprometer o sigilo das informações.

A teoria das fracções contínuas é um dos mais belos assuntos da Matemática elementar,
sendo ainda hoje tema de pesquisa, e, atualmente são de grandes interesses em várias áreas
da ciência tais como: em teoria dos números, na ciência da computação, na criptografia, etc.

Manter segura a transmissão de informações, é uma tarefa imprescindível no mundo atual,


daí surge a necessidade de cada vez mais fazer-se o uso da criptografia, tendo o RSA como o
principal e o mais usual criptossistema. A criptografia tem como objetivo propiciar a troca
segura de informações entre um emissor e um receptor, para isso, são necessárias uma chave
e uma regra para transformar o texto original no encriptado. E na contramão da criptografia
está a criptoanálise, cujo objetivo é encontrar meios de quebrar informações sem
necessariamente ser o destinatário.

A criptografia e a criptoanálise tem a mesma história de passos sucessivos, uma autêntica


guerra travada no interior de gabinetes, desde os métodos simples (mecânicos) da época pré-
computadores, aos métodos mais complexos que exploram a capacidade dos computadores
para “baralhar” a informação, até aos métodos que exploram os limites teóricos dos
computadores, com a utilização dos problemas computacionais difíceis, estamos perante um
processo constante em que para um dado avanço na criptografia se segue um avanço na
criptoanálise e vice-versa.
Para que as informações circulem de forma segura entre o remetente e o destinatário houve
necessidade de se criar métodos seguros para encriptação, de forma não permitir que
intrusos interfiram e descodifiquem. E com o avanço das tecnologias dia após dia, nada nos
garante que a chave secreta usada para desencriptação não se pode quebrar. O que constitui
uma lacuna que o presente trabalho propôs a responder.

O algoritmo RSA, baseia-se no facto de que, embora seja fácil encontrar dois números
primos de grandes dimensões, conseguir factorizar o produto de tais dois números, é
considerado computacionalmente complexo.

Parece, portanto, que quaisquer que sejam os métodos de segurança da informação que se
pode prever, é difícil precaver-se de forma total de ataques criptográficos, tudo porque, a
criptoanálise tem acompanhado a evolução da criptografia. Sendo assim é possível
comprometer as informações através de propriedades e relações matemática, mesmo não
sendo o destinatário, desde que na criação das chaves não se escolha números primos muito
grande e distantes entre si.

Com a evolução das ciências, pode-se quebrar a chave privada, aplicando princípios
matemáticos, isto é, factorização de em seus factores primos e , logo, o objectivo do
presente trabalho é mostrar que o fracasso do criptossistema RSA está na forma crucial da
escolha dos primos, demonstramos isto a partir de alguns algoritmos de factorização e por
meio do ataque de Wiener.

Sendo a criptografia e a criptoanálise o resultado da aplicação da teoria dos números, então


no primeiro capítulo abordamos conceitos associados às estruturas algébricas “teoria dos
números”, tais como critérios de divisibilidade e aritmética modular. No segundo capitulo
apresentamos fundamentos da criptografia e da criptoanálise do RSA, tais como seus
objectivos, características dos criptossistemas simétricos e assimétricos, ataques e tipos de
ataques. Já no terceiro capitulo apresentamos o ataque ao expoente privado pequeno (ataque
de Wiener), e suas contramedidas.
Por ter uma aplicação incontornável na sociedade moderna, em Angola a sua divulgação
ainda é quase nula, o presente trabalho visa estimular o interesse e abertura do conhecimento
sobre as matemáticas puras e em específico algumas aplicações da teoria dos números.
História

Desde a antiguidade clássica, e talvez até mesmo antes, o homem sempre teve a necessidade
de comunicar-se de forma segura, fazendo com que a troca de mensagens fossem feitas
somente com pessoas autorizadas, que informações importantes não parassem em mãos de
pessoas mal intencionadas e fazerem mau uso, daí houve a necessidade de se criar formas de
protegerem suas informações, oculta-las e tornando-as impercebíveis a terceiros, de modo
que só pessoas autorizadas possam ter acesso da mesma, dando assim o surgimento da
criptografia. A evolução da criptografia tem como seu maior aliado a guerra, pois ao longo
do seu desenvolvimento ela sempre esteve muitas vezes associada nas práticas militares.
Mas ela nem sempre foi tão robusta “segura” quanto é nos dias de hoje, o surgimento de
ameaças na intercepção de mensagens por parte de espiões motivou bastante o seu
desenvolvimento.

Por volta de 600 anos a.c, os hebreus criaram alguns sistemas criptográficos aquando da
escrita do livro de Jeremias, nomeadamente o Atbash, que consistia numa troca simples
entre as letras do hebraico, por ordem inversa. Em 475 a.C., o general espartano Pasanius,
utilizou o Scytale ou Bastião de Licurgo, aquele que é tido como sendo o primeiro sistema
criptográfico de uso militar. Por volta de 300 anos a.C., surgiu na índia um livro intitulado
Arthasastra, sua autoria atribuída a Kautilya, onde são referidos os primeiros métodos de
criptoanálise. No século I a.C. o imperador Júlio César para se comunicar com os seus
generais, fazia o uso de uma cifra de deslocamento, que consistia na substituição de cada
letra da mensagem original, por outra letra que se encontra três posições depois no alfabeto.

Originalmente descrita no ano de 1553, em seu livro com o título La cifra del. Sig., Giovan
Batista Belaso descreve a cifra de Vigenère, uma cifra de substituição poli-alfabética que usa
uma série de diferentes cifras de César baseadas em letras de uma senha. Nos meados do
século XIX, propriamente no ano de 1863, o criptógrafo prússio Friedrich Wilhelm Kasiski,
publicou um livro de 95 páginas em alemão com o título Die Geheimschriften und die
Dichiffrer-Kunst (Escrita secreta e arte de decifrar, em português), esse foi o primeiro
relato publicado de um procedimento para decifrar cifras de substituição polialfabética,
especialmente a cifra de Vigenère, essa cifra que por mais de 300 anos foi tida como
inquebrável.

Em 1918, a máquina Enigma foi patenteada por Arthur Scherbius, mas os primeiros modelos
(Enigma modelo A) foram exibidos nos congressos da União Postal Universal de 1923 e
1924, um modelo semelhante a máquina de escrever. Três outras versões comerciais lhe
sucederam, e a Enigma-D torna-se o modelo mais divulgado, após suscitar o interesse da
marinha alemã em 1926, que comprou alguns exemplares e adaptou-as ao seu uso, e nesse
mesmo ano essas primeiras máquinas de uso militar passaram a chamar-se Funkschlüssel C.
Em 1928, o exército alemão elaborou a sua própria versão, o famoso Enigma-G, a partir
desse momento o seu uso estende-se a toda a organização militar alemã, e uma parte do
grupo político eleito, os nazistas.

A era da criptografia moderna surge com matemático norte americano Claude Shannom,
conhecido como o pai da teoria da informação, pelos trabalhos que ele fez durante a segunda
guerra mundial sobre segurança das comunicações.

Em 1975, houve um grande avanço, a publicação do projeto DES (Data Encryption


Standard) nos Estados Unidos de América, apresentada pela IBM, a convite do National
Institute of Standards and Technology (NIST) um esforço para desenvolver instalações
seguras de comunicações eletrônicas, para as empresas como bancos e outras grandes
organizações financeiras. O DES que foi oficialmente substituído mais tarde pelo AES
(Advanced Encryption Standard), em 26 de novembro de 2001. E em 1976, um outro
acontecimento importante que mudou fundamentalmente a forma como sistemas de
criptografia funcionavam, com o surgimento da publicação do artigo New Directions in
Cryptography, pelos norte-americanos Whitfield e Diffie (matemático e criptógrafo).

O artigo New Directions in Cryptography, estimulou o desenvolvimento público quase que


imediato de uma nova classe de algoritmos de cifragem, dando assim a origem aos
algoritmos criptográficos assimétrico. Nesta altura, a introdução da idéia de chave pública
foi feita por Diffie e Hellman, a primeira cifra deste tipo é conhecida como código DH. Em
1977, dois cientistas da computação que trabalhavam no Massachussets Institute of
Technology (M.I.T.) uma das melhores universidades americanas, Ronald Rivest e Adi
Shamir foram ajudado pelo matemático Leonard Adleman que validava as idéias dos dois
pelo ponto de vista matemático, os três criaram e registraram a patente do método com as
iniciais dos seus nomes a chamada criptografia de chave pública que ficaria mundialmente
famosa como algoritmo RSA.

Capítulo I

TEORIA DOS NÚMEROS

A criptografia de algoritmo RSA baseia-se em congruências, isto é, uma aplicação de


números primos e aritmética modular, o RSA é o resulta de dois cálculos matemáticos, uma
para cifrar a mensagem e outra para decifrar a mensagem cifrada, e como na contramão
temos a criptoanálise para ler as mensagens cifradas mesmo não estando autorizado, para
isto temos de factorar o número conhecida publicamente, logo, apresentaremos neste
capítulo elementos de teoria dos números que garantem o funcionamento deste
criptossistema.

1. 1. Critérios de Divisibilidade

Definição 1. 1. 1. Sejam onde , diz-se que divide ou é divisor de ,

existe tal que , denota-se por . Como é divisor de , diremos que é


um múltiplo de , e se não divide , denota-se por ∤ .

Teorema 1. 1. 1 ([18], pag. 8). Qualquer número inteiro ímpar maior do que 1 pode ser
escrito como diferença de dois quadrados.

Demonstração

Sejam , e (se primo considera-se ), por hipótese ímpar,

então e também o são, logo, e , com , temos


Teorema 1. 1. 2. Sejam , , se e então .

Demonstração

Como e , então existem e também inteiros, tais que e , somando

as duas equações, temos , e como também é inteiro,

então .

1. 1. 1. Números Primos

Definição 1. 1. 2. Seja , e , diz-se que é um número primo se os


únicos divisores dele são e . Se possuir mais do que estes divisores, então dizemos
que é um número composto.

Teorema 1. 1. 3 ([6], pag. 45). Sejam . Se é primo e , então ou .

Demonstração.

Suponhamos que não seja um divisor de , logo também não será um divisor de .
Como os divisores de são apenas e , então os divisores comuns de e são

apenas . Daí, o , e portanto, existem tais que


(Identidade de Bezout).

Multiplicando na igualdade , temos .


Como e (Por hipótese), então , ou seja, .

Por indução, pode-se demonstrar que, se é primo e divide com ,

então divide pelo menos um dos factores .

Lema 1. 1. 1. Seja um número primo, então para

Demonstração

Sabendo que , multiplicando em ambos os membros da igualdade, temos


logo , mas como , onde , pois,

como é primo, então pelo teorema 1. 1. 3, temos

Teorema 1. 1. 4 ([6], pag. 46) (Fundamental da Aritmética). Seja um número inteiro.

Então é possível expressar como um produto , em que e os

são números primos positivos. Além disso, se , em que

são também números primos positivos, então e cada é igual a um dos

Demonstração

1) Existência da Factorização
Seja um número inteiro, se for primo, então temos um produto com um só factor.
Agora vamos supor que seja composto, por definição tem divisores entre e . Se
é o menor dos divisores de então é primo, pois se não for, existirá divisores de que

também serão divisores de . Designamos por , então temos com primo

e , se for primo está provado, mas se for composto, de forma análoga

concluímos que tem um divisor primo satisfazendo , onde e

Continuando desta forma, obtemos números naturais . Qualquer sucessão


de números naturais não pode decrescer indefinidamente, pelo que, há-de chegar o momento

em que um destes números é primo, designamos , pelo que .

2) Unicidade da Factorização

Suponhamos por absurdo, que pode ser escrito de duas maneiras distintas, como produto

de números primos positivos ou , isto é:

(1.
1)

Como divide , também divide , ou seja . Pelo

teorema 1. 1. 3 divide um dos factores , com . Digamos que ,e

como é primo e seu único divisor primo positivo é ele mesmo, então , portanto, na

igualdade (1. 1), temos .

Repetindo-se este raciocínio, permitirá cancelar um factor do membro esquerdo com um


igual a ele no membro direito, e assim por adiante. Como não se pode obter uma igualdade
do tipo , então e cada factor do membro esquerdo for igual a um
único factor do membro direito.

Definição 1. 1. 3. (Máximo Divisor Comum). Sejam ambos não nulos, diz-se

máximo divisor comum de e de , ao maior número inteiro não negativo do

conjunto dos divisores comuns de e de , denota-se por , tal que

i)

ii) Se tal que e , então

1. 1. 2. Algoritmo da Divisão de Euclides

Seja um número racional irredutível, com , , existem únicos

, tais que

, onde

, onde

, onde

, onde

, onde

, onde

Procedendo-se da mesma forma, obtemos sempre novos quocientes e novos restos, isto é

, onde

O processo deve terminar se , para .


O Algoritmo de Euclides é um método que, de uma forma relativamente rápida, permite-nos
encontrar o máximo divisor comum entre dois números, desconhecendo-se qualquer um dos
seus factores.

Teorema 1. 1. 5 ([17], pag. 34). Sejam , não ambos nulos, a partir do algoritmo da

divisão de Euclides, o será o último resto não nulo. Denota-se por


.

1. 1. 3. Números Primos entre Si

Definição 1. 1. 4. Sejam , ambos não nulos, diz-se e são primos entre si, se o

máximo divisor comum entre eles é igual a , e denota-se por .

Teorema 1. 1. 6 ([4], pag. 63). (Euclides) se e se , então .

Demonstração

Se , com

como , então tal que , e multiplicando por temos

. Portanto, , então .

Teorema 1. 1. 7 ([17], pag. 44). Sejam , ambos não nulos e então

Demonstração
Se , existem , tal que , dividindo ambos os lados por

, temos , então

1. 1. 4. Teto e Piso de um Número Real

Definição 1. 1. 5. Seja , o teto de é o menor dos inteiros maior ou igual a .

Denota-se por .

Definição 1. 1. 6. Seja , o piso de é o maior dos números inteiros menores ou iguais

a . Denota-se por .

Nota: Seja , cumpre-se


1. 1. 5. Fracções Contínuas

Definição 1. 1. 7. Fracção contínua é uma forma importante de representar números reais,


sem necessariamente escolhermos uma base.

Seja , , para , . A fracção contínua que representa o número real


é uma expressão da seguinte forma:

(1.
2)

Onde é um inteiro e os demais números são números inteiros


positivos.
Se os na expressão (1. 2) forem iguais a 1, então a fracção contínua, diz-se
fracção contínua simples, e tem a forma:

(1.
3)

Os são chamados de termos da fracção contínua. Se o número de termos da


fracção contínua representada na expressão (1. 3) for finito, então diz-se que a fracção
contínua simples é uma fração contínua simples finita, e tem a forma:

(1.
4)

A expressão da fracção contínua simples finita é representada por ,e

sabendo , para , , temos

, é o primeiro convergente

, é o segundo convergente

, é o terceiro convergente
, é o n-ésimo convergente (1.
5)

Teorema 1. 1. 8. ([8], pag. 93). Todo número racional pode ser escrito como uma fracção
contínua simples finita.

Demonstração

Sejam , , dividindo por , existem únicos inteiros e tais que

, onde , logo .

Para e , obtemos únicos inteiros e tais que , onde , logo

Para e , obtemos únicos inteiros e tal que , onde , logo

Repete-se este processo até encontrar o último quociente não divisível por , onde

, logo .
Nota-se que os , onde formam uma sucessão decrescente de inteiros positivos,

isto é , o processo deve terminar se , logo .

Como existe um número finito de inteiros positivos que satisfazem as equações, logo
substituindo as igualdade dos processos anteriores, temos

(1.
6)

Uma das razões pelas quais as fracções contínuas são importantes é facto delas serem usadas
para obterem aproximações numéricas de números racionais, cada convergente da fracção

contínua simples finita , é uma melhor aproximação do número racional


que o convergente precedente.

1. 1. 6. Fracções Contínuas como Boas Aproximações

Seja , os numeradores e denominadores de são obtidas através de fórmulas de


recorrência, onde cada termo é uma função dos dois anteriores.

Preposição 1. 1. 1. Sejam , com , . Definimos as sequências

e , por
então

e além disso, , .

Demonstração

Vamos demonstrar por indução em

Para , temos

Para , temos

Para , temos

Para , temos

Seguindo a sequência lógica, esta afirmação é verdadeira para .

Agora vamos provar que esta afirmação também é verdadeira para


Considerando como um único termo, obtemos uma fracção contínua com

termos, .

Agora vamos demonstrar a segunda afirmação

Para , temos

Para , temos

Para , temos

Seguindo a sequência lógica, esta afirmação é verdadeira para .


Agora vamos provar que esta afirmação também é verdadeira para
Corolário 1. 1. 1. Seja uma fracção contínua , para todo inteiro
e . A preposição 1. 1. 1 permite calcular esta fracção contínua, dando

como fórmula exacta para .

Corolário 1. 1. 2. Temos

Demonstração

Teorema 1. 1. 9 ([17], pag. 189). Seja . Se , onde é o


convergente da fracção contínua simples, então

Demonstração
Seja , onde

Pelo Corolário 1. 1. 1, temos

Dividindo ambos membros da igualdade por , temos

Como e para , então

Logo,
Exemplo

Dada a fracção contínua finita simples que representa o número racional ,

podemos observar que cada convergente desta fracção é uma melhor aproximação de .
Isto é:
Corolário 1. 1. 3. Para todo , temos
, então

Demonstração

Dividindo a segunda afirmação da preposição 1. 1. 1 por e aplicando módulo, temos

Como está entre e , e pelo teorema 1. 1. 9, está mais próximo de do que

de .

Portanto,

Como , tem-se que ,


Logo, .

Teorema 1. 1. 10 ([13]) (Dirichlet). Para todo existem infinitos racionais ,

com , tal que .

Portanto, , , , então , para algum .

Corolário 1. 1. 4. Pelo menos uma entre cada duas aproximações consecutivas, tem erro
menor que a metade do inverso do quadrado do denominador, isto é:

ou ,

Portanto, , , , então , para algum .

1. 2. Aritmética Modular

Aritmética modular (chamada também de aritmética do relógio) é um sistema de aritmética


para inteiros, onde os números "voltam para trás" quando atingem um certo valor “módulo”.
No dia a dia nós fazemos cálculos em conjuntos numéricos de tamanho infinito. Mas, como
poderíamos fazer os mesmos cálculos em um conjunto de tamanho finito?

1. 2. 1. Congruência

Definição 1. 2. 1. Sejam , , dizemos que é congruente com módulo ,

denotado por ou , se

Teorema 1. 2. 1 ([4], pag. 117). Dois inteiros e são congruentes módulo se, e
somente se e deixam o mesmo resto quando divididos por .

Demonstração

Suponhamos que , então pela definição , .

Seja o resto da divisão de por , então pelo algoritmo da divisão .

Portanto, , e isto significa que também é o resto da


divisão por , isto é, os inteiros e divididos por deixam o mesmo resto .

Reciprocamente, suponhamos que e divididos por deixam o mesmo resto .

Então, podemos escrever: e , onde , e portanto:

, então .

Definição 1. 2. 2. é inverso modular de , se , onde , e


.

1. 2. 2. Propriedades de Congruência
Teorema 1. 2. 2 ([4], pag. 118). Seja um inteiro positivo fixo ( ) e sejam .
Valem as propriedades:

i) Reflexividade

ii) Se , então Simetria

iii) Se e , então Transitividade

Demonstração

i) Seja , como , então

logo é reflexiva

ii) Sejam tais que , então

logo é simétrica

iii) Sejam tais que e , então

logo é transitiva

Teorema 1. 2. 3 ([4], pag. 120). Seja um inteiro fixo ( ) e sejam , se


e , se cumpre

i)
ii)

Demonstração
i) Sejam ,e

como e , então e

Pelo teorema 1. 1. 2, temos

, logo

ii) Sejam ,e

como e , pela definição 1. 2. 1 temos e

Pelo teorema 1. 1. 2, temos

, logo

Corolário 1. 2. 1. Sejam e , temos

i) se , então
ii) se , então

Teorema 1. 2. 4 ([4], pag. 120). Se e se , então

Demonstração

Se , logo

Como o , existem inteiros e tais que e , onde e são

primos entre si. Portanto, ou , o que implica que


, com o , logo pelo teorema 1. 1. 6 temos , então

Preposição 1. 2. 1. Sejam e , então

i) se , então .

ii) Se então , para alguns

Demonstração

i) Como , existe , tal que


(1.
7)

se então , tal que


(1.
8)

substituindo (1.8) em (1.7) tem-se , então .

ii) Suponhamos que, , então existe tal que


(1.
9)

Como , tem-se , dividindo (1. 9) por ,

temos
então, existem tal que

seja , tal que

logo,

1. 2. 3. Sistema completo de resíduos

Definição 1. 2. 3. Chama-se sistema completo de resíduos módulo todo conjunto

de inteiros tal que um inteiro qualquer é congruente módulo a um

único elemento de . Isto é, dado , existe um único .

Teorema 1. 2. 5 ([4], pag. 122). O conjunto é um sistema completo de


resíduos módulo .

Demonstração

O conjunto tem elementos e, além disso, qualquer que seja o inteiro temos, pelo

algoritmo da divisão: , com . O que implica , e como o resto

só pode assumir os valores , segue-se que o inteiro é congruente módulo


a um único desses inteiros.

Corolário 1. 2. 1. Se é um sistema completo de restos módulo , então os

elementos de são congruentes módulo aos , tomados numa certa ordem.

Demonstração
Se é um inteiro qualquer, então:

, com

, com , o que implica

Lema 1. 2. 1 ([15]). Seja um inteiro positivo, com e , então

é um sistema completo de resíduos módulo . Mas

geralmente, se é um sistema completo de resíduos módulo , então

é um sistema completo de resíduos módulo .

Demonstração

Se

Se , então e deixam os mesmos restos na divisão por , e isto só é possível

se .

Assim, os restos das divisões de por , onde são todos distintos daí

é um sistema completo de resíduos módulo .

1. 2. 3. Função de Euler

Definição 1. 2. 4. Diz-se função de Euler ou função Totient a uma aplicação de em


que associa a cada número natural a quantidade de números naturais menores e primos

relativos com . Denotado por: |{ }|


1. 2. 4. Propriedades da Função de Euler

Sejam e primos, , valem as propriedades seguintes:

i)

ii)
iii) , onde

iv) , onde , e são

números primos distintos dois à dois , , .

Demonstração

i) Seja um número natural primo, como cada um dos inteiros positivos menores

que é relativamente primo com , então temos .

ii) Seja um número natural primo e , onde .

Os valores possíveis do , e a única maneira para que

o não seja igual à , deve ser múltiplo de . Os múltiplos de

que são menores ou iguais a são

Portanto, existem múltiplos de e menores ou iguais a , então temos

.
iii) Sejam e

Qualquer número natural menor que pode ser escrito na forma ,

onde , . Os números e são primos

entre si, ou seja se e somente se .

A quantidade dos números tais que e é ,

representemos estes números como:

Para , os números formam um sistema

completo de resíduos no anel , então existe uma quantidade de restos que são

primos com , denotado por .

Analogamente para , até , também existem mesma

quantidade .

Logo, a quantidade total de números primos entre si e menores que é

iv) Se então
Teorema 1. 2. 6 ([10], pag. 50). (Euler) sejam e dois inteiros com e

, então

.
Demonstração

Sejam números naturais menores que e primos relativos com .

Considere , como , , temos

, .

Os restos das divisões dos por ( ) são todos distintos e primos

relativos com , onde o conjunto destes restos é

, pois , o que implica .

Teorema 1. 2. 7 ([10], pag. 50). (Pequeno Teorema de Fermat) sejam um inteiro positivo
e um primo, então

Demonstração
Aplicando a definição de congruência, temos

Pelo princípio da indução matemática, temos

i) para então é verdadeira

ii) para então , supostamente verdadeira

iii) para , temos

(1. 10)

Pelo teorema 1. 1. 2, , se e

Pela hipótese da indução matemática

Pelo lema 1. 1. 1, , onde

Como é múltiplo , então

A partir de (1. 10), temos , então

Teorema 1. 2. 8 ([6], pag. 59) (Chinês dos Restos). Sejam números inteiros

maiores que e tais que , sempre que . Assim sendo, se


são números inteiros arbitrários, então o sistema de congruências
é possível. Além disso, duas soluções quaisquer do sistema são congruentes módulo

Demonstração

As características do sistema sugerem que um número que possa ser escrito como

, em que , com ;

, com , e assim por diante, é uma solução do sistema.

Mostremos, por exemplo que ele é solução da segunda congruência. Como

, então .

Como , então . Portanto,

Para encontrar um sistema de números que cumpra o papel dos com

façamos . Então, , pois um divisor primo de e teria

também de ser divisor de algum com , o que é impossível pela hipótese.

Portanto, a congruência linear tem solução. Se é uma de suas

soluções, então . Mas, como são divisores de ,

então , , , e, portanto,

, , , .
Analogamente, se é solução de , então e

, , , . E assim por
diante.

Portanto cumprem a condição dos números

conforme colocação inicial, e ou

é uma solução do sistema.

Onde e , com .

Se é outra solução, então , . Portanto, são

divisores de . Mas, como são primos entre si, dois a dois, então

também é um divisor de . De onde , portanto, a solução geral do


sistema é
Capítulo II

FUNDAMENTOS DA CRIPTOGRAFIA E CRIPTOANÁLISE

2. 1. Criptografia

A criptografia como é o ramo da matemática que estuda os princípios e técnicas pelas quais
a informação pode ser transformada da sua forma original para outra ilegível, de forma que
possa ser conhecida apenas pelo seu destinatário, o que a torna difícil de ser lida por alguém
não autorizado “intruso.” Assim sendo, só o destinatário da mensagem pode ler a
informação com facilidade.

2. 1. 1. Objectivos

A criptografia tem como objectivos garantir:

Confidencialidade da Mensagem: Só o destinatário autorizado deve ser capaz de extrair o


conteúdo da mensagem da sua forma cifrada. Além disso, a obtenção de informação sobre o
conteúdo da mensagem (como uma distribuição estatística de certos caracteres) não deve ser
possível, uma vez que, se o for, torna mais fácil a análise criptográfica.
Integridade da Mensagem: O destinatário deverá ser capaz de verificar se a mensagem foi
alterada durante a transmissão.

Autenticação do Remetente: O destinatário deverá ser capaz de verificar que se o


remetente é realmente quem diz ser.

Não-Repúdio ou Irretratabilidade do Remetente: Não deverá ser possível ao remetente


negar a autoria de sua mensagem.

2. 1. 2. Terminologias e Conceitos

Encriptação (“Encrypt” palavra em inglês): É o processo de conversão de um texto claro


para um texto Baralhado (Cifrado), de modo que o intruso não possa ler. Uma informação
não-cifrada que é enviada de uma entidade para outra, é chamada de "texto claro"
(Plaintext), e o texto cifrado é chamada de "texto encriptado" (cyphertext).

Desencriptação (“Decrypt” palavra em inglês): É o processo contrário de encriptação, ou


seja, é o processo de recuperar o texto claro a partir de um texto encriptado.

Entidade: É o objecto que participa na comunicação “pessoa ou organização”.

Cifra: É uma ferramenta criptográfica usada para garantir sígilo em comunicações.

Chave: É um valor secreto (números ou string) que interage com o algoritmo de encriptação
ou desencriptação.

Algoritmo: É uma sequência de instruções passo-a-passo que descrevem explicitamente


várias operações para resolver um problema.

Nota: Nem todos os sistemas ou algoritmos criptográficos são utilizados para atingir todos
os objetivos listados acima. Normalmente, existem algoritmos específicos para cada uma
destas funções. Mesmo em sistemas criptográficos bem concebidos, bem implementados e
usados adequadamente, alguns dos objetivos acima não são práticos (ou mesmo desejáveis)
em algumas circunstâncias.

2. 1. 3. Classificação dos Sistemas Criptográficos

1ª Em relação ao número de Chaves

Os sistemas criptográficos simétricos usam uma mesma chave “chamada chave secreta”,
para encriptar e desencriptar mensagens enquanto, que os sistemas criptográficos
assimétricos usam um par de chaves: “uma é chave pública” que é conhecida por todos e
serve para encriptar a mensagem e a outra “chave privada” onde só o receptor da mensagem
conhece e, serve para desencriptar. Por isso, os sistemas criptográficos simétricos também se
chamam sistemas criptográficos de chave secreta “ou única”, e os assimétricos sistemas de
chave pública.

Os sistemas criptográficos de chave simétrica têm um problema: como transmitir a chave


secreta ao emissor? Se a conseguimos transmitir de forma segura então não precisamos do
sistema criptográfico de chave pública! Basta usar a forma segura usada para transmitir a
chave! A necessidade do receptor e do emissor partilharem informação secreta não segura é
eliminada nos sistemas criptográficos de chave pública, pois é o receptor que gera o par de
chaves.

Nos algoritmos simétricos uma chave é usada tanto para criptografar quanto para
descriptografar (podemos ter mais que uma se a segunda for facilmente derivada da
primeira), enquanto que nos algoritmos assimétricos temos mais que uma chave e ambas são
completamente independentes uma das outras.
Esquema de Criptografia Simétrica

Bob Alice

Texto Claro Olá Alice Texto Claro Olá Alice

Texto Cifrado
XDAK3OS XDAK3OS
2RJ 2RJ
Fig. 1 (Esquema de Criptografia Simétrica)

A vantagem da criptografia simétrica garante a confidencialidade e a integridade. Enquanto,


que, a desvantagem é para o Bob mandar uma mensagem criptografada por ele mesmo para
Alice, teria que encontrar uma forma segura de enviar para a Alice a chave que usou para
cifrar o texto. Para contornar esta desvantagem pensou-se na seguinte ideia.

Esquema da Ideia inicial de Criptografia Assimétrica

Bob Alice
O Bob coloca sua mensagem em uma caixa, tranca com cadeado, e envia para a Alice.

A Alice recebe a caixa, e volta a tranca com outro cadeado e reenvia para o Bob.
o Bob recebe a caixa e, abre seu cadeado e envia novamente para a Alice.

A Alice recebe a caixa, abre seu cadeado e pode ser a mensagem do Bob.

Fig. 2 (Esquema da 1ª ideia da Criptografia Assimétrica)

A vantagem desta ideia é que não foi necessário que o Bob enviasse a sua chave para a
Alice. Mas, o problema é que foram necessárias três viagens, e que não ciframos a
mensagem em si, mas o “repositório” da mensagem.

Com base nesta ideia, e de forma a tornar este processo mais rápido, sem voltas, ouve a
necessidade de se criar a criptografia assimétrica, onde a ideia principal era criação da chave
de cifração seja diferente da chave de decifração. E, uma não pode ser facilmente gerada a
partir da outra. Para solucionar este problema, começou-se a pensar em uma criptografia
com duas ou mais chaves, onde recorreu-se a princípios matemáticos para cifrar e decifrar
mensagens.

Com estes estudos melhorou-se o problema. Agora, imagina que o Bob queira enviar uma
mensagem para a Alice. Neste caso, o Bob deve cifrar a mensagem com a chave pública da
Alice. Ao receber a mensagem cifrada, a Alice decifra a mensagem com a sua própria chave
privada.

Esquema de Criptografia Assimétrica

Bob Alice

Olá Alice Texto Claro Olá Alice Texto Claro

Chave Privada da Alice


Chave Pública da Alice
XDAK3OS XDAK3OS
2RJ Texto Cifrado 2RJ
Fig. 3 (Esquema de Criptografia Assimétrica)

Podemos notar que a confidencialidade está garantida, pois, somente a chave privada da
Alice pode decifrar a mensagem criptografada e, só ele possui essa chave, não a distribui
para ninguém. Outra forma de utilizar a criptografia assimétrica é que garante a
autenticidade, integridade, e a irretratabilidade ou não repúdio.

Basicamente na criptografia assimétrica temos que a chave pública pode ser conhecida por
todos e é utilizada para cifrar o texto claro. Por sua vez, a chave privada deve permanecer
secreta e é utilizada para decifrar o texto cifrado. Esse processo nos garante a
confidencialidade da informação. Porém, também é possível utilizar a chave privada para
cifrar o texto claro e a respectiva chave pública para decifrar a mensagem criptografada.
Neste caso, busca-se garantir a autenticidade, é o caso típico de assinaturas digitais.

2ª Em relação ao método de operação

Cifradores por Transposição: Consiste em mudar a posição das letras de uma mensagem,
reordena-las de acordo com um esquema de permutação previamente combinado entre o
remetente e o destinatário.

Cifradores por Substituição: Consiste substituir uma letra do texto claro por outra do
alfabeto, dependendo do tipo de substituição que pode ser Monoalfabetica ou Polialfabetica.

Substituição Monoalfabetica: cada letra do texto claro é substituída sempre pela mesma
letra, independentemente da sua posição no texto.

Substituição Polialfabetica: letras iguais do texto claro podem ser substituídas por letras
diferentes, dependendo da sua posição no texto. Esta substituição é feita de acordo com uma
tabela previamente combinado entre o remetente e o destinatário, que estabelece uma
correspondência 1 à 1 entre letras e números dando origem ao alfabeto cifrado.
3ª Em relação ao modo de Processamento:

Cifradores de bloco: são aqueles que operam sobre 8 bits ou 16 bits e funcionam com
complementos para que todos blocos tenham o mesmo tamanho.

Cifradores de fluxo: são aqueles em que a cifragem ocorre bit a bit continuo.
Com base nesses aspectos pode-se afirmar que os Cifradores Simétricos garantem apenas
Confidencialidade e a Integridade, enquanto que os Cifradores Assimétricos garantem
Confidencialidade, Integridade, Autenticidade e a Irretratabilidade ou não repúdio.

2. 1. 4. Comparação da Criptografia Simétrica e Assimétrica

CRIPTOGRAFIA SIMÉTRICA CRIPTOGRAFIA ASSIMÉTRICA


O mesmo algoritmo é usado O mesmo algoritmo é usado para
para criptografar e criptografar e decriptografar a
Funcionamento
decriptografar a mensagem mensagem, porém usando duas
chaves.

A origem e o destino devem saber


uma (somente uma) chave do par de
O destino e origem sabem o
chaves. Todos podem ter a chave
algoritmo e a chave
Requer pública, porém só 1 deve saber a
chave privada.

A chave deve ser mantida em Apenas1 das duas chaves deve ser
segredo. mantida em segredo.

Segurança Mesmo sabendo o algoritmo e É impossível decifrar uma


tendo exemplos dos textos mensagem mesmo tendo acesso ao
criptografados deve algoritmo, à chave pública e a
impossibilitar a determinação da exemplos dos textos cifrados.
chave.
Tendo a chave pública deve ser
impossível chegar na chave privada.
Identificação
Assinatura Digital
Utilidade Privacidade
Privacidade
Troca de Chaves
(muitas utilidades)
Confiabilidade Boa Muito Boa
Velocidade de Muito Rápida Lenta
Processamento
Nível de Segurança Alta Alta
Chaves Apenas 1 Chaves 2 Chaves (Privada e Pública)
2. 1. 5. Algoritmo RSA

Um problema inerente na criptografia clássica (chave secreta) é que em um dado momento o


remetente e o destinatário precisam comunicar-se para decidirem qual será a cifra utilizada,
pois ela é usada tanto para encriptar por parte do remetente quanto para desencriptar por
parte do destinatário. É obvio que ao longo deste processo, a cifra corre o risco de ser
descoberta, principalmente no contexto da comunicação via internet.

Nesse modelo, é usado duas chaves, uma para encriptar e outra para desencriptar, sendo que
a chave para encriptar poderia ser de domínio público, enquanto a chave de desencriptar
apenas o destinatário conheceria, garantindo que, ter o conhecimento de uma chave não
implicaria em conhecer a outra.

Este conceito é bastante inteligente e atrativo, e traz consigo muitas vantagens do que nos
sistemas simétrico, tais como a Simplificação na distribuição de chaves e Assinatura Digital.

Funcionalidade de Algoritmo RSA

O RSA foi construído sobre uma das áreas mais clássicas da matemática, a Teoria dos
números. Ele se baseia na dificuldade em factorizar um número em seus factores primos.

A criptografia em RSA envolve um par de chaves, uma é a chave pública que é conhecida
por todos e outra é a chave privada que deve ser mantida em sigilo. O emissor da mensagem
usa a chave pública do receptor para encriptar uma mensagem para ele, e esta mensagem
encriptada usando a chave pública do receptor só pode ser desencriptada usando a respectiva
chave privada.

Aplicação de RSA

A criptografia RSA atua diretamente na internet, por exemplo, em mensagens de emails, em


compras on-line e o que você imaginar; tudo isso é codificado e recodificado pela
criptografia RSA.

Geração de Chaves

No RSA as chaves são geradas a seguinte maneira:

i. Escolher dois números primos grandes e distantes e

ii. Calcular o módulo

iii. Calcular

iv. Escolher o expoente público , tal que e

v. Calcular o expoente privado , tal que

vi. Chave pública , chave privada

Algoritmo de encriptação e desencriptação

Para encriptar uma mensagem , devemos utilizar a chave pública e aplicar a

função de encriptação . A seguir o criptograma é enviado ao detentor da


chave pública.

O detentor da chave pública , após receber o criptograma , utiliza a sua chave privada

e aplicar a função de desencriptação .

Teorema 2. 2. 1. Seja chave pública, e a correspondente chave privada, então


, para

Demonstração

Para , a igualdade acima será satisfeita

Vamos supor que e sejam primos entre si, temos que provar que ,

isto é, .

Como , então existe um tal que

, pelas propriedades de potência e teorema de Euler.

Agora se , a igualdade prevalecerá de qualquer forma, porque será

divisível por ou , pelo facto de , e portanto ou

, então, para qualquer caso, se cumpre.

Na prática, o sistema criptográfico RSA faz o uso da tabela ASCII “American Standard
Code for Information Interchange, do português, Código Padrão Americano para o
Intercâmbio de Informação” (Ver anexo Tabela 3), um código binário que codifica um
conjunto de caracteres, por exemplo: Sinais gráficos (letras do alfabeto latino, sinais de
pontuação e sinais matemáticos), sinais de controle, etc. O ASCII, é usado para representar
textos em computador, equipamentos de comunicação, entre outros dispositivos que
trabalham com texto.
Para este trabalho usar-se-á a tabela (Ver anexo Tabela 2), ou simplesmente o alfabeto com
letras convertidas em números. Para todos os efeitos de encriptação e desencriptação usar-
se-á como intervenientes deste processo as entidades Bob e Alice (emissor e receptor
respectivamente), e Lizst como intruso que procurará a todo custo apoderar-se do teor das
mensagens a que não é destinatário.

Exemplo 1

Alice cria os pares de chaves pública e privada:

1) Alice escolhe os primos e (De um modo geral e por razões de


segurança, os primos escolhidos devem ser grandes, mas por razões simplesmente de
prática escolhemos estes).

2) Calcula
3) Calcula
4) Escolhe , porque, e

5) Calcula que .

As chaves pública e privada de Alice são respectivamente os pares e


. Agora, o Bob ou qualquer indivíduo pode encriptar e enviar uma mensagem
para Alice, utilizando a sua chave pública que é do conhecimento geral, com
maior segurança e sigilo, procedendo do seguinte modo:
Após converter as letras em números, o Bob encripta o texto claro utilizando a função de

encriptação , onde é um número que substitui cada letra do texto claro,


e é um número que substitui no texto encriptado.

Alice ao receber a mensagem encriptada, utiliza a função de desencriptação

para obter o texto claro.

Exemplo 2

Bob deseja enviar para Alice que possui chave pública a seguinte mensagem:
“Para uma comunicação segura use criptografia”

Convertendo as letras em números, usando a tabela 2, obtém a seguinte correspondência:

Bob aplica a função encriptação , a cada um dos números, para obter


as suas correspondentes mensagem encriptada.
A mensagem a enviar é a seguinte:

Alice, após receber esta mensagem, fazendo uso da sua chave privada ,

inverte o processo usando a função de desencriptação , e converte em


letras os números de modo a tornar legível a mensagem, da seguinte forma:

, corresponde a letra P

, corresponde a letra A

Seguindo este processo para os restantes números, obterá o texto claro seguinte:
“Para uma comunicação segura use criptografia”, do qual ele é o destinatário.
2. 1. 6. Segurança de Algoritmo RSA

A criptografia RSA apesar do seu algoritmo simples, ele é bastante seguro, assim como
outros sistemas assimétricos pelo facto da sua concepção também estar relacionado a um

Problema Computacionalmente Difícil, ou seja o conhecimento da chave pública não

implica conhecer a chave privada . Para obter a partir de aplica-se o

algoritmo da divisão de Euclides para e , e para se obter é necessário


factorizar em produto de números primos e , e isto torna este processo complexo. O
problema é que a factorização de um número nos seus factores primos ainda é um problema
computacionalmente difícil, isso pode se tornar ainda mais complicado, não existindo
algoritmos eficientes o bastante para realizar a factorização em tempo hábil.

Para descobrir a chave privada, precisamos encontrar o inverso multiplicativo do número ,


para tal, isto é necessário muitos anos, a ideia se torna inviável.

Este problema é uma das grandes garantias de segurança, mas apesar disto, algumas chaves
do RSA já foram quebradas, e por estas razões ele foi sofrendo algumas alterações no seu
algoritmo, não só para torna-lo mais seguro, como tornar mais rápido os processos de
encriptação e desencriptação, dando origem a outras variantes tais como:

- Batch RSA

- RSA com múltiplos factores (multi-potência: e multi-primos: )


- RSA reequilibrado

Mas a segurança do RSA não depende só da dificuldade da factorização de , ela também


pode ser comprometida se:

i. Seus intervenientes escolherem mal os números primos e .


ii. Partilharem o mesmo módulo com outras entidades.
iii. Se caírem no erro de escolherem o expoente de encriptação , ou expoente de
desencriptação pequenos no intuito de tornar os processos de encriptação e de
desencriptação mais rápidos.

2. 2. Criptoanálise

A Criptoanálise é a arte de tentar descobrir o texto claro a partir do texto encriptado ou a


lógica utilizada em sua encriptação sem ter o conhecimento da chave. Também podemos
definir como, tentativas realizadas pelo criptoanalista de maneira a compreender o
significado original de uma mensagem encriptada. Criptoanalista é o nome dado a pessoas
que participam desse esforço.

É importante notar que a criptoanálise não é o mesmo que a desencriptação de uma


mensagem encriptada, pois neste caso está-se perante um processo normal, dado um texto
encriptado, obter o seu texto claro, isto é, a pessoa que a vai desencriptar pertence ao mesmo
grupo com a pessoa que a encriptou e tem a informação necessária para, por um processo
inverso ao da encriptação, obter a mensagem original a partir da mensagem encriptada. No
caso da criptoanálise está-se perante um elemento de um grupo contrário que, ou não tem
nenhum conhecimento sobre o processo de encriptação ou tem um conhecimento parcial do
mesmo.
2. 2. 1. Ataques Criptográficos

Ataque é o conjunto de métodos usados em criptoanálise de modo a comprometer a


segurança de um sistema criptográfico. Todo ataque realizado tem como objectivos
principais, a quebra parcial ou formal da cifra.

Cifra parcialmente quebrada: quando o intruso deseja recuperar, de forma sistemática,


texto claro a partir de texto encriptado, a análise de frequência é um dos exemplos mais
comuns no caso de cifras monóalfabeticas.

Cifra formalmente quebrada: quando o intruso deseja obter a chave privada de uma dada
entidade.

2. 2. 2. Classes de Ataques

Ataque Passivo: é aquele em que o intruso só monitoriza o canal de comunicação. Este tipo
de ataque só ameaça a confidencialidade da informação.

Ataque Activo: é aquele em que o intruso tenta apagar, acrescentar ou de alguma forma
modificar a informação. Este tipo de ataque só ameaça à integridade da informação assim
com a confidencialidade.

2. 2. 3. Tipos de Ataques

Segundo o princípio de Kerckhoffs a segurança de um criptossistema tem que depender


somente do segredo das chaves e não do segredo dos algoritmos, com isto podemos dizer
que um criptosistema deve ser seguro mesmo que o intruso tenha o conhecimento dos
algoritmos de encriptação e desencriptação, por isso a escolha da chave é fundamental.
Um intruso passivo somente obtém cópias dos elementos, enquanto o intruso ativo pode
alterar alguns desses elementos.

Existem cinco tipos de ataques mais comuns, e todos eles supõem que o intruso detém o
conhecimento total sobre os métodos de encriptação e desencriptação utilizados, mas
desconhece as chaves. São eles:

Ataque de texto encriptado (cryptotext only): O criptoanalista tem a sua disposição uma
grande quantidade de mensagens encriptadas, mas desconhece os textos claros e as chaves
utilizadas. Sua tarefa é recuperar as mensagens claras e deduzir as chaves.

Ataque de texto claro (known plaintext): O criptoanalista tem a sua disposição uma grande
quantidade de mensagens encriptadas e também as mensagens claras equivalentes. Sua
tarefa é deduzir as chaves utilizadas ou um método para recuperar mensagens encriptadas
com a mesma chave.

Ataque adaptativo do texto escolhido (adaptative choosen plaintext): Diferente do método


anterior em que o criptoanalista poderia ser capaz de fornecer somente uma grande
quantidade de mensagens de uma só vez, neste ele pode fornecer um pequeno conjunto,
analisar os resultados, fornece outro conjunto e assim por diante. Sua tarefa é deduzir as
chaves utilizadas.

Ataque do texto claro escolhido (choosen cryptotext): O criptoanalista não só tem uma
grande quantidade de mensagens e seus equivalentes encriptados, mas pode produzir uma
mensagem encriptada especifica para ser desencriptada e obter o resultado produzido. É
utilizada quando se tem uma caixa preta que faz desencriptação automática. Sua tarefa é
deduzir chaves utilizadas.

Ataque de chave escolhida (choosen key): O criptoanalista pode testar o sistema com
chaves diferentes ou pode convencer diversos usuários legítimos do sistema a utilizarem
determinadas chaves. Neste último caso, a finalidade imediata seria de desencriptar as
mensagens encriptadas.
Ataque ao RSA

Uma primeira abordagem de ataque ao RSA teria como objetivo a factorização do módulo
por meio da chave pública, ou seja, conseguir factorizar em produto de números

primos e , torna fácil calcular e . Mas isto é até ao momento, um dos


procedimentos matemáticos mais difíceis de se realizar, apesar das melhorias constante dos
algoritmos de factorização, o que constitui ainda uma ameaça considerada distante da
realidade, caso as chaves sejam correctamente criadas. Portanto, descrevemos dois
algoritmos de factorização.

Algoritmo de Factorização de Euclides

Este algoritmo é eficiente, muito simples e pode ajudar-nos a obter um dos factores primos

de , para isto basta multiplicar todos os números primos entre e calculando de


seguida o entre esse produto e , de forma a obter o factor primo desejado. Este
método ganha o seu nome devido a utilização do algoritmo de Euclides para o cálculo do
máximo divisor comum de dois inteiros.

Esta aproximação apresenta dois problemas: Primeiro a necessidade de gerar a lista de todos
os primos até um dado limite, como já dissemos essa tarefa é pesada tanto temporalmente
como espacialmente o outro problema advém da representação computacional do número
que se obtém da multiplicação dos números primos, rapidamente o número obtido da
multiplicação ultrapassa a capacidade de representação da maioria das linguagens de
programação existentes.
Para contornar a este último problema pode-se dividir a multiplicação em várias
multiplicações parcelares, para tal procede-se do seguinte modo:

1) Começa-se por definir os conjuntos auxiliares:

onde representa limite inferior .

onde representa limite superior .

2) Para cada par e , multiplicam-se todos os números primos entre estes dois
limites

3) Para cada um dos calcula-se o .

4) Se , então é o factor primo de que se pretende obter.

Exemplo 3

Seja , tem-se que e façamos as somas parcelares de em .

e
Como , e, é diferente de , então é um dos factores primos de . Agora
dividindo por obtém-se , temos então os dois factores primos e ,
portanto foi factorizado.

Algoritmo de Factozição de Fermat

Este algoritmo baseia-se no teorema 1. 1. 1, da representação de um número inteiro positivo

diferente de como diferença de dois quadrados, . Para encontrar e


procede-se do seguinte modo:

1) Dado um ímpar, começa-se por tomar o primeiro quadrado perfeito maior que ,

ou .

2) Calcula-se , e se for um quadrado perfeito , então é factor de


e podemos parar o cálculo. Caso contrário, incrementa-se uma unidade à , até
que seja um quadrado perfeito.
Exemplo 4

Seja , tem-se que , mas , logo passamos

a incrementar de um em um, até que seja um quadrado perfeito.

Como é um quadrado perfeito, então:

Logo , foi factorizado, e os factores primos são e

Este método torna-se trabalhoso quando for um número grande, e produto de primos
muito afastados. Se por exemplo usarmos este método para factorizar ter-se-á
incrementações para se obter os factores primos e .
Algoritmo de Factorização de Módulo Comum

No caso de uma organização governamental ou um grupo qualquer, o uso do mesmo módulo


emitido, por uma autoridade central confiável para todos os elementos do grupo, pode
ser visto como uma maneira de contornar a geração de módulos diferentes ou de permitir
uma aceleração do hardware. Em uma primeira análise esta prática pode parecer eficiente,
mas é, no entanto, uma ideia muito enganosa e errada, porque, se assim se proceder o grupo
poderá sofrer ataques de duas maneiras diferentes, seja por um elemento do grupo (intruso
interno) ou por um elemento que não pertence ao grupo (intruso externo).

Lema 2. 2. 1 ([16], pag. 174). Se alguém conhecer o expoente de desencriptação RSA

correspondente à chave pública , então pode-se factorizar eficientemente .


Demonstração

Escolhemos um inteiro que satisfaz e calculamos uma raiz

quadrada de um módulo , , então, temos a identidade

que podemos usar para recuperar os factores e de calculando o

e , mas isso só funciona quando .

Suponhamos agora que obtemos ao invés de um fator de . Se

, retornamos ao início e escolhemos outro valor de . No caso em que

, devemos calcular outra raiz quadrada, fazendo

e novamente teremos:

Assim calculamos , e verificar se resulta um factor de


. Se não resultar em factor de , devemos repetir o processo, até que tenhamos

factorizado, ou até que não seja mais divisível por , e .

Exemplo 5

Sejam e chaves pública e privada de Bob, e

chave pública de Alice.

Se, Bob for o intruso interno, com auxílio do seu expoente de desencriptação pode calcular a
chave privada da Alice factorizando o módulo que é comum do seguinte modo:
Sabendo que , e .

Pelo lema 2. 2. 1, Bob pode escolher porque satisfaz a condição

Fazendo,

Como , Bob deve definir

, Bob deve definir

Apesar de ser divisível por , Bob obteve , então

Como , Bob deve calcular


Agora Bob, finalmente calcula o expoente de desencriptação da Alice, fazendo

, portanto, a chave privada da

Alice é .

Suponhamos agora que, uma entidade qualquer tenha enviado respectivamente para Bob e

Alice as mensagens encriptadas e , correspondentes à mensagem

clara . Se o intruso externo tiver em sua posse as mensagens encriptadas e

, este pode recuperar a mensagem clara, do seguinte modo:

Sabendo que, e , o intruso calcula

como, então

Portanto, a mensagem na qual Bob e Alice são destinatários é .


Capítulo III

ATAQUE AO EXPOENTE PRIVADO PEQUENO

No criptossistema RSA, a escolha das chaves e o segredo absoluto dos parâmetros , ,

e é fundamental na segurança da informação. Quanto menor forem as chaves ou


quanto maior o conhecimento do intruso sobre alguns detalhes privados, mais fácil pode-se
efectuar ataques.
A escolha de um expoente de desencriptação pequeno , serve para reduzir o tempo necessário
na desencriptação de uma mensagem, ou o tempo necessário para gerar uma assinatura
(melhorar o desempenho do criptossistema RSA).

Para fornecer uma rápida geração de assinatura RSA, um criptografo tentou usar um
pequeno expoente privado , mas Michael WIENER mostrou que, se alguém usasse

resultará num sistema RSA inseguro no qual o intruso pode quebrar completamente.

3. 1. Ataque De Wiener

Teorema 3. 1. 1 ([6], pag. 93) (Wiener). Sejam com e .

Nestas condições chave pública do RSA, com

(3.1)

o intruso pode recuperar eficientemente a chave privada .

Demonstração

O ataque de Wiener baseia-se em aproximações usando fracções continuas, isto é, sabendo

que modulo onde . Além disso suponha que o intruso saiba que temos

um expoente pequeno de desencriptação .


E como que satisfaz é pública, temos:

Aplicando definição de congruência em (3.1), então existe um número inteiro , tal


que

(3.2)

(3.3)

Dividindo ambos membros de (3.3) por , temos

Pela função de Euler

(*)

(**)

Como e separando a desigualdade, teremos e .

Multiplicando ambos membros de por , temos


(I)

E de outro lado da desigualdade , multiplicando ambos membros por temos

(II)

Sabendo que

(III)

Substituindo (I) e (II) em (III), temos

(IV)

substituindo (*) em , temos

(3.4)

Substituindo a igualdade (3.3) em (3.4), temos

Como a partir de (IV)


Logo, , substituindo temos

(3.5)

Como e ,temos

(V)

Partindo de facto, de que , temos

(VI)

Comparando (V) e (VI), temos

(VII)

Agora pela hipótese de Wiener, temos

Pela (VII), temos

(VIII)

Substituindo (VIII) em (3.5), temos

(3.6)

Como , temos
(IX)

Substituindo (IX) em (3.6), temos

onde é o convergente da expansão da fracção contínua .

3. 1. 1. Cálculo da chave Privada

As convergentes de são calculadas aplicando frações continuas.

A partir do desenvolvimento do algoritmo de Euclides, existem únicos e , tais que

com , logo

Existem únicos e , tais que , com , logo


Repetindo este processo sucessivamente, obtém-se únicos e , tais que

, com , o processo deve terminar porque

Logo, a fração contínua finita simples que representa o número racional , escreve-se

A possível chave privada será dada no convergente , com , cujo

denominador é menor e aproximado a .

3. 1. 2. Factorização de N

Consideremos a equação quadrática , cuja raízes são os factores primos


de , então

(X)

Como a partir de (**), a partir de (3.3) e ,


temos

As raízes desta equação são números inteiros e factores primos de .


Exemplo 1

Dada uma chave pública .

Suponhamos que a correspondente chave privada satisfaz a condição

Aplicar o ataque de Wiener, o intruso deve calcular a expansão das fracções contínuas, isto é

De acordo com a expansão de , os convergentes são

Observando cada convergente podemos verificar que o expoente de desencriptação é dada


na 3ª convergência, ou seja , pois, é o único denominador que satisfaz a condição
Agora sabendo, que temos

Por outro lado, factorizando , a partir da equação

Resolvendo a equação, temos as raízes e .

Logo, tem-se consequentemente os factores primos de .

Como podemos ver, para um expoente privado , que satisfaz , o ataque de


Wiener funciona eficientemente e, a roptura do sistema será completa, contrariamente, ao
que acontece nos ataques ao expoente público pequeno, que têm por objectivo desencriptar
mensagens sem precisar, no entanto, descobrir a chave privada, este ataque tem por
objectivo obter o expoente de desencriptação.

3. 1. 3. Contramedidas ao Ataque de Wiener

Michael Wiener apresentou a escolha de uma chave pública grande ou uso do teorema
chinês dos restos como contramedidas do seu ataque.

Escolha de uma chave pública grande


Esta medida consiste em substituir por , onde , para alguns valores

grandes de , obtendo grande o suficiente, ou seja , o ataque de Wiener não


funciona independentemente de quão pequeno seja o valor de .

Exemplo 2

Sejam , chaves pública e privada respectivamente, e

Como , então devemos substituir por , fazendo

Para temos, . Agora, como

e , então .

Logo, a nova chave pública segura é , e mesmo que o intruso saiba que

, e tentar aplicar o ataque de Wiener, este obterá os seguintes convergentes:


.

Nota-se que nenhum destes convergentes tem denominador menor que .

Uso do Teorema Chinês dos Restos

Esta medida consiste em utilizar uma chave privada grande . Apesar desta medida
garantir segurança contra o ataque de Wiener, ela traz consigo um pequeno problema, que é a
desaceleração do sistema devido ao elevado expoente de desencriptação.

Como solução para contornar este problema de desencriptação, Wiener propôs a criação de
duas sub chaves privadas

então, uma desencriptação rápida de é feita da seguinte maneira:

1) Calcular , onde e

2) Usar o teorema chinês dos restos, para calcular o valor exclusivo de do qual

satisfaz, e .
Então, o sistema

tem como solução , e satisfaz

Exemplo 3

Sejam , , , e .

Sabendo que a chave privada , e é grande , vamos criar as sub-


chaves,

Sabemos que, e .

Sabemos também que, e , então

com, , , e

temos,

e
e

Como, , então

3. 2. Extensão do ataque de Wiener

Boneh e Durfee deram a primeira melhoria substancial ao resultado de Wiener, mostrando


que, enquanto

um criptoanalista pode quebrar eficientemente o sistema (ou o sistema está inseguro), e


espera-se que estes estudos possam conduzir um outro estudo para o limite correcto de
VERHEUL e TILBORG, ou seja

Os resultados de Boneh e Durfee estão baseadas no trabalho seminal de Coppersmith. O


Coppersmith encontrou uma maneira de usar estrutura (Reticulados) e o algoritmo LLL para
encontrar pequenas raízes em polinómios univariados específicos. E os problemas que têm
duas variáveis desconhecidas, Coppersmith deu uma heurística para encontrar raízes de
polinómios bivariados, mas deixou por isso mesmo. Mas recentemente, Boneh e Durfee
publicaram artigos sobre alguns ataques de RSA que fazem uso das ideias iniciais de um
lotoeiro para encontrar raízes pequenas de polinómios bivariados.

3. 2. 1. Ataque de Boneh e Durfee

Boneh e Durfee afirmaram que podemos, na maior parte do tempo (liberaram a heurística e
não um teorema) factorar com sucesso o , se o expoente privado é muito pequeno a
partir podemos quebrar o sistema da seguinte maneira:

A partir de (3.2) e aplicando a definição de congruência, temos

(3.7)

Agora substituindo (**) em (3.7), temos

(3.8)

Supondo e , substituindo em (3.8), temos

Onde: e são as raízes de polinómio bivariado.

Encontrar as raízes e deste polinómio permite-nos facilmente calcular o expoente de


desencriptação .
3. 2. 2. Cálculo da Chave Privada “d ”

Como é conhecida publicamente, portanto, a partir de (3.3) e (**), substituindo

, temos

Conclusão

Diz-se com frequência que os matemáticos puros se gabam da inutilidade do seu


trabalho e do facto de este não ter quaisquer aplicações práticas. A imputação
baseia-se geralmente numa frase irreflectida atribuída a Gauss, no sentido que, se a
matemática é a rainha das ciências, então a teoria dos números será, pela sua
suprema inutilidade, rainha das matemáticas…

G. H. Hardy, in Apologia de Um Matemático.

Na maioria das vezes, sobre tudo em Angola a formação em matemática está ou tem sido
associada simplesmente para ensino, sem, no entanto, servir para alguma aplicação prática
na vida, aqui vem alguma verdade a muito ocultada.

A matemática é uma das áreas de formação mais influente, para além de servir de base a
outras ciências, ela está e sempre esteve presente no nosso dia-a-dia, há quem diz até que “O
abandono da matemática traz a todo o conhecimento. Pois, aquele que a ignora não pode
conhecer as outras ciências ou as coisas deste mundo” Roger Bacon.

A Teoria dos Números, durante séculos, esteve à espera de alguma aplicabilidade, até que
num belo dia da segunda metade do século vinte (desde 1976), encontrou a sua grande
vitrine a criptologia e passou de rainha das matemáticas à criada para todo o serviço, tanto
para garantir credibilidade, sigilo e segurança da informação, quanto o comprometimento da
mesma, enfim, ajudou, e continua a ajudar, a revolucionar o nosso modo de vida nos últimos
anos.

Como a segurança das tecnologias está assente em criptografia, e criptografia é um resultado


da teoria dos números, então por transitividade, a teoria dos números é a segurança das
tecnologias de comunicação.

Por fim, foi um prazer explorar este assunto. Abriram-se as portas de um mundo que nos era
completamente desconhecido e no qual gostámos de desenvolver este tema.

Recomendações

Sendo esta, uma dissertação de licenciatura em Matemática, teceremos algumas


recomendamos aos futuros estudantes do departamento matemática:

 Continuem a investigar este tema.

 Estudar algoritmo de Coppersmith para resolver polinómio bivariado.

 Ter domínio de ferramentas de cálculo e alguns editores de textos matemáticos, tais


como: LaTeX, Geogebra, etc.
Anexos

Tabela 1 – Tabela de Números primos de 2 à 1000

2 3 5 7 11 13 17 19 23 29 31 37 41 4 47
3
53 59 61 67 71 73 79 83 89 97
101 103 107 109 113 127 131 139 14
9
151 157 163 167 173 179 181 191 19 197 199
3
211 223 227 229 233 239 241
251 257 263 269 271 277 281 283 29
3
307 311 313 317 331 337 347 349
353 359 367 373 379 383 389 397
401 409 419 421 431 433 439 443 44
9
457 461 463 467 479 487 491 499
503 509 521 523 541 547
557 563 569 571 577 587 593 599
601 607 613 617 619 631 641 643 64
7
653 659 661 673 677 683 691
701 709 719 727 733 739 743
751 757 761 769 773 787 797
809 811 821 823 827 829 839
853 857 859 863 877 881 883 887
907 911 919 929 937 941 947
953 967 971 977 983 991 997

Tabela 2 – Tabela de equivalência de letras de alfabeto em números

A B C D E F G H I J K L M
10 11 12 13 14 15 16 17 18 19 20 21 22

N O P Q R S T U V W X Y Z
23 24 25 26 27 28 29 30 31 32 33 34 35

Tabela 3 – ASCII completa

Dec Binário He Referência Dec Binário He Referência


x . x
0 00000000 00 Null – NUL 52 00110100 34 4
1 00000001 01 Start of Heading – SOH 53 00110101 35 5
2 00000010 02 Start of Text – STX 54 00110110 36 6
3 00000011 03 End of Text – ETX 55 00110111 37 7
4 00000100 04 End of Transmission – EOT 56 00111000 38 8
5 00000101 05 Enquiry – ENQ 57 00111001 39 9
6 00000110 06 Acknowledge – ACK 58 00111010 3A :
7 00000111 07 Bell, rings terminal bell – BEL 59 00111011 3B ;
8 00001000 08 BackSpace – BS 60 00111100 3C <
9 00001001 09 Horizontal Tab – HT 61 00111101 3D =
10 00001010 0A Line Feed – LF 62 00111110 3E >
11 00001011 0B Vertical Tab – VT 63 00111111 3F ?
12 00001100 0C Form Feed – FF 64 01000000 40 @
13 00001101 0D Enter – CR 65 01000001 41 A
14 00001110 0E Shift-Out – SO 66 01000010 42 B
15 00001111 0F Shift-In – SI 67 01000011 43 C
16 00010000 10 Data Link Escape – DLE 68 01000100 44 D
17 00010001 11 Device Control 1 - D1 69 01000101 45 E
18 00010010 12 Device Control 2 - D2 70 01000110 46 F
19 00010011 13 Device Control 3 - D3 71 01000111 47 G
20 00010100 14 Device Control 4 - D4 72 01001000 48 H
21 00010101 15 Negative Acknowledge–NAK 73 01001001 49 I
22 00010110 16 Synchronous idle – SYN 74 01001010 4A J
23 00010111 17 End Transmission Block–ETB 75 01001011 4B K
24 00011000 18 Cancel line – CAN 76 01001100 4C L
25 00011001 19 End of Medium – EM 77 01001101 4D M
26 00011010 1A Substitute – SUB 78 01001110 4E N
27 00011011 1B Escape – ESC 79 01001111 4F O
28 00011100 1C File Separator – FS 80 01010000 50 P
29 00011101 1D Group Separator – GS 81 01010001 51 Q
30 00011110 1E Record Separator – RS 82 01010010 52 R
31 00011111 1F Unit Separator – US 83 01010011 53 S
32 00100000 20 Space – SPC 84 01010100 54 T
33 00100001 21 ! 85 01010101 55 U
34 00100010 22 " 86 01010110 56 V
35 00100011 23 # 87 01010111 57 W
36 00100100 24 $ 88 01011000 58 X
37 00100101 25 % 89 01011001 59 Y
38 00100110 26 & 90 01011010 5A Z
39 00100111 27 ' 91 01011011 5B [
40 00101000 28 ( 92 01011100 5C \
41 00101001 29 ) 93 01011101 5D ]
42 00101010 2A * 94 01011110 5E ^
43 00101011 2B + 95 01011111 5F _
44 00101100 2C , 96 01100000 60 `
45 00101101 2D - 97 01100001 61 A
46 00101110 2E . 98 01100010 62 B
47 00101111 2F / 99 01100011 63 C
48 00110000 30 1 100 01100100 64 D
49 00110001 31 1 101 01100101 65 E
50 00110010 32 2 102 01100110 66 F
51 00110011 33 3 103 01100111 67 G

Dec Binário He Referên Dec. Binário He Referên Dec. Binário Hex Referên
x x
112 01110000 70 P 161 10100001 A1 ù 210 11010010 D2 Ê
113 01110001 71 q 162 10100010 A2 ó 211 11010011 D3 Ë
114 01110010 72 r 163 10100011 A3 ú 212 11010100 D4 È
115 01110011 73 s 164 10100100 A4 ñ 213 11010101 D5 ı
116 01110100 74 t 165 10100101 A5 Ñ 214 11010110 D6 Í
117 01110101 75 u 166 10100110 A6 ª 215 11010111 D7 Î
118 01110110 76 v 167 10100111 A7 º 216 11011000 D8 Ï
119 01110111 77 w 168 10101000 A8 ¿ 217 11011001 D9 ┘
120 01111000 78 x 169 10101001 A9 ® 218 11011010 DA ┌
121 01111001 79 y 170 10101010 AA ¬ 219 11011011 DB █
122 01111010 7A z 171 10101011 AB ½ 220 11011100 DC ▄
123 01111011 7B { 172 10101100 AC ¼ 221 11011101 DD ¦
124 01111100 7C | 173 10101101 AD ¡ 222 11011110 DE Ì
125 01111101 7D } 174 10101110 AE « 223 11011111 DF ▀
126 01111110 7E ~ 175 10101111 AF » 224 11100000 E0 Ó
127 01111111 7F Delete 176 10110000 B0 ░ 225 11100001 E1 ß
128 10000000 80 Ç 177 10110001 B1 ▒ 226 11100010 E2 Ô
129 10000001 81 ü 178 10110010 B2 ▓ 227 11100011 E3 Ò
130 10000010 82 é 179 10110011 B3 │ 228 11100100 E4 õ
131 10000011 83 â 180 10110100 B4 ┤ 229 11100101 E5 Õ
132 10000100 84 ä 181 10110101 B5 Á 230 11100110 E6 μ
133 10000101 85 à 182 10110110 B6 Â 231 11100111 E7 þ
134 10000110 86 å 183 10110111 B7 À 232 11101000 E8 Þ
135 10000111 87 ç 184 10111000 B8 © 233 11101001 E9 Ú
136 10001000 88 ê 185 10111001 B9 ╣ 234 11101010 EA Û
137 10001001 89 ë 186 10111010 BA ║ 235 11101011 EB Ù
138 10001010 8A è 187 10111011 BB ╗ 236 11101100 EC ý
139 10001011 8B ï 188 10111100 BC ╝ 237 11101101 ED Ý
140 10001100 8C î 189 10111101 BD ¢ 238 11101110 EE ¯
141 10001101 8D ì 190 10111110 BE ¥ 239 11101111 EF ´
142 10001110 8E Ä 191 10111111 BF ┐ 240 11110000 F0
143 10001111 8F Å 192 11000000 C0 └ 241 11110001 F1 ±
144 10010000 90 É 193 11000001 C1 ┴ 242 11110010 F2 ‗
145 10010001 91 æ 194 11000010 C2 ┬ 243 11110011 F3 ¾
146 10010010 92 Æ 195 11000011 C3 ├ 244 11110100 F4 ¶
147 10010011 93 ô 196 11000100 C4 ─ 245 11110101 F5 §
148 10010100 94 Ö 197 11000101 C5 ┼ 246 11110110 F6 ÷
149 10010101 95 Ò 198 11000110 C6 ã 247 11110111 F7 ¸
150 10010110 96 Û 199 11000111 C7 Ã 248 11111000 F8 °
151 10010111 97 Ù 200 11001000 C8 ╚ 249 11111001 F9 ¨
152 10011000 98 Ÿ 201 11001001 C9 ╔ 250 11111010 FA ·
153 10011001 99 Ö 202 11001010 CA ╩ 251 11111011 FB ¹
154 10011010 9A Ü 203 11001011 CB ╦ 252 11111100 FC ³
155 10011011 9B Ø 204 11001100 CC ╠ 253 11111101 FD ²
156 10011100 9C £ 205 11001101 CD ═ 254 11111110 FE ■
157 10011101 9D Ø 206 11001110 CE ╬ 255 11111111 FF
158 10011110 9E × 207 11001111 CF ¤
159 10011111 9F Ƒ 208 11010000 D0 ð
160 10100000 A0 Á 209 11010001 D1 Ð

Referências bibliográfica
[1] ALMEIDA, J. Paulo. Criptografia e Segurança. Universidade de Aveiro-Departamento
de Matemática. Dissertação (Mestrado). 2012.

[2] BARBOSA, Luis Alberto de Moraes; BRAGHETTO, Luis B. Fernando; BRISQUI,


Marcelo Lotierso; SIRLEI, Cristina da Silva. RSA Criptografia Assimétrica e Assinatura
Digital, UNICAMP-Universidade Estadual de Campinas. Dissertação (Mestrado).

[3] FIARRESGA, Victor M. Calhabrês. Criptografia e Matemática. Faculdade de Ciências


da Universidade de Lisboa. Dissertação (Mestrado). 2010.

[4] FONSECA, Rubens Vilhena. Teoria dos Números. Belém-Pará-Brasil. 2011.

[5] HARDY, Godfrey Harod; WRIGHT, Edward Maitland. An Introduction to the Theory
of numbers. 5th edition. Clarendon Press. Oxford. 1979.

[6] HYGINO, H. Domingues; Gelson, Iezzi. Álgebra Moderna. 4ª Edição Reformada. São
Paulo. Editora Atual. 2003.

[7] INÊS, Barbelo. O Sistema Criptográfico RSA: Ataques e Variantes. Faculdade de


Ciências da Universidade do Porto. Dissertação (Mestrado). 2003.

[8] LEITE, Helena Ingildo de Sá Queirós. Ataques ao Sistema Criptográfico RSA.


Universidade de Aveiro-Departamento de Matemática. Dissertação (Licenciatura).

[9] MARCELO. Tabela American Standard Code for Information Interchange


“ASCII”. Disponível em: <http://187.7.106.14/marcelo/org_comp/tabelaASCII.pdf>.
Acesso 23 de Julho de 2018.

[10] MARTINEZ, Fabio E. Brochero; MOREIRA, Carlos T. de A. Gustavo; SALDANHA,


C. Nicolau; TENGAN, Eduardo. Teoria dos Números: Um passeio com primos e outros
números familiares pelo mundo inteiro. 3ª Edição. IMPA – Brasil. 2013.

[11] MENEZES, J. Alfred; VAN OORSCHOT, C. Paul; VANSTONE, A. Scott. The


Handbook of Applied Cryptography. 2nd edition. CRC Press. 1997.
[12] MOLLIN, A. Richard. Cryptography: An Introduction. 2nd edition. Editor Chapman
and Hall/CRC. E.U.A. 2007.

[13] MOREIRA, Carlos G. T. de Aráujo. Teoria dos Números (Fracções Contínuas) –


Nível 3. Polos Olímpicos de Treinamento Intensivo. Brasil. 17 de abril 2013. Disponível em:
<http://m.youtube.com/watch?v=0utc8PgixFo>. Acesso 15 de agosto de 2018.

[14] MOREIRA, Carlos G. T. de Aráujo. Teoria dos Números (Fracções Contínuas parte
2) – Nível 3. Polos Olímpicos de Treinamento Intensivo. Brasil. 17 de abril 2013.
Disponível em: <http://m.youtube.com/watch?v=96PMF7bThSo>. Acesso 15 de agosto de
2018.

[15] MOREIRA, Carlos G. T. de Aráujo. Teoria dos Números (Teorema de Euler et al) –
Nível 3. Polos Olímpicos de Treinamento Intensivo. Brasil. 16 de abril 2013. Disponível em:
<http://m.youtube.com/watch?v=JJN4VoKq1qU>. Acesso 23 de Julho de 2018.

[16] NIGEL, Smart. Cryptography: An Introduction. 3rd edition.

[17] PETTOFREZZO, J. Anthony; BYRKIT, R. Donald. Introduccion a la Teoría de los


números. EUA. 1972.

[18] QUARESMA, Pedro; PINHO, Augusto. Criptoanálise. Departamento de Matemática


da Universidade de Coimbra. Portugal. 24 de Julho de 2007. Disponível em:
<http://www.mat.uc.pt>artigo-gazeta09.pdf>. Acesso 08 de Dezembro de 2017.

Você também pode gostar