Photo by Benjamín Gremler on Unsplash

NI-ZKP using Discrete Log Equality (DLEQ) with secp256k1, P-256, Curve 25519 and Curve 448

--

We need to move into a world where preserve our secrets. With this, we can produce a zero-knowledge proof (ZKP) that we have knowledge of something, without giving away our secret. Normally this would involve Peggy (the prover) receiving a challenge from Victor (the verifier) to produce a proof, but in an NI (Non-interactive) version, Peggy can produce her own challenge — and which gives us a NI-ZKP (Non-interative Zero Knowledge Proof).

A typical example of preserving a secret might be the proof of a random secret, such as for our private key contained within a digital wallet. One method of doing this is, is with Discrete Log Equality (DLEQ), and where we can prove that we know x, without revealing it. These days we tend not to use discrete log methods, as ECC (Elliptic Curve Cryptography) has improved performance levels.

But, which curve should we use? Bitcoin and Ethereum use secp256k1, while TLS often uses P-256 or Curve 25519. So, let’s see if we can implement DLEQ using a range of standard curves, including Curve 25519, Curve 448, Ed25519, Ed448, secp160r2, secp256k1, secp521r1, NIST-P192, NIST-P224 and NIST-P256.

Discrete Log Equality (DLEQ)

--

--

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.