Living In A GDPR World — Preserving our Information With Zero-Knowledge Proofs (Meet Fiat-Shamir and others)

Prof Bill Buchanan OBE FRSE
Coinmonks
Published in
4 min readAug 1, 2018

--

We give away too much information! Why are we still passing passwords, and why do we still store passwords in a hashed form?

The world of security is increasingly being built around discrete logarithms. For this I use a generator value (G), a prime number (p) and a random number (x). I then raise G to the power of x, and take mod p:

Val = Gˣ (mod p)

If we take a simple example with Python:

>>> g=92>>> x=141>>> p=97>>> print (g**x) % p52

So even if you know g and p, it is difficult to determine the value of x, and you would have to search for it (and where it will generate an almost infinite number of contenders). So how can you prove to me that I know x, without revealing it?

In cryptography, let’s say that Alice wants to prove that Bob knows a value (x), such that:

gˣ (mod p)=Y

where g is a pre-selected value, p is a prime and Y is a result. Both Bob and Alice know these values, and it’s difficult to know the value of x, as there are many values of x that would fit. This is the…

--

--

Prof Bill Buchanan OBE FRSE
Coinmonks

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