Diffie–Hellman
Problem
Your browser and a server want shared secret key material.
But the Internet between them can be observed.
Simply sending the secret would expose it.
How can both sides derive a shared secret without transmitting that secret itself?
Solution — Diffie–Hellman
Both sides exchange public values and combine them with their own private values.
Client private ─┐
→ shared secret
Server public ──┘
Server private ─┐
→ same shared secret
Client public ──┘
An observer sees the exchanged public values but cannot feasibly derive the shared secret.
Core idea: Diffie–Hellman lets two parties establish shared secret material over an observable network.