Você está na página 1de 16

Sistema de Criptografia RSA

Sistemas Operacionais II
Ciência da Componentes:

Computação -
-
Rhamza Mourad;
João Pedro Gebara;
- Rafael Araujo;
Prof. Fábio Modesto - Celso;
- Guilherme.
SISTEMAS DE CRIPTOGRAFIA
● Ao mexer com informações, para que sistemas de computadores se mantenham
seguros, devem se preocupar com:
○ ameaças à confidencialidade dos dados;
○ ameaças à integridade dos dados;
○ ameaças à disponibilidade dos dados.
● A natureza dessas ameaças possui três pilares:
○ invasores;
○ programas maliciosos;
○ acidentes.
SISTEMAS DE CRIPTOGRAFIA
● Uma das práticas para evitar problemas relacionados à segurança de um sistema é a
criptografia;
● Sistemas de criptografia (do grego kruptós, que significa “secreto” ou “oculto”, e
graphía, que quer dizer “escrita”) são conjuntos de técnicas/algoritmos que visam
traduzir informações para um código ininteligível, de modo a manter a sua
integridade e confidencialidade;
● Falaremos, mais especificamente, do sistema RSA.
SISTEMA CRIPTOGRÁFICO RSA
● RSA é um acrônimo composto pelas letras iniciais dos criadores, Ron Rivest, Adi
Shamir e Leonard Adleman;
● O sistema RSA é um dos primeiros sistemas de criptografia assimétrica;
● Amplamente utilizado em protocolos da internet, como em:
○ Compras on-line;
○ Secure Email;
○ Secure Shell;
○ etc.
SISTEMA CRIPTOGRÁFICO RSA
● O algoritmo mantém duas chaves (por isso é chamado de sistema assimétrico), uma
privada (usuário) e uma pública (livre);
○ A chave pública é usada para criptografar dados, enquanto a chave privada é usada para
descriptografar esses dados;
● Baseia-se na escolha de dois números primos grandes, na ordem de 10 100 para
definir as chaves;
○ Calcula-se n, produto dos fatores primos p e q e φ(n), chamado função totiente de Euler e dado por
(p-1) * (q-1);
○ Depois, escolhe-se dois números: um número e menor que φ(n) e um número d dado pelo
algoritmo de Euclides estendido, isto é, (d * e) % φ(n) = 1;
○ A chave privada é definida pelo par (d, n), enquanto a chave pública é definida pelo par (e, n).
SISTEMA CRIPTOGRÁFICO RSA
● A segurança do RSA baseia-se na dificuldade de fatorar o produto de dois números
primos grandes em seus fatores primos p e q.
● Quanto maior o tamanho dos números primos usados, mais segura a criptografia
RSA se torna.
○ Problema da fatoração;
○ O algoritmo mais eficiente é a peneira de campo de número geral (GNFS), com o melhor tempo de
execução assintótico teórico para n acima de 400 bits:
SISTEMA CRIPTOGRÁFICO RSA
● Criptografia:
○ A mensagem é convertida em um número inteiro (uma string pode ser, por exemplo, convertida caracter a
caracter consultando a tabela ASCII);
○ Em seguida, o remetente transforma a mensagem m, numa mensagem c, elevando o número representando a
mensagem à potência da chave pública do destinatário e aplicando uma operação de módulo:

● Descriptografia:
○ O destinatário recebe o texto criptografado C;
○ Ele utiliza sua chave privada, que consiste em um valor d (um número secreto) e n (o mesmo módulo usado na
chave pública);
○ O destinatário aplica a seguinte operação:

○ Isso resulta no número inteiro M, que é então convertido de volta em uma mensagem legível.
Estrutura da criptografia
Implementação

● Gera uma chave


pública;
● Gera uma chave
privada;
● Criptografa e
descriptografa a
mensagem com essas
chaves;
Implementação

● Escolhe dois
números primos
aleatórios (p,q);
● Calcula N como
produto de p e q;
● Calcula a função
totiente de Euler;
Implementação

● Escolhe um número
“d” de forma que
(d*e)%phi = 1;
● “d” é o inverso
multiplicativo
módulo de “e”;
Implementação
● Usa a chave pública em
criptografar a entrada; ciphertxt
= (plaintext^e)%n;
● Recebe o texto cifrado e calcula
o texto original com a fórmula:

plaintext = (ciphertxt^e)%n;
Print da tela de execução
Origem: Wikipédia, a enciclopédia livre.

https://github.com/awnonbhowmik/RSA-Python
BIBLIOGRAFIA
● https://github.com/awnonbhowmik/RSA-Python;

● Tanenbaum, A. S. (2008). Sistemas Operacionais: Projeto e Implementação (3ª ed., Cap. 9


- Segurança). Editora Bookman Companhia;

● WIKIPEDIA CONTRIBUTORS. General number field sieve. Disponível em: <


https://en.wikipedia.org/wiki/General_number_field_sieve>;

● CONTRIBUIDORES DOS PROJETOS DA WIKIMEDIA. RSA (sistema criptográfico).


Disponível em: <https://pt.wikipedia.org/wiki/RSA_(sistema_criptogr%C3%A1fico)>;

● Xin Zhou, and Xiaofei Tang. “Research and Implementation of RSA Algorithm for
Encryption and Decryption.” IEEE Xplore, 1 Aug. 2011,
ieeexplore.ieee.org/abstract/document/6021216.

Você também pode gostar