Diffie-Hellman (EN)
ProtocolKey agreement protocol for secure key exchange
Diffie-Hellman Key Exchange
sequenceDiagram participant Alice als A participant Bob als B A->>B: p (public modulus), g (public generator) B->>A: p, g A->>A: a (private key), A = g^a mod p (public value) B->>B: b (private key), B = g^b mod p (public value) A->>B: A (public value) B->>A: B (public value) A->>A: s = B^a mod p (shared secret key) B->>B: s = A^b mod p (shared secret key)
In Context
- Typically used together with RSA or Elliptic Curve Cryptography (ECC)
- Related to: Perfect Forward Secrecity, TLS/SSL, VPN
- Example use: SSH connections, Signal protocol, IPsec