Diffie-Hellman key exchange is a method that allows two parties to securely share a secret key over a public channel. This shared secret key can be used for encrypted communication using Symmetric Cryptography.

Key exchange process

  1. Public parameters
    • Two numbers are agreed upon by both, which is known in the public:
      • A large prime number (a prime number is the one only divisible by 1 or itself)
      • A large prime root module
  2. Private key selection
    • Alice choose a private key , a random number between 1 and
    • Bob choose a private key , a random number between 1 and
  3. Public key computation
    • Alice computes her public key A as:
    • Bob computes his public key B as:
  4. Public key exchange
    • Alice sends her public key A to Bob
    • Bob sends his public key B to Alice
  5. Shared secret key computation
    • Alice computes the shared secret key:
    • Bob computes the shared secret key:

Security

  • Discrete Logarithm Problem: The security of the Diffie-Hellman key exchange relies on the difficulty of the discrete logarithm problem. Given , , and , it is computationally infeasible to determine aaa if is a large enough prime and is a suitable primitive root.
  • Eavesdroppers: An eavesdropper who intercepts , , A, and B cannot determine the shared secret without solving the discrete logarithm problem, which is considered computationally hard.

Back to parent page: Symmetric Cryptography

Cyber_SecurityNetwork_SecurityINFO2222Key_ExchangeDiffieHellman_Key_ExchangeSymmetric_Cryptography