O documento apresenta o algoritmo RSA de criptografia assimétrica, explicando como gera as chaves pública e privada usando números primos, aritmética modular e o teorema de Euler, e como realiza a criptografia e descriptografia de mensagens.
3. Introdução
Criada em meados de 1977
Criadores
Ronald L. Rivest
Adi Shamir
Leonard Adleman
Criptografia Assimétrica
4. 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
5. 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
6. 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
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)
8. RSA – Geração das Chaves
Escolha de dois números primos grandes p e q:
p = 61 // q = 53
Calcule n = p*q
n = 61*53 = 3233
Calcule a função totiente em n:
φ(n) = 3120
Escolha um inteiro e tal que 1 < e < φ(n), de
forma que e e φ(n) sejam primos entre si (co-
primos)
e = 17
Calcule d de forma que d*e Ξ 1 (mod φ(n))
d*17 Ξ 1 (mod 3120) mdc(d, 17) = 1 d = 2753
9. RSA – Geração das Chaves
Chave Pública
n = 3233
e = 17
Chave Privada
n = 3233
d = 2753
10. 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
encryptencrypt(123) = 855(123) = 855
11. 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
encryptencrypt(855) = 123(855) = 123