Sedgewick & Wayne (2004); Chazelle (2005) Sedgewick & Wayne (2004); Chazelle (2005)
Linear-reduces: Cost of reduction is proportional to size of input
Traveling Salesman Problem
Best known algorithm takes exponential time!
P NP Problems that can be solved in polynomial time Problems that have polynomial time proofs Suffices to look at Yes/No problems (Note that P is symmetric with yes/no but NP is not) COMPOSITE is in NP (easy); so is PRIME (hard)
P = NP ?
P NP Problems that can be solved in polynomial time Problems that have polynomial time proofs NP-Complete: Any problem A in NP such that any problem in NP polynomial-reduces to it Over 10,000 known NP-complete problems !
FACTORING Given graph G, can it be colored red, white, blue? Given n-bit integer x and k, does x have a factor 1<x<k ? 3-COLOR FACTORING and 3-COLOR are in NP 3-COLOR is NP-complete 3-color efficiently and destroy ALL e-commerce!
Zero Knowledge Can I convince you I have a proof without revealing anything about it?
3-Coloring Prover interacts with Verifier
3-Coloring Prover hides coloring
3-Coloring Verifier checks an edge at random
3-Coloring Verifier spots a lie with probability 1/E
3-Coloring Verifier repeats 100E times
If Verifier spots no lie, she concludes the graph is 3-colorable Prover fools Verifier with negligible probability
Is it Zero-Knowledge? Verifier can color most of the graph!
Not Zero-Knowledge! Why do we require the Verifier to check randomly?
Repeat 100 E times: 1. Prover: shuffle colors 2. Verifier: Check any edge
Random permutation Shuffle colors: what’s that? (6 possibilities)
To summarize Step 1: Prover shuffles coloring
Step 2: Prover hides coloring
Step 3: Verifier checks an edge
Step 1: Prover shuffles coloring
Step 2: Prover hides coloring
Step 3: Verifier checks an edge, etc
Why is it zero-knowledge? No matter what the Verifier does, she only sees a random pair of colors So, she can simulate the whole protocol by herself – no need for the prover.
PCP Can I convince you I have a proof of Riemann’s hypothesis by letting you look at only 2 lines picked at random? (probabilistically checkable proofs) Yes, with probability of error 1/google