ZERO KNOWLEDGE
PROOF
17CP024
Dhruvil Kotecha
1
Definition: ZKP is a method by which one party (the prover) can
prove to another party (the verifier) that they know a value x, without
complex
conveying any information
I know
puzzle secret of
“x”
Questions…..
Questions…..
key-code Wants to convince verifier that he
know secret of X
Answers……
complex
Prover Verifier
programming
2
WHAT IS THE NEED?
3
PERSONAL YOUR SOCIAL BEHAVIOURAL PATTERNS
INFORMATION CONTACTS
4
MORE PROFIT MORE ADS PLATFORMS
5
Not to Sign-up
Or
Delete Acc
6
Do we always
have choice?
7
Rs. 2 Cr. Loan?
No!
8
So is there is a way to provide information to such services without actually revealing the
data?
Like, kind of way to prove something without revealing the actual thing?
Yes there is where Zero knowledge proof comes…..
9
Interesting things about ZKP
10
EXAMPLE
11
12
1
2
13
½*½ ¼
14
And if we keep doing so, after 10 times that probability will be 1
1024
0.009%
15
It does not give air tight proof
It is about minimizing the probability that someone is fooling
If one keep on performing interactions ……
0.000000000000000000000000000000000000001 %
16
TYPES
17
Types……
Interactive Proof Non-interactive Proof
◦ Like interrogation ◦ No need to prove every time
◦ Prover has to perform series of actions ◦ It allows you to deliver a proof that
to prove something anyone can verify by themselves
◦ Drawback ◦ ZK-SNARK
Limited to transferability
18
ZERO KNOWLEDGE
RANGE PROOF
Range
https://www.ingwb.com/themes/distributed-ledger-
technology-articles/ing-launches-major-addition-
to-blockchain-technology
19
20,000/-
To
10,00,000
Yes. Here is
zero range
proof for
that
20
PROTOCOLS USED
21
NON-
INTERACTIVE
INTERACTIVE
PROOF
PROOF
Fiat-Shamir
ZK-SNARK
Protocol
Guillou-
Quisquater ZK-STARKS
Protocol
BULLETPROOFS
22
FIAT-SHAMIR
PROTOCOL
23
Facts about Fiat-Shamir Protocol
Identification Black Box
problem Interactions
Confidentiality Zero
of secrets Knowledge of
Verifier
24
• p=101 & q=23
N=p*q • N=101*23 = 2323
• S1=5 & S2=7 & S3=3
• V1=(s1)^2 mod N = 25
S ∈ ( 1 , n-1) • V1=(s1)^2 mod N = 49
• V1=(s1)^2 mod N=9
25
26
Random “r” ∈ ( 0 , n-1) Verifier
will know
• r=13
• Compute witness x
V v
P
• x= 169 % 2323 = 169 x
• Send witness to verifier
Victor generates 3 challenges v
x
• c1=1 & c2=0 & c3=1 c
c
• Send challenges to prover P V
v
Prover generates response “y” x
c
y y
• P V
• y= 13 * ( )=195
27
For verification , verifier computes………….
• mod N
• (169 * ) % 2323 = 857 = *
= *
• mod N
• ( = 857 = mod N
28
DRAWBACKS
29
Does not give 100% Guarantee
Algorithm used are so intensive
Lot of computations
Zero knowledge proof are so intensive
30
P1 P2
P3
31