SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas MínimasDiego Cavalca
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresRegis Magalhães
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação João Piedade
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfMarioAthayde
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoInstituto CENTEC
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Algoritmos probabilísticos
Algoritmos probabilísticosAlgoritmos probabilísticos
Algoritmos probabilísticosRodrigo Ferreira
 
Exemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosExemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosLuis Borges Gouveia
 
Introducao vpn (1)
Introducao vpn (1)Introducao vpn (1)
Introducao vpn (1)Valldo
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosMessias Batista
 
Criptografia
CriptografiaCriptografia
CriptografiaPaula P.
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 

Tendances (20)

Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas Mínimas
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Aula 3 - Lógica de Programação
Aula 3 - Lógica de ProgramaçãoAula 3 - Lógica de Programação
Aula 3 - Lógica de Programação
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
 
Algoritmos probabilísticos
Algoritmos probabilísticosAlgoritmos probabilísticos
Algoritmos probabilísticos
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Exemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dadosExemplo e caso prático do uso de base de dados
Exemplo e caso prático do uso de base de dados
 
Introducao vpn (1)
Introducao vpn (1)Introducao vpn (1)
Introducao vpn (1)
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e Lógicos
 
Largura de banda
Largura de bandaLargura de banda
Largura de banda
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 

Similaire à Algoritmo RSA

19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracaoRicardo Bolanho
 
Introdução ao MATLAB
Introdução ao MATLABIntrodução ao MATLAB
Introdução ao MATLABCaioTelefonica
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
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-17Aline Guedes
 
Apostila matemática básica 2
Apostila matemática básica 2Apostila matemática básica 2
Apostila matemática básica 2waynemarques
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalmanuelsilva309
 
Apostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalApostila matematica concursos_fundamental
Apostila matematica concursos_fundamentalFabricio Marcelino
 
Apostila matematica concursos - ensino fundamental
Apostila matematica   concursos - ensino fundamentalApostila matematica   concursos - ensino fundamental
Apostila matematica concursos - ensino fundamentalClebson Silva
 
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 algoritimoFelipe Dias Guimarães
 
Criptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetoniCriptografia com curva_eliptica_dbetoni
Criptografia com curva_eliptica_dbetonidrbetoni
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10Nauber Gois
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptssuserd654cb1
 
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).pptssuserd654cb1
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfItaloRainier1
 
Minicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJMinicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJRenan Prata
 
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óticaDelacyr Ferreira
 
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 algoritmosNécio de Lima Veras
 

Similaire à Algoritmo 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
 
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
 

Plus de Braima Turé Ture

Plus 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
 

Algoritmo 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