Foundation of Cryptography (0368-4162-01), Lecture 2 Pseudorandom - - PowerPoint PPT Presentation

foundation of cryptography 0368 4162 01 lecture 2
SMART_READER_LITE
LIVE PREVIEW

Foundation of Cryptography (0368-4162-01), Lecture 2 Pseudorandom - - PowerPoint PPT Presentation

Foundation of Cryptography (0368-4162-01), Lecture 2 Pseudorandom Generators Iftach Haitner, Tel Aviv University Tel Aviv University. February 25, 2014 Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 1 / 26 Part I


slide-1
SLIDE 1

Foundation of Cryptography (0368-4162-01), Lecture 2

Pseudorandom Generators Iftach Haitner, Tel Aviv University

Tel Aviv University.

February 25, 2014

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 1 / 26

slide-2
SLIDE 2

Part I Statistical Vs. Computational distance

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 2 / 26

slide-3
SLIDE 3

Section 1 Distributions and Statistical Distance

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 3 / 26

slide-4
SLIDE 4

Distributions and Statistical Distance Let P and Q be two distributions over a finite set U. Their statistical distance (also known as, variation distance) is defined as SD(P, Q) := 1 2

  • x∈U

|P(x) − Q(x)| = max

S⊆U (P(S) − Q(S))

We will only consider finite distributions.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 4 / 26

slide-5
SLIDE 5

Distributions and Statistical Distance Let P and Q be two distributions over a finite set U. Their statistical distance (also known as, variation distance) is defined as SD(P, Q) := 1 2

  • x∈U

|P(x) − Q(x)| = max

S⊆U (P(S) − Q(S))

We will only consider finite distributions. Claim 1 For any pair of (finite) distribution P and Q, it holds that SD(P, Q) = max

D { Pr x←P[D(x) = 1] − Pr x←Q[D(x) = 1]},

where D is any algorithm.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 4 / 26

slide-6
SLIDE 6

Some useful facts Let P, Q, R be finite distributions, then Triangle inequality: SD(P, R) ≤ SD(P, Q) + SD(Q, R) Repeated sampling: SD((P, P), (Q, Q)) ≤ 2 · SD(P, Q)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 5 / 26

slide-7
SLIDE 7

Distribution ensembles and statistical indistinguishability Definition 2 (distribution ensembles) P = {Pn}n∈N is a distribution ensemble, if Pn is a (finite) distribution for any n ∈ N. P is efficiently samplable (or just efficient), if ∃ PPT Samp with Sam(1n) ≡ Pn.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 6 / 26

slide-8
SLIDE 8

Distribution ensembles and statistical indistinguishability Definition 2 (distribution ensembles) P = {Pn}n∈N is a distribution ensemble, if Pn is a (finite) distribution for any n ∈ N. P is efficiently samplable (or just efficient), if ∃ PPT Samp with Sam(1n) ≡ Pn. Definition 3 (statistical indistinguishability) Two distribution ensembles P and Q are statistically indistinguishable, if SD(Pn, Qn) = neg(n).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 6 / 26

slide-9
SLIDE 9

Distribution ensembles and statistical indistinguishability Definition 2 (distribution ensembles) P = {Pn}n∈N is a distribution ensemble, if Pn is a (finite) distribution for any n ∈ N. P is efficiently samplable (or just efficient), if ∃ PPT Samp with Sam(1n) ≡ Pn. Definition 3 (statistical indistinguishability) Two distribution ensembles P and Q are statistically indistinguishable, if SD(Pn, Qn) = neg(n). Alternatively, if

  • ∆D

(P,Q)(n)

  • = neg(n), for any algorithm D, where

∆D

(P,Q)(n) :=

Pr

x←Pn[D(1n, x) = 1] − Pr x←Qn[D(1n, x) = 1]

(1)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 6 / 26

slide-10
SLIDE 10

Section 2 Computational Indistinguishability

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 7 / 26

slide-11
SLIDE 11

Computational Indistinguishability Definition 4 (computational indistinguishability) Two distribution ensembles P and Q are computationally indistinguishable, if

  • ∆D

(P,Q)(n)

  • = neg(n), for any PPT D.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 8 / 26

slide-12
SLIDE 12

Computational Indistinguishability Definition 4 (computational indistinguishability) Two distribution ensembles P and Q are computationally indistinguishable, if

  • ∆D

