Hamiltonian Cycle. Zero Knowledge Proof

Similar documents
8.3 Hamiltonian Paths and Circuits

VIII. NP-completeness

Data Structures in Java

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2)

Data Structures and Algorithms

CS 320, Fall Dr. Geri Georg, Instructor 320 NP 1

The P versus NP Problem. Ker-I Ko. Stony Brook, New York

Lecture 25: Cook s Theorem (1997) Steven Skiena. skiena

The P = NP Problem Bristol Teachers Circle, June P.D.Welch, University of Bristol

Circuits. CSE 373 Data Structures

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

NP Complete Problems. COMP 215 Lecture 20

Node Edge Arc Routing Problems (NEARP)

Hamiltonian Graphs Graphs

Approximating Shortest Superstring Problem Using de Bruijn Graphs

Bounds on the Traveling Salesman Problem

Computational Complexity

Intro to Contemporary Math

Graph Theory and Optimization Computational Complexity (in brief)

Data Structures in Java. Session 22 Instructor: Bert Huang

Lecture 4: NP and computational intractability

NP-Completeness. Until now we have been designing algorithms for specific problems

P versus NP. Math 40210, Spring September 16, Math (Spring 2012) P versus NP September 16, / 9

P, NP, NP-Complete. Ruth Anderson

Mathematical Thinking Exam 2 20 November 2017

Lecture 24: How to become Famous with P and NP

P versus NP. Math 40210, Fall November 10, Math (Fall 2015) P versus NP November 10, / 9

Limits to Approximability: When Algorithms Won't Help You. Note: Contents of today s lecture won t be on the exam

SAT, Coloring, Hamiltonian Cycle, TSP

LECTURE 1: INTRODUCTION

Theoretical computer science: Turing machines

Lecture 18: Zero-Knowledge Proofs

ECS122A Handout on NP-Completeness March 12, 2018

Lecture 6 January 21, 2013

13.1 Nondeterministic Polynomial Time

More on NP and Reductions

Institute of Operating Systems and Computer Networks Algorithms Group. Network Algorithms. Tutorial 3: Shortest paths and other stuff

NP-Complete problems

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Automata Theory CS Complexity Theory I: Polynomial Time

Complexity Classes IV

NP-Complete Problems and Approximation Algorithms

Great Theoretical Ideas in Computer Science

Introduction. Pvs.NPExample

Polynomial-time Reductions

Warm-up Find the shortest trip (total distance) starting and ending in Chicago and visiting each other city once.

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

CS 6505, Complexity and Algorithms Week 7: NP Completeness

NP-Completeness. NP-Completeness 1

Polynomial-Time Reductions

P versus NP. Math 40210, Spring April 8, Math (Spring 2012) P versus NP April 8, / 9

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

Travelling Salesman Problem

Hamiltonian Cycle. Hamiltonian Cycle

Analysis of Algorithms. Unit 5 - Intractable Problems

Traveling Salesman Problem (TSP) - Visit every city and then go home.

Informatique Fondamentale IMA S8

CS 583: Algorithms. NP Completeness Ch 34. Intractability

Connection MATH Connection. Benjamin V.C. Collins, James A. Swenson MATH 2730

Data Structures and Algorithms (CSCI 340)

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

CS 241 Analysis of Algorithms

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Lecture Notes 20: Zero-Knowledge Proofs

Session 4: Efficient Zero Knowledge. Yehuda Lindell Bar-Ilan University

NP-Completeness. ch34 Hewett. Problem. Tractable Intractable Non-computable computationally infeasible super poly-time alg. sol. E.g.

CSC 1700 Analysis of Algorithms: P and NP Problems

Polynomial-time reductions. We have seen several reductions:

Tractable & Intractable Problems

Edge Elimination for the Hamiltonian Cycle problem

Introduction to Complexity Theory

NP and Computational Intractability

Automata Theory CS S-18 Complexity Theory II: Class NP

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

