Você está na página 1de 74

Troca de Chaves

maio/2006
Fábio Borges

LNCC Troca de Chaves – p.1/23


Fluxo Normal

Ana Beth
Edna

Ameaças eminentes.

LNCC Troca de Chaves – p.2/23


Interceptação

Ana Beth
Edna

LNCC Troca de Chaves – p.3/23


Alteração

Ana Beth
Edna

LNCC Troca de Chaves – p.4/23


Fabricação

Ana Beth
Edna

LNCC Troca de Chaves – p.5/23


Interrupção

Ana Beth
Edna

LNCC Troca de Chaves – p.6/23


Grupo Abeliano

Fechado Se a, b ∈ G então a ⊕ b ∈ G
Associativa a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c
Identidade ∃ 0 ∈ G : a + 0 = a ∀a ∈ G
Inversa ∀a ∈ G ∃ b ∈ G : a ⊕ b = 0
Comutatividade a ⊕ b = b ⊕ a a, b ∈ G

LNCC Troca de Chaves – p.7/23


Contra Exemplo

Matrizes M com dimensão n × n e


det(M ) 6= 0

LNCC Troca de Chaves – p.8/23


Contra Exemplo

Matrizes M com dimensão n × n e


det(M ) 6= 0
" #" # " #
1 2 4 3 8 5
=
3 4 2 1 20 13

LNCC Troca de Chaves – p.8/23


Contra Exemplo

Matrizes M com dimensão n × n e


det(M ) 6= 0
" #" # " #
1 2 4 3 8 5
=
3 4 2 1 20 13
" #" # " #
4 3 1 2 13 20
=
2 1 3 4 5 8

LNCC Troca de Chaves – p.8/23


Simétrica versus Assimétrica
Simétrica

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M
Dr (Ek (M )) = S

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M
Dr (Ek (M )) = S
Assimétrica

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M
Dr (Ek (M )) = S
Assimétrica
Ea (M ) = C

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M
Dr (Ek (M )) = S
Assimétrica
Ea (M ) = C
Db (C) = M

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M
Dr (Ek (M )) = S
Assimétrica
Ea (M ) = C
Db (C) = M
Da (Eb (M )) = M

LNCC Troca de Chaves – p.9/23


Simétrica versus Assimétrica
Simétrica
Ek (M ) = C
Dk (C) = M
Dk (Ek (M )) = M
Dr (Ek (M )) = S
Assimétrica
Ea (M ) = C
Db (C) = M
Da (Eb (M )) = M
Dr (Ea (M )) = S
LNCC Troca de Chaves – p.9/23
Simétrica × Assimétrica
Quantas chaves são necessárias?

LNCC Troca de Chaves – p.10/23


Simétrica × Assimétrica
Quantas chaves são necessárias?
n(n−1)
Simétrica → 2

LNCC Troca de Chaves – p.10/23


Simétrica × Assimétrica
Quantas chaves são necessárias?
n(n−1)
Simétrica → 2
Assimétrica → 2n

LNCC Troca de Chaves – p.10/23


Simétrica × Assimétrica
Quantas chaves são necessárias?
n(n−1)
Simétrica → 2
Assimétrica → 2n
Criptografia Simétrica

LNCC Troca de Chaves – p.10/23


Simétrica × Assimétrica
Quantas chaves são necessárias?
n(n−1)
Simétrica → 2
Assimétrica → 2n
Criptografia Simétrica
Como distribuir e armazenar as chaves?

LNCC Troca de Chaves – p.10/23


Simétrica × Assimétrica
Quantas chaves são necessárias?
n(n−1)
Simétrica → 2
Assimétrica → 2n
Criptografia Simétrica
Como distribuir e armazenar as chaves?
Criptografia Assimétrica

LNCC Troca de Chaves – p.10/23


Simétrica × Assimétrica
Quantas chaves são necessárias?
n(n−1)
Simétrica → 2
Assimétrica → 2n
Criptografia Simétrica
Como distribuir e armazenar as chaves?
Criptografia Assimétrica
Como garantir com quem se está
comunicando?

LNCC Troca de Chaves – p.10/23


Simétrica

Canal Seguro

Ana Beth
Edna

LNCC Troca de Chaves – p.11/23


Assimétrica

Ana Beth
Edna

LNCC Troca de Chaves – p.12/23


Assinatura Digital
aA é a chave secreta de Ana

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas
EaA (M )

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas
EaA (M )
EbA (M )

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas
EaA (M )
EbA (M )
EaA (EbB (M )) se nA > nB

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas
EaA (M )
EbA (M )
EaA (EbB (M )) se nA > nB
EbB (EaA (M )) se nA < nB

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas
EaA (M )
EbA (M )
EaA (EbB (M )) se nA > nB
EbB (EaA (M )) se nA < nB
EbA (EaB (M )) se nA > nB

LNCC Troca de Chaves – p.13/23


Assinatura Digital
aA é a chave secreta de Ana
aB é a chave secreta de Beth
bx e nx = pq suas respectivas chaves públicas
EaA (M )
EbA (M )
EaA (EbB (M )) se nA > nB
EbB (EaA (M )) se nA < nB
EbA (EaB (M )) se nA > nB
EaB (EbA (M )) se nA < nB
LNCC Troca de Chaves – p.13/23
Randômico

