09 Zero Knowledge Proof Hi All, One more topic to go!

Slides:



Advertisements
Similar presentations
Zero Knowledge Proofs(2) Suzanne van Wijk & Maaike Zwart
Advertisements

Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
CSE331: Introduction to Networks and Security Lecture 22 Fall 2002.
Lecture 15 Zero-Knowledge Techniques. Peggy: “I know the password to the Federal Reserve System computer, the ingredients in McDonald’s secret sauce,
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Zero-Knowledge.
Zero-Knowledge Proofs J.W. Pope M.S. – Mathematics May 2004.
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
1 Adapted from Oded Goldreich’s course lecture notes.
Zero Knowledge Proofs By Subha Rajagopalan Jaisheela Kandagal.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
ELI BEN-SASSON, ALESSANDRO CHIESA, ERAN TROMER AND MADARS VIRZA USENIX SECURITY SYMPOSIUM 2014 Succinct Non-Interactive Zero Knowledge for a von Neumann.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
14.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 14 Entity Authentication.
CMSC 414 Computer and Network Security Lecture 2 Jonathan Katz.
1 SC700 A2 Internet Information Protocols 3/20/2001 Paper Presentation by J. Chu How to Explain Zero-Knowledge Protocols to Your Children.
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Topic 23: Zero-Knowledge Proof and Cryptographic Commitment
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
14.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 14 Entity Authentication.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction,
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
Zero Knowledge Proofs Matthew Pouliotte Anthony Pringle Cryptography November 22, 2005 “A proof is whatever convinces me.” -~ Shimon Even.
多媒體網路安全實驗室 Anonymous Authentication Systems Based on Private Information Retrieval Date: Reporter: Chien-Wen Huang 出處: Networked Digital Technologies,
Cryptography CS Lecture 19 Prof. Amit Sahai.
Dominique Unruh Quantum Proofs of Knowledge Dominique Unruh University of Tartu Tartu, April 12, 2012.
 5.1 Zero-Knowledge Proofs  5.2 Zero-Knowledge Proofs of Identity  5.3 Identity-Based Public-Key Cryptography  5.4 Oblivious Transfer  5.5 Oblivious.
Zero-Knowledge Proofs Ben Hosp. Classical Proofs A proof is an argument for the truth or correctness of an assertion. A classical proof is an unambiguous.
Chapter eight: Authentication Protocols 2013 Term 2.
Authorized But Anonymous: Taking Charge of Your Personal Data Anna Lysyanskaya Brown University.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 14. Digital signature.
Zero Knowledge r Two parties:  All powerful prover P  Polynomially bounded verifier V r P wants to prove a statement to V with the following properties:
IP, (NON)ISOGRAPH and Zero Knowledge Protocol COSC 6111 Advanced Algorithm Design and Analysis Daniel Stübig.
Topic 36: Zero-Knowledge Proofs
Outline The basic authentication problem
Cryptography: an overview
Thinking the Impossible “Modern Cryptography”
The consensus problem in distributed systems
Computer Communication & Networks
On the Size of Pairing-based Non-interactive Arguments
Cryptographic Hash Function
Bitcoin - a distributed virtual currency system
Multi-Party Proofs and Computation
Big Numbers: Mathematics and Internet Commerce
Zero Knowledge Anupam Datta CMU Fall 2017
Course Business I am traveling April 25-May 3rd
Cryptographic protocols 2016, Lecture 12 Sigma protocols
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Cryptography: an overview
Zero-Knowledge Proofs
Cryptography Reference: Network Security
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Zero Knowledge Proofs Campbell R. Harvey Duke University, NBER and
Kai Bu 03 Cryptanalysis Kai Bu
Kai Bu 04 Blockchain Kai Bu
Interactive Proofs and Secure Multi-Party Computation
Protecting Privacy During On-line Trust Negotiation
Zero-Knowledge Proofs
ITIS 6200/8200 Chap 5 Dr. Weichao Wang.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec 09 Zero Knowledge Proof Hi All, One more topic to go! The final topic to be covered in this course is zero knowledge proof. Kai Bu kaibu@zju.edu.cn http://list.zju.edu.cn/kaibu/netsec

Zero Knowledge Proof Prover, verifier, Two entities…; Anonymity, membership in a group/class, student ID, simply comparison/query, revealing student ID and identity