(P,Q)(n)

  • = neg(n), for any PPT D.

Can it be different from the statistical case?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 8 / 26

slide-13
SLIDE 13

Computational Indistinguishability Definition 4 (computational indistinguishability) Two distribution ensembles P and Q are computationally indistinguishable, if

  • ∆D

(P,Q)(n)

  • = neg(n), for any PPT D.

Can it be different from the statistical case? Non uniform variant

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 8 / 26

slide-14
SLIDE 14

Computational Indistinguishability Definition 4 (computational indistinguishability) Two distribution ensembles P and Q are computationally indistinguishable, if

  • ∆D

(P,Q)(n)

  • = neg(n), for any PPT D.

Can it be different from the statistical case? Non uniform variant Sometime behaves differently then expected!

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 8 / 26

slide-15
SLIDE 15

Repeated sampling Question 5 Assume that P and Q are computationally indistinguishable, is it always true that P2 = (P, P) and Q2 = (Q, Q) are?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 9 / 26

slide-16
SLIDE 16

Repeated sampling Question 5 Assume that P and Q are computationally indistinguishable, is it always true that P2 = (P, P) and Q2 = (Q, Q) are? Let D be an algorithm and let δ(n) =

  • ∆D

(P2,Q2)(n)

  • Iftach Haitner (TAU)

Foundation of Cryptography February 25, 2014 9 / 26

slide-17
SLIDE 17

Repeated sampling Question 5 Assume that P and Q are computationally indistinguishable, is it always true that P2 = (P, P) and Q2 = (Q, Q) are? Let D be an algorithm and let δ(n) =

  • ∆D

(P2,Q2)(n)

  • δ(n)

= | Pr

x←P2

n

[D(x) = 1] − Pr

x←Q2

n

[D(x) = 1]| ≤

  • Pr

x←P2

n

[D(x) = 1] − Pr

x←(Pn,Qn)[D(x) = 1]

  • +
  • Pr

x←(Pn,Qn)[D(x) = 1] −

Pr

x←Q2

n

[D(x) = 1]

  • Iftach Haitner (TAU)

Foundation of Cryptography February 25, 2014 9 / 26

slide-18
SLIDE 18

Repeated sampling Question 5 Assume that P and Q are computationally indistinguishable, is it always true that P2 = (P, P) and Q2 = (Q, Q) are? Let D be an algorithm and let δ(n) =

  • ∆D

(P2,Q2)(n)

  • δ(n)

= | Pr

x←P2

n

[D(x) = 1] − Pr

x←Q2

n

[D(x) = 1]| ≤

  • Pr

x←P2

n

[D(x) = 1] − Pr

x←(Pn,Qn)[D(x) = 1]

  • +
  • Pr

x←(Pn,Qn)[D(x) = 1] −

Pr

x←Q2

n

[D(x) = 1]

  • =
  • ∆D

