So What’s The Difference Between Interactive ZKP and Non-interactive ZKP?

--

A demo on interactive ZKP is here, and non-interactive ZKP is here.

One of the most asked technical questions I get, is what is the difference between Interactive ZKP and Non-interactive proof? I’ll try and explain it in this article, with code from both types.

Basically, we have Bob proving to Alice that he still knows something (such as his password). For this, we typically use the Fiat-Shamir method, and in the interactive version, Alice sends Bob a challenge (c ):

In the end, Alice checks that vG is equal to rG+ xcG. But Alice must send a challenge. In a non-interactive method, Bob still generates a random value (v), but now generates his own challenge (c ) and which Alice can also compute:

The challenge is then the hash of xG, xH, vG and vH. As Alice knows all these values, she checks the proof is correct (r, vG and vH), and she will know that Bob still knows his password, and would then allow him to log…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.