The Laws of Cryptography Zero-Knowledge Protocols

Similar documents
CPSC 467b: Cryptography and Computer Security

Solution to Midterm Examination

Lecture 22: RSA Encryption. RSA Encryption

Lecture 15 - Zero Knowledge Proofs

Question 1. The Chinese University of Hong Kong, Spring 2018

CPSC 467: Cryptography and Computer Security

YALE UNIVERSITY DEPARTMENT OF COMPUTER SCIENCE

Lecture Notes, Week 10

CPSC 467: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security

Lecture Notes, Week 6

Lecture 11: Non-Interactive Zero-Knowledge II. 1 Non-Interactive Zero-Knowledge in the Hidden-Bits Model for the Graph Hamiltonian problem

Lecture 38: Secure Multi-party Computation MPC

Homework 4 for Modular Arithmetic: The RSA Cipher

Lecture 28: Public-key Cryptography. Public-key Cryptography

Introduction to Cryptography Lecture 13

Question: Total Points: Score:

Notes 10: Public-key cryptography

Zero-Knowledge Proofs and Protocols

Public-Key Cryptosystems CHAPTER 4

COS433/Math 473: Cryptography. Mark Zhandry Princeton University Spring 2018

8 Elliptic Curve Cryptography

CS 282A/MATH 209A: Foundations of Cryptography Prof. Rafail Ostrovsky. Lecture 10

Lecture 19: Public-key Cryptography (Diffie-Hellman Key Exchange & ElGamal Encryption) Public-key Cryptography

Multiparty Computation

Lecture 10: Zero-Knowledge Proofs

Public Key Cryptography

Canonical Forms Some questions to be explored by high school investigators William J. Martin, WPI

Chapter 13: Photons for quantum information. Quantum only tasks. Teleportation. Superdense coding. Quantum key distribution

9 Knapsack Cryptography

Entanglement and information

Midterm 2. Your Exam Room: Name of Person Sitting on Your Left: Name of Person Sitting on Your Right: Name of Person Sitting in Front of You:

Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks

L7. Diffie-Hellman (Key Exchange) Protocol. Rocky K. C. Chang, 5 March 2015

Public-key Cryptography and elliptic curves

CPSC 467b: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security

PERFECT SECRECY AND ADVERSARIAL INDISTINGUISHABILITY

Non-Interactive ZK:The Feige-Lapidot-Shamir protocol

Lecture 10. Public Key Cryptography: Encryption + Signatures. Identification

Week 7 An Application to Cryptography

Tutorial on Quantum Computing. Vwani P. Roychowdhury. Lecture 1: Introduction

Chapter 2. A Look Back. 2.1 Substitution ciphers

The Elliptic Curve in https

Notes for Lecture 9. Last time, we introduced zero knowledge proofs and showed how interactive zero knowledge proofs could be constructed from OWFs.

Solutions to the Mathematics Masters Examination

U.C. Berkeley CS276: Cryptography Luca Trevisan February 5, Notes for Lecture 6

Lecture 2: Quantum bit commitment and authentication

Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties

CPSC 467b: Cryptography and Computer Security

Practice Assignment 2 Discussion 24/02/ /02/2018

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

CPSC 467b: Cryptography and Computer Security

One can use elliptic curves to factor integers, although probably not RSA moduli.

Lecture 9 and 10: Malicious Security - GMW Compiler and Cut and Choose, OT Extension

Topics in Complexity

Number theory (Chapter 4)

Other Topics in Quantum Information

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

Lecture Notes 20: Zero-Knowledge Proofs

Quantum Entanglement and Cryptography. Deepthi Gopal, Caltech

quantum distribution of a sudoku key Sian K. Jones University of South Wales

2 Message authentication codes (MACs)

Lecture 6. 2 Adaptively-Secure Non-Interactive Zero-Knowledge

arxiv: v7 [quant-ph] 20 Mar 2017

Theory of Computation Chapter 12: Cryptography

Cryptography. P. Danziger. Transmit...Bob...

SIGNATURE SCHEMES & CRYPTOGRAPHIC HASH FUNCTIONS. CIS 400/628 Spring 2005 Introduction to Cryptography

Privacy and Computer Science (ECI 2015) Day 4 - Zero Knowledge Proofs Mathematics

2. Cryptography 2.5. ElGamal cryptosystems and Discrete logarithms

Quantum sampling of mixed states

Lecture 3,4: Multiparty Computation

CODING AND CRYPTOLOGY III CRYPTOLOGY EXERCISES. The questions with a * are extension questions, and will not be included in the assignment.

Public Key Cryptography. All secret key algorithms & hash algorithms do the same thing but public key algorithms look very different from each other.

Final Exam Math 105: Topics in Mathematics Cryptology, the Science of Secret Writing Rhodes College Tuesday, 30 April :30 11:00 a.m.

CIS 6930/4930 Computer and Network Security. Topic 5.2 Public Key Cryptography

Commitment Schemes and Zero-Knowledge Protocols (2011)