xs ≡ y mod z

LNCC Troca de Chaves – p.14/23


Randômico

xs ≡ y mod z
Dado x, s e z temos y é pseudo-randômico

LNCC Troca de Chaves – p.14/23


Randômico

xs ≡ y mod z
Dado x, s e z temos y é pseudo-randômico
Dado x, y e z temos s secreto

LNCC Troca de Chaves – p.14/23


A Troca de Chaves de Diffie-Hellman

Ana escolhe p, q e 0 < k ∈ R t.q. (k, pq) = 1 e


envia k e pq para Beth

LNCC Troca de Chaves – p.15/23


A Troca de Chaves de Diffie-Hellman

Ana escolhe p, q e 0 < k ∈ R t.q. (k, pq) = 1 e


envia k e pq para Beth
depois escolhe 0 < r ∈ R, calcula k r e envia o
resultado para Beth mantendo r em segredo

LNCC Troca de Chaves – p.15/23


A Troca de Chaves de Diffie-Hellman

Ana escolhe p, q e 0 < k ∈ R t.q. (k, pq) = 1 e


envia k e pq para Beth
depois escolhe 0 < r ∈ R, calcula k r e envia o
resultado para Beth mantendo r em segredo
Beth escolhe 0 < s ∈ R, calcula k s e envia o
resultado para Ana mantendo s em segredo

LNCC Troca de Chaves – p.15/23


A Troca de Chaves de Diffie-Hellman

Ana escolhe p, q e 0 < k ∈ R t.q. (k, pq) = 1 e


envia k e pq para Beth
depois escolhe 0 < r ∈ R, calcula k r e envia o
resultado para Beth mantendo r em segredo
Beth escolhe 0 < s ∈ R, calcula k s e envia o
resultado para Ana mantendo s em segredo
Ambas tem bA = (k r )s = (k s )r , mas Ana
verifica se bA é um expoente válido (bA , ϕ), se
não for inicia novamente o processo

LNCC Troca de Chaves – p.15/23


Exemplo de Diffie-Hellman
Ana escolhe 83, 101 e k = 256 calcula
(8383, 256) = 1 e envia k e pq para Beth

LNCC Troca de Chaves – p.16/23


Exemplo de Diffie-Hellman
Ana escolhe 83, 101 e k = 256 calcula
(8383, 256) = 1 e envia k e pq para Beth
depois escolhe r = 91, calcula k r = 2908 e
envia o resultado para Beth mantendo r em
segredo

LNCC Troca de Chaves – p.16/23


Exemplo de Diffie-Hellman
Ana escolhe 83, 101 e k = 256 calcula
(8383, 256) = 1 e envia k e pq para Beth
depois escolhe r = 91, calcula k r = 2908 e
envia o resultado para Beth mantendo r em
segredo
Beth escolhe s = 4882, calcula k s = 1754 e
envia o resultado para Ana mantendo s em
segredo

LNCC Troca de Chaves – p.16/23


Exemplo de Diffie-Hellman
Ana escolhe 83, 101 e k = 256 calcula
(8383, 256) = 1 e envia k e pq para Beth
depois escolhe r = 91, calcula k r = 2908 e
envia o resultado para Beth mantendo r em
segredo
Beth escolhe s = 4882, calcula k s = 1754 e
envia o resultado para Ana mantendo s em
segredo
Ambas tem bA = 2908s = 1754r = 6584, mas
Ana verifica que bA não é um expoente válido
(6584, 8200) = 8
LNCC Troca de Chaves – p.16/23
Cont. Exemplo de Diffie-Hellman
Suponha que Ana mantém 83, 101 e k = 256

LNCC Troca de Chaves – p.17/23


Cont. Exemplo de Diffie-Hellman
Suponha que Ana mantém 83, 101 e k = 256
depois escolhe r = 17, calcula k r = 5835 e
envia o resultado para Beth mantendo r em
segredo

LNCC Troca de Chaves – p.17/23


Cont. Exemplo de Diffie-Hellman
Suponha que Ana mantém 83, 101 e k = 256
depois escolhe r = 17, calcula k r = 5835 e
envia o resultado para Beth mantendo r em
segredo
Beth escolhe s = 109, calcula k s = 1438 e
envia o resultado para Ana mantendo s em
segredo

LNCC Troca de Chaves – p.17/23


Cont. Exemplo de Diffie-Hellman
Suponha que Ana mantém 83, 101 e k = 256
depois escolhe r = 17, calcula k r = 5835 e
envia o resultado para Beth mantendo r em
segredo
Beth escolhe s = 109, calcula k s = 1438 e
envia o resultado para Ana mantendo s em
segredo
Ambas tem bA = 5835s = 1438r = 3439, e Ana
verifica que bA é um expoente válido
(3439, 8200) = 1.

LNCC Troca de Chaves – p.17/23


Problema do Logaritmo Discreto

Com k, pq, k r e k s