(P2,(P,Q)(n)

  • +
  • ∆D

((P,Q),Q2)(n)

  • Iftach Haitner (TAU)

Foundation of Cryptography February 25, 2014 9 / 26

slide-19
SLIDE 19

Repeated sampling Question 5 Assume that P and Q are computationally indistinguishable, is it always true that P2 = (P, P) and Q2 = (Q, Q) are? Let D be an algorithm and let δ(n) =

  • ∆D

(P2,Q2)(n)

  • δ(n)

= | Pr

x←P2

n

[D(x) = 1] − Pr

x←Q2

n

[D(x) = 1]| ≤

  • Pr

x←P2

n

[D(x) = 1] − Pr

x←(Pn,Qn)[D(x) = 1]

  • +
  • Pr

x←(Pn,Qn)[D(x) = 1] −

Pr

x←Q2

n

[D(x) = 1]

  • =
  • ∆D

(P2,(P,Q)(n)

  • +
  • ∆D

((P,Q),Q2)(n)

  • So either |∆D

(P2,(P,Q)(n)| ≥ δ(n)/2, or |∆D ((P,Q),Q2)(n)| ≥ δ(n)/2

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 9 / 26

slide-20
SLIDE 20

Assume D is a PPT and that

  • ∆D

(P2,Q2)(n)

  • ≥ 1/p(n) for some

p ∈ poly and infinitely many n’s, and assume wlg. that

  • ∆D

P2,(P,Q)(n)

  • ≥ 1/2p(n) for infinitely many n’s.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 10 / 26

slide-21
SLIDE 21

Assume D is a PPT and that

  • ∆D

(P2,Q2)(n)

  • ≥ 1/p(n) for some

p ∈ poly and infinitely many n’s, and assume wlg. that

  • ∆D

P2,(P,Q)(n)

  • ≥ 1/2p(n) for infinitely many n’s.

Can we use D to contradict the fact that P and Q are computationally close?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 10 / 26

slide-22
SLIDE 22

Assume D is a PPT and that

  • ∆D

(P2,Q2)(n)

  • ≥ 1/p(n) for some

p ∈ poly and infinitely many n’s, and assume wlg. that

  • ∆D

P2,(P,Q)(n)

  • ≥ 1/2p(n) for infinitely many n’s.

Can we use D to contradict the fact that P and Q are computationally close? Assuming that P and Q are efficiently samplable

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 10 / 26

slide-23
SLIDE 23

Assume D is a PPT and that

  • ∆D

(P2,Q2)(n)

  • ≥ 1/p(n) for some

p ∈ poly and infinitely many n’s, and assume wlg. that

  • ∆D

P2,(P,Q)(n)

  • ≥ 1/2p(n) for infinitely many n’s.

Can we use D to contradict the fact that P and Q are computationally close? Assuming that P and Q are efficiently samplable Non-uniform settings

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 10 / 26

slide-24
SLIDE 24

Repeated sampling cont. Given t = t(n) ∈ N and a distribution ensemble P = {Pn}n∈N, let Pt = {Pt(n)

n

}n∈N.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 11 / 26

slide-25
SLIDE 25

Repeated sampling cont. Given t = t(n) ∈ N and a distribution ensemble P = {Pn}n∈N, let Pt = {Pt(n)

n

}n∈N. Question 6 Let t = t(n) ≤ poly(n) be an eff. computable integer function. Assume that P and Q are eff. samplable and computationally indistinguishable, does it mean that Pt and Qt are?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 11 / 26

slide-26
SLIDE 26

Repeated sampling cont. Given t = t(n) ∈ N and a distribution ensemble P = {Pn}n∈N, let Pt = {Pt(n)

n

}n∈N. Question 6 Let t = t(n) ≤ poly(n) be an eff. computable integer function. Assume that P and Q are eff. samplable and computationally indistinguishable, does it mean that Pt and Qt are? Proof:

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 11 / 26

slide-27
SLIDE 27

Repeated sampling cont. Given t = t(n) ∈ N and a distribution ensemble P = {Pn}n∈N, let Pt = {Pt(n)

n

}n∈N. Question 6 Let t = t(n) ≤ poly(n) be an eff. computable integer function. Assume that P and Q are eff. samplable and computationally indistinguishable, does it mean that Pt and Qt are? Proof: Induction?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 11 / 26

slide-28
SLIDE 28

Repeated sampling cont. Given t = t(n) ∈ N and a distribution ensemble P = {Pn}n∈N, let Pt = {Pt(n)

n

}n∈N. Question 6 Let t = t(n) ≤ poly(n) be an eff. computable integer function. Assume that P and Q are eff. samplable and computationally indistinguishable, does it mean that Pt and Qt are? Proof: Induction? Hybrid

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 11 / 26

slide-29
SLIDE 29

Hybrid argument Let D be an algorithm and let δ(n) =

  • ∆D

(Pt,Qt)(n)

  • .

Fix n ∈ N, and for i ∈ {0, . . . , t = t(n)}, let Hi = (p1, . . . , pi, qi+1, . . . , qt), where the p’s [resp., q’s] are uniformly (and independently) chosen from Pn [resp., from Qn].

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 12 / 26

slide-30
SLIDE 30

Hybrid argument Let D be an algorithm and let δ(n) =

  • ∆D

(Pt,Qt)(n)

  • .

Fix n ∈ N, and for i ∈ {0, . . . , t = t(n)}, let Hi = (p1, . . . , pi, qi+1, . . . , qt), where the p’s [resp., q’s] are uniformly (and independently) chosen from Pn [resp., from Qn]. Since δ(n) =

  • ∆D

Ht,H0(t)

  • =
  • i∈[t] ∆D

Hi,Hi−1(t)

  • , there exists i ∈ [t]

with

  • ∆D

Hi,Hi−1(t)

  • ≥ δ(n)/t(n).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 12 / 26

slide-31
SLIDE 31

Hybrid argument Let D be an algorithm and let δ(n) =

  • ∆D

(Pt,Qt)(n)

  • .

Fix n ∈ N, and for i ∈ {0, . . . , t = t(n)}, let Hi = (p1, . . . , pi, qi+1, . . . , qt), where the p’s [resp., q’s] are uniformly (and independently) chosen from Pn [resp., from Qn]. Since δ(n) =

  • ∆D

Ht,H0(t)

  • =
  • i∈[t] ∆D

Hi,Hi−1(t)

  • , there exists i ∈ [t]

with

  • ∆D

Hi,Hi−1(t)

  • ≥ δ(n)/t(n).

How do we use it?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 12 / 26

slide-32
SLIDE 32

Using hybrid argument via estimation Algorithm 7 (D′) Input: 1n and x ∈ {0, 1}∗

1

Find i ∈ [t] with

  • ∆D

Hi,Hi−1(t)

  • ≥ δ(n)/2t(n)

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt), .

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 13 / 26

slide-33
SLIDE 33

Using hybrid argument via estimation Algorithm 7 (D′) Input: 1n and x ∈ {0, 1}∗

1

Find i ∈ [t] with

  • ∆D

Hi,Hi−1(t)

  • ≥ δ(n)/2t(n)

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt), .

1

how do we find i? why δ(n)/2t(n)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 13 / 26

slide-34
SLIDE 34

Using hybrid argument via estimation Algorithm 7 (D′) Input: 1n and x ∈ {0, 1}∗

1

Find i ∈ [t] with

  • ∆D

Hi,Hi−1(t)

  • ≥ δ(n)/2t(n)

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt), .

