Princeton University COS 433 Cryptography Fall 2005 Boaz Barak COS 433: Cryptography Princeton University Fall 2005 Boaz Barak Lecture 3: Computational.

Slides:



Advertisements
Similar presentations
Extracting Randomness From Few Independent Sources Boaz Barak, IAS Russell Impagliazzo, UCSD Avi Wigderson, IAS.
Advertisements

NP-Hard Nattee Niparnan.
Polynomial-time reductions We have seen several reductions:
 2004 SDU Lecture17-P,NP, NPC.  2004 SDU 2 1.Decision problem and language decision problem decision problem and language 2.P and NP Definitions of.
Department of Computer Science & Engineering
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Umans Complexity Theory Lectures Lecture 2a: Reductions & Completeness.
Notation Intro. Number Theory Online Cryptography Course Dan Boneh
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
Advanced Topics in Algorithms and Data Structures
CS151 Complexity Theory Lecture 5 April 13, 2015.
CS151 Complexity Theory Lecture 7 April 20, 2004.
CS151 Complexity Theory Lecture 5 April 13, 2004.
The Counting Class #P Slides by Vera Asodi & Tomer Naveh
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
On Uniform Amplification of Hardness in NP Luca Trevisan STOC 05 Paper Review Present by Hai Xu.
Arithmetic Hardness vs. Randomness Valentine Kabanets SFU.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
NP-Complete Problems Problems in Computer Science are classified into
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom.
–Def: A language L is in BPP c,s ( 0  s(n)  c(n)  1,  n  N) if there exists a probabilistic poly-time TM M s.t. : 1.  w  L, Pr[M accepts w]  c(|w|),
CS151 Complexity Theory Lecture 1 March 30, 2004.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
February 20, 2015CS21 Lecture 191 CS21 Decidability and Tractability Lecture 19 February 20, 2015.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x: x L 1 iff r(x)
Complexity Classes Kang Yu 1. NP NP : nondeterministic polynomial time NP-complete : 1.In NP (can be verified in polynomial time) 2.Every problem in NP.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
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.
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
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.
1. 2 Lecture outline Basic definitions: Basic definitions: P, NP complexity classes P, NP complexity classes the notion of a certificate. the notion of.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
Computability & Complexity II Chris Umans Caltech.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
CSC 413/513: Intro to Algorithms
Lecture 38 CSE 331 Dec 5, OHs today (only online 9:30-11)
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
Computational Complexity Theory
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Richard Anderson Lecture 26 NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
Umans Complexity Theory Lectures
Lecture 20 Guest lecturer: Neal Gupta
Richard Anderson Lecture 28 NP-Completeness
CSE838 Lecture notes copy right: Moon Jung Chung
Prabhas Chongstitvatana
CS154, Lecture 13: P vs NP.
Richard Anderson Lecture 26 NP-Completeness
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 7 April 23, 2019.
CS151 Complexity Theory Lecture 5 April 16, 2019.
Lecture 23 NP-Hard Problems
Presentation transcript:

Princeton University COS 433 Cryptography Fall 2005 Boaz Barak COS 433: Cryptography Princeton University Fall 2005 Boaz Barak Lecture 3: Computational Hardness

2 “Impatient Cryptography” Last Lecture: Simple algorithm (~10 lines of C code) to break every encryption with key-length < message-length. Caveat: Takes roughly 2 key length steps to run. For 1KB key will take more than galaxy’s lifetime to finish. This holds even if we run in parallel one processor for each atom of the universe each running in light speed. Encryption that takes this long to break seems to provide “pretty good privacy”.

3 Measuring Computational Steps Church-Turing thesis: every physically feasible computation can be described roughly as follows memory in initial state s Step 1Step 2Step iStep i+1Final state t Captures every computer or other computing device ever built, including human brain. Bit in state i+1 depends on constant (e.g. 3) bits of state i. W.l.o.g, each bit depends on · 2 bits, using either Æ, Ç or : functions. We call this a t ¢ s –sized Boolean circuit.

4 Computational Hardness Fact 1: 8f:{0,1} n  {0,1} n, 9 n 2 2 n -sized Boolean circuit C s.t. C computes f. Def: Let f:{0,1} n  {0,1} m be a function. We say that f is (T,  )-hard if for every T-sized circuit C Pr x  { 0,1 } n [ C(x) = f(x) ] <  Thm: 8n, there exists a function f:{0,1} n  {0,1} n that is (2 n/10,2 -n/10 )-hard We know: If f:{0,1} n  {0,1} n then f can’t be (n 2 2 n,1)- hard and can’t be (T,0)-hard for any T (where T>n).

