Diffie-Hellman Secure Key Exchange 1976
Whitfield Diffie Martin Hellman
Alice & Bob Agree on 2 numbers n and g g is primitive relative mod (n) For each x < n, there is an a such that ga = x mod (n) These do not have to kept secret
Alice Chooses a large random number x Calculates X = gx mod (n) Sends X, g, and n to Bob.
Bob Chooses a large random number y Calculates Sends Y to Alice. Y = gy mod (n) Sends Y to Alice.
Alice Calculates k = Yx mod (n)
Bob Calculates k’ = Xy mod (n)
The Key k’ = k is the shared key Nobody can calculate k given k = Yx mod (n) = (gy )x mod (n) = gyx mod (n) k’ = Xy mod (n) = (gx )y mod (n) = gxy mod (n) Nobody can calculate k given n, g, X, and Y
The Key Only Alice and Bob know k Good for only one session Can’t be sure connected to the same person Used if you only want a symmetric key No authentication