The Diffie-Hellman Algorithm
Riley Lochridge
April 11, 2003
Overview
Introduction
Implementation
Example
Applications
Conclusion
Introduction
Discovered by Whitfield Diffie and Martin Hellman
New Directions in Cryptography
Diffie-Hellman key agreement protocol
Exponential key agreement
Allows two users to exchange a secret key
Requires no prior secrets
Real-time over an untrusted network
Introduction
Security of transmission is critical for many network
and Internet applications
Requires users to share information in a way that
others cant decipher the flow of information
It is insufficient to protect ourselves with laws; we
need to protect ourselves with mathematics.
-Bruce Schneier
Introduction
Based on the difficulty of computing discrete
logarithms of large numbers.
No known successful attack strategies*
Requires two large numbers, one prime (P), and
(G), a primitive root of P
Implementation
P and G are both publicly available numbers
P is at least 512 bits
Users pick private values a and b
Compute public values
x = ga mod p
y = gb mod p
Public values x and y are exchanged
Implementation
Copyright, 2001 by NetIP, Inc. and Keith Palmgren, CISSP.
Implementation
Compute shared, private key
ka = ya mod p
kb = xb mod p
Algebraically it can be shown that ka = kb
Users now have a symmetric secret key to
encrypt
Implementation
Copyright, 2001 by NetIP, Inc. and Keith Palmgren, CISSP.
Example
Two Internet users, Alice and Bob wish to
have a secure conversation.
They decide to use the Diffie-Hellman protocol
Example
Bob and Alice are unable to talk on the
untrusted network.
Who knows whos listening?
Example
Alice and Bob get public numbers
P = 23, G = 9
Alice and Bob compute public values
X = 94 mod 23 = 6561 mod 23 = 6
Y = 93 mod 23 = 729 mod 23 = 16
Alice and Bob exchange public numbers
Example
Alice and Bob compute symmetric keys
ka = ya mod p = 164 mod 23 = 9
kb = xb mod p = 63 mod 23 = 9
Alice and Bob now can talk securely!
Applications
Diffie-Hellman is currently used in many
protocols, namely:
Secure Sockets Layer (SSL)/Transport Layer
Security (TLS)
Secure Shell (SSH)
Internet Protocol Security (IPSec)
Public Key Infrastructure (PKI)
Conclusion
Authenticated Diffie-Hellman Key Agreement
(1992)
Defeats middleperson attack
Diffie-Hellman POP Algorithm
Enhances IPSec layer
Diffie-Hellman continues to play large role in
secure protocol creation
Additional Sources
[Link]
/encryption/[Link]
[Link]
/crypto/overview/[Link]