Diffie-Hellman with Zero-Knowledge Proof
Well. The Diffie-Hellman method has been around for nearly 50 years, and it is still going strong. It’s at the core many modern key exchange methods, such as ECDH (Elliptic Curve Diffie-Hellman), and you’ll find it on your connections to Google, your wi-fi connections to your corporate networks, and in the Tor protocol. And we can also use it to stop users sending their sensitive information (such as their passwords). Within the Diffie-Hellman method, it is natural for Bob and Alice to keep their secrets private, but still end up with the same shared value.
In the Diffie-Hellman method Bob passes G^x(mod p) and Alice passes G^y (mod p), and where x and y are secrets. Let’s say now that Alice wants Bob to prove that he still knows x without revealing his value. We can do this with Zero-knowledge proofs. In this case Bob produces a secret, a challenge, and a response, which Alice can check. Overall she never knows the value of x that Bob has used:
Within the Diffie-Hellman method, Bob and Alice generate random values (x and y):