Diffie-Hellman Key Exchange
Unlike RSA, where you can send messages of your choice, the DHKE is used to generate a secret number shared between Alice and Bob. This shared secret is then used as the key for a symmetric cryptosystem like AES.
The Key Exchange
A large prime p and a generator g∈Fp,g=0 are made public.
Alice and Bob choose their secret integers a and b respectively. They then compute the following:
These numbers A and B are exchanged between Alice and Bob over a public channel. Once the other person's number is received, they then put it to the power of their secret integer, i.e. Alice computes Ba and Bob computes Ab, both modulo p. Note that:
This means that once they do this, they are in possession of the same number, which they can then use as a shared secret.
The Discrete Logarithm Problem
The safety of the Diffie-Hellman Key Exchange is grounded on he difficulty of solving the discrete logarithm problem - the difficulty of computing x given
You can see this in Overview presented above - the values gamodp and gbmodp are sent over a public channel, but because we cannot solve the DLP efficiently an attacker is unable to retrieve a or b. We say that the DLP is DHKE's trapdoor function.
As you may expect from here, many attacks on Diffie-Hellman rely on situations in which you can efficiently compute the discrete logarithm.
Last updated
Was this helpful?