CPSC 467b: Cryptography and Computer Security

Similar documents
Study Guide for the Final Exam

Introduction to Modern Cryptography. Benny Chor

CPSC 467: Cryptography and Computer Security

Solution to Problem Set 8

Lecture 9: Zero-Knowledge Proofs

Homework 3: Solution

Lecture 10, Zero Knowledge Proofs, Secure Computation

A Mathematical Proof. Zero Knowledge Protocols. Interactive Proof System. Other Kinds of Proofs. When referring to a proof in logic we usually mean:

Zero Knowledge Protocols. c Eli Biham - May 3, Zero Knowledge Protocols (16)

CPSC 467b: Cryptography and Computer Security

Algorithms (III) Yijia Chen Shanghai Jiaotong University

Algorithms (III) Yu Yu. Shanghai Jiaotong University

ICT 6541 Applied Cryptography Lecture 8 Entity Authentication/Identification

Dawn Song

CPSC 467b: Cryptography and Computer Security

CS 161 Computer Security

Algorithms (III) Yijia Chen Shanghai Jiaotong University

More crypto and security

Foundations of Cryptography CS Shweta Agrawal

1 Identification protocols

Notes for Lecture 24

Great Theoretical Ideas in Computer Science. Lecture 27: Cryptography

CS573 Data Privacy and Security. Cryptographic Primitives and Secure Multiparty Computation. Li Xiong

CPSC 467: Cryptography and Computer Security

Homework 2 CS161 Computer Security, Spring 2008 Assigned 2/13/08 Due 2/25/08

What did we talk about last time? Public key cryptography A little number theory

E-cash. Cryptography. Professor: Marius Zimand. e-cash. Benefits of cash: anonymous. difficult to copy. divisible (you can get change)

Secure Multiparty Computation

Lecture 1: Perfect Security

Zero-Knowledge Proofs of Knowledge

CSCI 5440: Cryptography Lecture 5 The Chinese University of Hong Kong, Spring and 6 February 2018

Lecture 3 Algorithms with numbers (cont.)

Outline Key Management CS 239 Computer Security February 9, 2004

Cryptography III Want to make a billion dollars? Just factor this one number!

ISA 562: Information Security, Theory and Practice. Lecture 1

Cryptography Worksheet

Lecture 19 - Oblivious Transfer (OT) and Private Information Retrieval (PIR)

Lecture 22 - Oblivious Transfer (OT) and Private Information Retrieval (PIR)

Zero Knowledge Protocol

Outline More Security Protocols CS 239 Computer Security February 4, 2004

Cryptography: More Primitives

Using Commutative Encryption to Share a Secret

ECE596C: Handout #9. Authentication Using Shared Secrets. Electrical and Computer Engineering, University of Arizona, Loukas Lazos

CS 161 Computer Security

Spring 2010: CS419 Computer Security

Proofs for Key Establishment Protocols

1 A Tale of Two Lovers

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Eating from the Tree of Ignorance Part 2

COIN FLIPPING BY TELEPHONE

Fall 2005 Joseph/Tygar/Vazirani/Wagner Final

Notes for Lecture 14

CS 161 Computer Security

Secure Multiparty Computation

Identification Schemes

Public-key Cryptography: Theory and Practice

A Tour of Classical and Modern Cryptography

Chapter 9 Public Key Cryptography. WANG YANG

CPSC 467: Cryptography and Computer Security

Bitcoin, Security for Cloud & Big Data

Secret Sharing With Trusted Third Parties Using Piggy Bank Protocol

1 Defining Message authentication

Elements of Cryptography and Computer and Networking Security Computer Science 134 (COMPSCI 134) Fall 2016 Instructor: Karim ElDefrawy

Crypto-systems all around us ATM machines Remote logins using SSH Web browsers (https invokes Secure Socket Layer (SSL))

Introduction to Cryptography Lecture 7

