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

Polynomial-time reductions We have seen several reductions:
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
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
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.
Last class Decision/Optimization 3-SAT  Independent-Set Independent-Set  3-SAT P, NP Cook’s Theorem NP-hard, NP-complete 3-SAT  Clique, Subset-Sum,
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.
Complexity ©D.Moshkovitz 1 Paths On the Reasonability of Finding Paths in Graphs.
Clique Cover Cook’s Theorem 3SAT and Independent Set
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.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
NP-COMPLETENESS PRESENTED BY TUSHAR KUMAR J. RITESH BAGGA.
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.
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.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Interaction,
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.
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.
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.
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.
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.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
Topic 36: Zero-Knowledge Proofs
NP and NP-completeness
(xy)(yz)(xz)(zy)
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
CS21 Decidability and Tractability
More NP-complete Problems
More on DFA minimization and DFA equivalence
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
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.
LECTURE 2-7 Complete Problems in PH
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
More on NP-completeness
More NP-complete problems
Umans Complexity Theory Lectures
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 (or any other information)? 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 math 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 –All NP-hard problems Prove that P ≠ NP

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!

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 two balls from same box or one ball from box 1 and one from box 2 You say “same color” or “different color” 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

Password authentication via 3-coloring 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, so 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, because all he sees are two random different colors But how do we send locked boxes and keys over the internet?