NEW
Also known as: DH
A key agreement protocol that lets two parties derive a shared secret over an insecure channel using discrete logarithm hardness.
DESCRIPTION
Diffie–Hellman (DH) enables secure key agreement without pre-shared secrets by exchanging public values derived from private exponents and a shared group. Security relies on the discrete logarithm problem in finite fields or elliptic curves. Variants like ephemeral DH (DHE) provide forward secrecy in protocols such as TLS. Standards specify safe groups and parameter sizes to avoid weak configurations. Elliptic-curve DH (ECDH) offers performance and security advantages at shorter key sizes.
ALTERNATIVE DEFINITIONS
Wikipedia
Diffie–Hellman key exchange is a method of securely exchanging cryptographic keys over a public channel.
Concise, canonical description of secure key exchange over public channels.
NIST SP 800-56A Rev.3
This Recommendation specifies methods for the establishment of shared secret keys using discrete logarithm cryptography, including finite field and elliptic curve Diffie-Hellman schemes.
Formal standard defining DH schemes for both finite fields and elliptic curves.
IETF RFC 7919
This document specifies Diffie-Hellman groups for use in Transport Layer Security (TLS) and Datagram TLS (DTLS).
Defines safe DH groups for practical protocol deployments.
RELATED TERMS
Key Agreement Asymmetric Encryption Ephemeral Key Exchange Forward Secrecy Discrete Logarithm Problem RFC 7919 NIST SP 800-56A
COMPETING TERMS
RSA Elliptic-Curve Diffie–Hellman
RELATIONS
- Narrower: Elliptic-Curve Diffie–Hellman
KNOWLEDGE AREAS
TARGET AUDIENCE
Cybersecurity Engineer Security Architect Chief Information Security Officer Software Developer
EXTERNAL SOURCES
- Wikipedia - Diffie–Hellman key exchange
- NIST - Approved DH key agreement schemes
- IETF - Finite-field DH groups for TLS
- Cloudflare Learning - DHE overview and benefits
- OpenSSL - Implementation notes and examples
TOP QUESTIONS
What problem does Diffie-Hellman solve?
It enables two parties to agree on a shared secret without prior shared keys, bootstrapping secure symmetric encryption.
Category: Concept
How does Diffie-Hellman provide forward secrecy?
Ephemeral keys are used per session; even if long-term keys leak, past session secrets remain safe.
Category: BestPractice
What are safe parameter choices for Diffie-Hellman?
Use standardized groups (e.g., RFC 7919), large prime moduli, and strong generators; avoid small or custom groups.
Category: Requirements
Is Elliptic-Curve Diffie–Hellman better than finite-field DH?
ECDH achieves comparable security with smaller keys and better performance, but requires careful curve selection.
Category: Opinion
Can Diffie-Hellman be broken?
Poor parameters, reused nonces, or side-channel leaks can break deployments; proper standards and libraries mitigate risks.
Category: Risk
Where is Diffie-Hellman used?
TLS (DHE/ECDHE), SSH, IPsec, and many secure messaging protocols rely on DH-style key agreement.
Category: Example
What is the discrete logarithm problem’s role in Diffie-Hellman?
Its computational hardness underpins the security of deriving the shared secret from public values.
Category: Concept
Should I implement Diffie-Hellman from scratch?
No. Use well-vetted libraries and standardized groups to avoid subtle flaws.
Category: BestPractice
What is the biggest misunderstanding about Diffie-Hellman?
That it encrypts messages directly; it only establishes a shared key used by symmetric ciphers.
Category: Misunderstanding