Introduction:
The Diffie-Hellman Key Exchange is a cryptographic method that allows two parties to establish a shared secret over an insecure channel. While the protocol allows secure key exchange, it is vulnerable to a Man-in-the-Middle (MITM) attack if the identities of the communicating parties are not authenticated.
How Diffie-Hellman Works (Briefly):
Let:
-
gbe a public base (generator), -
pbe a large prime number (public modulus), -
Alice chooses a private key
a, computesA = g^a mod p, -
Bob chooses a private key
b, computesB = g^b mod p.
Then they exchange A and B and compute the shared key:
-
Alice computes
K = B^a mod p, -
Bob computes
K = A^b mod p.
Since g^(ab) mod p = g^(ba) mod p, both arrive at the same shared key.