Zero Knowledge Proof if a statement is true? Prover, verifier, Two entities…; Anonymity, membership in a group/class, student ID, simply comparison/query, revealing student ID and identity

Zero Knowledge Proof if a statement is true? prover verifier Two entities…; Anonymity, membership in a group/class, student ID, simply comparison/query, revealing student ID and identity prover verifier

Zero Knowledge Proof if a statement is true? example: building access control Prover, verifier, Two entities…; Anonymity, membership in a group/class, student ID, simply comparison/query, revealing student ID and identity prover verifier “I’m in Dormitory #5”

Zero Knowledge Proof if a statement is true? example: group membership request Prover, verifier, Two entities…; Anonymity, membership in a group/class, student ID, simply comparison/query, revealing student ID and identity prover verifier “I’m in KG’s class”

Zero Knowledge Proof to prove a statement is true, use certain knowledge as evidence. Knowledge based Some knowledge revealing to verifier …, from prover…;

Zero Knowledge Proof to prove a statement is true, use certain knowledge as evidence. Knowledge based Some knowledge revealing to verifier …, from prover…; prover verifier “I’m in Dormitory #5” “Here’s my student ID, name…”

Zero Knowledge Proof to prove a statement is true, use certain knowledge as evidence. Knowledge based Some knowledge revealing to verifier …, from prover…; prover verifier “I’m in KG’s class” “Here’s my student ID, name…”

Zero Knowledge Proof to prove a statement is true, reveal more knowledge than stat truth. Knowledge based Some knowledge revealing to verifier …, from prover…;

Zero Knowledge Proof to prove a statement is true, reveal more knowledge than stat truth. ex.: compare netsec grade with zdl Knowledge based Some knowledge revealing to verifier …, from prover…; prover: zdl ml :verifier “my netsec grade is 100.”

Zero Knowledge Proof to prove a statement is true, reveal more knowledge than stat truth. ex.: compare netsec grade with zdl Knowledge based Some knowledge revealing to verifier …, from prover…; prover: zdl ml :verifier “my netsec grade is 100.”

Zero Knowledge Proof how to prove a statement is true, w/o revealing more info than needed? ex.: compare netsec grade with zdl Knowledge based Some knowledge revealing to verifier …, from prover…; prover: zdl ml :verifier ??? “my netsec grade is 100.”

Zero Knowledge Proof more than necessary?

Zero Knowledge Proof fully convince that a statement is true w/o yielding any additional knowledge Definition Zero knowledge proofs are proofs that fully convince that a statement is true without yielding any additional knowledge. The essence of zero-knowledge proofs is that it is trivial to prove that one possesses knowledge of certain information by simply revealing it; the challenge is to prove such possession without revealing the information itself or any additional information. In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which party (the prover) can prove to another party (the verifier) that they know a value x, without conveying any information apart from the fact that they know the value x. Zero Knowledge Protocol (or Zero Knowledge Password Proof, ZKP) is a way of doing authentication where no passwords are exchanged, which means they cannot be stolen. This is cool because it makes your communication so secure and protected that nobody else can find out what you’re communicating about or what files you are sharing with each other.

Zero-Knowledge Proof 80 85 90 95 100 prover: zdl ml :verifier https://hackernoon.com/eli5-zero-knowledge-proof-78a276db9eff prover: zdl ml :verifier

Zero-Knowledge Proof 80 85 90 95 100 prover: zdl ml :verifier https://hackernoon.com/eli5-zero-knowledge-proof-78a276db9eff prover: zdl ml :verifier

Zero-Knowledge Proof 80 85 90 95 100 prover: zdl ml :verifier x x x x √ https://hackernoon.com/eli5-zero-knowledge-proof-78a276db9eff prover: zdl ml :verifier

Zero-Knowledge Proof 80 85 90 95 100 prover: zdl ml :verifier x x x x √ https://hackernoon.com/eli5-zero-knowledge-proof-78a276db9eff prover: zdl ml :verifier

Zero-Knowledge Proof 80 85 90 95 100 prover: zdl ml :verifier x x x x √ yyy, not the same, yet not know exactly. https://hackernoon.com/eli5-zero-knowledge-proof-78a276db9eff prover: zdl ml :verifier

Zero Knowledge Proof https://courses.csail.mit.edu/6.857/2018/files/L22-ZK-Boaz.pdf

