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]