Key Exchange. References: Applied Cryptography, Bruce Schneier Cryptography and Network Securiy, Willian Stallings

P2_L8 - Hashes Page 1

Security and Anonymity

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security

Lecture 7 - Applied Cryptography

Ideal Security Protocol. Identify Friend or Foe (IFF) MIG in the Middle 4/2/2012

CS549: Cryptography and Network Security

CPSC 467b: Cryptography and Computer Security

CSCI 454/554 Computer and Network Security. Topic 5.2 Public Key Cryptography

Lecture 5: Zero Knowledge for all of NP

Senior Math Circles Cryptography and Number Theory Week 1

Activity Guide - Public Key Cryptography

Digital Signatures. KG November 3, Introduction 1. 2 Digital Signatures 2

Outline. CSCI 454/554 Computer and Network Security. Introduction. Topic 5.2 Public Key Cryptography. 1. Introduction 2. RSA

Introduction to Secure Multi-Party Computation

CPSC 467b: Cryptography and Computer Security

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

1 One-Time Pad. 1.1 One-Time Pad Definition

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Outline. Public Key Cryptography. Applications of Public Key Crypto. Applications (Cont d)

ZERO KNOWLEDGE PROOFS FOR EXACT COVER AND 0-1 KNAPSACK

CS61A Lecture #39: Cryptography

Assignment 3: Block Ciphers

CT30A8800 Secured communications

Secret Sharing. See: Shamir, How to Share a Secret, CACM, Vol. 22, No. 11, November 1979, pp c Eli Biham - June 2, Secret Sharing

Outline More Security Protocols CS 239 Computer Security February 6, 2006

CSA E0 312: Secure Computation October 14, Guest Lecture 2-3

ECEN 5022 Cryptography

Database management system Prof. D. Janakiram Department of Computer Science and Engineering Indian Institute of Technology, Madras

Anonymous Credentials: How to show credentials without compromising privacy. Melissa Chase Microsoft Research

Chapter 10 : Private-Key Management and the Public-Key Revolution

CS Computer Networks 1: Authentication

Exercises with solutions, Set 3

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

Transcription:

Outline ZKIP Other IP CPSC 467b: Cryptography and Computer Security Lecture 19 Michael J. Fischer Department of Computer Science Yale University March 31, 2010 Michael J. Fischer CPSC 467b, Lecture 19 1/29

Outline ZKIP Other IP 1 Zero Knowledge Interactive Proofs Secret cave protocol ZKIP for graph isomorphism Abstraction from two ZKIP examples 2 Other Kinds of Interactive Proofs Interactive proof of graph non-isomorphism Michael J. Fischer CPSC 467b, Lecture 19 2/29

Zero Knowledge Interactive Proofs (ZKIP) Michael J. Fischer CPSC 467b, Lecture 19 3/29

Zero knowlege interactive proofs (ZKIP) A round of the simplified Feige-Fiat-Shamir protocol is an example of a so-called zero-knowledge interactive proof. These are protocols where Bob provably learns nothing about Alice s secret. Here, learns means computational knowledge: Anything that Bob could have computed with the help of Alice he could have computed by himself without Alice s help. We now consider zero knowledge proofs in greater detail. Michael J. Fischer CPSC 467b, Lecture 19 4/29

The Secret Cave Protocol Michael J. Fischer CPSC 467b, Lecture 19 5/29

The secret cave protocol The secret cave protocol illustrates the fundamental ideas behind zero knowledge without any reference to number theory or hardness of computation. Image a cave with tunnels and doors as shown below. C L D L D R R D Michael J. Fischer CPSC 467b, Lecture 19 6/29

