Prof. João Nunes de Souza FACOM UFU 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 OI N TA AS 1901 2114 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: Selcione: p = 47, q = 49. Calcule: n = 2773, Φ(n) = 2668. Selecione: e = 17 Observe que gcd( 2668, 17 ) = 1, 1 < 17 < 2668
Exemplo de aplicação do RSA 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.