SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Algoritmo de Criptografia RSA
Base matemática e implementação
Resumo da Apresentação
Introdução
Equilíbrio matemático
Números primos/co-primos
Aritmética modular
Função totiente - φ(n)
Teorema de Euler – Inversa multiplicativa
Algoritmo RSA
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:
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
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
encryptencrypt(123) = 855(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
encryptencrypt(855) = 123(855) = 123
Referências / Contato
Referências:
RSA Example
http://world.std.com/~franl/crypto/rsa-example.html
RSA Security (Oficial Page)
http://www.rsasecurity.com
Criptografia RSA - Algoritmos e Implementações
http://guide.motdlabs.net/edicoes/guide03/
Contato:
mayconmaia@yahoo.com.br

Mais conteúdo relacionado

Mais procurados

Computação desplugada na prática escolar
Computação desplugada na prática escolarComputação desplugada na prática escolar
Computação desplugada na prática escolar
Jessica Pontes
 
Roteiro de aula montagem e manutenção 2012
Roteiro de aula montagem e manutenção 2012Roteiro de aula montagem e manutenção 2012
Roteiro de aula montagem e manutenção 2012
Carlos Melo
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
angelicamenegassi
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
Nadia Habu
 

Mais procurados (20)

Computação desplugada na prática escolar
Computação desplugada na prática escolarComputação desplugada na prática escolar
Computação desplugada na prática escolar
 
Roteiro de aula montagem e manutenção 2012
Roteiro de aula montagem e manutenção 2012Roteiro de aula montagem e manutenção 2012
Roteiro de aula montagem e manutenção 2012
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Variáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosVariáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dados
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Perguntas e respostas sobre o pgrss!
Perguntas e respostas sobre o pgrss!Perguntas e respostas sobre o pgrss!
Perguntas e respostas sobre o pgrss!
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Apresentação comissionamento
Apresentação comissionamentoApresentação comissionamento
Apresentação comissionamento
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0Teoria Lista Exercicios 1.0
Teoria Lista Exercicios 1.0
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Matemática Discreta - Introdução
Matemática Discreta - IntroduçãoMatemática Discreta - Introdução
Matemática Discreta - Introdução
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Aula analise algoritmos
Aula analise algoritmosAula analise algoritmos
Aula analise algoritmos
 
Vírus De Computador
Vírus De ComputadorVírus De Computador
Vírus De Computador
 
Modelagem de Dados
Modelagem de DadosModelagem de Dados
Modelagem de Dados
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Informatica Aplicada
Informatica AplicadaInformatica Aplicada
Informatica Aplicada
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 

Semelhante a Rsa

19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracao
Ricardo Bolanho
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
Ricardo Bolanho
 
Apostila matemática básica 2
Apostila matemática básica 2Apostila matemática básica 2
Apostila matemática básica 2
waynemarques
 
Atividade pratica supervisionada construção de algoritimo
Atividade pratica supervisionada  construção de algoritimoAtividade pratica supervisionada  construção de algoritimo
Atividade pratica supervisionada construção de algoritimo
Felipe Dias Guimarães
 
Criptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoniCriptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoni
drbetoni
 
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs ComplexosImplementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
inechidias
 

Semelhante a Rsa (20)

19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracao
 
Introdução ao MATLAB
Introdução ao MATLABIntrodução ao MATLAB
Introdução ao MATLAB
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Aula 4 Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17
Aula 4   Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17Aula 4   Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17
Aula 4 Profmat - Algoritmo de Euclides - MDC e MMC 25 08-17
 
Apostila revisao de matematica
Apostila    revisao de matematicaApostila    revisao de matematica
Apostila revisao de matematica
 
Apostila matemática básica 2
Apostila matemática básica 2Apostila matemática básica 2
Apostila matemática básica 2
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamental
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamental
 
Apostila matematica concursos - ensino fundamental
Apostila matematica   concursos - ensino fundamentalApostila matematica   concursos - ensino fundamental
Apostila matematica concursos - ensino fundamental
 
Atividade pratica supervisionada construção de algoritimo
Atividade pratica supervisionada  construção de algoritimoAtividade pratica supervisionada  construção de algoritimo
Atividade pratica supervisionada construção de algoritimo
 
Criptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoniCriptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoni
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 
Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04Construcao de Algoritmos - Aula 04
Construcao de Algoritmos - Aula 04
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdf
 
Minicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJMinicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJ
 
euclides primos
euclides primoseuclides primos
euclides primos
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs ComplexosImplementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
 

Mais de Braima Turé Ture (7)

Inversa vandermonde
Inversa vandermondeInversa vandermonde
Inversa vandermonde
 
Mat 8-potencias-131104122352-phpapp02
Mat 8-potencias-131104122352-phpapp02Mat 8-potencias-131104122352-phpapp02
Mat 8-potencias-131104122352-phpapp02
 
Exercicios resolvidosbinomial
Exercicios resolvidosbinomialExercicios resolvidosbinomial
Exercicios resolvidosbinomial
 
Qm31
Qm31Qm31
Qm31
 
Cap15
Cap15Cap15
Cap15
 
A matemática da cifra de vigenère
A matemática da cifra de vigenèreA matemática da cifra de vigenère
A matemática da cifra de vigenère
 
Exer
ExerExer
Exer
 

Rsa

  • 1. Algoritmo de Criptografia RSA Base matemática e implementação
  • 2. Resumo da Apresentação Introdução Equilíbrio matemático Números primos/co-primos Aritmética modular Função totiente - φ(n) Teorema de Euler – Inversa multiplicativa Algoritmo RSA Geração das Chaves (publicas / privadas) Criptografia Descriptografia Referências / Contato
  • 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
  • 12. Referências / Contato Referências: RSA Example http://world.std.com/~franl/crypto/rsa-example.html RSA Security (Oficial Page) http://www.rsasecurity.com Criptografia RSA - Algoritmos e Implementações http://guide.motdlabs.net/edicoes/guide03/ Contato: mayconmaia@yahoo.com.br