NEW
Also known as: DH key exchange
A cryptographic method enabling two parties to establish a shared secret over an insecure channel without prior shared keys.
DESCRIPTION
Diffie–Hellman key exchange allows secure derivation of a shared secret based on modular arithmetic or elliptic-curve operations. It underpins modern protocols like TLS to enable forward secrecy by using ephemeral keys. Security depends on the hardness of the discrete logarithm problem in finite fields or elliptic curves. Proper parameter selection and authentication prevent man-in-the-middle attacks. Variants include ECDH/ECDHE for efficiency and stronger security per bit. DH is foundational for secure communications, key derivation, and session encryption. Despite its age, DH remains widely deployed with standardized groups and guidelines.
ALTERNATIVE DEFINITIONS
Wikipedia
Diffie–Hellman key exchange is a method of securely exchanging cryptographic keys over a public channel.
Concise statement of purpose and communication model.
NIST
Diffie-Hellman (DH) is a key agreement scheme by which two parties can establish a shared secret over an unprotected communication channel.
Defines DH in the context of key agreement standards and requirements.
IETF
This document describes a method for performing Diffie-Hellman key agreement in which two parties jointly establish a shared secret.
Formal specification context for DH key agreement in IETF standards.
Cloudflare
Diffie-Hellman is a key exchange algorithm that allows two parties to establish a shared secret over an insecure channel.
Accessible explanation emphasizing insecure-channel assumptions and shared secret.
RELATED TERMS
Asymmetric Encryption TLS Key Agreement Forward Secrecy Discrete Logarithm RSA ECDHE Man-in-the-Middle
COMPETING TERMS
Elliptic-Curve Diffie–Hellman RSA Key Transport
RELATIONS
- Broader: Key Exchange
KNOWLEDGE AREAS
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Chief Information Security Officer Software Developer Cloud Architect
EXTERNAL SOURCES
- Wikipedia - Diffie–Hellman key exchange
- IETF - TLS 1.3 uses (EC)DHE key exchange
- NIST - NIST public-key guidelines including DH
- OpenSSL Project - DH usage and parameters guidance
TOP QUESTIONS
What is Diffie–Hellman Key Exchange used for?
It creates a shared secret for encrypting communications, commonly in TLS, without sending the secret itself.
Category: Definition
Why is Diffie–Hellman still relevant?
It enables perfect forward secrecy and remains efficient, especially in elliptic-curve variants.
Category: Relevancy
What are common mistakes with Diffie–Hellman?
Using weak or static parameters, not authenticating peers, and reusing non-ephemeral keys enable man-in-the-middle attacks.
Category: Mistakes
What risks exist when applying Diffie–Hellman?
Poor parameter selection or missing authentication invites interception; deprecated groups may be vulnerable to attacks.
Category: Risks
How does ECDH differ from classic Diffie–Hellman?
ECDH uses elliptic curves, offering comparable security with smaller keys and faster operations.
Category: Example
What are competing approaches to Diffie–Hellman?
RSA key transport and pre-shared keys compete, but they lack forward secrecy or require prior arrangements.
Category: Alternatives
How is Diffie–Hellman managed in TLS?
TLS 1.3 mandates authenticated (EC)DHE with ephemeral keys within a secure cipher suite negotiation.
Category: Management
Where should I start learning Diffie–Hellman Key Exchange?
Read the TLS 1.3 RFC, NIST SP 800-56A, and implement small examples using OpenSSL.
Category: Learning
What’s the biggest misunderstanding about Diffie–Hellman?
People assume it ensures authentication; DH alone does not—authentication must be added to prevent MITM attacks.
Category: Misunderstanding