Photo by Austin Distel on Unsplash

Proving I Know Alice, Bob, Carol and Dave

--

We release too much of our information to others. Every time we enter our password into a system, we are revealing it for others to see. So, why can’t we just prove some knowledge of our secrets, in order that we know our secret? Well, this is the objective of Zero-Knowledge Proofs (ZKPs). With Interactive ZKPs, Alice sends a challenge to Bob, and Bob produces a ZKP for the secret. In a Non-interactive ZKP, Bob produces his own challenge, and also the ZKP. Alice then regenerates the challenge and checks the proof.

So, let’s see if Bob can prove that he knows the first names of the first four cybersecurity characters: Alice, Bob, Carol and Dave. Whenever required, he will be able to produce proof that he knows them to Alice.

For this, we will use the Schnorr proof. Initially, Bob has a secret value of x (and which could be his private key), and sends Alice the value of:

X=x.G

and which could be his public key. If we have secret messages of: m_1, m_2, m_3 and m_4. He then hashes each of these messages:

M_1=Hash(m_1)

M_2=Hash(m_2)

M_3=Hash(m_3)

M_4=Hash(m_4)

Then he produces a challenge of:

--

--

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.