74
LNCC Troca de Chaves maio/2006 Fábio Borges Troca de Chaves – p.1/23

Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Troca de Chavesmaio/2006

Fábio Borges

Troca de Chaves – p.1/23

Page 2: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Fluxo Normal

Ana BethEdna

Ameaças eminentes.

Troca de Chaves – p.2/23

Page 3: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Interceptação

EdnaAna Beth

Troca de Chaves – p.3/23

Page 4: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Alteração

EdnaAna Beth

Troca de Chaves – p.4/23

Page 5: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Fabricação

EdnaAna Beth

Troca de Chaves – p.5/23

Page 6: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Interrupção

EdnaAna Beth

Troca de Chaves – p.6/23

Page 7: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Grupo Abeliano

Fechado Se a, b ∈ G então a⊕ b ∈ GAssociativa a⊕ (b⊕ c) = (a⊕ b)⊕ cIdentidade ∃ 0 ∈ G : a+ 0 = a ∀a ∈ GInversa ∀a ∈ G ∃ b ∈ G : a⊕ b = 0

Comutatividade a⊕ b = b⊕ a a, b ∈ G

Troca de Chaves – p.7/23

Page 8: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Contra Exemplo

Matrizes M com dimensão n× n edet(M) 6= 0

[1 2

3 4

][4 3

2 1

]=

[8 5

20 13

]

[4 3

2 1

][1 2

3 4

]=

[13 20

5 8

]

Troca de Chaves – p.8/23

Page 9: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Contra Exemplo

Matrizes M com dimensão n× n edet(M) 6= 0

[1 2

3 4

][4 3

2 1

]=

[8 5

20 13

]

[4 3

2 1

][1 2

3 4

]=

[13 20

5 8

]

Troca de Chaves – p.8/23

Page 10: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Contra Exemplo

Matrizes M com dimensão n× n edet(M) 6= 0

[1 2

3 4

][4 3

2 1

]=

[8 5

20 13

]

[4 3

2 1

][1 2

3 4

]=

[13 20

5 8

]

Troca de Chaves – p.8/23

Page 11: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétrica

Ek(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 12: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 13: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 14: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 15: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 16: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(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

Troca de Chaves – p.9/23

Page 17: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 18: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 19: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 20: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica versus AssimétricaSimétricaEk(M) = C

Dk(C) = M

Dk(Ek(M)) = M

Dr(Ek(M)) = S

AssimétricaEa(M) = C

Db(C) = M

Da(Eb(M)) = M

Dr(Ea(M)) = S

Troca de Chaves – p.9/23

Page 21: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?

Simetrica→ n(n−1)2

Assimetrica→ 2n

Criptografia SimétricaComo distribuir e armazenar as chaves?

Criptografia AssimétricaComo garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 22: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?Simetrica→ n(n−1)

2

Assimetrica→ 2n

Criptografia SimétricaComo distribuir e armazenar as chaves?

Criptografia AssimétricaComo garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 23: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?Simetrica→ n(n−1)

2

Assimetrica→ 2n

Criptografia SimétricaComo distribuir e armazenar as chaves?

Criptografia AssimétricaComo garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 24: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?Simetrica→ n(n−1)

2

Assimetrica→ 2n

Criptografia Simétrica

Como distribuir e armazenar as chaves?

Criptografia AssimétricaComo garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 25: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?Simetrica→ n(n−1)

2

Assimetrica→ 2n

Criptografia SimétricaComo distribuir e armazenar as chaves?

Criptografia AssimétricaComo garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 26: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?Simetrica→ n(n−1)

2

Assimetrica→ 2n

Criptografia SimétricaComo distribuir e armazenar as chaves?

Criptografia Assimétrica

Como garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 27: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica × Assimétrica

Quantas chaves são necessárias?Simetrica→ n(n−1)

2

Assimetrica→ 2n

Criptografia SimétricaComo distribuir e armazenar as chaves?

Criptografia AssimétricaComo garantir com quem se estácomunicando?

Troca de Chaves – p.10/23

Page 28: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Simétrica

Ana Beth

Canal Seguro

Edna

Troca de Chaves – p.11/23

Page 29: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assimétrica

EdnaAna Beth

Troca de Chaves – p.12/23

Page 30: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 31: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 32: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 33: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 34: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 35: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 36: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 37: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 38: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Assinatura DigitalaA é 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

Troca de Chaves – p.13/23

Page 39: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Randômico

xs ≡ y mod z

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

Dado x, y e z temos s secreto

Troca de Chaves – p.14/23

Page 40: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Randômico

xs ≡ y mod z

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

Dado x, y e z temos s secreto

Troca de Chaves – p.14/23

Page 41: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Randômico

xs ≡ y mod z

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

Dado x, y e z temos s secreto

Troca de Chaves – p.14/23

Page 42: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

A Troca de Chaves de Diffie-Hellman

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

depois escolhe 0 < r ∈ R, calcula kr e envia oresultado para Beth mantendo r em segredo

Beth escolhe 0 < s ∈ R, calcula ks e envia oresultado para Ana mantendo s em segredo

Ambas tem bA = (kr)s = (ks)r, mas Anaverifica se bA é um expoente válido (bA, ϕ), senão for inicia novamente o processo

Troca de Chaves – p.15/23

Page 43: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

A Troca de Chaves de Diffie-Hellman

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

depois escolhe 0 < r ∈ R, calcula kr e envia oresultado para Beth mantendo r em segredo

Beth escolhe 0 < s ∈ R, calcula ks e envia oresultado para Ana mantendo s em segredo

Ambas tem bA = (kr)s = (ks)r, mas Anaverifica se bA é um expoente válido (bA, ϕ), senão for inicia novamente o processo

Troca de Chaves – p.15/23

Page 44: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

A Troca de Chaves de Diffie-Hellman

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

depois escolhe 0 < r ∈ R, calcula kr e envia oresultado para Beth mantendo r em segredo

Beth escolhe 0 < s ∈ R, calcula ks e envia oresultado para Ana mantendo s em segredo

Ambas tem bA = (kr)s = (ks)r, mas Anaverifica se bA é um expoente válido (bA, ϕ), senão for inicia novamente o processo

Troca de Chaves – p.15/23

Page 45: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

A Troca de Chaves de Diffie-Hellman

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

depois escolhe 0 < r ∈ R, calcula kr e envia oresultado para Beth mantendo r em segredo

Beth escolhe 0 < s ∈ R, calcula ks e envia oresultado para Ana mantendo s em segredo

Ambas tem bA = (kr)s = (ks)r, mas Anaverifica se bA é um expoente válido (bA, ϕ), senão for inicia novamente o processo

Troca de Chaves – p.15/23

Page 46: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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

depois escolhe r = 91, calcula kr = 2908 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 4882, calcula ks = 1754 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 2908s = 1754r = 6584, masAna verifica que bA não é um expoente válido(6584, 8200) = 8

Troca de Chaves – p.16/23

Page 47: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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

depois escolhe r = 91, calcula kr = 2908 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 4882, calcula ks = 1754 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 2908s = 1754r = 6584, masAna verifica que bA não é um expoente válido(6584, 8200) = 8

Troca de Chaves – p.16/23

Page 48: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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

depois escolhe r = 91, calcula kr = 2908 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 4882, calcula ks = 1754 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 2908s = 1754r = 6584, masAna verifica que bA não é um expoente válido(6584, 8200) = 8

Troca de Chaves – p.16/23

Page 49: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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

depois escolhe r = 91, calcula kr = 2908 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 4882, calcula ks = 1754 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 2908s = 1754r = 6584, masAna verifica que bA não é um expoente válido(6584, 8200) = 8

Troca de Chaves – p.16/23

Page 50: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Cont. Exemplo de Diffie-HellmanSuponha que Ana mantém 83, 101 e k = 256

depois escolhe r = 17, calcula kr = 5835 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 109, calcula ks = 1438 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 5835s = 1438r = 3439, e Anaverifica que bA é um expoente válido(3439, 8200) = 1.

Troca de Chaves – p.17/23

Page 51: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Cont. Exemplo de Diffie-HellmanSuponha que Ana mantém 83, 101 e k = 256

depois escolhe r = 17, calcula kr = 5835 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 109, calcula ks = 1438 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 5835s = 1438r = 3439, e Anaverifica que bA é um expoente válido(3439, 8200) = 1.

Troca de Chaves – p.17/23

Page 52: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Cont. Exemplo de Diffie-HellmanSuponha que Ana mantém 83, 101 e k = 256

depois escolhe r = 17, calcula kr = 5835 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 109, calcula ks = 1438 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 5835s = 1438r = 3439, e Anaverifica que bA é um expoente válido(3439, 8200) = 1.

Troca de Chaves – p.17/23

Page 53: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Cont. Exemplo de Diffie-HellmanSuponha que Ana mantém 83, 101 e k = 256

depois escolhe r = 17, calcula kr = 5835 eenvia o resultado para Beth mantendo r emsegredo

Beth escolhe s = 109, calcula ks = 1438 eenvia o resultado para Ana mantendo s emsegredo

Ambas tem bA = 5835s = 1438r = 3439, e Anaverifica que bA é um expoente válido(3439, 8200) = 1.

Troca de Chaves – p.17/23

Page 54: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Problema do Logaritmo Discreto

Com k, pq, kr e ks

Poderia calcular s ou r e depois bA

Troca de Chaves – p.18/23

Page 55: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Problema do Logaritmo Discreto

Com k, pq, kr e ks

Poderia calcular s ou r e depois bA

Troca de Chaves – p.18/23

Page 56: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, kr = 5835 eks = 1438

o intruso calcula 256109 = 1438

s = 109

bA = (kr)s = 5835109 = 3439

Troca de Chaves – p.19/23

Page 57: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, kr = 5835 eks = 1438

o intruso calcula 256109 = 1438

s = 109

bA = (kr)s = 5835109 = 3439

Troca de Chaves – p.19/23

Page 58: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, kr = 5835 eks = 1438

o intruso calcula 256109 = 1438

s = 109

bA = (kr)s = 5835109 = 3439

Troca de Chaves – p.19/23

Page 59: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Intruso e o Logaritmo Discreto

Com k = 256, pq = 8383, kr = 5835 eks = 1438

o intruso calcula 256109 = 1438

s = 109

bA = (kr)s = 5835109 = 3439

Troca de Chaves – p.19/23

Page 60: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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∗ ecalcula y = ak e z = wbk ∈ G e envia y e z

Beth calculazy−n = wbk(ak)−n = w(ba−n)k = w(1)k = w

Se |a| = m ou |G| = m então y−n = ym−n

Troca de Chaves – p.20/23

Page 61: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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∗ ecalcula y = ak e z = wbk ∈ G e envia y e z

Beth calculazy−n = wbk(ak)−n = w(ba−n)k = w(1)k = w

Se |a| = m ou |G| = m então y−n = ym−n

Troca de Chaves – p.20/23

Page 62: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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∗ ecalcula y = ak e z = wbk ∈ G e envia y e z

Beth calculazy−n = wbk(ak)−n = w(ba−n)k = w(1)k = w

Se |a| = m ou |G| = m então y−n = ym−n

Troca de Chaves – p.20/23

Page 63: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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∗ ecalcula y = ak e z = wbk ∈ G e envia y e z

Beth calculazy−n = wbk(ak)−n = w(ba−n)k = w(1)k = w

Se |a| = m ou |G| = m então y−n = ym−n

Troca de Chaves – p.20/23

Page 64: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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∗ ecalcula y = ak e z = wbk ∈ G e envia y e z

Beth calculazy−n = wbk(ak)−n = w(ba−n)k = w(1)k = w

Se |a| = m ou |G| = m então y−n = ym−n

Troca de Chaves – p.20/23

Page 65: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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∗ ecalcula y = ak e z = wbk ∈ G e envia y e z

Beth calculazy−n = wbk(ak)−n = w(ba−n)k = w(1)k = w

Se |a| = m ou |G| = m então y−n = ym−n

Troca de Chaves – p.20/23

Page 66: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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 escolhek = 633071297 e calcula y = ak

mod p = 295903670 e z = wbk

mod p = 763646857

Beth lê calculando zy−n mod p = 12140303

ou z(y(p−1)−n) mod p = 12140303

Troca de Chaves – p.21/23

Page 67: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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 escolhek = 633071297 e calcula y = ak

mod p = 295903670 e z = wbk

mod p = 763646857

Beth lê calculando zy−n mod p = 12140303

ou z(y(p−1)−n) mod p = 12140303

Troca de Chaves – p.21/23

Page 68: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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 escolhek = 633071297 e calcula y = ak

mod p = 295903670 e z = wbk

mod p = 763646857

Beth lê calculando zy−n mod p = 12140303

ou z(y(p−1)−n) mod p = 12140303

Troca de Chaves – p.21/23

Page 69: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

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 escolhek = 633071297 e calcula y = ak

mod p = 295903670 e z = wbk

mod p = 763646857

Beth lê calculando zy−n mod p = 12140303

ou z(y(p−1)−n) mod p = 12140303

Troca de Chaves – p.21/23

Page 70: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Exemplo II - ElGamal

Ana quer mandar uma mensagem para Beth

Beth escolhe a =

[1 2

3 4

], n = 5 calcula

b = a5 =

[25 21

17 13

], sobre Z27 esconde o n

Troca de Chaves – p.22/23

Page 71: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Exemplo II - ElGamal

Ana quer mandar uma mensagem para Beth

Beth escolhe a =

[1 2

3 4

], n = 5 calcula

b = a5 =

[25 21

17 13

], sobre Z27 esconde o n

Troca de Chaves – p.22/23

Page 72: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Exemplo II - ElGamal

Ana faz w =

[12 14

3 3

], escolhe k = 3 e calcula

y = ak =

[37 54

81 118

]e z = wbk =

[15 4

22 7

]

Ana lê calculando zy−n =

[12 14

3 3

]

Troca de Chaves – p.23/23

Page 73: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Exemplo II - ElGamal

Ana faz w =

[12 14

3 3

], escolhe k = 3 e calcula

y = ak =

[37 54

81 118

]e z = wbk =

[15 4

22 7

]

Ana lê calculando zy−n =

[12 14

3 3

]

Troca de Chaves – p.23/23

Page 74: Troca de Chaves - LNCCborges/doc/Troca de Chaves.slides.pdf · 2008. 2. 20. · aAØ a chave secreta de Ana aB Ø a chave secreta de Beth bxe nx= pqsuas respectivas chaves pœblicas

LNCC

Último Slide

Obrigado.

Quaisquer sugestões serão bem-vindas.

www.lncc.br/borges

Troca de Chaves – p.24/23