1

how do we find i? why δ(n)/2t(n)

2

Easy in the non-uniform case

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 13 / 26

slide-35
SLIDE 35

Using hybrid argument via sampling Algorithm 8 (D′) Input: 1n and x ∈ {0, 1}∗

1

Sample i ← [t = t(n)]

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 14 / 26

slide-36
SLIDE 36

Using hybrid argument via sampling Algorithm 8 (D′) Input: 1n and x ∈ {0, 1}∗

1

Sample i ← [t = t(n)]

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt).

  • ∆D′

(P,Q)(n)

  • =
  • Pr

p←Pn[D′(p) = 1] − Pr q←Qn[D′(q) = 1]

  • Iftach Haitner (TAU)

Foundation of Cryptography February 25, 2014 14 / 26

slide-37
SLIDE 37

Using hybrid argument via sampling Algorithm 8 (D′) Input: 1n and x ∈ {0, 1}∗

1

Sample i ← [t = t(n)]

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt).

  • ∆D′

(P,Q)(n)

  • =
  • Pr

p←Pn[D′(p) = 1] − Pr q←Qn[D′(q) = 1]

  • =
  • 1

t

  • i∈[t]

Pr

x←Hi

[D(x) = 1] − 1 t

  • i∈[t]

Pr

x←Hi−1

[D(x) = 1]

  • Iftach Haitner (TAU)

Foundation of Cryptography February 25, 2014 14 / 26

slide-38
SLIDE 38

Using hybrid argument via sampling Algorithm 8 (D′) Input: 1n and x ∈ {0, 1}∗

1

Sample i ← [t = t(n)]

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt).

  • ∆D′

(P,Q)(n)

  • =
  • Pr

p←Pn[D′(p) = 1] − Pr q←Qn[D′(q) = 1]

  • =
  • 1

t

  • i∈[t]

Pr

x←Hi

[D(x) = 1] − 1 t

  • i∈[t]

Pr

x←Hi−1

[D(x) = 1]

  • =
  • 1

t

  • Pr

x←Ht

[D(x) = 1] − Pr

x←H0

[D(x) = 1]

  • Iftach Haitner (TAU)

Foundation of Cryptography February 25, 2014 14 / 26

slide-39
SLIDE 39

Using hybrid argument via sampling Algorithm 8 (D′) Input: 1n and x ∈ {0, 1}∗

1

Sample i ← [t = t(n)]

2

