mini-curso-cripto

Propaganda
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.
Download