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

COS 433: Cryptography

  • Upload
    maille

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

COS 433: Cryptography. Princeton University Fall 2005 Boaz Barak. Lecture 3: Computational Hardness. “Impatient Cryptography”. Last Lecture: Simple algorithm (~10 lines of C code) to break every encryption with key-length < message-length. - PowerPoint PPT Presentation

Citation preview

Page 1: COS 433:  Cryptography

Princeton University • COS 433 • Cryptography • Fall 2005 • Boaz Barak

COS 433: Cryptography

Princeton University

Fall 2005

Boaz Barak

Lecture 3: Computational Hardness

Page 2: COS 433:  Cryptography

2

“Impatient Cryptography”

Last Lecture: Simple algorithm (~10 lines of C code) to break every encryption with key-length < message-length.

Caveat: Takes roughly 2key 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”.

Page 3: COS 433:  Cryptography

3

Measuring Computational Steps

Church-Turing thesis: every physically feasible computation can be described roughly as follows

memory in initial state

s

Step 1 Step 2 Step i Step i+1 Final state

tCaptures 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.

Page 4: COS 433:  Cryptography

4

Computational Hardness

Fact 1: 8f:{0,1}n{0,1}n, 9 n22n-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

Prx{0,1}n [ C(x) = f(x) ] <

Thm: 8n, there exists a function f:{0,1}n {0,1}n that is (2n/10,2-n/10)-hard

We know: If f:{0,1}n{0,1}n then f can’t be (n22n,1)- hard and can’t be (T,0)-hard for any T (where T>n).

Page 5: COS 433:  Cryptography

5

Asymptotic Hardness

Def: A function h:NN is super-polynomial if 8 polynomial q(¢), 9n s.t. h(n)>q(n).

In other words h(n)=n(1).

Def: Let { fn } be family of functions, where fn:{0,1}n{0,1}n .

We say that { fn } is hard if 9 super-poly h(¢) s.t.

for every n, fn is (h(n) , 1/h(n) ) –hard.

Examples: h(n) = 2n , h(n)=nlog n , h(n) = 2n , h(n) = 1/3

1 n<106

2n n¸106

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 Prx{0,1}n [ C(x) = f(x) ] <

We know: There exists a hard family of functions.

Page 6: COS 433:  Cryptography

6

Asymptotic Easyness

Def: Let { fn } be family of functions, where fn:{0,1}n{0,1}m .

We say that { fn } is in the class P/poly if

9 polynomial q(¢) and circuit family { Cn } s.t. 8n |Cn| · q(n) and

We say that a circuit family {Cn} is uniform if there’s a (constant-size)

Turing machine that on input n,i outputs the ith gate of Cn in · |Cn|2 steps.

8 x 2 {0,1}n , C(x) = f(x)

If the family {Cn} is uniform then { fn } is in the class P.

Def: Let { fn } be family of functions, where fn:{0,1}n{0,1}n .

We say that { fn } is hard if 9 super-poly h(¢) s.t.

for every n, fn is (h(n) , 1/h(n) ) –hard.

Page 7: COS 433:  Cryptography

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

Page 8: COS 433:  Cryptography

8

Functions Known to be in P

Arithmetic functions: f1(a,b) = a+b , f2(a,b) = a¢ b , etc..

(elementary school algorithms)

Arithmetic mod n: f1(a,b,n) = a+b (mod n) , f2(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) = ab (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.

Page 9: COS 433:  Cryptography

9

Functions Believed Outside of P/poly

Factoring: f1(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) x1,…,xn such

that (x1,…,xn) is true.

= (x1 Ç : x7 Ç x9) Æ (: x2 Ç x9 Ç : x12) Æ … Æ (x1 Ç x2 Ç x100)

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

Page 10: COS 433:  Cryptography

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) x1,…,xn such

that (x1,…,xn) is true.

= (x1 Ç : x7 Ç x9) Æ (: x2 Ç x9 Ç : x12) Æ … Æ (x1 Ç x2 Ç x100)

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 S x

Page 11: COS 433:  Cryptography

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

Page 12: COS 433:  Cryptography

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.