Let (p1, . . . , pi, qi+1, . . . , qt) ← Hi

3

Return D(1t, p1, . . . , pi−1, x, qi+1, . . . , qt).

  • ∆D′

(P,Q)(n)

  • =
  • Pr

p←Pn[D′(p) = 1] − Pr q←Qn[D′(q) = 1]

  • =
  • 1

t

  • i∈[t]

Pr

x←Hi

[D(x) = 1] − 1 t

  • i∈[t]

Pr

x←Hi−1

[D(x) = 1]

  • =
  • 1

t

  • Pr

x←Ht

[D(x) = 1] − Pr

x←H0

[D(x) = 1]

  • =

δ(n)/t(n)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 14 / 26

slide-40
SLIDE 40

Part II Pseudorandom Generators

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 15 / 26

slide-41
SLIDE 41

Pseudorandom generator Definition 9 (pseudorandom distributions) A distribution ensemble P over {{0, 1}ℓ(n)}n∈N is pseudorandom, if it is computationally indistinguishable from {Uℓ(n)}n∈N.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 16 / 26

slide-42
SLIDE 42

Pseudorandom generator Definition 9 (pseudorandom distributions) A distribution ensemble P over {{0, 1}ℓ(n)}n∈N is pseudorandom, if it is computationally indistinguishable from {Uℓ(n)}n∈N. Do such distributions exit?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 16 / 26

slide-43
SLIDE 43

Pseudorandom generator Definition 9 (pseudorandom distributions) A distribution ensemble P over {{0, 1}ℓ(n)}n∈N is pseudorandom, if it is computationally indistinguishable from {Uℓ(n)}n∈N. Do such distributions exit? Definition 10 (pseudorandom generators (PRGs)) An efficiently computable function g : {0, 1}n → {0, 1}ℓ(n) is a pseudorandom generator, if

◮ g is length extending (i.e., ℓ(n) > n for any n) ◮ g(Un) is pseudorandom Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 16 / 26

slide-44
SLIDE 44

Pseudorandom generator Definition 9 (pseudorandom distributions) A distribution ensemble P over {{0, 1}ℓ(n)}n∈N is pseudorandom, if it is computationally indistinguishable from {Uℓ(n)}n∈N. Do such distributions exit? Definition 10 (pseudorandom generators (PRGs)) An efficiently computable function g : {0, 1}n → {0, 1}ℓ(n) is a pseudorandom generator, if

◮ g is length extending (i.e., ℓ(n) > n for any n) ◮ g(Un) is pseudorandom

Do such generators exist?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 16 / 26

slide-45
SLIDE 45

Pseudorandom generator Definition 9 (pseudorandom distributions) A distribution ensemble P over {{0, 1}ℓ(n)}n∈N is pseudorandom, if it is computationally indistinguishable from {Uℓ(n)}n∈N. Do such distributions exit? Definition 10 (pseudorandom generators (PRGs)) An efficiently computable function g : {0, 1}n → {0, 1}ℓ(n) is a pseudorandom generator, if

◮ g is length extending (i.e., ℓ(n) > n for any n) ◮ g(Un) is pseudorandom

Do such generators exist? Imply one-way functions (homework)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 16 / 26

slide-46
SLIDE 46

Pseudorandom generator Definition 9 (pseudorandom distributions) A distribution ensemble P over {{0, 1}ℓ(n)}n∈N is pseudorandom, if it is computationally indistinguishable from {Uℓ(n)}n∈N. Do such distributions exit? Definition 10 (pseudorandom generators (PRGs)) An efficiently computable function g : {0, 1}n → {0, 1}ℓ(n) is a pseudorandom generator, if

◮ g is length extending (i.e., ℓ(n) > n for any n) ◮ g(Un) is pseudorandom

Do such generators exist? Imply one-way functions (homework) Do they have any use?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 16 / 26

slide-47
SLIDE 47

Section 3 Hardcore Predicates

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 17 / 26

slide-48
SLIDE 48

Hardcore predicates Building blocks in constructions of PRGS from OWF

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 18 / 26

slide-49
SLIDE 49

Hardcore predicates Building blocks in constructions of PRGS from OWF Definition 11 (hardcore predicates) An efficiently computable function b : {0, 1}n → {0, 1} is a hardcore predicate of f : {0, 1}n → {0, 1}n, if Pr

