The encyclopedia · Engineering & Operations · Technical decision · 1976
Diffie-Hellman let two strangers share a secret over a public line
In 1976 Diffie and Hellman used one-way functions so two parties could agree on a key without a courier.
Stanford University
the move
For centuries, secure communication required the two parties to first agree on a key by some secure physical means, such as a paper list carried by a trusted courier. That is a genuine bottleneck: you cannot start a secure conversation with someone you have never met without first handing them a secret out of band.
Diffie and Hellman's 1976 paper removed it. Using a one-way function like modular exponentiation, each party picks a private number, combines it with a shared public value, and sends the result. Each then combines the partner's public result with their own private number, and because of how the one-way function composes, both arrive at the same shared secret.
An eavesdropper sees the public values but cannot invert the one-way function to recover a private input, so the key is established over the very channel you wanted to protect. Secure communication no longer needed a prior secure meeting.
why it works
- A one-way function that is easy to compute but hard to invert lets public values not reveal private inputs.
- The algebra composes so both parties independently reach the identical shared secret.
- It removed the need to hand-deliver a key, which was the real obstacle to wide-scale secret communication.
what transfers
When sharing a secret needs an awkward pre-arranged channel, find an operation easy forward and hard backward, so public messages alone decide nothing but both parties reach the same answer.
what came after
Diffie-Hellman key exchange launched public-key cryptography and now secures a vast range of internet services, including the ephemeral key-exchange modes of TLS that provide forward secrecy; the method was later credited to also include Ralph Merkle and was covered by US patent 4,200,770 from 1977.
references
spotted an error? The archive wants to know.