Diffie-Hellman

Why
The Diffie-Hellman protocol is important because it allows us to distribute a secret key between two parties

What
The Diffie-Hellman is a protocol that relies on the fact that the discrete logarithm problem is a computationally difficult problem to solve in order to securely transfer information about a key between two parties without revealing any information about they key.

Vulnerabilities

 * 1) man in the middle attack
 * 2) Anyone ever invents an efficient algorithm for the discrete logarithm problem

How

 * 1) Everyone starts by knowing a large prime $$p$$ and a generator $$g$$
 * 2) Alice picks and keeps $$a$$ and sends Bob $$g^a$$
 * 3) Bob picks and keeps $$b$$ and sends Alice $$g^b$$
 * 4) Alice computes $$k = (g^b)^a$$
 * 5) Bob computes $$k=(g^a)^b$$
 * 6) Both parties now have keys