LNCC Troca de Chaves – p.18/23


Problema do Logaritmo Discreto

Com k, pq, k r e k s
Poderia calcular s ou r e depois bA

LNCC Troca de Chaves – p.18/23


Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, k r = 5835 e


k s = 1438

LNCC Troca de Chaves – p.19/23


Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, k r = 5835 e


k s = 1438
o intruso calcula 256109 = 1438

LNCC Troca de Chaves – p.19/23


Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, k r = 5835 e


k s = 1438
o intruso calcula 256109 = 1438
s = 109

LNCC Troca de Chaves – p.19/23


Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, k r = 5835 e


k s = 1438
o intruso calcula 256109 = 1438
s = 109
bA = (k r )s = 5835109 = 3439

LNCC Troca de Chaves – p.19/23


ElGamal (1985)

Ana quer mandar uma mensagem para Beth

LNCC Troca de Chaves – p.20/23


ElGamal (1985)

Ana quer mandar uma mensagem para Beth


Beth escolhe (G, ⊕), a ∈ G e n ∈ N∗

LNCC Troca de Chaves – p.20/23


ElGamal (1985)

Ana quer mandar uma mensagem para Beth


Beth escolhe (G, ⊕), a ∈ G e n ∈ N∗
calcula b = an e envia a e b

LNCC Troca de Chaves – p.20/23


ElGamal (1985)

Ana quer mandar uma mensagem para Beth


Beth escolhe (G, ⊕), a ∈ G e n ∈ N∗
calcula b = an e envia a e b
Ana α : msg → w ∈ G escolhe k ∈ N∗ e
calcula y = ak e z = wbk ∈ G e envia y e z

LNCC Troca de Chaves – p.20/23


ElGamal (1985)

Ana quer mandar uma mensagem para Beth


Beth escolhe (G, ⊕), a ∈ G e n ∈ N∗
calcula b = an e envia a e b
Ana α : msg → w ∈ G escolhe k ∈ N∗ e
calcula y = ak e z = wbk ∈ G e envia y e z
Beth calcula
zy −n = wbk (ak )−n = w(ba−n )k = w(1)k = w

LNCC Troca de Chaves – p.20/23


ElGamal (1985)

Ana quer mandar uma mensagem para Beth


Beth escolhe (G, ⊕), a ∈ G e n ∈ N∗
calcula b = an e envia a e b
Ana α : msg → w ∈ G escolhe k ∈ N∗ e
calcula y = ak e z = wbk ∈ G e envia y e z
Beth calcula
zy −n = wbk (ak )−n = w(ba−n )k = w(1)k = w
Se |a| = m ou |G| = m então y −n = y m−n

LNCC Troca de Chaves – p.20/23


Exemplo ElGamal

Ana quer mandar uma mensagem para Beth

LNCC Troca de Chaves – p.21/23


Exemplo ElGamal

Ana quer mandar uma mensagem para Beth


Beth escolhe p = 1000000007, a = 419666093,
n = 110691024 e calcula b = an
mod p = 215094385 e envia p, a e b

LNCC Troca de Chaves – p.21/23


Exemplo ElGamal

Ana quer mandar uma mensagem para Beth


Beth escolhe p = 1000000007, a = 419666093,
n = 110691024 e calcula b = an
mod p = 215094385 e envia p, a e b
Ana: α : msg → w = 12140303 escolhe
k = 633071297 e calcula y = ak
mod p = 295903670 e z = wbk
mod p = 763646857

LNCC Troca de Chaves – p.21/23


Exemplo ElGamal

Ana quer mandar uma mensagem para Beth


Beth escolhe p = 1000000007, a = 419666093,
n = 110691024 e calcula b = an
mod p = 215094385 e envia p, a e b
Ana: α : msg → w = 12140303 escolhe
k = 633071297 e calcula y = ak
mod p = 295903670 e z = wbk
mod p = 763646857
Beth lê calculando zy −n mod p = 12140303

LNCC Troca de Chaves – p.21/23


Exemplo II - ElGamal

Ana quer mandar uma mensagem para Beth

LNCC Troca de Chaves – p.22/23


Exemplo II - ElGamal

Ana quer mandar uma mensagem para Beth


" #
1 2
Beth escolhe a = , n = 5 calcula
3 4
" #
25 21
b=a =5
, sobre Z27 esconde o n
17 13

LNCC Troca de Chaves – p.22/23


Exemplo II - ElGamal
" #
12 14
Ana faz w = , escolhe k = 3 e calcula
3 3
" # " #
37 54 15 4
y=a =k
e z = wb =
k
81 118 22 7

LNCC Troca de Chaves – p.23/23


Exemplo II - ElGamal
" #
12 14
Ana faz w = , escolhe k = 3 e calcula
3 3
" # " #
37 54 15 4
y=a =k
e z = wb =
k
81 118 22 7
" #
12 14
Ana lê calculando zy =
−n
3 3

LNCC Troca de Chaves – p.23/23


Último Slide
Obrigado.
Quaisquer sugestões serão bem-vindas.

www.lncc.br/borges

LNCC Troca de Chaves – p.24/23

Você também pode gostar