Attribute-based Encryption & Delegation of Computation

Ma/CS 6a Class 3: The RSA Algorithm

1 Secure two-party computation

CPSC 467: Cryptography and Computer Security

Is It As Easy To Discover As To Verify?

Theme : Cryptography. Instructor : Prof. C Pandu Rangan. Speaker : Arun Moorthy CS

Lecture 1: Perfect Secrecy and Statistical Authentication. 2 Introduction - Historical vs Modern Cryptography

March 19: Zero-Knowledge (cont.) and Signatures

Elliptic Curve Computations (1) View the graph and an elliptic curve Graph the elliptic curve y 2 = x 3 x over the real number field R.

Ping Pong Protocol & Auto-compensation

Cryptography. Most of slides in today s lecture courtesy of Stephen Rudich and Martin Tompa

Solutions to the Midterm Test (March 5, 2011)

Quantum Cryptography

Non-Interactive Zero Knowledge (II)

Basics in Cryptology. Outline. II Distributed Cryptography. Key Management. Outline. David Pointcheval. ENS Paris 2018

6.896 Quantum Complexity Theory November 4th, Lecture 18

6.080/6.089 GITCS Apr 15, Lecture 17

Lecture 1: Introduction to Public key cryptography

CS120, Quantum Cryptography, Fall 2016

RSA RSA public key cryptosystem

Computer Science A Cryptography and Data Security. Claude Crépeau

Lecture th January 2009 Fall 2008 Scribes: D. Widder, E. Widder Today s lecture topics

1 Indistinguishability for multiple encryptions

Transcription:

26 The Laws of Cryptography Zero-Knowledge Protocols 26.1 The Classes NP and NP-complete. 26.2 Zero-Knowledge Proofs. 26.3 Hamiltonian Cycles. An NP-complete problem known as the Hamiltonian Cycle Problem gives a good illustration of a simple zero-knowledge proof. The problem starts with an undirected graph G = (V, E), where V is a finite set of vertices, E is a set of ordered pairs of vertices forming edges, and if (u,v) is an edge, so is (v,u). A path in G is a sequence of vertices v 0,v 1,v 2,...,v n 1 such for each 0 i n 2, (v i,v i+1 ) is an edge. A path is a cycle (ends where it starts) if v n 1 = v 0. A path is simple (doesn t cross itself) if no vertex appears more than once. A path is complete if it includes every vertex. The Hamiltonian Cycle Problem (HC) asks if a given graph has a simple complete cycle. It turns out that HC is an NP-complete problem, so in general no efficient algorithm is known. If one had an efficient algorithm to solve HC, then one would also have an efficient algorithm to actually obtain the Hamitonian cycle itself. First check the entire graph to see if there is such a cycle. Then try deleting each edge in turn, checking again if there is still a Hamilintonian cycle, until only the edges of a Hamiltonian cycle remain. (There may be more than one such cycle, but this method will find one of them.) For a given graph, even a large one, it may be easy to decide this problem, but there is no known efficient algorithm to solve the general problem as the number of vertices increases. Consider now the specific simple graph in Figure 26.1. The graph illustrated in this figure is the same as the vertices and edges of a dodecahedron (a 12-sided regular polyhedron with each side a pentagon). All that is present is a wire framework of the edges, and the framework has been opened up from one side and squashed onto the plane. This graph is not complicated, but it still takes most people at least a minute or two to find one of the Hamiltonian cycles in the graph. Try to do it now, without peeking ahead (and without writing in the book). Once you have found a cycle, read on. The cycle is shown later in Figure 26.2 as a thicker set of lines.

26. Zero-Knowledge Protocols 145 15 19 6 5 0 14 7 1 4 13 16 8 2 3 12 18 9 10 11 17 Figure 26.1 Vertices and Edges of a Dodecahedron.

146 VII. Identification and Key Distribution Dodecahedron Graph Vertex Edges Cycle 0 1, 4, 5 1 1 0, 2, 7 7 2 1, 3, 9 3 3 2, 4, 11 4 4 0, 3, 13 0 5 0, 6, 14 14 6 5, 7, 15 5 7 1, 6, 8 8 8 7, 9, 16 16 9 2, 8, 10 2 10 9, 11, 17 9 11 3, 10, 12 10 12 11, 13, 18 11 13 4, 12, 14 12 14 5, 13, 19 13 15 6, 16, 19 6 16 8, 15, 17 17 17 10, 16, 18 18 18 12, 17, 19 19 19 14, 15, 18 15 Table 26.1 Dodecahedron Graph. In computer algorithms, graphs are often represented as a list of vertices, and for each vertex, a list of the vertices which together with the first one make up an edge. Suppose that the vertices are numbered from0ton 1, or in this case, to19. Table 26.1 gives information describing the graph in this way. The rightmost column also shows a Hamiltonian cycle by giving, for each vertex, the next vertex in the cycle. Now on to a zero-knowledge proof by Alice to Bob that she has a Hamiltonian cycle of this graph while revealing nothing about the cycle itself. Alice must carry out a number of steps in the process of a probablistic proof. After n stages, Bob can be almost certain that Alice has a Hamiltonian cycle for the graph, with only a probability of 2 n that she does not have a cycle, but is cheating. At each stage Alice chooses a new (true) random permutation of the vertices in the graph. In the example below, we assume she has chosen the rearrangement of vertices given in Table 26.2. Alice rearranges the table by sorting the newly renumbered vertices into order again. For each vertex, the list of vertices at the other end of an edge must be made all the same length, using extra dummy entries. (In the case here all the lists are already the same length.) Finally

