Schnorr Identification Protocol
An interactive zero-knowledge protocol. It is complete (the prover can prove that he knows some witness), sound (the prover cannot prove anything without knowing the witness) and zero-knowledge (the verifier learns nothing about the witness).
Bonus: We simulate the prover/verifier conversation over a network using ZeroMQ and the Request-Reply pattern.
Bonus 2: First experience with cpp, please roast it!
Simply run the below and enjoy!
./build_and_run.sh