x←{0,1}n [P(f(x)) = b(x)] ≤ 1

2 + neg(n), for any PPT P.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 18 / 26

slide-50
SLIDE 50

Hardcore predicates Building blocks in constructions of PRGS from OWF Definition 11 (hardcore predicates) An efficiently computable function b : {0, 1}n → {0, 1} is a hardcore predicate of f : {0, 1}n → {0, 1}n, if Pr

x←{0,1}n [P(f(x)) = b(x)] ≤ 1

2 + neg(n), for any PPT P. Does the existence of a hardcore predicate for f, implies that f is

  • ne way?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 18 / 26

slide-51
SLIDE 51

Hardcore predicates Building blocks in constructions of PRGS from OWF Definition 11 (hardcore predicates) An efficiently computable function b : {0, 1}n → {0, 1} is a hardcore predicate of f : {0, 1}n → {0, 1}n, if Pr

x←{0,1}n [P(f(x)) = b(x)] ≤ 1

2 + neg(n), for any PPT P. Does the existence of a hardcore predicate for f, implies that f is

  • ne way? If f is injective?

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 18 / 26

slide-52
SLIDE 52

Hardcore predicates Building blocks in constructions of PRGS from OWF Definition 11 (hardcore predicates) An efficiently computable function b : {0, 1}n → {0, 1} is a hardcore predicate of f : {0, 1}n → {0, 1}n, if Pr

x←{0,1}n [P(f(x)) = b(x)] ≤ 1

2 + neg(n), for any PPT P. Does the existence of a hardcore predicate for f, implies that f is

  • ne way? If f is injective?

Fact: any PRG has HCP (homework).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 18 / 26

slide-53
SLIDE 53

Hardcore predicates Building blocks in constructions of PRGS from OWF Definition 11 (hardcore predicates) An efficiently computable function b : {0, 1}n → {0, 1} is a hardcore predicate of f : {0, 1}n → {0, 1}n, if Pr

x←{0,1}n [P(f(x)) = b(x)] ≤ 1

2 + neg(n), for any PPT P. Does the existence of a hardcore predicate for f, implies that f is

  • ne way? If f is injective?

Fact: any PRG has HCP (homework). Fact: any OWF has a hardcore predicate (next class)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 18 / 26

slide-54
SLIDE 54

Section 4 PRGs from OWPs

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 19 / 26

slide-55
SLIDE 55

OWP to PRG Claim 12 Let f : {0, 1}n → {0, 1}n be a permutation and let b : {0, 1}n → {0, 1} be a hardcore predicate for f, then g(x) = (f(x), b(x)) is a PRG.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 20 / 26

slide-56
SLIDE 56

OWP to PRG Claim 12 Let f : {0, 1}n → {0, 1}n be a permutation and let b : {0, 1}n → {0, 1} be a hardcore predicate for f, then g(x) = (f(x), b(x)) is a PRG. Proof: Assume ∃ a PPT D, and infinite set I ⊆ N and p ∈ poly with

  • ∆D

g(Un),Un+1

  • > ε(n) = 1/p(n)

for any n ∈ I. We use D for breaking the hardness of b.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 20 / 26

slide-57
SLIDE 57

OWP to PRG Claim 12 Let f : {0, 1}n → {0, 1}n be a permutation and let b : {0, 1}n → {0, 1} be a hardcore predicate for f, then g(x) = (f(x), b(x)) is a PRG. Proof: Assume ∃ a PPT D, and infinite set I ⊆ N and p ∈ poly with

  • ∆D

g(Un),Un+1

  • > ε(n) = 1/p(n)

for any n ∈ I. We use D for breaking the hardness of b. We assume wlg. that Pr[D(g(Un)) = 1] − Pr[D(Un+1) = 1] ≥ ε(n) for any n ∈ I (?), and fix n ∈ I.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 20 / 26

slide-58
SLIDE 58

OWP to PRG cont. Let δ(n) = Pr[D(Un+1) = 1] (note that Pr[D(g(Un)) = 1] = δ + ε).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 21 / 26

slide-59
SLIDE 59

OWP to PRG cont. Let δ(n) = Pr[D(Un+1) = 1] (note that Pr[D(g(Un)) = 1] = δ + ε). Compute δ = Pr[D(f(Un), U1) = 1] = Pr[U1 = b(Un)] · Pr[D(f(Un), U1) = 1 | U1 = b(Un)] + Pr[U1 = b(Un)] · Pr[D(f(Un), U1) = 1 | U1 = b(Un)]

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 21 / 26

