Diffie-Hellman

12
Diffie-Hellman Acordo de Chave Compartilhada

description

Diffie-Hellman. Acordo de Chave Compartilhada. Estabelecendo uma Chave Compartilhada. Diffie-Hellman , 1976 Acordo de chave Diffie-Hellman Resolve problema de distribuição de chave simétrica , criando uma chave compartilhada . - PowerPoint PPT Presentation

Transcript of Diffie-Hellman

Page 1: Diffie-Hellman

Diffie-Hellman

Acordo de Chave Compartilhada

Page 2: Diffie-Hellman

Criptografia de Chave Pública 2Abril de 2006

Estabelecendo uma Chave Compartilhada

• Diffie-Hellman, 1976 • Acordo de chave Diffie-Hellman• Resolve problema de distribuição de chave

simétrica, criando uma chave compartilhada.• É preciso encriptar uma chave simétrica de

sessão para criar o envelope digital.

Page 3: Diffie-Hellman

Criptografia de Chave Pública 3Abril de 2006

Acordo de chave Diffie-Hellman

• Usa-se para tal, a criptografia de chave pública, para criar o envelope digital.

• É utilizada a tecnologia de chave pública para gerar a chave de sessão simétrica.

Page 4: Diffie-Hellman

Criptografia de Chave Pública 4Abril de 2006

Acordo de Chave Diffie-Hellman

• Alice e Bob têm que concordar sobre dois grandes números: - p (um número primo) - g (um número pseudo-aleatório)

onde (p-1)/2 é também um primo e certas condições se aplicam a g.

Page 5: Diffie-Hellman

Criptografia de Chave Pública 5Abril de 2006

Acordo de Diffie-Hellman

• p é um número primo gerado a partir de um PRNG, sendo verificado se é primo pelo Teste de Fermat.

• g é um número gerado por um PRNG, que se relaciona bem com o valor de p.

Page 6: Diffie-Hellman

Criptografia de Chave Pública 6Abril de 2006

Acordo de Diffie-Hellman

• Estes números podem ser públicos, assim, qualquer uma das partes pode escolher p e g e dizer ao outro abertamente.

• Seja Alice gerar, por um PRNG, um número grande (digamos 512 bits), chamado x. Ela guarda x como secreto.

• Alice tem agora (p, x) que define a chave privada em DH, como em RSA.

Page 7: Diffie-Hellman

Criptografia de Chave Pública 7Abril de 2006

Acordo de Diffie-Hellman

• Alice calcula y = gx mod p . Alice tem, então, um expoente privado x.

• Alice inicia o protocolo do acordo de chave enviando a Bob uma mensagem contendo (p, g, y) .

• y é um valor transmitido, portanto, público.

Page 8: Diffie-Hellman

Criptografia de Chave Pública 8Abril de 2006

Acordo de Diffie-Hellman

• Bob tem agora um número grande gx mod p (512 bits) definindo a tripla(p, g, gx mod p) a qual é transmitida para Bob, como a chave pública DH de Alice.

• Bob escolhe um número y secreto.

• Bob responde enviando a Alice uma mensagem contendo (gy mod p) .

Page 9: Diffie-Hellman

Criptografia de Chave Pública 9Abril de 2006

Acordo de Diffie-Hellman

• Alice calcula (gy mod p)x

• Bob calcula (gx mod p)y

• Pela lei da aritmética modular, ambos os cálculos resultam em gxy mod p .

• Alice e Bob, agora compartilham uma chave secreta: gxy mod p

Page 10: Diffie-Hellman

Criptografia de Chave Pública 10Abril de 2006

Acordo de Diffie-Hellman

gx mod p

(p,x) chave privada

ALICE

BOB

Alice escolhe p, g públicos e x secreto

Bob escolhe ysecreto

chave pública(p, g, gx mod p)

gy mod p

Alice calcula(gy mod p)x

= gxy mod p

Bob calcula(gx mod p)y

= gxy mod p

Page 11: Diffie-Hellman

Criptografia de Chave Pública 11Abril de 2006

Acordo de Chaves Diffie-Hellman

• O algoritmo não criptografa os dados.• Duas partes geram o mesmo segredo e então

utilizam para ser uma chave de sessão para uso em um algoritmo simétrico, ou seja, gxy

mod p) .• Este procedimento é chamado Acordo de

Chave.

Page 12: Diffie-Hellman

Criptografia de Chave Pública 12Abril de 2006

O acordo de Diffie-Hellman

• Dificuldade de quebra do algoritmo:

Trudy conhece g e p. Se ela pudesse descobrir x e y, ela descobriria a chave secreta.

O problema é que dado (gx mod p) e (gy mod p), ela não pode descobrir x nem y.

Nenhum algoritmo é conhecido para computar o módulo de logaritmo discreto de um número primo muito grande.