INFORMATION SECURITY AND AUDIT
SOLVED PRACTICE QUESTIONS

Diffie-Hellman Algorithm

The Diffie-Hellman algorithm is a method for securely exchanging cryptographic keys over a public channel. It was one of the first practical implementations of public key exchange and is foundational for many cryptographic protocols.

Features:

  • Asymmetric: Uses two keys, a private key and a public key, for each party involved.
  • Secure Key Exchange: Allows two parties to establish a shared secret key, which can then be used for symmetric encryption.

Working:

  1. Public Parameters: Two numbers are publicly agreed upon: a large prime number p and a base g (also called the generator).
  2. Private Keys: Each party generates a private key. Let's call these a and b.
  3. Public Keys: Each party computes their public key using the formula:
    • Party A: A=g^a mod  p 
    • Party B: B=g^b mod  p 
  4. Exchange Public Keys: The public keys A and B are exchanged over the public channel.
  5. Shared Secret: Each party computes the shared secret key using the other party's public key and their own private key:
    • Party A: s=B^a mod  p
    • Party B: s=A^b mod  p
  6. Result: Both parties now have a common shared secret key sss, which can be used for further encryption.

Security:

  • The security of the Diffie-Hellman algorithm relies on the difficulty of the discrete logarithm problem. Given g, p and g^a mod  p, it is computationally infeasible to determine aaa.

Application:

  • Establishing a shared key for symmetric encryption in secure communications.
  • Used in protocols such as TLS (Transport Layer Security) and IPsec (Internet Protocol Security).

Numerical Example:

  1. Choose p=23and g=5.
  2. Party A selects a private key a=6 and computes the public key A = 5^6  mod 23 = 8.
  3. Party B selects a private key b=15 and computes the public key B = 5^{15} mod 23 = 19.
  4. Party A and Party B exchange their public keys.
  5. Party A computes the shared secret s = 19^6 mod 23 = 2.
  6. Party B computes the shared secret s = 8^{15} mod 23 = 2.
  7. Both parties now have the shared secret s=2.

The Diffie-Hellman algorithm is a fundamental cryptographic protocol that enables secure key exchange, laying the groundwork for secure communication in modern networks.