slide-60
SLIDE 60

OWP to PRG cont. Let δ(n) = Pr[D(Un+1) = 1] (note that Pr[D(g(Un)) = 1] = δ + ε). Compute δ = Pr[D(f(Un), U1) = 1] = Pr[U1 = b(Un)] · Pr[D(f(Un), U1) = 1 | U1 = b(Un)] + Pr[U1 = b(Un)] · Pr[D(f(Un), U1) = 1 | U1 = b(Un)] = 1 2(δ + ε) + 1 2 · Pr[D(f(Un), U1) = 1 | U1 = b(Un)].

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 21 / 26

slide-61
SLIDE 61

OWP to PRG cont. Let δ(n) = Pr[D(Un+1) = 1] (note that Pr[D(g(Un)) = 1] = δ + ε). Compute δ = Pr[D(f(Un), U1) = 1] = Pr[U1 = b(Un)] · Pr[D(f(Un), U1) = 1 | U1 = b(Un)] + Pr[U1 = b(Un)] · Pr[D(f(Un), U1) = 1 | U1 = b(Un)] = 1 2(δ + ε) + 1 2 · Pr[D(f(Un), U1) = 1 | U1 = b(Un)]. Hence, Pr[D(f(Un), b(Un)) = 1] = δ − ε (2)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 21 / 26

slide-62
SLIDE 62

OWP to PRG cont. Pr[D(f(Un), b(Un)) = 1] = δ + ε Pr[D(f(Un), b(Un)) = 1] = δ − ε

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 22 / 26

slide-63
SLIDE 63

OWP to PRG cont. Pr[D(f(Un), b(Un)) = 1] = δ + ε Pr[D(f(Un), b(Un)) = 1] = δ − ε Consider the following algorithm for predicting b: Algorithm 13 (P) Input: y ∈ {0, 1}n

1

Flip a random coin c ← {0, 1}.

2

If D(y, c) = 1 output c, otherwise, output c.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 22 / 26

slide-64
SLIDE 64

OWP to PRG cont. Pr[D(f(Un), b(Un)) = 1] = δ + ε Pr[D(f(Un), b(Un)) = 1] = δ − ε Consider the following algorithm for predicting b: Algorithm 13 (P) Input: y ∈ {0, 1}n

1

Flip a random coin c ← {0, 1}.

2

If D(y, c) = 1 output c, otherwise, output c.

It follows that Pr[P(f(Un)) = b(Un)] = Pr[c = b(Un)] · Pr[D(f(Un), c) = 1 | c = b(Un)] + Pr[c = b(Un)] · Pr[D(f(Un), c) = 0 | c = b(Un)]

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 22 / 26

slide-65
SLIDE 65

OWP to PRG cont. Pr[D(f(Un), b(Un)) = 1] = δ + ε Pr[D(f(Un), b(Un)) = 1] = δ − ε Consider the following algorithm for predicting b: Algorithm 13 (P) Input: y ∈ {0, 1}n

1

Flip a random coin c ← {0, 1}.

2

If D(y, c) = 1 output c, otherwise, output c.

It follows that Pr[P(f(Un)) = b(Un)] = Pr[c = b(Un)] · Pr[D(f(Un), c) = 1 | c = b(Un)] + Pr[c = b(Un)] · Pr[D(f(Un), c) = 0 | c = b(Un)] = 1 2 · (δ + ε) + 1 2(1 − δ + ε) = 1 2 + ε.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 22 / 26

slide-66
SLIDE 66

OWP to PRG cont. Remark 14 Prediction to distinguishing (homework)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 23 / 26

slide-67
SLIDE 67

OWP to PRG cont. Remark 14 Prediction to distinguishing (homework) PRG from any OWF: (1) Regular OWFs, first use pairwise hashing to convert into “almost" permutation. (2) Any OWF, harder

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 23 / 26

slide-68
SLIDE 68

Section 5 PRG Length Extension

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 24 / 26

slide-69
SLIDE 69