Lecture Notes 4. Issued 8 March 2018

NP-completeness. Chapter 34. Sergey Bereg

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

NP Completeness and Approximation Algorithms

CSE 326: Data Structures NP Completeness

Algorithms Design & Analysis. Approximation Algorithm

Classes of Problems. CS 461, Lecture 23. NP-Hard. Today s Outline. We can characterize many problems into three classes:

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

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

Who Has Heard of This Problem? Courtesy: Jeremy Kun

1. Introduction Recap

International Journal of Trend in Research and Development, Volume 3(5), ISSN: Hamiltonian and Eulerian Cycles

NP-Complete Problems. More reductions

Notes on Complexity Theory Last updated: November, Lecture 10

CS/COE

Design and Analysis of Algorithms

M is a TM with start state s defined over the alphabet {#,(,),0,1,a,q,,}:

NP-Completeness. Sections 28.5, 28.6

Non-Interactive Zero Knowledge (II)

Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas

Cryptographic Protocols Notes 2

Practice Final Solutions. 1. Consider the following algorithm. Assume that n 1. line code 1 alg(n) { 2 j = 0 3 if (n = 0) { 4 return j

1 Review of Vertex Cover

D1 Discrete Mathematics The Travelling Salesperson problem. The Nearest Neighbour Algorithm The Lower Bound Algorithm The Tour Improvement Algorithm

Instructor N.Sadagopan Scribe: P.Renjith

7.1 Basis for Boltzmann machine. 7. Boltzmann machines

Transcription:

Hamiltonian Cycle Zero Knowledge Proof

Hamiltonian cycle

Hamiltonian cycle - A path that visits each vertex exactly once, and ends at the same point it started

Example

Hamiltonian cycle - A path that visits each vertex exactly once, and ends at the same point it started - William Rowan Hamilton (1805-1865)

Hamiltonian cycle - A path that visits each vertex exactly once, and ends at the same point it started - William Rowan Hamilton (1805-1865)

Hamiltonian cycle - A path that visits each vertex exactly once, and ends at the same point it started - William Rowan Hamilton (1805-1865)

Eulerian path/cycle

Eulerian path/cycle - Seven Bridges of Köningsberg

Seven Bridges

Seven Bridges

Eulerian path/cycle - Seven Bridges of Köningsberg - Eulerian path: visits each edge exactly once

Eulerian path/cycle - Seven Bridges of Köningsberg - Eulerian path: visits each edge exactly once - Eulerian cycle: starts and ends at the same point

Eulerian path/cycle - Seven Bridges of Köningsberg - Eulerian path: visits each edge exactly once - Eulerian cycle: starts and ends at the same point - Graph has Eulerian circuit iff (1) connected and (2) all vertices have even degree.

Complexity

Complexity - Euler vs. Hamilton

Complexity - Euler vs. Hamilton - Edges vs. Vertices

Complexity - Euler vs. Hamilton - Edges vs. Vertices - P vs. NP

Complexity - Euler vs. Hamilton - Edges vs. Vertices - P vs. NP - No necessary and sufficient conditions for a Hamiltonian cycle

Complexity - Euler vs. Hamilton - Edges vs. Vertices - P vs. NP - No necessary and sufficient conditions for a Hamiltonian cycle - No good algorithm for finding one (there are known algorithms with running time O(n 2 2 n ) and O(1.657 n ), so exponential

Zero Knowledge (1)

Zero Knowledge (1) - The problem: Suppose that P knows a Hamiltonian Cycle for a graph G. How can she prove this to V in zero-knowledge?

Zero Knowledge (1) - The problem: Suppose that P knows a Hamiltonian Cycle for a graph G. How can she prove this to V in zero-knowledge? - Difference cycle and Hamiltonian cycle

Zero Knowledge (1) - The problem: Suppose that P knows a Hamiltonian Cycle for a graph G. How can she prove this to V in zero-knowledge? - Difference cycle and Hamiltonian cycle - Permuting: Create a graph F that is isomorphic to G

Zero Knowledge (2) - Step 1: P randomly creates F isomorphic to G

Zero Knowledge (2) - Step 1: P randomly creates F isomorphic to G - Step 2: P commits to F (how?)

Zero Knowledge (2) - Step 1: P randomly creates F isomorphic to G - Step 2: P commits to F (how?) - Step 3: V chooses between revealing (1) the isomorphism or (2) the Hamiltonian cycle

Zero Knowledge (2) - Step 1: P randomly creates F isomorphic to G - Step 2: P commits to F (how?) - Step 3: V chooses between revealing (1) the isomorphism or (2) the Hamiltonian cycle - Step 4: P reveals (1) F completely plus the isomorphism or (2) the Hamiltonian cycle

Commitment and example

Commitment and example G

Commitment and example G F

Commitment and example G F

Commitment and example Cycle G F

Commitment and example G F

Commitment and example G F Isomorphism

Completeness, Soundness

Completeness, Soundness - Completeness: if P knows a Hamiltonian cycle, V will accept in all cases

Completeness, Soundness - Completeness: if P knows a Hamiltonian cycle, V will accept in all cases - Soundness: if P does not know, the best he can do is either create an isomorphic F, or create a Hamiltonian cycle. V will accept 50% of the times -> repeat to pass soundness

Zero Knowledge

Zero Knowledge - Suppose V choses isomorphism. Then all she sees is a scrambled version of G. A simulator does not need P to create a random permutation of G

Zero Knowledge - Suppose V choses isomorphism. Then all she sees is a scrambled version of G. A simulator does not need P to create a random permutation of G - Suppose V choses cycle. Then all she sees is a cycle between some n vertices. Since the permutation was random, a simulator that generates random cycles for n vertices would have the same output distribution

Distribution example

Zero Knowledge - Suppose V choses isomorphism. Then all she sees is a scrambled version of G. A simulator does not need P to create a random permutation of G - Suppose V choses cycle. Then all she sees is a cycle between some n vertices. Since the permutation was random, a simulator that generates random cycles for n vertices would have the same output distribution - V does not learn anything!

Turing Machines (1)

Turing Machines (1) - Input for both P and V is the graph G (for example represented as a matrix)

Turing Machines (1) - Input for both P and V is the graph G (for example represented as a matrix) - P knows a Hamiltonian cycle for G. Uses random tape to create F, isomorphic to G

Turing Machines (1) - Input for both P and V is the graph G (for example represented as a matrix) - P knows a Hamiltonian cycle for G. Uses random tape to create F, isomorphic to G - P commits F using some fancy encryption stuff

Turing Machines (1) - Input for both P and V is the graph G (for example represented as a matrix) - P knows a Hamiltonian cycle for G. Uses random tape to create F, isomorphic to G - P commits F using some fancy encryption stuff - V randomly selects 1 or 0

Turing Machines (2) - If 0, P shows the entire committed graph/matrix and how it is isomorphic to G

Turing Machines (2) - If 0, P shows the entire committed graph/matrix and how it is isomorphic to G - If 1, P shows the cycle (in the case of a matrix, this means that every row and every column contains two 1s)

Turing Machines (2) - If 0, P shows the entire committed graph/matrix and how it is isomorphic to G - If 1, P shows the cycle (in the case of a matrix, this means that every row and every column contains two 1s) - Verifier checks whether prover is correct

Travelling Salesman

Travelling Salesman - Famous variant of Hamilton cycle: given a weighted graph (i.e. edges have a certain value), find the shortest Hamiltonian cycle

Travelling Salesman - Famous variant of Hamilton cycle: given a weighted graph (i.e. edges have a certain value), find the shortest Hamiltonian cycle - NP Hard -> Not only check whether the path is a Hamiltonian cycle, but also whether it is the shortest

Holiday Shortest path through all US towns/cities with more than 500 citizens