Zero Knowledge Proof three criteria to meet: completeness soundness zero-knowledgeness

Criteria Completeness any true statement can be proven Soundness any false statement cannot be proven Zero-Knowledgeness any verifier does not learn anything except that a statement is true https://www.cs.jhu.edu/~susan/600.641/scribes/lecture3.pdf

Interative&Prob Proof Completeness – assume true stat verifier will eventually be convinced after k trials Soundness – assume false stat prover tries to convince verifier; prover would have to guess which case the verifier chooses with prob ½; when repeated, the prob is negligible that prover guesses correctly every time https://www.cs.jhu.edu/~susan/600.641/scribes/lecture3.pdf

Interative&Prob Proof Zero-Knowledgeness – black box access *ppt: probabilistic polynomial time https://www.cs.jhu.edu/~susan/600.641/scribes/lecture3.pdf https://www.cs.jhu.edu/~susan/600.641/scribes/lecture3.pdf

Zero Knowledge Proof examples

Ali Baba’s Cave Prover tries to convince verifier that he knows the key to green door Initially, both at entrance P Q: a location to observe exit from R or S verifier prover http://gauss.ececs.uc.edu/Courses/c472/lectures/PDF/zero.pdf

Ali Baba’s Cave Prover moves to one side of door Verifier moves to spot Q Verifier commands prover to exit at R Without key, verifier has ½ success probability verifier prover

Ali Baba’s Cave Prover moves to one side of door Verifier moves to spot Q Verifier commands prover to exit at R Without key, verifier has ½ success probability Repeat many times, verifier is confident of prover w/wo key verifier prover

Two Color Balls Bob tries to prove to Alice that he can differentiate the colors of two balls Alice shows color balls to Bob Alice’s gonna switch them or not and then show them to Bob again https://blog.goodaudience.com/understanding-zero-knowledge-proofs-through-simple-examples-df673f796d99

Two Color Balls Bob tries to prove to Alice that he can differentiate the colors of two balls Alice switches balls and challenges Bob Bob correctly answers https://blog.goodaudience.com/understanding-zero-knowledge-proofs-through-simple-examples-df673f796d99

Two Color Balls Bob tries to prove to Alice that he can differentiate the colors of two balls Repeat many times, Alice is convinced of Bob being capable of differentiating colors https://blog.goodaudience.com/understanding-zero-knowledge-proofs-through-simple-examples-df673f796d99

Two Color Balls Bob tries to prove to Alice that he can differentiate the colors of two balls Alice switches balls and challenges Bob Bob correctly answers https://blog.goodaudience.com/understanding-zero-knowledge-proofs-through-simple-examples-df673f796d99

Frequency Allocation Given a network of base stations with three frequencies to use, no overlapping base stations should be assigned with the same frequency to avoid interference. https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/

Frequency Allocation Given a network of base stations with three frequencies to use, no overlapping base stations should be assigned with the same frequency to avoid interference. https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/ 3-color map?

Frequency Allocation Prover got a correct assignment Prover tries to convince verifier without revealing the solution

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time If same color, proof fails

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time If different colors, proof continues

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time If different colors, proof continues Repeat many times,

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time If different colors, proof continues Repeat many times, wait!

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time If different colors, proof continues Repeat many times, solution leakage!

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time If different colors, proof continues Substitute colors of each node

Frequency Allocation Prover covers colored nodes with hats Prover allows verifier to challenge two adjacent nodes each time P responds to verifier’s new challenges Repeat many times, proof succeeds

Use Cases Anonymous verifiable voting Private exchange and settlement of digital assets Privacy on public blockchains Zero-knowledge nuclear warhead verification …

Limitations While reducing the probability of fake proof, yet still possible Computation intensive algorithm, either a large number of interactions between verifier and prover, or requires much computation such that it cannot be run on slow devices not exchanging information, susceptible to knowledge loss

?

Announcement Project Demo&Pre Due Date: April 16, 2019 e-Report Due date: April 23, 2019 05% Presentation 15% Demo Report

Readings Explain Like I'm 5: Zero Knowledge Proof (Halloween Edition) by Cossack Labs Zero Knowledge Proofs by Adam Smallhorn Zero Knowledge Proofs: An illustrated primer by Matthew Green

Thank You be on the road Run your own race.