CRIPTOGRAFIA Prof. João Nunes de Souza FACOM UFU Bibliografia • Stallings, W. Cryptography and Network Security, Sec Ed, Prentice Hall,1999. http://williamstallings.com/Security2e.html • Salomaa, A., Public-Key Cryptography, Springer Verlag, 1990. Criptografia convencional Criptoanálise em criptografia convencional Exemplo de criptografia convencional Ceasar cipher. • Criptoanálise trivial • Cada letra corresponde a um número de 1 a 26. C = E(p) = (p + k)mod(26) p = D(C) = (C – k)mod(26), k < 26 Exemplo de criptografia convencional Ceasar cipher. • O sistema pode ser melhorado associando pares de letras a números. • Cada par de letras corresponde a um número de 1 a 26x26. • Criptoanálise ainda é trivial. C = E(p) = (p + k)mod(26x26) p = D(C) = (C – k)mod(26x26), k < 26x26 Criptografia convencional moderna • Cifragem por blocos. • DES, IDEA, BLOWFIH, RC5, CAST, AES, etc, ..... • O algoritmo é público. A segurança depende apenas da chave. Exemplo didático. DES. DES = Data Encryption Standart • Padrão internacional para cifragem por blocos. DES DES Modos de operação Modos de operação Distribuição de chaves • Este é o grande problema da criptografia convencional. Distribuição de chaves Criptografia de chave pública Confidencialidade Autenticidade Confidencialidade e autenticidade Cifrando e decifrando no RSA 1. Selecionar p e q • p e q deve ser primos grandes. • Ser grande significa ter mais de 100 bits. • A segurança do RSA está na dificuldade de calcular p e q sabendo n = pq. • Observe que n é público e p e q são secretos. • Para encontrar p e q utilizamos algoritmos probabilísticos. 2. Cálculos de n e Φ • É fácil calcular n e Φ. 3. Seleção de e • O número e deve ser tal que, gcd( Φ(n), e ) = 1, 1 < e < Φ(n) Isto é necessário para que e tenha inverso multiplicativo. 4. Cálculo de d • O cálculo de d é fácil. d é o inverso multiplicativo de e. d.e = 1 mod( Φ(n) ) • Existem algoritmos eficientes que calculam d. • Algoritmo de Euclides extendido. As chaves. Exemplo de aplicação do RSA • Considere o texto em claro: SAUNOIN TAAS • Associe cada letra do alfabeto a uma letra. A = 01, B = 02, C = 03, .........., Z = 26 espaço em branco = 00 SA UN 1901 2114 OI N TA AS 1509 1400 2001 0119 Exemplo de aplicação do RSA • Texto em claro: SAUNOIN TAAS • Texto em claro representado por números: M = 1901 2114 1509 1400 2001 0119 Exemplo de aplicação do RSA • No RSA, considere: 1. Selcione: p = 47, q = 49. 2. Calcule: n = 2773, Φ(n) = 2668. 3. Selecione: e = 17 Observe que gcd( 2668, 17 ) = 1, 1 < 17 < 2668 Exemplo de aplicação do RSA 4. Calcule d. d é o inverso multiplicativo de 17. d.17 = 1 mod( 2668 ) Logo, d = 157 É possível falar um pouco mais? • • • • • Assinatura digital, protocolos criptográficos, provas de conhecimento zero, senhas. etc, etc, ........................ MUITO OBRIGADO.