Posts

Showing posts from September, 2023

Basics of Non-interactive Zero-knowledge Proof of Knowledge

 Hi folks! Till now, we have only discussed about interactive proofs. Interactive proofs are bi-directional but non-interactive proofs are monodirectional. Non-interactive Zero Knowledge (NIZK) proofs consists of three entities, i.e., Prover, Verifier, and random sequence of bits. Prover and Verifier both can read the random string and have their own additional coin. In case of NIZK, Prover sends message to Verifier, who then is left with the decision (whether to accept or reject). Let's discuss with a story.   Assume Alice and Bob are two friends. Alice loves mathematics. Alice always write some mathematics claim and sends it to the Bob. Bob always verifiers the Alice's claim.                    Now consider a tricky scenario. Besides mathematics Alice loves travelling. So, she went on a world tour. During her tour she wrote a claim of mathematics and send it to Bob's address. Bob now verifies it but Bob cannot give it's ...

A Few Examples on Zero-knowledge Proof of Knowledge

Hi! In this blog we will discuss a few examples that is based on zero-knowledge proof (zkp). To apply zero knowledge proof in any system we should ensure the following properties such as: 1. The strategy (claim) should belong to the category of NP class. 2. The strategy should be computational indistinguishable. 3. One-way function should exist. 4. Mandating the honest prover strategy. 5. Zero knowledge. (It means prover demonstrates the knowledge/solution of problem to the verifier without reveling the actual proof.) If all aforementioned properties satisfies then by default this also exists.  Remark1. In this blog we remark that every strategy is interactive and every strategy does not guarantees the efficiency of protocol (efficiency may be in terms of round complexity, optimality, and many more).  Here P1, V1, P2, V2 represents prover and verifier steps. 1. Zero-knowledge proof for COMPOSITE NUMBER. Common Input: A number N. Auxiliary Inputs: A composite number C = p*q (w...

A Brief Introduction to Zero-knowledge proof of knowledge.

Hi! Zero-knowledge proof (Zkp) was firstly introduced by Goldwasser, Micali, and Rackoff. Goldwasser firstly apply zkp on Quadratic residue (QR). She took 3 year to prove QR with the help of zero knowledge. Finally in 1985, Goldwasser gave zero-knowledge proof of knowledge to complexity theory as well as cryptography.  Lets discuss about proof.  Proof: Once upon a time a student ask from Shimon even regarding what is proof. A beautiful definition introduced by Shimon in his graph theory class is:          "A proof is whatever convinces me". Important Note1 : In cryptography whenever we send something to the receiver then it's a nature of receiver that it apply all the possible case for neglecting that message because receiver always want to accept the true message. That's why receiver try all the possible case to check the correctness (that is honest nature) of any message. Remember if message is correct than receiver always accept it.  Interactiv...