PRG Length Extension Construction 15 (iterated function) Given g : {0, 1}n → {0, 1}n+1 and i ∈ N, define gi : {0, 1}n → {0, 1}n+i as gi(x) = g(x)1, gi−1(g(x)2,...,n+1), where g0(x) = x.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 25 / 26

slide-70
SLIDE 70

PRG Length Extension Construction 15 (iterated function) Given g : {0, 1}n → {0, 1}n+1 and i ∈ N, define gi : {0, 1}n → {0, 1}n+i as gi(x) = g(x)1, gi−1(g(x)2,...,n+1), where g0(x) = x. Claim 16 Let g : {0, 1}n → {0, 1}n+1 be a PRG, then gt(n) : {0, 1}n → {0, 1}n+t(n) is a PRG, for any t ∈ poly.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 25 / 26

slide-71
SLIDE 71

PRG Length Extension Construction 15 (iterated function) Given g : {0, 1}n → {0, 1}n+1 and i ∈ N, define gi : {0, 1}n → {0, 1}n+i as gi(x) = g(x)1, gi−1(g(x)2,...,n+1), where g0(x) = x. Claim 16 Let g : {0, 1}n → {0, 1}n+1 be a PRG, then gt(n) : {0, 1}n → {0, 1}n+t(n) is a PRG, for any t ∈ poly. Proof: Assume ∃ a PPT D, an infinite set I ⊆ N and p ∈ poly with

  • ∆D

gt(Un),Un+t(n)

  • > ε(n) = 1/p(n),

for any n ∈ I. We use D for breaking the hardness of g.

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 25 / 26

slide-72
SLIDE 72

PRG Length Extension cont. Fix n ∈ N, for i ∈ {0, . . . , t = t(n)}, let Hi = Ut−i, gi(Un) (i.e., the distribution of Hi is

  • x, gi(x′)
  • x←{0,1}t−i,x′←{0,1}n)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 26 / 26

slide-73
SLIDE 73

PRG Length Extension cont. Fix n ∈ N, for i ∈ {0, . . . , t = t(n)}, let Hi = Ut−i, gi(Un) (i.e., the distribution of Hi is

  • x, gi(x′)
  • x←{0,1}t−i,x′←{0,1}n)

Note that H0 ≡ Un+t and Ht ≡ gt(Un).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 26 / 26

slide-74
SLIDE 74

PRG Length Extension cont. Fix n ∈ N, for i ∈ {0, . . . , t = t(n)}, let Hi = Ut−i, gi(Un) (i.e., the distribution of Hi is

  • x, gi(x′)
  • x←{0,1}t−i,x′←{0,1}n)

Note that H0 ≡ Un+t and Ht ≡ gt(Un). Algorithm 17 (D′) Input: 1n and y ∈ {0, 1}n+1

1

Sample i ← [t]

2

Return D(1n, Ut−i, y1, gi−1(y2,...,n+1)).

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 26 / 26

slide-75
SLIDE 75

PRG Length Extension cont. Fix n ∈ N, for i ∈ {0, . . . , t = t(n)}, let Hi = Ut−i, gi(Un) (i.e., the distribution of Hi is

  • x, gi(x′)
  • x←{0,1}t−i,x′←{0,1}n)

Note that H0 ≡ Un+t and Ht ≡ gt(Un). Algorithm 17 (D′) Input: 1n and y ∈ {0, 1}n+1

1

Sample i ← [t]

2

Return D(1n, Ut−i, y1, gi−1(y2,...,n+1)). Claim 18 It holds that

  • ∆D′

g(Un),Un+1

  • > ε(n)/t(n)

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 26 / 26

slide-76
SLIDE 76

PRG Length Extension cont. Fix n ∈ N, for i ∈ {0, . . . , t = t(n)}, let Hi = Ut−i, gi(Un) (i.e., the distribution of Hi is

  • x, gi(x′)
  • x←{0,1}t−i,x′←{0,1}n)

Note that H0 ≡ Un+t and Ht ≡ gt(Un). Algorithm 17 (D′) Input: 1n and y ∈ {0, 1}n+1

1

Sample i ← [t]

2

Return D(1n, Ut−i, y1, gi−1(y2,...,n+1)). Claim 18 It holds that

  • ∆D′

g(Un),Un+1

  • > ε(n)/t(n)

Proof: ...

Iftach Haitner (TAU) Foundation of Cryptography February 25, 2014 26 / 26