CyberGlossary

Criptografia

Troca de chaves Diffie–Hellman

Também conhecido como: DH, DHKE

Definição

Protocolo de chave pública que permite a duas partes derivar um segredo partilhado sobre um canal inseguro sem o transmitir, baseado na dificuldade do logaritmo discreto.

Publicado por Whitfield Diffie e Martin Hellman em 1976, o protocolo de troca de chaves Diffie–Hellman (DH) permite que duas partes acordem um segredo partilhado sobre uma rede não confiável. Cada parte escolhe um expoente privado, calcula g^x mod p com parâmetros públicos (gerador g e primo grande p), troca o valor público e eleva o valor recebido ao seu expoente: ambas obtêm o mesmo g^xy. A segurança apoia-se na hipótese computacional Diffie–Hellman, relacionada com o logaritmo discreto. O DH puro não autentica e é vulnerável a homem-no-meio; os protocolos reais (TLS, IPsec, SSH) autenticam a troca com assinaturas ou certificados e preferem variantes efémeras (DHE, ECDHE) para garantir perfect forward secrecy. As implementações modernas usam variantes em curva elíptica (X25519, X448) pela rapidez e compacidade das mensagens.

Exemplos

  • O TLS 1.3 obriga a (EC)DHE em cada handshake para garantir PFS.
  • O protocolo Signal usa X3DH, um handshake de tripla Diffie–Hellman.

Termos relacionados