Você está na página 1de 12

UNIVERSIDADE ESTADUAL DE GOIÁS

UNIDADE UNIVERSITÁRIA DE IPORÁ


COORDENAÇÃO ADJUNTA DE TCC DE MATEMÁTICA

Números Inteiros e Criptografia RSA

Aluno: Rogério J. Almeida


Orientador: Uender Barbosa de Souza
Introdução

Justificativa:
Estando ciente de que qualquer mensagem pode ser interceptada, há à
necessidade de “mascarar” as mensagens antes de enviar.

Objetivos:
Estabelecer uma segurança da informação para a proteção de dados
pessoais, senhas, mensagens e etc.
Programar algoritmos estáveis e viáveis em Python com o intuito de ser
útil para todos os usuários de computadores com diferentes O.S..

Objeto de Estudo:
Algoritmos fundamentais, fatoração única, aritmética modular, pseudo-
primos, sistemas de congruência, grupos, raízes primitivas e finalmente a
linguagem de programação Python.
Metodologia

Este T.C.C. será realizado com base em pesquisas em livros, artigos e


internet selecionados sobre teoria dos números e criptografia RSA,
consequentemente também sobre a linguagem Python para a
implementação dos algoritmos pesquisados e elaborados.
Números Inteiros e
Criptografia RSA
Introdução:
Algoritmo RSA:
Criado em meados de 1977
Chaves públicas e chaves privadas
Codifica e decodifica mensagem

Números Inteiros:
Números primos e co-primos
Aritmética modular
Função tontiente
Inversa multiplicativa - Euler

Criadores:
Ronald L. Rivest, Adi Shamir, Leonard Adleman
Tipos de Criptografia
Funções

F(b) = (b^e)%n , para codificação

F(w) = (w^d)%n , para decodificação


Chaves Públicas e Privadas

Temos:
f(x,y) = (x – 1)(y – 1), sendo x e y dois primos distintos

Chaves Públicas:
n => multiplicação de dois primos grandes
e => co-primo de f(x,y), tal que 1 < e < f(x,y), ou seja, mdc(e,f(x,y)) =
1

Chaves Privadas:
n => multiplicação de dois primos grandes
d => d*e Ξ 1 (mod f(x,y))
Números Primos

Números Primos:
Um número p é primo, se e somente, se for divisível por 1 e por p.

Alguns exemplos: 2, 11, 19, 41, 53, …

Maior primo descoberto até agora: (2^242.643.801) – 1 com


12.837.64 dígitos.
Números Co - primos

Números Co-primos:
Um número a é co-primo de um número b, se e somente, o
mdc( a,b ) = 1.

Alguns exemplos: 3 e7, 4 e 9, 20 e 21, 8 e 49, …


Aritmética Modular

Considerando três números a,b e c , a congruente b(módulo c), se e


somente se respeitar a propriedade a-b é congruente 0(módulo c).

Exemplo: 10 congruente 2(modulo 4), pois o resto da divisão de 10


por 4 é 2, considerando a propriedade 10 – 2 é congruente 0(modulo
4).

Isso vai ser de suma importância quando tivermos algum número


muito grande sendo dividido por outro número grande:

Exemplo: 102^7 ≡ (-41)^7 ≡ -41^7 ≡ -81*138 ≡ -24 ≡ 119 (mod 143)

, ou seja, 119 é o resto da divisão 102^7 por 143


Conclusão

Elaboração de um software com os algoritmos que formam o método de


criptografia RSA, para internet com a linguagem de programação Python e
consequentemente publicar estes softwares em um site determinado.
Seria interessante alguém continuar esse trabalho, combinando-o com a
Assinatura Digital.
Referências

ALECRIM, Emerson. Criptografia. 2005. Disponível em:


<http://www.infowester.com/criptografia.php>. Acesso em: 20 de junho de 2010.
BORGES, Luis Eduardo - Python Para desenvolvedores. 1 ed. Rio de Janeiro,
Edição do Autor, 2009. 253p.
BURNETT, S, PAINE, S, Criptografia e Segurança: o Guia Oficial RSA,
Editora. Campus, RSA Press, 2002.
COUTINHO, S.C.. Números inteiros e Criptografia RSA. Série de Computação
e Matemática. Rio de Janeiro, IMPA : SBM, 1997. 218p.
DEITEL, Harvey M., DEITEL, Paul J.. PERL – Como programar. 1 ed.
Bookman, 2002. 952p.
GONZÁLEZ, Daniela. Conheça os tipos de criptografia digital mais utilizados.
Disponível em: <http://idgnow.uol.com.br/seguranca/2007/10/05/idgnoticia.2007-
10-05.1318584961/>. Acesso em: 22 junho de 2010.
XAVIER, Gley F. C. – Lógica de Programação. 9ª ed. São Paulo, Senac, 2005.
378p.

Você também pode gostar