Secret cave protocol (cont.) There are three openings to the cave: L, C, and R. L and R are blocked by exit doors, like at a movie theater, which can be opened from the inside but are locked from the outside. The only way into the cave is through passage C. The cave itself consists of a U-shaped tunnel that runs between L and R. There is a locked door D in the middle of this tunnel, dividing it into a left part and a right part. A short tunnel from C leads to a pair of doors D L and D R through which one can enter left and right parts of the cave, respectively. These doors are also one-way doors that allow passage from C into either the left or right parts of the cave, but once one passes through, the door locks behind and one cannot return to C. Michael J. Fischer CPSC 467b, Lecture 19 7/29

Alice s proposition Alice approaches Bob, tells him that she has a key that opens door D, and offers to sell it to him. Bob would really like such a key, as he often goes into the cave to collect mushrooms and would like easy access to both sides of the cave without having to return to the surface to get into the other side. However, he doesn t trust Alice that the key really works, and Alice doesn t trust him with her key until she gets paid. Michael J. Fischer CPSC 467b, Lecture 19 8/29

Their conversation Bob tells Alice. Give me the key so I can go down into the cave and try it to make sure that it really works. Alice retorts, I m not that dumb. If I give you the key and you disappear into the cave, I ll probably never see either you or my key again. Pay me first and then try the key. Bob answers, If I do that, then you ll disappear with my money, and I m likely to be stuck with a non-working key. Michael J. Fischer CPSC 467b, Lecture 19 9/29

How do they resolve their dilemma? They think about this problem for awhile, and then Alice suggests, Here s an idea: I ll enter the cave through door C, go into the left part of the cave, open D with my key, go through it into the right part of the cave, and then come out door R. When you see me come out R, you ll know I ve succeeded in opening the door. Bob thinks about this and then asks, How do I know you ll go into the left part of the cave? Maybe you ll just go into the right part and come out door R and never go through D. Michael J. Fischer CPSC 467b, Lecture 19 10/29

Alice s plan Outline ZKIP Other IP Cave Isomorphism Abstraction Alice says, OK. I ll go into either the left or right side of the cave. You ll know I m there because you ll hear door D L or D R clank when it closes behind me. You then yell down into the cave which door you want me to come out L or R and I ll do so. If I m on the opposite side from what you request, then I ll have no choice but to unlock D in order to pass through to the other side. Michael J. Fischer CPSC 467b, Lecture 19 11/29

Bob s hesitation Bob is beginning to be satisfied, but he hesitates. Well, yes, that s true, but if you re lucky and happen to be on the side I call out, then you don t have to use your key at all, and I still won t know that it works. Alice answers, Well, I might be lucky once, but I surely won t be lucky 20 times in a row, so I ll agree to do this 20 times. If I succeed in coming out the side you request all 20 times, do you agree to buy my key? Bob agrees, and they spend the rest of the afternoon climbing in and out of the cave and shouting. Michael J. Fischer CPSC 467b, Lecture 19 12/29

ZKIP for graph isomorphism Michael J. Fischer CPSC 467b, Lecture 19 13/29

Graph isomorphism problem Two undirected graphs G and H are said to be isomorphic if there exists a bijection π from vertices of G to vertices of H that preserves edges. That is, {x, y} is an edge of G iff {π(x), π(y)} is an edge of H. No known polynomial time algorithm decides, given two graphs G and H, whether they are isomorphic, but this problem is also not known to be NP-hard. It follows that there is no known polynomial time algorithm for finding the isomorphism π given two isomorphic graphs G and H. Why? Michael J. Fischer CPSC 467b, Lecture 19 14/29

A zero-knowledge proof for isomorphism Now, suppose G 0 and G 1 are public graphs and Alice knows an isomorphism π : G 0 G 1. There is a zero knowledge proof whereby Alice can convince Bob that she knows an isomorphism π from G 0 to G 1, without revealing any information about π. In particular, she can convince Bob that the graphs really are isomorphic, but Bob cannot turn around and convince Carol of that fact. Michael J. Fischer CPSC 467b, Lecture 19 15/29

