CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction,

Slides:



Advertisements
Similar presentations
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Advertisements

NP-Completeness: Reductions
The Theory of NP-Completeness
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
CS21 Decidability and Tractability
1 Adapted from Oded Goldreich’s course lecture notes.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Fall 2006Costas Busch - RPI1 More NP-complete Problems.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
Black-box (oracle) Feed me a weighted graph G and I will tell you the weight of the max-weight matching of G.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
Clique Cover Cook’s Theorem 3SAT and Independent Set
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction,
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Interaction,
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
May 9, New Topic The complexity of counting.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong The Cook-Levin.
CSCI 3130: Formal languages and automata theory 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.
“One ring to rule them all” Analogy (sort of) Lord of The Rings Computational Complexity “One problem to solve them all” “my preciousss…”
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
CSC 413/513: Intro to Algorithms
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
Cryptography CS Lecture 19 Prof. Amit Sahai.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong NP-complete.
Prof. Busch - LSU1 Busch Complexity Lectures: More NP-complete Problems.
 5.1 Zero-Knowledge Proofs  5.2 Zero-Knowledge Proofs of Identity  5.3 Identity-Based Public-Key Cryptography  5.4 Oblivious Transfer  5.5 Oblivious.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
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.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
Topic 36: Zero-Knowledge Proofs
NP and NP-completeness
NP-Completeness (36.4-5) P: yes and no in pt NP: yes in pt NPH  NPC
Zero Knowledge Anupam Datta CMU Fall 2017
NP-complete problems The Chinese University of Hong Kong Fall 2008
NP-Completeness Yin Tat Lee
More NP-complete Problems
More on DFA minimization and DFA equivalence
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
NP-Complete Problems.
NP-completeness The Chinese University of Hong Kong Fall 2008
NP-Completeness Yin Tat Lee
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
More on NP-completeness
More NP-complete problems
Umans Complexity Theory Lectures
Instructor: Aaron Roth
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction, randomness, and zero-knowledge Fall 2008

Authentication What happens when you type in your password?

Naïve authentication The server knows your password So they can impersonate you at other web sites where you use the same password login: me password: opensesame OK you server acme.com

“Zero-knowledge” authentication acme.com Can you convince the server that you know your password, without revealing it (and anything else)? I know the password Can you prove it?

What is knowledge? Example 1: Tomorrow’s lottery numbers We are ignorant of them because they are random What is ignorance? (lack of knowledge)

What is ignorance? Example 2: A difficult homework problem We are ignorant because it takes a lot of work to figure out the answer Questions of this type include –Finding satisfying assignments to Boolean formulas –Finding cliques in graphs... Problem 4 (a) Show that P ≠ NP. (If you collect $1,000,000, give it to your CSC3130 instructor.)

Using ignorance to our advantage acme.com I know the password Can you prove it? We want to convince the server that we know the password, while keeping it ignorant of the password itself The server is convinced, but gains zero-knowledge!

I can convince you Bin Laden is in there, without revealing his secret location!

Zero-knowledge I can convince you that I know where he is But you have zero information about how to find him yourself!

A protocol for non-color-blindness You want to convince me you are not color-blind I pull at random either a red ball or a blue ball and show it to you You say “red” or “blue” We repeat this 10 times If you got all the answers right, I am convinced you know red from blue

Interaction and knowledge What knowledge did I gain from this interaction? I learned that you can tell blue from red But I also learned the colors of the balls in each glass Suppose I was color-blind Then I used you to gain some knowledge!

A different protocol box 1 box 2 I pull at random either a red ball or a blue ball and show it to you Each time, you say “same color as previous” or “different color from previous” We repeat 10 times If you got all the answers right, I am convinced you know red from blue But I did not gain any other knowledge!

Zero-knowledge Suppose I am color-blind but you are not In the first protocol, I cannot predict your answer ahead of time In the second protocol, I know what you will say, so I do not gain knowledge when you say it

Zero-knowledge password authentication acme.com Oded GoldreichSilvio MicaliAvi Wigderson

Graph coloring Theorem Task: Assign one of 3 colors to the vertices so that no edge has both endpoints of same color 3COL = {G: G has a valid 3-coloring } 3COL is NP -complete

NP-hardness of 3COL Proof sketch of NP -hardness: Reduce from 3SAT We describe G: 3CNF formula f graph G G has a valid 3-coloring R f is satisfiable Part I: 3 special vertices T (true), F (false), and X T F X

NP -hardness of 3COL Part 2: For each variable x i xixi X xixi Either x i has color of T and x i has color of F Or x i has color of F and x i has color of T Part 3: For each clause, e.g. x 1 ∨ x 2 ∨ x 3 Can be 3-colored iff clause is satisfied x1x1 x2x2 x3x3 T

Password authentication via 3-coloring Step 0: When you register for the web service, choose your password to be a valid 3-coloring of some (suitable) graph acme.com registration password: G

Registration phase When the server asks for your password do not send the password, but send the graph G instead (without the colors) acme.com password: G password? G

Intuition about registration phase Because 3-coloring is hard, the server will not be able to figure out your password (coloring) from G Later, when you try to log in, you will convince the server that you know how to color G, without revealing the coloring itself The server will be convinced you know your password but remain ignorant about what it is

The login phase password: You randomly permute the colors You lock each of the colors in a box and send the boxes to the server The server chooses an edge at random and asks for the keys to the boxes at the endpoints You send the requested keys The server unlocks the two boxes and checks the colors are different Repeat this 1000 times. Login succeeds if colors always different

Analysis in the login phase If you are an impostor, you won’t know how to color the graph –At least one of the edges will have endpoints of the same color, and the server is likely to catch this If you are honest, the server remains ignorant about your password –Each time, he merely sees two random different colors But how do we send locked boxes and keys over the internet?

What’s next CSC 3120: Compilers Teaches you how to write parsers and compilers for your favorite programming language Fall 2010 CSC 5170: Computational Complexity Spring 2010 Computational hardness beyond NP-completeness CSC 5251: Cryptography Spring 2011 Tells you about the bright side of hardness! (Pending approval)