Upload
internet
View
108
Download
0
Embed Size (px)
Citation preview
RSA
Dornélio Mori
Ney Bermudes
Agenda
Origem e Definição Fundamentação Matemática O algoritmo Complexidade Conclusão e trabalhos futuros Referências
Origem e Definição
Inventado por Ron Rivest, Adi Chamir e Len Adleman e publicado em 1977
Usado para prover privacidade e garantir a autenticidade dos dados digitais
Baseia na diferença drástica entre, a facilidade de encontrar números primos grandes e a dificuldade de fatorar o produto de dois números primos grandes.
Origem e definição (2)
Fundamentação Matemática
O Algoritmo RSA utiliza Exponenciação e Aritmética Modular para codificar e decodificar a informação.
Antes de abordar o Algoritmo RSA vamos considerar, como exemplo, um processo semelhante de Encriptação que utiliza a equação:
(1). C = Me mod N M representa a informação que se deseja
criptografar C é o texto cifrado através desse processo.
Fundamentação Matemática
O processo de Decriptação é obtido através de um método semelhante ao de encriptação, cuja função é realizar uma operação inversa à que foi utilizada na codificação. Neste caso:
(2). M = Cd mod N Tendo em vista que as equações (1) e (2)
devem realizar funções inversas, é preciso que haja uma escolha apropriada de d e e para que estas operações se processem.
Fundamentação Matemática
Neste campo algébrico, temos que as operações de soma e multiplicação usando a função módulo 11 são bem definidas.
Deve-se notar que o resultado das operações é sempre um número pertencente ao conjunto {0, 1, ... N-1}, comprovando a propriedade de fechamento das operações módulo N sobre este conjunto finito.
Fundamentação Matemática
Além das operações de soma e multiplicação módulo N, é também possível definir a operação de Exponenciação.
Fundamentação Matemática
Como podemos observar, a periodicidade de repetição, é de N - 1. Isto acontece sempre que N for um número primo, também conhecido como "Pequeno Teorema de Fermat".
Fundamentação Matemática
Para que seja permitida a decriptografia de mensagens, é necessário que sejam atendidas as condições das equações (1) e (2). Substituindo a segunda equação na primeira, temos:
M = [Me mod N]d mod N
ou
M = Mde mod N
O algoritmo
1. Selecione ao acaso dois números primos grandes p e q, tais que p ≠ q. os primos p e q podem ter, por exemplo 512 bits cada um.
2. Calcule n pela equação n = pq.3. Selecione um inteiro ímpar pequeno e tal que ele seja primo
em relação a φ(n) que é representado por (p – 1)(q – 1).4. Calcule d como o inverso multiplicativo de e, módulo φ(n).5. Publique o par P = (e, n) como sua chave pública RSA.6. Guarde em segredo o par S = (d, n) como sua chave secreta
RSA.
O algoritmo (2)
7 8 12 7 8 1213 2 3 13 2 3
P(M) = Me (mod n) S(C) = Cd (mod n)
Complexidade
Codificar e decodificar: 2 · log2(e) para cada uma dessas operações (sendo que na decodificação o e será substituído pelo d).
Encontrando grandes números primos: (ln10n)/2, onde n é o número de dígitos.
Definir e a partir de d e ø(n): o custo é menor que log2(n).
Complexidade (2)
para a quebra da segurança desse algoritmo o método de fatoração seria uma solução, porém o custo desses algoritmos é muito alto.
Na época em que o artigo foi escrito, para se fatorar uma chave com n=500, levaria 4.2 x 1025 anos para se terminar a tarefa.
Conclusão e trabalhos futuros
Nota-se a importância da contribuição feita pelos desenvolvedores do RSA, através de uma proposta sólida e com um bom nível de segurança
Estudo sobre as tentativas já catalogadas de quebra de segurança deste algoritmo
Novas variações de RSA que atualmente existem no mercado
Um estudo mais aprofundado sobre os fundamento matemáticos que nortearam o desenvolvimento deste algoritmo
Referências
D. Boneh, “Twenty years of attacks on the RSA cryptosystem,” Notices of the American Mathematical Society (AMS), Vol. 46, No. 2, pp. 203-213, 1999.
Rivest, R. L., Shamir, A., and Adleman, L., “A Method for Obtaining digital Signatures and Public-key Cryptosystems,” communications of the ACM 21 (1978), pp.120-126.
Cormen, Thomas H, Leiserson , Charles L.,Rivest, Ronald L., and Stein, Clifford, “Algoritmos: Teoris e Prática.” Campus, 2002.
Dúvidas???