26. Zero-Knowledge Protocols 147 15 19 6 5 0 14 7 1 4 13 16 8 2 3 12 18 9 10 11 17 Figure 26.2 Hamiltonian Cycle on a Dodecahedron. Original vertex: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Changed to: 12 17 16 19 8 13 7 3 10 5 18 11 2 9 15 6 0 14 4 1 Table 26.2 Permutation of Vertices.

148 VII. Identification and Key Distribution Permuted Dodecahedron Graph Vertex Edges Cycle Permutation 0 14, 6, 10 14 16 1 6, 4, 15 6 19 2 11, 4, 9 11 12 3 10, 7, 17 10 7 4 14, 1, 2 1 18 5 16, 10, 18 16 9 6 0, 1, 7 7 15 7 3, 13, 6 13 6 8 12, 9, 19 12 4 9 15, 2, 8 2 13 10 5, 3, 0 0 8 11 19, 2, 18 18 11 12 17, 8, 13 17 0 13 12, 7, 15 15 5 14 18, 4, 0 4 17 15 1, 13, 9 9 14 16 19, 17, 5 19 2 17 12, 16, 3 3 1 18 11, 5, 14 5 10 19 16, 8, 11 8 3 Table 26.3 Permuted Dodecahedron Graph. she must randomize the order of these lists. Table 26.3 shows the results of all these changes. Alice needs a means to selectively reveal parts of this last table, but she has to commit to the entire table without being able to cheat. This is easy to do with any cryptosystem, such as the AES, for example. For each item in the table needing concealment, use a separate encryption with a separate key. (Or similar items can be handled with a single key, as long as an extra random string is included to foil ciphertext comparisons.) Alice sends all the information in the table, with each item encrypted. Notice that if Alice encrypts the vertex number 17 with some AES key, it is not feasible for her to find another key that decrypts the same ciphertext to some other number, say 16, assuming there are a large number of redundant bits in the ciphertext. So Alice sends the entire table in permuted and encrypted form to Bob. Bob then asks Alice to show him one of two parts of the table: the original graph, or the Hamiltonian cycle. In the second case, Alice sends the keys needed to reveal only the parts of the table in boldface.

26. Zero-Knowledge Protocols 149 (The vertex numbers are implicit, starting at 0.) This shows each succesive vertex in the cycle, and shows that the vertex is actually on an edge. All this is assuming that the hidden graph is really the correct one. If Alice wanted to cheat, it would be easy for her to make up numbers so that it would look like a Hamiltonian cycle was present. In the second case, Alice sends the keys needed to reveal all parts of the table except for the column labeled cycle. The extra column labeled permutation is there to make it easy for Bob to verify that the permuted graph is still the same as the original. (There are no efficient algorithms to show that two graphs are really the same.) If Alice doesn t know a cycle, she can cheat and answer either question correctly, but she has to commit herself to an answer before knowing what part Bob will ask for. In the first case she reveals nothing at all about how the Hamiltonian cycle is situated in the graph, but only that it exists. In the second case she reveals nothing at all about the Hamiltonian cycle. At each stage of this probablistic proof, Alice chooses a new permutation of the vertices, rearranges the table again, and chooses new keys for encrypting. At each step, if she is cheating, she will caught half the time on the average. Alice could conceivably use HC to establish her identity. First she constructs a large, complex graph G, making sure at each stage of the construction that G has a Hamiltonian cycle. Alice securely transfers the graphgto a trusted servert. Then if Alice wanted to prove her identity to Bob, she could have Bob retrieve the graph from T, and then she could prove (probablistically, in zero knowledge) that she has a Hamiltonian cycle. Even an eavesdropper would not learn the Hamiltonian cycle. This particular method has two separate flaws as a way for Alice to identify herself: The method is subject to replay attacks, where Boris just sends someone else exactly the same messages Alice transmits as a way to prove that he is Alice. It is necessary for Alice to create a hard instance of HC, that is, an instance where known algorithms take a very long time to find a Hamiltonian cycle. Alice could handle the first flaw by adding a timestamp to the part of the graph that she encrypts. The second flaw above is the difficult one, since finding hard instances of an NPcomplete problem is often a difficult computation itself, and that especially seems to be the case with HC. The next chapter shows how to use factoring as the hard problem, and factoring has been studied much more extensively than HC. 26.4 Other Zero-Knowledge Proofs.