5 Asymptotic Hardness Def: A function h:N  N is super-polynomial if 8 polynomial q(¢), 9n s.t. h(n)>q(n). In other words h(n)=n  (1). Def: Let { f n } be family of functions, where f n :{0,1} n  {0,1} n. We say that { f n } is hard if 9 super-poly h(¢) s.t. for every n, f n is (h(n), 1/h(n) ) –hard. Examples: h(n) = 2 n, h(n)=n log n, h(n) = 2 n, h(n) = 1/3 1 n< n n¸10 6 Def: Let f:{0,1} n  {0,1} m be a function. We say that f is (T,  )-hard if for every T-sized circuit C Pr x  { 0,1 } n [ C(x) = f(x) ] <  We know: There exists a hard family of functions.

6 Asymptotic Easyness Def: Let { f n } be family of functions, where f n :{0,1} n  {0,1} m. We say that { f n } is in the class P/poly if 9 polynomial q(¢) and circuit family { C n } s.t. 8n |C n | · q(n) and We say that a circuit family {C n } is uniform if there’s a (constant-size) Turing machine that on input n,i outputs the i th gate of C n in · |C n | 2 steps. 8 x 2 {0,1} n, C(x) = f(x) If the family {C n } is uniform then { f n } is in the class P. Def: Let { f n } be family of functions, where f n :{0,1} n  {0,1} n. We say that { f n } is hard if 9 super-poly h(¢) s.t. for every n, f n is (h(n), 1/h(n) ) –hard.

7 World View P - easy for poly-size uniform circuits P /poly - easy for poly-size circuits All function families Mildly hard func. families Hard function families

8 Functions Known to be in P Arithmetic functions: f 1 (a,b) = a+b, f 2 (a,b) = a¢ b, etc.. (elementary school algorithms) Arithmetic mod n: f 1 (a,b,n) = a+b (mod n), f 2 (a,b,n) = a¢ b (mod n) GCD(a,b) = largest c s.t. c|a, c|b Inverse(a): If GCD(a,n)=1 find a -1 (mod n) EXP(a,b) = a b (mod n) Maximal Ind. Set: Given graph G(V,E), we say that Sµ V is independent if 8 u,v 2 S, (u,v)  E. Find S s.t. forall v  S, S[{ v } is not independent.

9 Functions Believed Outside of P/poly Factoring: f 1 (a) = prime factors of a (can be computed in time 2 |a|, even in 2 |a| ) 1/3 Maximum Ind. Set: Given graph G(V,E), find S of maximum size s.t. S independent (i.e., 8u,v2 S, (u,v)  E) Believed to be a hard function family 3SAT: Given 3CNF Boolean formula  on n variables, find (if exist) x 1,…,x n such that  (x 1,…,x n ) is true.  = (x 1 Ç : x 7 Ç x 9 ) Æ (: x 2 Ç x 9 Ç : x 12 ) Æ … Æ (x 1 Ç x 2 Ç x 100 ) For all these functions, it is easy to verify a given solution. Such functions are in the class NP If either max-ind-set or 3SAT is in P/poly then every problem in NP is in P/poly Such functions are called NP-complete

10 Proving NP - Completeness Maximum Ind. Set: Given graph G(V,E), find S of maximum size s.t. S independent (i.e., 8u,v2 S, (u,v)  E) 3SAT: Given 3CNF Boolean formula  on n variables, find (if exist) x 1,…,x n such that  (x 1,…,x n ) is true.  = (x 1 Ç : x 7 Ç x 9 ) Æ (: x 2 Ç x 9 Ç : x 12 ) Æ … Æ (x 1 Ç x 2 Ç x 100 ) If either max-ind-set or 3SAT is in P/poly then every problem in NP is in P/poly This is proven using a reduction. For example. Circuit to compute IND-SET Thm: Assume that 9 poly(n) circuit family for IND-SET. Then 9 poly(n) circuit family for 3SAT. Circuit to compute 3SAT GGSS  xx

11 World View P - easy for poly-size uniform circuits P /poly - easy for poly-size circuits All function families Mildly hard func. families Hard function families add, mult, GCD, EXP, maximal IS 3SAT, Ind-SET, NP-Complete Factoring

12 Randomization Possible objection to our model: Can circuits get more power by tossing coins? Input Random bits Probabilistic circuit Output In this context, answer is NO. Thm: If f:{0,1} n  {0,1} m is (T,  )-hard for standard (deterministic) circuits, then it is (T/10,  )-hard for probabilistic circuits.