Graph
Elliptic-Curve Diffie–Hellman

🔐Elliptic-Curve Diffie–Hellman

NEW

Also known as: ECDH

An elliptic-curve-based key agreement protocol enabling two parties to derive a shared secret over an insecure channel.

DESCRIPTION

Elliptic-Curve Diffie–Hellman is a key agreement protocol that uses elliptic curve cryptography to establish a shared secret efficiently. Compared to classical Diffie–Hellman, ECDH provides equivalent security with smaller keys, reducing bandwidth and computation. ECDH underpins modern TLS ciphersuites and supports perfect forward secrecy when combined with ephemeral keys (ECDHE). Common curves include NIST P-256, Curve25519, and Curve448, standardized in NIST SP 800-56A and RFC 7748. Implementations rely on secure parameter choices, side-channel resistance, and correct key derivation.

ALTERNATIVE DEFINITIONS

Wikipedia

Elliptic-curve Diffie–Hellman (ECDH) is an anonymous key agreement protocol that allows two parties, each having an elliptic-curve public–private key pair, to establish a shared secret over an insecure channel.

Explicitly notes anonymity and public–private key pairs on elliptic curves.

Source

IETF RFC 7748

This document describes elliptic curve Diffie-Hellman (ECDH) using Curve25519 and Curve448.

Defines ECDH using specific safe curves for interoperability and security.

Source

NIST

This Recommendation specifies key-establishment schemes based on both finite field and elliptic curve cryptography.

Positions ECDH within formal, standardized key-establishment schemes.

Source

Elliptic Curve Cryptography TLS Asymmetric Encryption Curve25519 Curve448 ECDSA Key Derivation Function Forward Secrecy NIST P-256

COMPETING TERMS

Diffie–Hellman Key Exchange RSA Key Exchange

RELATIONS

KNOWLEDGE AREAS

Data Security Infrastructure Software Engineering

TARGET AUDIENCE

Security Architect Cybersecurity Engineer Chief Information Security Officer Software Developer Cloud Architect DevOps Engineer

EXTERNAL SOURCES

  • Wikipedia - Elliptic-curve Diffie–Hellman
  • NIST - NIST standard for ECC key agreement
  • IETF - Safe curve specifications for ECDH
  • OpenSSL - Implementation notes and usage

TOP QUESTIONS

Why is Elliptic-Curve Diffie–Hellman favored over classical Diffie–Hellman?

ECDH achieves strong security with smaller keys, reducing computational cost and bandwidth. It offers better performance on constrained devices and modern protocols.

Category: Relevancy

How does Elliptic-Curve Diffie–Hellman provide perfect forward secrecy?

Using ephemeral keys (ECDHE), each session uses fresh key pairs. Compromise of long-term keys does not reveal past session secrets.

Category: Requirements

What curves are commonly used with Elliptic-Curve Diffie–Hellman?

Curve25519, Curve448, and NIST P-256 are widely deployed. Curve choices balance performance and side-channel resistance.

Category: Example

What are common mistakes when implementing Elliptic-Curve Diffie–Hellman?

Incorrect parameter validation, weak random number generation, and poor side-channel defenses undermine security. Always validate points and use approved curves.

Category: Mistakes

How does Elliptic-Curve Diffie–Hellman fit into TLS?

ECDH/ECDHE negotiate shared secrets for symmetric encryption keys in TLS handshakes, enabling secure sessions on the web.

Category: Practice

What risks are associated with Elliptic-Curve Diffie–Hellman?

Implementation flaws and inadequate entropy lead to key compromise. Using non-approved curves or invalid point operations can break security.

Category: Risks

Is Elliptic-Curve Diffie–Hellman quantum-safe?

No. Shor’s algorithm threatens ECC. Post-quantum key exchange alternatives are being standardized by NIST.

Category: Opinion

What is the biggest misunderstanding about Elliptic-Curve Diffie–Hellman?

Some assume ECDH alone encrypts data; it only establishes shared secrets used by symmetric ciphers for encryption.

Category: Misunderstanding

Where can I learn more about Elliptic-Curve Diffie–Hellman?

Study NIST SP 800-56A, RFC 7748, and OpenSSL docs. Practical tutorials aid correct implementation.

Category: Learning