<<

Complexity Theory 1 Complexity Theory 2

Cryptography Complexity Theory Lecture 10 Alice Bob

Anuj Dawar

University of Cambridge Computer Laboratory Eve Easter Term 2011

http://www.cl.cam.ac.uk/teaching/1011/Complexity/ Alice wishes to communicate with Bob without Eve eavesdropping.

Anuj Dawar March 23, 2012 Anuj Dawar March 23, 2012

Complexity Theory 3 Complexity Theory 4

One Way Functions UP

A function f is called a one way function if it satisfies the following Though one cannot hope to prove that the RSA function is one-way conditions: without separating P and NP, we might hope to make it as secure 1. f is one-to-one. as a proof of NP-completeness. 2. for each x, |x|1/k ≤|f(x)|≤|x|k for some k. Definition 3. f ∈ FP. A nondeterministic machine is unambiguous if, for any input x, − 4. f 1 ∈ FP. there is at most one accepting computation of the machine. We cannot hope to prove the existence of one-way functions UP is the class of languages accepted by unambiguous machines in without at the same time proving P = NP. polynomial time. It is strongly believed that the RSA function:

f(x,e,p,q)=(xe mod pq,pq,e)

is a one-way function.

Anuj Dawar March 23, 2012 Anuj Dawar March 23, 2012 Complexity Theory 5 Complexity Theory 6

UP UP One-way Functions

Equivalently, UP is the class of languages of the form We have P ⊆ UP ⊆ NP {x |∃yR(x, y)}

Where is polynomial time computable, polynomially balanced, It seems unlikely that there are any NP- problems in UP. and for each x, there is at most one y such that R(x, y).

One-way functions exist if, and only if, P = UP.

Anuj Dawar March 23, 2012 Anuj Dawar March 23, 2012

Complexity Theory 7 Complexity Theory 8

One-Way Functions Imply P = UP P = UP Implies One-Way Functions Exist

Suppose f is a one-way function. Suppose that is a language that is in UP but not in P. Let U be an unambiguous machine that accepts L.

Define the language Lf by

Define the function fU by Lf = {(x, y) |∃z(z ≤ x and f(z)= y)}. if x is a string that encodes an accepting computation of We can show that Lf is in UP but not in P. U, then fU (x) = 1y where y is the input string accepted by this computation.

fU (x) = 0x otherwise.

We can prove that fU is a one-way function.

Anuj Dawar March 23, 2012 Anuj Dawar March 23, 2012 Complexity Theory 9 Complexity Theory 10

Space Complexity Classes

We’ve already seen the definition SPACE(f): the languages L = SPACE(log n) accepted by a machine which uses O(f(n)) tape cells on inputs of NL = NSPACE(log n) length n. Counting only work space. ∞ k PSPACE = Sk=1 SPACE(n ) The class of languages decidable in polynomial space. NSPACE(f) is the class of languages accepted by a nondeterministic ∞ k Turing machine using at most O(f(n)) work space. NPSPACE = Sk=1 NSPACE(n )

As we are only counting work space, it makes sense to consider Also, define bounding functions f that are less than linear. co-NL – the languages whose complements are in NL. co-NPSPACE – the languages whose complements are in NPSPACE.

Anuj Dawar March 23, 2012 Anuj Dawar March 23, 2012

Complexity Theory 11 Complexity Theory 12

Inclusions Establishing Inclusions

We have the following inclusions: To establish the known inclusions between the main complexity classes, we prove the following. L ⊆ NL ⊆ P ⊆ NP ⊆ PSPACE ⊆ NPSPACE ⊆ EXP • SPACE(f(n)) ⊆ NSPACE(f(n));

k ∞ n • TIME(f(n)) ⊆ NTIME(f(n)); where EXP = Sk=1 TIME(2 ) • NTIME(f(n)) ⊆ SPACE(f(n)); Moreover, • NSPACE(f(n)) ⊆ TIME(klog n+f(n)); L ⊆ NL ∩ co-NL

P ⊆ NP ∩ co-NP The first two are straightforward from definitions. PSPACE ⊆ NPSPACE ∩ co-NPSPACE The third is an easy simulation. The last requires some more work.

Anuj Dawar March 23, 2012 Anuj Dawar March 23, 2012