Interactive proof of graph isomorphism Alice 1. Simultaneously choose a random isomorphic copy H of G 0 and an isomorphism τ : G 0 H. 2. 3. If b = 0, let σ = τ. If b = 1, let σ = τ π 1. H Bob b Choose random b {0, 1}. σ Check σ(g b ) = H. Michael J. Fischer CPSC 467b, Lecture 19 16/29

Validity of isomorphism IP The protocol is similar to the simplified Feige-Fiat-Shamir protocol If both Alice and Bob follow this protocol, Bob s check always succeeds. When b = 0, Alice send τ in step 3, and Bob checks that τ is an isomorphism from G 0 to H. When b = 1, the function σ that Alice computes is an isomorphism from G 1 to H. This is because π 1 is an isomorphism from G 1 to G 0 and τ is an isomorphism from G 0 to H. Composing them gives an isomorphism from G 1 to H, so again Bob s check succeeds. Michael J. Fischer CPSC 467b, Lecture 19 17/29

Isomorphism IP is zero knowlege The protocol is zero knowledge (at least informally) because all Bob learns is a random isomorphic copy H of either G 0 or G 1 and the corresponding isomorphism. This is information that he could have obtained by himself without Alice s help. What convinces him that Alice really knows π is that in order to repeatedly pass his checks, the graph H of step 1 must be isomorphic to both G 0 and G 1. Moreover, Alice knows isomorphisms σ 0 : G 0 H and σ 1 : G 1 H since she can produce them upon demand. Hence, she also knows an isomorphism π from G 0 to G 1, since σ 1 1 σ 0 is such a function. Michael J. Fischer CPSC 467b, Lecture 19 18/29

FFS authentication and isomorphism IP We have seen two examples of zero knowledge interactive proofs of knowledge of a secret. In the simplified Feige-Fiat-Shamir authentication scheme, Alice s secret is a square root of v. In the graph isomorphism protocol, her secret is the isomorphism π. In both cases, the protocol has the form that Alice sends Bob a commitment string x, Bob sends a query bit b, and Alice replies with a response y b. Bob then checks the triple (x, b, y b ) for validity. Michael J. Fischer CPSC 467b, Lecture 19 19/29

Comparison (continued) In both protocols, neither triple (x, 0, y 0 ) nor (x, 1, y 1 ) alone give any information about Alice s secret, but y 0 and y 1 can be combined to reveal her secret. In the FFS protocol, y 1 y 1 0 mod n is a square root of v 1. (Note: Since v 1 has four square roots, the revealed square root might not be the same as Alice s secret, but it is equally valid as a means of impersonating Alice.) In the graph isomorphism protocol, y 1 1 y 0 is an isomorphism mapping G 0 to G 1. Michael J. Fischer CPSC 467b, Lecture 19 20/29

Another viewpoint One way to view these protocols is that Alice splits her secret into two parts, y 0 and y 1. By randomization, Alice is able to convince Bob that she really has (or could produce on demand) both parts, but in doing so, she is only forced to reveal one of them. Each part by itself is statistically independent of the secret and hence gives Bob no information about the secret. Together, they can be used to recover the secret. Michael J. Fischer CPSC 467b, Lecture 19 21/29

Secret splitting Outline ZKIP Other IP Cave Isomorphism Abstraction This is an example of secret splitting or secret sharing, an important topic in its own right. We have already seen other examples of secret sharing. In the one-time pad cryptosystem, the message m is split into two parts: the key k are the ciphertext c = m k. Bob, knowing both k and c, recovers m from by computing c k. Assuming k is picked randomly, then both k and c are uniformly distributed random bit strings, which is why Eve learns nothing about m from k or c alone. What s different with zero knowledge proofs is that Bob has a way to check the validity of the parts that he gets during the protocol. Michael J. Fischer CPSC 467b, Lecture 19 22/29

Outline ZKIP Other IP Non-ismorphism Other Kinds of Interactive Proofs Michael J. Fischer CPSC 467b, Lecture 19 23/29

