Schnorr NI-ZKP [here]

How Does Peggy Prove Her Identity Without Giving Away the Root of Her Identity?

--

What’s the best way to prove our identity (or prove that you know a secret without giving it away)? Well, one of the most reliable is for you to generate a random number (x), and then store this in your digital wallet. You can then create a public value (X) when does not reveal the random value. In a discrete log form, we can represent this as:

But, these days, we do not use discrete logs, and convert this into an elliptic curve method with:

and where G is a base point on the curve, x is a scalar value, and X is a point on the curve.

Method

And, so, Peggy must prove her identity to Victor, and do it so that she does not reveal the secret of her identity (x). She can do this with a Zero Knowledge Proof (ZKP).

With the Schnorr non-interactive zero-knowledge (NIZK) proof, we can prove knowledge of a discrete logarithm without leaking its value. For example, we can prove that we know g^x (mod p) without revealing x. These days, we tend to convert our discrete log problem to elliptic curves, so let’s convert the Schnorr NIZK proof into an elliptic curve method. Initially, Peggy (the prover) defines a private key (or secret) of x, and publishes her public key:

--

--

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.