Algoritmo de Criptografia RSA

Propaganda
Algoritmo de Criptografia RSA
Base matemática e implementação
Resumo da Apresentação
Introdução
Equilíbrio matemático
Algoritmo RSA
Números primos/co-primos
Aritmética modular
Função totiente - φ(n)
Teorema de Euler – Inversa multiplicativa
Geração das Chaves (publicas / privadas)
Criptografia
Descriptografia
Referências / Contato
Introdução
Criada em meados de 1977
Criadores
Ronald L. Rivest
Adi Shamir
Leonard Adleman
Criptografia Assimétrica
Números Primos e Co-Primos
Número Primos
Número natural que só possui dois
divisores naturais.
Ex: 2, 3, 5, 7, 11, 13, 17, 19, ...
Maior: (2^32.582.657) − 1
Números Co-Primos (primos entre si):
Relação entre dois números que só
possuem 1 como divisor comum.
Ex: 6 e 35
Aritmética modular
Resolve-se através da aritmética
convencional, dividindo-se o resultado da
operação pelo modular. O resto desta
operação é o resultado da aritmética
modular.
2 + 5(mod 4) = 3
Função totiente - φ(n)
φ(x) = |{n Є N | n < x, mdc(n,x) = 1}|
Quantidade de números menores que x e
co-primos com ele.
φ(8) = 4 1, 3, 5 e 7
Teorema de Euler
Inversa multiplicativa
a Ξ b (mod n)
Significa que a e b se encontram na
mesma classe de congruência módulo
n.
Ex: 10 Ξ 16 (mod 3)
RSA – Geração das Chaves
Escolha de dois números primos grandes p e q:
Calcule n = p*q
φ(n) = 3120
Escolha um inteiro e tal que 1 < e < φ(n), de
forma que e e φ(n) sejam primos entre si (coprimos)
n = 61*53 = 3233
Calcule a função totiente em n:
p = 61 // q = 53
e = 17
Calcule d de forma que d*e Ξ 1 (mod φ(n))
d*17 Ξ 1 (mod 3120) mdc(d, 17) = 1 d = 2753
RSA – Geração das Chaves
Chave Pública
n = 3233
e = 17
Chave Privada
n = 3233
d = 2753
RSA – Criptografia
Fórmula
encrypt(m) = m^e mod n
= m^17 mod 3233
Aplicação (m = 123)
encrypt(123) = 123^17 mod 3233
= 3375....9803 mod 3233
= 855
encrypt(123) = 855
RSA - Descriptografia
Fórmula
decrypt(C) = C^d mod n
= C^2753 mod 3233
Aplicação (C = 855)
decrypt(855) = 855^2753 mod 3233
= 5043....4375 mod 3233
= 123
encrypt(855) = 123
Referências / Contato
Referências:
RSA Example
RSA Security (Oficial Page)
http://world.std.com/~franl/crypto/rsa-example.html
http://www.rsasecurity.com
Criptografia RSA - Algoritmos e Implementações
http://guide.motdlabs.net/edicoes/guide03/
Contato:
[email protected]
Download