Outline ZKIP Other IP Non-ismorphism Other kinds of interactive proofs Not all interactive proofs follow this simple (x, b, y) pattern. Suppose Alice wants to prove to Bob that G 0 and G 1 are non-isomorphic graphs. Even ignoring questions of Alice s privacy, there is no obvious data that she can send Bob that will allow him to easily verify that the two graphs are not isomorphic. However, under a different set of assumptions, Alice can convince Bob that they can t be isomorphic, even though Bob can t do so by himself. Michael J. Fischer CPSC 467b, Lecture 19 24/29

Outline ZKIP Other IP Non-ismorphism An all-powerful teacher In this version of interactive proof, we assume that Alice is all-powerful and can compute intractable problems. In particular, given two graphs, she can determine whether or not they are isomorphic. Bob on the other hand has no extraordinary powers and can just perform computation in the usual way. Alice uses her computational powers to distinguish isomorphic copies of G 0 from isomorphic copies of G 1. If G 0 = G1, there is no way she could do this, since any graph H isomorphic to one of them is also isomorphic to the other. So by convincing Bob that she is able to reliably distinguish such graphs, she also convinces him that G 0 = G1. Michael J. Fischer CPSC 467b, Lecture 19 25/29

Outline ZKIP Other IP Non-ismorphism Interactive proof of graph non-isomorphism Alice Bob 1. Choose random b {0, 1}. Compute a random isomorphic copy H of G b. H 2. If H = G 0 let b = 0. If H = G 1 let b b = 1. Check b = b. Michael J. Fischer CPSC 467b, Lecture 19 26/29

Outline ZKIP Other IP Non-ismorphism Graph non-isomorphism IP is not zero-knowledge Alice performs a computation for Bob that he could not do himself. Namely, Alice willingly tells Bob for any H of his choosing whether it is isomorphic to G 0 or to G 1. (In any implementation of the protocol, she also probably tells him if H is not isomorphic to either one, perhaps by failing in step 2 when b is undefined.) Michael J. Fischer CPSC 467b, Lecture 19 27/29

Outline ZKIP Other IP Non-ismorphism Bit commitment This protocol is an example of bit-commitment, another important cryptographic primitive that we will study later. A bit-commitment is an encryption of a bit with a special property. The bit is hidden from anyone not knowing the secret key. There is only one valid way of decrypting it, no matter what key is used. Thus, if c = E k (b): It is hard to find b from c without knowning k. For every k, b, if E k (b ) = c, then b = b. In other words, if Bob produces a commitment c to a bit b, then b cannot be recovered from c without knowing Bob s secret encoding key k, but also, there is no key k that Bob might release that would make it appear that c is a commitment of the bit 1 b. Michael J. Fischer CPSC 467b, Lecture 19 28/29

Outline ZKIP Other IP Non-ismorphism Non-isomorphism protocol viewed as bit commitment In the non-isomorphism IP, H is a commitment of Bob s bit b. Suppose Bob gives H to Carol (who doesn t have Alice s extraordinary computational powers). Later Bob could convince Carol of his bit by telling her the isomorphism that proves H = G b. But there is nothing he could do to make her believe that his bit was really 1 b since H = G1 b. Michael J. Fischer CPSC 467b, Lecture 19 29/29

Outline ZKIP Other IP Non-ismorphism Non-isomorphism protocol viewed as bit commitment In the non-isomorphism IP, H is a commitment of Bob s bit b. Suppose Bob gives H to Carol (who doesn t have Alice s extraordinary computational powers). Later Bob could convince Carol of his bit by telling her the isomorphism that proves H = G b. But there is nothing he could do to make her believe that his bit was really 1 b since H = G1 b. The actual protocol doesn t use the commitment in quite this way. Rather than having Bob later reveal his bit, Alice uses her special powers to discover the bit committed by H. Michael J. Fischer CPSC 467b, Lecture 19 29/29