The DiffieâÂÂHellman problem (DHP) is a mathematical problem first proposed by Whitfield Diffie and Martin Hellman in the context of cryptography and serves as the theoretical basis of the DiffieâÂÂHellman key exchange and its derivatives. The motivation for this problem is that many security systems use one-way functions: mathematical operations that are fast to compute, but hard to reverse. For example, they enable encrypting a message, but reversing the encryption is difficult. If solving the DHP were easy, these systems would be easily broken.
The DiffieâÂÂHellman problem is stated informally as follows:
Formally, is a generator of some group (typically the multiplicative group of a finite field or an elliptic curve group) and and are randomly chosen integers.
For example, in the DiffieâÂÂHellman key exchange, an eavesdropper observes and exchanged as part of the protocol, and the two parties both compute the shared key . A fast means of solving the DHP would allow an eavesdropper to violate the privacy of the DiffieâÂÂHellman key exchange and many of its variants, including ElGamal encryption.
In cryptography, for certain groups, it is assumed that the DHP is hard, and this is often called the DiffieâÂÂHellman assumption. The problem has survived scrutiny for a few decades and no "easy" solution has yet been publicized.
As of 2006, the most efficient means known to solve the DHP is to solve the discrete logarithm problem (DLP), which is to find x given g and g<sup>x</sup>. In fact, significant progress (by den Boer, Maurer, Wolf, Boneh and Lipton) has been made towards showing that over many groups the DHP is almost as hard as the DLP. There is no proof to date that either the DHP or the DLP is a hard problem, except in generic groups (by Nechaev and Shoup). A proof that either problem is hard implies that P â NP.
Many variants of the DiffieâÂÂHellman problem have been considered. The most significant variant is the decisional DiffieâÂÂHellman problem (DDHP), which is to distinguish g<sup>xy</sup> from a random group element, given g, g<sup>x</sup>, and g<sup>y</sup>. Sometimes the DHP is called the computational DiffieâÂÂHellman problem (CDHP) to more clearly distinguish it from the DDHP. Recently groups with pairings have become popular, and in these groups the DDHP is easy, yet the CDHP is still assumed to be hard. For less significant variants of the DHP see the references.