Cryptography 2 / Cryptographic Protocols 1 Spring Semester 2014 Berry Schoenmakers Coding & Crypto group Department of Mathematics & Computer Science Where’s.

Slides:



Advertisements
Similar presentations
On the (Im)Possibility of Arthur-Merlin Witness Hiding Protocols Iftach Haitner, Alon Rosen and Ronen Shaltiel 1.
Advertisements

INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Cryptanalysis of a Communication-Efficient Three-Party Password Authenticated Key Exchange Protocol Source: Information Sciences in review Presenter: Tsuei-Hung.
Lecture 3 Universal TM. Code of a DTM Consider a one-tape DTM M = (Q, Σ, Γ, δ, s). It can be encoded as follows: First, encode each state, each direction,
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
Max Cut Problem Daniel Natapov.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Lecture 21 NP-complete problems
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Zero-Knowledge Proofs J.W. Pope M.S. – Mathematics May 2004.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
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.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
NP-Complete Problems Problems in Computer Science are classified into
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
Introduction to Computer and Network Security Iliano Cervesato 26 August 2008 – Modern Cryptography.
Anonymous Credentials Gergely Alpár Collis – November 24, 2011.
PRESENTED BY CHRIS ANDERSON JULY 29, 2009 Using Zero Knowledge Proofs to Validate Electronic Votes.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction,
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
Fine-Tuning Groth-Sahai Proofs Alex Escala Scytl Secure Electronic Voting Jens Groth University College London.
Wonders of the Digital Envelope Avi Wigderson Institute for Advanced Study.
Lecture 22 More NPC problems
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction,
CS 461 – Nov. 30 Section 7.5 How to show a problem is NP-complete –Show it’s in NP. –Show that it corresponds to another problem already known to be NP-complete.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
Cryptography CS Lecture 19 Prof. Amit Sahai.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Dominique Unruh Quantum Proofs of Knowledge Dominique Unruh University of Tartu Tartu, April 12, 2012.
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.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 15: From Here to Oblivion.
Authorized But Anonymous: Taking Charge of Your Personal Data Anna Lysyanskaya Brown University.
Construction We constructed the following graph: This graph has several nice properties: Diameter Two Graph Pebbling Tim Lewis 1, Dan Simpson 1, Sam Taggart.
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
IP, (NON)ISOGRAPH and Zero Knowledge Protocol COSC 6111 Advanced Algorithm Design and Analysis Daniel Stübig.
The NP class. NP-completeness
Topic 36: Zero-Knowledge Proofs
Introduction to Randomized Algorithms and the Probabilistic Method
Richard Anderson Lecture 26 NP-Completeness
Zero Knowledge Anupam Datta CMU Fall 2017
CS21 Decidability and Tractability
ICS 353: Design and Analysis of Algorithms
Richard Anderson Lecture 25 NP-Completeness
NP-Completeness Proofs
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Zero-Knowledge Proofs
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

Cryptography 2 / Cryptographic Protocols 1 Spring Semester 2014 Berry Schoenmakers Coding & Crypto group Department of Mathematics & Computer Science Where’s Waldo?

Zero-knowledge proofs Q1: How to convince a (skeptical) verifier that you know the solution to a puzzle? A1: Simply show the solution! Q2: Same question, but now you don’t want to give away any information on the solution? A2: Prove in zero-knowledge that you know the solution.

Where’s Waldo? in Waldo (a.k.a. Wally) Find

In what sense is this zero-knowledge? Peephole shows nothing but Waldo, and we already know how Waldo looks. In other words, you could make this final view yourself without any help of the prover: Stick a small picture of Waldo behind the peephole In crypto speak: you can simulate the view Simulation paradigm: “everything that the verifier learns from the proof, could be constructed (efficiently) by the verifier itself – without knowing the solution”

Soundness The proof should also be sound: Prover only be able to convince the verifier if the prover actually knows the solution So, cheating as done in a simulation should be excluded: make sure prover doesn’t have small pictures of Waldo hidden somewhere – checking this may be awkward Achieving soundness & zero-knowledge can be done efficiently based on number-theoretic constructions.

How about arbitrary puzzles ? NP-complete problems are notoriously hard “puzzles” Example: traveling salesman problem Proving that you know a solution amounts to proving that you know how make a certain Boolean formula φ evaluate to true Example: φ = (w  ¬x  y)  (x  ¬y  z)  … Formula φ is very big, and it gets very hard to make all clauses true at the same time. Suppose we know a solution, let’s prove this in zero- knowledge – using lots of Waldo puzzles.

Boolean connectives: AND, OR, NOT AND “  ” take two puzzles prove that you know solutions to both of them OR “  ” take two puzzles prove that you know solution to one of them without showing which puzzle you are solving NOT “¬” cut one puzzle in half prove where Waldo is in one piece then Waldo is not present in the other piece

Zeroknowledge satisfiability of φ Let φ = (w  ¬x  y)  (x  ¬y  z)  … and suppose you know what value to assign to w,x,y,… to make φ = true For each variable, say w, do this: −cut a puzzle in half −label the piece where Waldo is with w if w=true, and with ¬w if w=false −label the other piece with the complement For each clause, say w  ¬x  y, do an OR proof: −select the pieces labeled by w, ¬x, y −Waldo is in at least one of these pieces −prove that you know where Waldo is in one of these pieces without showing in which piece w ¬w¬w ¬x¬xx ¬y¬yy

Zero-knowledge applications. Secure identification: prove that you know the secret key without giving away any other information contrasts sharply with use of passwords more like challenge-response protocols Allows for selective disclosure of information: prove that you are over 21, without giving any more information on your age Generally, zero-knowledge proofs are used in cryptography to let a party prove that it behaved according to the protocol E.g., ElGamal encryption contains vote v ∈ {0,1}

References Zero-knowledge proofs for knowledge of solutions to Where’s Waldo puzzles is from: “Applied Kid Cryptography or How To Convince Your Children You Are Not Cheating” by Moni Naor, Yael Naor, Omer Reingold, Journal of Craptology, Volume 0, No 1 Use of Where’s Waldo puzzles to prove arbitrary NP- statements is from: “Crypto 2.0: Achieving Security and Privacy at the Same Time” by Berry Schoenmakers, presentation at SuperTU/esday, February 11 th,