Post on 31-Dec-2015
description
Criptografia:Criptografia:Algoritmo RSAAlgoritmo RSA
por: Bernardino Sant’ Ana Júniorpor: Bernardino Sant’ Ana Júnior
ObjetivosObjetivos
- Apresentar uma revisão histórica da criptografia até surgimento do RSA
- Descrição do RSA e apresentação da matemática envolvida
SumárioSumário
IntroduçãoIntrodução
DesenvolmentoDesenvolmento
Breve HistóricoBreve Histórico
Cifras assimétricas Cifras assimétricas
RSA e Aritmética Modular RSA e Aritmética Modular
Conclusão Conclusão
Por milhões de anos a humanidade viveu como os animais. Então aconteceu algo, que despertou o poder de nossas mentes: aprendemos a falar.
Stephen Hawking
Três pessoas só conseguem manter um segredo se duas delas já estiveram mortas
Benjamim Franklin
Histórico
- Objetivos da Criptografia : SIGILO e AUTENTICAÇÃO
- Processos : transposição e substituição
- Cifra de César e Códigos antigos de substituição. Eram
quebrados por análise de frequência.
- 1563 - Criador Blaise de Viginère
- 1821 - Charles Babbage criptonalista
- A partir do século XX e principalmente na Segunda Guerra Mundial os métodos de transposição e substituição começaram a ser mecanizados e com o desenvolvimento do computador tornaram-se informatizados. Máquinas utilizadas na II GM: Enigma e Purple
FREQUÊNCIA APROXIMADA DAS LETRAS NO PORTUGUÊS.FREQUÊNCIA APROXIMADA DAS LETRAS NO PORTUGUÊS.
Letra Freq Letra Freq(%) (%)
A 14.63 N 5.05B 1.04 O 10.73C 3.88 P 2.52D 4.99 Q 1.20E 12.57 R 6.53F 1.02 S 7.81G 1.30 T 4.34H 1.28 U 4.63I 6.18 V 1.67J 0.40 W 0.01K 0.02 X 0.21L 2.78 Y 0.01M 4.74 Z 0.47
Textos eram criptoanalisados comparando-se a frequência com que as letras apareciam no texto criptografado com a frequência com que apareciam num determinado idioma.
Até 1976, os sistemas criptográficos eram baseados nos chamados algoritmos simétricos, onde remetente e destinatário possuíam a mesma chave.
A segurança do sistema encontrava-se no fato de a chave ser transmitida de forma segura. Para a troca de chaves é necessário um canal seguro. Mas se existe um canal seguro então é necessário criptografar ?
Outra questão é o gerenciamento das chaves.
Exemplo: Para que 50 pessoas possam comunicar-se utilizando a criptografia simétrica são necessárias:
(50 * 49) / 2 = 1.255 chaves diferentes.
No início da década de 70 a Indústria e Comércio adotam o DES (Data Encryption Standard)
Diffie e Hellman, em 1976, criam a concepção de chave pública
Em 1977 a criação do RSA (Rivest, Shamir, Adleman) implementa de forma prática as idéias de chave pública
Surgimento do PGP na década de 80
Nos algoritmos de Chave Pública:
Criptografia garante o SIGILO
Assinatura Digital garante a AUTENTICIDADE
CriptografiaCriptografia
Meio de Transmissão
TextoClaro
TextoClaro
TextoClaro
TextoClaro
TextoCripto
TextoCripto
TextoCripto
TextoCripto
Ch Pub B
Ch Pr B
A B
Assinatura digitalAssinatura digital
Meio de Transmissão
TextoClaro
TextoClaro
TextoClaro
TextoClaro
Textoassinado
Textoassinado
Ch Pr A
Ch Pub A
Textoassinado
Textoassinado
A B
Criptografia e Assinatura DigitalCriptografia e Assinatura Digital
Meio de Transmissão
TextoClaro
TextoClaro
TextoClaro
TextoClaro
TextoCriptoassinado
TextoCriptoassinado
Ch Pr A
Ch Pub A
TextoCriptoassinado
TextoCriptoassinado
Ch Pub B
Ch Pr B
A B
http://www.usc.edu/dept/molecular-science/RSApics.htm
RSA
Adi Shamir, Ronald Rivest e Leonard Adlman
Algoritmo criado em 1977 por:
Ron Rivest, Adi Shamir e Leonard Adleman
Idéia da chave pública colocado em prática
Utilizado até os dias atuais e de grande segurança
Aritmética Modular: Aritmética Modular: a ≡ b moda ≡ b mod
A notação a ≡ b mod m, indica que (a-b) é divisível por m.
O Módulo 3, por exemplo, representa o conjunto dos inteiros formados por 0, 1 e 2, sendo que qualquer operação neste módulo não pode ultrapassar 3. Exemplo:
2 + 2 = 4 , mas em MOD 3 o resultado 2 + 2 = 1.
Pois 4 é dividido por 3 e tem resto 1.
Matematicamente: 4 ≡ 1 MOD 3.
Algoritmo RSA
1) escolher p e q , dois números primos;
2) calcular n=p*q;
3) calcular Φ(n) = (p-1)(q-1);
4) escolher e
5) calcular d, com o Algoritmo de Euclides Estendido
6) Chave pública = (e,n)
7) Chave privada = (d,n)
8) Transformar a frase em ASCII e separar os blocos
9) Aplicar ci = bie mod n
NÍCIO
Procedimento Euclides Estendido
R0= Φ(n) , R1= e, x0=1, y0=0, x1=0, y1=1;
Repita o procedimento abaixo enquanto R<>0;
R= R0 mod R1;
q = inteiro de (Φ(n)/e);
x = x0 – q.x1;
x0 = x1;
x1 = x;
y = y0 –q. y1;
y0 = y1,
y1 = y;
se R = 0 apresentar os valores de x e y
FIM
Algoritmo de Euclides Estendido
INÍCIOR0= Φ(n), R1= e, x0=1, y0=0, x1=0, y1=1;Repita o procedimento abaixo enquanto R<>0;R= R0 mod R1;q = inteiro de (Φ(n)/e);x = x0 – q.x1;x0 = x1;x1 = x;y = y0 –q. y1;y0 = y1,y1 = y;se R = 0 apresentar os valores de x e yFIM
Algoritmo AKS
Os pesquisadores Manindra Agarwal, Nitin Saxena e Neeraj Kayal, do Departamento de Ciência da Computação e Engenharia do Instituto de Tecnologia Indiano de Kanpur, divulgaram em 6 de agosto de 2002, um algoritmo para testar se números ímpares grandes são primos em tempo polinomial.
<http://www.cse.iitk.ac.in/news/primality.html>.
EXEMPLO
p = 41, q = 29, logo n = p*q = 1189
Φ(n) = (p-1).(q-1), logo Φ(1189) = 1120.
Escolhendo e = 17 e calculando d = 593
chave pública: (e, n) = (17, 1189) chave privada: (d, n) = (593, 1189)
equação: c = me ( mod n ).
Mensagem: HORA
H O R A72 79 82 65
Chave Pública (17, 1189)
ASCII: 72 79 82 65; BLOCOS: 727 982 65
ci = bie mod n
bie mod n Resultado
72717mod 1189 833
98217mod 1189 661
6517mod 1189 691
BLOCOS: 833 661 691
Chave Privada (593, 1189)
mi = cie mod n
cie mod n Resultado
833593mod 1189 727
661593mod 1189 928
691593mod 1189 65
BLOCOS: 72 79 82 65
BLOCOS UNIDOS: 72798265
72 79 82 65H O R A
Analogia:
E = 69 => ((69)17)1 / 17 = 69
Assinatura Digital:
Mensagem: E ; ASCII => 69
Alice envia mensagem para Bob
ALICE p = 41, q = 29, n = 1189, Φ(n) = 1120)chave pública: (e, n) = (17, 1189)
chave privada: (d, n) = (593, 1189)
BOBp = 31, q = 37, n = 1147, Φ(n) = 1080)chave pública: (e, n) = (11, 1147)
chave privada:(d, n) = (491, 1147)
CRIPTOGRAFIA (ALICE)
6911mod 1147 => 516
516593mod 1189 => 924
DECRIPTOGRAFIA (BOB)
92417mod 1189 => 516
516491mod 1147 => 69
Simétricos x AssimétricosSimétricos x Assimétricos
As vantagens dos algoritmos simétricos são:
Não precisam transmitir a chave privada
Permitem a assinatura digital
E as desvantagens são relativas a velocidade de processamento, que é mais lenta que os simétricos
EXEMPLOS DE CHAVES:
e d n51755 911 93953136866879 40471 15597537110781 4247405 9687191
Chave pública Chave Privada
(51755, 93953) (911, 93953)
(136866879, 155975371) (40471, 155975371)
(10781, 9687191) (4247405, 9687191)
Algoritmos de fatoração
- Algoritmo de Fermat - Algoritmo Pollard p-1
RSA 576Fatorado em 03 Dez 2003, por uma equipe da Agência Federal para Segurança de Tecnologia da Informação da Alemanha. Prêmio de $ 10,000.00. Total de dígitos 174.
188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059
Resultado:
398075086424064937397125500550386491199064362342526708406385189575946388957261768583317
472772146107435302536223071973048224632914695302097116459852 171130520711256363590397527
Para Saber Mais:
http://www.rsasecurity.com
http://www.numaboa.com.br
http://www.geocities.com/dicaseduvidas
REFERÊNCIAS BIBLIOGRÁFICAS
AGRAWAL, Maindra; KAYAL, Neeraj; SAXENA, Nitin. Primes is in P. Indian Institute
of Technology: 2002. Disponível em: <http://www.cse.iitk.ac.in/news/primality.html>.
Acesso em: 09 mar. 2004.
COUTINHO, Severino Collier. Números Inteiros e Criptografia RSA, Rio de Janeiro:
Sociedade Brasileira de Matemática, 2000.
EVARISTO, Jaime; PERDIGÃO, Eduardo. Álgebra Abstrata, Maceió: EDUFAl, 2002.
KAHN, David. The Codebreakers: The history of secret writing, New York: Scribner,
1967, 1996.
LUCCHESI, Cláudio Leonardo. Introdução à Criptografia Computacional, Campinas:
Papirus, 1986.
SANT’ ANA JÚNIOR, Bernardino. Introdução à matemática aplicada à criptologia.
2004. Trabalho de Conclusão de Curso (Licenciatura em Matemática) - Universidade
Castelo Branco, Rio de Janeiro, 2004.
SINGH, Simon. O livro dos Códigos. Rio de Janeiro: Record, 1999.
CONCLUSÃO