
It is impossible to compute in a practical amount of time even for modern supercomputers. Bringing the analogy back to a real-life exchange using large numbers rather than colors, this determination is computationally expensive. If a third party listened to the exchange, it would only know the common color (yellow) and the first mixed colors (orange-tan and light-blue), but it would be difficult for this party to determine the final secret color (yellow-brown). The result is a final color mixture (yellow-brown in this case) that is identical to their partner's final color mixture. Finally, each of them mixes the color they received from the partner with their own private color. The crucial part of the process is that Alice and Bob each mix their own secret color together with their mutually shared color, resulting in orange-tan and light-blue mixtures respectively, and then publicly exchange the two mixed colors. Each person also selects a secret color that they keep to themselves – in this case, red and blue-green. The process begins by having the two parties, Alice and Bob, publicly agree on an arbitrary starting color that does not need to be kept secret (but should be different every time ). An analogy illustrates the concept of public key exchange by using colors instead of very large numbers: Illustration of the concept behind Diffie–Hellman key exchangeĭiffie–Hellman key exchange establishes a shared secret between two parties that can be used for secret communication for exchanging data over a public network. I hope this small pulpit might help in that endeavor to recognize Merkle's equal contribution to the invention of public key cryptography. While that system was first described in a paper by Diffie and me, it is a public key distribution system, a concept developed by Merkle, and hence should be called 'Diffie–Hellman–Merkle key exchange' if names are to be associated with it. The system.has since become known as Diffie–Hellman key exchange. In 2002, Hellman suggested the algorithm be called Diffie–Hellman–Merkle key exchange in recognition of Ralph Merkle's contribution to the invention of public-key cryptography (Hellman, 2002), writing:

However, research published in October 2015 suggests that the parameters in use for many DH Internet applications at that time are not strong enough to prevent compromise by very well-funded attackers, such as the security services of some countries. This key can then be used to encrypt subsequent communications using a symmetric-key cipher.ĭiffie–Hellman is used to secure a variety of Internet services.

The Diffie–Hellman key exchange method allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure channel. Traditionally, secure encrypted communication between two parties required that they first exchange keys by some secure physical means, such as paper key lists transported by a trusted courier. Published in 1976 by Diffie and Hellman, this is the earliest publicly known work that proposed the idea of a private key and a corresponding public key. DH is one of the earliest practical examples of public key exchange implemented within the field of cryptography.

The shared secret can be used, for instance, as the key for a symmetric cipher.ĭiffie–Hellman key exchange is a method of securely exchanging cryptographic keys over a public channel and was one of the first public-key protocols as conceived by Ralph Merkle and named after Whitfield Diffie and Martin Hellman. After obtaining an authentic copy of each other's public keys, Alice and Bob can compute a shared secret offline. In the Diffie–Hellman key exchange scheme, each party generates a public/private key pair and distributes the public key.
