Sitemap
Press enter or click to view image in full size

Member-only story

Zero Knowledge Proofs with Elliptic Curves and Schnorr

2 min readMay 21, 2024

--

With Zero Knowledge Proofs (ZKPs), Peggy can have a signature and then use this to prove that she still knows her secret. The method we will use is based on Schnorr’s protocol [1][here]:

Press enter or click to view image in full size

Let’s say that Peggy wants to prove that she knows her password (secret) to Victor. First we take a hash of this with:

k=H(secret||salt) (mod n)

and where n is the order of the curve. We then convert this to a point with:

S=k.G

This is a signature that is represented as an (x,y) point. We can then publish this signature publicly, and where subsequent messages are proven to have been produced by the same key. Overall, the signature does not reveal anything about the data.

Messages are thus verified with the signature. For this the verifier (Victor) produces a random message (t) and sends to Peggy for them to generate a proof against her public signature. Victor produces:

t=Random_token()

and send this to Peggy. Peggy then produces:

--

--

Prof Bill Buchanan OBE FRSE
Prof Bill Buchanan OBE FRSE

Written by Prof Bill Buchanan OBE FRSE

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