280 likes | 449 Views
Criptografia: Algoritmo RSA por: Bernardino Sant’ Ana Júnior. Objetivos. - Apresentar uma revisão histórica da criptografia até surgimento do RSA - Descrição do RSA e apresentação da matemática envolvida. Sumário. Introdução Desenvolmento Breve Histórico Cifras assimétricas
E N D
Objetivos - Apresentar uma revisão histórica da criptografia até surgimento do RSA - Descrição do RSA e apresentação da matemática envolvida
Sumário Introdução Desenvolmento Breve Histórico Cifras assimétricas RSA e Aritmética Modular 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. Letra Freq Letra Freq (%) (%) A 14.63 N 5.05 B 1.04 O 10.73 C 3.88 P 2.52 D 4.99 Q 1.20 E 12.57 R 6.53 F 1.02 S 7.81 G 1.30 T 4.34 H 1.28 U 4.63 I 6.18 V 1.67 J 0.40 W 0.01 K 0.02 X 0.21 L 2.78 Y 0.01 M 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
Meio de Transmissão Criptografia A B Texto Claro Texto Claro Ch Pub B Texto Cripto Texto Cripto Ch Pr B
Meio de Transmissão Assinatura digital A B Texto Claro Texto Claro Ch Pr A Texto assinado Texto assinado Ch Pub A
Meio de Transmissão Criptografia e Assinatura Digital A B Texto Claro Texto Claro Ch Pub B Ch Pr A Texto Cripto assinado Texto Cripto assinado Ch Pr B Ch Pub A
RSA Adi Shamir, Ronald Rivest e Leonard Adlman http://www.usc.edu/dept/molecular-science/RSApics.htm
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: a ≡ 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
Algoritmo de Euclides Estendido INÍCIO 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 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 A 72 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 1189833 98217mod 1189661 6517mod 1189691
BLOCOS: 833 661 691 Chave Privada(593, 1189) mi = cie mod n cie mod n Resultado 833593mod 1189727 661593mod 1189928 691593mod 118965
BLOCOS: 72 79 82 65 BLOCOS UNIDOS: 72798265 72 79 82 65 H 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) • BOB • p = 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é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 n 51755 911 93953 136866879 40471 155975371 10781 4247405 9687191 Chave públicaChave 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 576 Fatorado 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