On Statistically Secure Obfuscation with Approximate Correctness - - PowerPoint PPT Presentation

on statistically secure obfuscation with approximate
SMART_READER_LITE
LIVE PREVIEW

On Statistically Secure Obfuscation with Approximate Correctness - - PowerPoint PPT Presentation

1 On Statistically Secure Obfuscation with Approximate Correctness Zvika Brakerski 1 Christina Brzuska 2 Nils Fleischhacker 3 1 Weizmann Institute of Science 2 Technical University Hamburg 3 Saarland University August 15, 2016 2 Statistically


slide-1
SLIDE 1

1

On Statistically Secure Obfuscation with Approximate Correctness

Zvika Brakerski1 Christina Brzuska2 Nils Fleischhacker3

1Weizmann Institute of Science 2Technical University Hamburg 3Saarland University

August 15, 2016

slide-2
SLIDE 2

2

Statistically Secure Obfuscation O C C′ r

slide-3
SLIDE 3

2

Statistically Secure Obfuscation O C C′ r

◮ Perfect Correctness: For any circuit C

∀x : C′(x) = C(x)

slide-4
SLIDE 4

2

Statistically Secure Obfuscation O C C′ r

◮ Perfect Correctness: For any circuit C

∀x : C′(x) = C(x)

◮ (1 − ǫ)-Approximate Correctness: For any circuit C,

Pr

r,x

  • C′(x) = C(x)
  • ≥ 1 − ǫ(n)
slide-5
SLIDE 5

3

Statistically Secure Obfuscation O C C′ r

◮ Indistinguishability Obfuscator: For any pair of circuits,

such that C1 ≡ C2 and |C1| = |C2| SD(O(C1), O(C2)) ≤ negl(n)

slide-6
SLIDE 6

3

Statistically Secure Obfuscation O C C′ r

◮ Indistinguishability Obfuscator: For any pair of circuits,

such that C1 ≡ C2 and |C1| = |C2| SD(O(C1), O(C2)) ≤ negl(n)

◮ (1 − δ)-Correlation Obfuscator: For any pair of circuits,

such that C1 ≡ C2 and |C1| = |C2| SD(O(C1), O(C2)) ≤ δ(n)

slide-7
SLIDE 7

3

Statistically Secure Obfuscation O C C′ r

◮ Indistinguishability Obfuscator: For any pair of circuits,

such that C1 ≡ C2 and |C1| = |C2| SD(O(C1), O(C2)) ≤ negl(n)

◮ (1 − δ)-Correlation Obfuscator: For any pair of circuits,

such that C1 ≡ C2 and |C1| = |C2| SD(O(C1), O(C2)) ≤ δ(n)

slide-8
SLIDE 8

4

Why Do We Even Care About Approximate Correctness? Because approximate obfuscation is useful! [MMNPs16,SW14,Hol06] 0.1 0.2 0.3 0.4 0.5 0.25 0.5 0.75 1 Correctness Error ǫ Statistical Distance δ

Allows PKE from OWF

slide-9
SLIDE 9

5

Main Result

◮ If statistically secure, approximately correct iO (saiO) exists,

then either one-way functions do not exist, or NP ⊆ AM ∩ coAM.

◮ More Generally: If (1 − δ)-statistically secure,

(1 − ǫ)-approximately correct correlation obfuscation (sacO) exists with δ(n) ≤ 1

3 − 2 3ǫ(n) − 1 poly(n), then either one-way

functions do not exist, or NP ⊆ AM ∩ coAM.

◮ For very weak parameters, a trivial construction of sacO exists

with δ(n) = 2ǫ(n).

slide-10
SLIDE 10

6

The Landscape of Correlation Obfuscation 0.1 0.2 0.3 0.4 0.5 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Correctness Error ǫ Statistical Distance δ

Achievable with Trivial Construction Ruled out by Negative Result

slide-11
SLIDE 11

6

The Landscape of Correlation Obfuscation 0.1 0.2 0.3 0.4 0.5 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Correctness Error ǫ Statistical Distance δ

Achievable with Trivial Construction Ruled out by Negative Result Allows PKE from OWF

slide-12
SLIDE 12

7

Impossibility of Perfect Correctness [GR07] Ψun Ψsat

slide-13
SLIDE 13

7

Impossibility of Perfect Correctness [GR07] Ψun Ψsat

slide-14
SLIDE 14

7

Impossibility of Perfect Correctness [GR07] siO siO siO Ψun Ψsat

slide-15
SLIDE 15

7

Impossibility of Perfect Correctness [GR07] siO siO siO Ψun Ψsat

slide-16
SLIDE 16

7

Impossibility of Perfect Correctness [GR07] siO siO siO Ψun Ψsat

slide-17
SLIDE 17

7

Impossibility of Perfect Correctness [GR07] siO siO siO Ψun Ψsat GapSD ∈ AM ∩ coAM = ⇒ NP ⊆ AM ∩ coAM

slide-18
SLIDE 18

8

Why Does the Approach Fail in the Approximate Case? saiO saiO Ψsat

slide-19
SLIDE 19

8

Why Does the Approach Fail in the Approximate Case? saiO saiO Ψsat

slide-20
SLIDE 20

9

Overview of Our Approach CX[k,Ψ] CY saiO saiO

slide-21
SLIDE 21

9

Overview of Our Approach CX[k,Ψun] CY saiO saiO

slide-22
SLIDE 22

9

Overview of Our Approach CX[k,Ψsat] CY saiO saiO

∼ ∼ ∼

x0 x0 a b =

slide-23
SLIDE 23

9

Overview of Our Approach CX[k,Ψsat] CY C ≡ saiO saiO

slide-24
SLIDE 24

9

Overview of Our Approach ≈ CX[k,Ψsat] CY C ≡ saiO saiO

slide-25
SLIDE 25

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

slide-26
SLIDE 26

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

◮ Functionality Preserved Under Puncturing:

For all x = x0, PRF(k∗, x) = PRF(k, x)

slide-27
SLIDE 27

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

◮ Functionality Preserved Under Puncturing:

For all x = x0, PRF(k∗, x) = PRF(k, x)

◮ Security:

BP

1n x0 k ←$ {0, 1}n, k∗ = Puncture(k, x0)

slide-28
SLIDE 28

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

◮ Functionality Preserved Under Puncturing:

For all x = x0, PRF(k∗, x) = PRF(k, x)

◮ Security:

BP

1n x0 k ←$ {0, 1}n, k∗ = Puncture(k, x0)

slide-29
SLIDE 29

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

◮ Functionality Preserved Under Puncturing:

For all x = x0, PRF(k∗, x) = PRF(k, x)

◮ Security:

BP

1n x0 k ←$ {0, 1}n, k∗ = Puncture(k, x0)

BP

k∗, PRF(k, x0)

slide-30
SLIDE 30

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

◮ Functionality Preserved Under Puncturing:

For all x = x0, PRF(k∗, x) = PRF(k, x)

◮ Security:

BP

1n x0 k ←$ {0, 1}n, k∗ = Puncture(k, x0)

BP

k∗, PRF(k, x0)

BP

k∗, b ←$ {0, 1}

slide-31
SLIDE 31

10

Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] b ← PRF(k, x) k∗ ← Puncture(k, x0)

◮ Functionality Preserved Under Puncturing:

For all x = x0, PRF(k∗, x) = PRF(k, x)

◮ Security:

BP

1n x0 k ←$ {0, 1}n, k∗ = Puncture(k, x0)

BP

k∗, PRF(k, x0)

BP

k∗, b ←$ {0, 1}

slide-32
SLIDE 32

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]).

slide-33
SLIDE 33

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]). b = PRF(k, x0) ⊕ 1

slide-34
SLIDE 34

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]). b = PRF(k, x0) ⊕ 1 b = PRF(k, x0)

slide-35
SLIDE 35

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]). b = PRF(k, x0) ⊕ 1 b = PRF(k, x0) C[k∗, x0, b] ≡ PRF(k, ·)

slide-36
SLIDE 36

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]). b = PRF(k, x0) ⊕ 1 b = PRF(k, x0) C[k∗, x0, b] ≡ PRF(k, ·) Pr[C′(x0) = b] 1 − ǫ CPRF ← saiO(PRF(k, ·)) Pr[CPRF(x0) = b] ≥ 1 − ǫ

slide-37
SLIDE 37

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]). b = PRF(k, x0) ⊕ 1 b = PRF(k, x0) C[k∗, x0, b] ≡ PRF(k, ·) Pr[C′(x0) = b] 1 − ǫ Pr[C′(x0) = b] 1 − ǫ

PRF security

slide-38
SLIDE 38

11

Enforcing Large Statistical Distance C[k∗, x0, b](x)

if x = x0 return b else return PRF(k∗, x)

Let C′ denote saiO(C[k∗, x0, b]). b = PRF(k, x0) ⊕ 1 b = PRF(k, x0) C[k∗, x0, b] ≡ PRF(k, ·) Pr[C′(x0) = b] 1 − ǫ Pr[C′(x0) = b] 1 − ǫ

PRF security

Pr[CPRF(x0) = PRF(k, x0)] ≥ 1 − ǫ ∧ Pr[C′(x0) = PRF(k, x0)] 1 − ǫ = ⇒ SD(CPRF, C) 1 − 2ǫ

slide-39
SLIDE 39

12

Restriction to Unique-SAT

◮ We restrict our attention to Unique-SAT (USAT) ◮ USAT is NP hard via a randomized reduction [VV85] ◮ Combining this with previous results [MX10,BL13] we show

that USAT ∈ BPPGapSD = ⇒ SAT ∈ AM ∩ coAM

slide-40
SLIDE 40

13

The Formula-Indexed Circuit CX[k, s, Ψ](x)

if Ψ(x ⊕ s) = 1 return PRF(k, x) ⊕ 1 else return PRF(k, x)

slide-41
SLIDE 41

13

The Formula-Indexed Circuit CX[k, s, Ψ](x)

if Ψ(x ⊕ s) = 1 return PRF(k, x) ⊕ 1 else return PRF(k, x)

Ψ ∈ USAT Ψ ∈ UNSAT

slide-42
SLIDE 42

13

The Formula-Indexed Circuit CX[k, s, Ψ](x)

if Ψ(x ⊕ s) = 1 return PRF(k, x) ⊕ 1 else return PRF(k, x)

Ψ ∈ USAT Ψ ∈ UNSAT CX[k, s, Ψ] ≡ PRF(k, ·)

slide-43
SLIDE 43

13

The Formula-Indexed Circuit CX[k, s, Ψ](x)

if Ψ(x ⊕ s) = 1 return PRF(k, x) ⊕ 1 else return PRF(k, x)

Ψ ∈ USAT Ψ ∈ UNSAT CX[k, s, Ψ] ≡ PRF(k, ·) CX[k, s, Ψ] ≡ C[k∗, x0, b] for x0 = xψ ⊕ s b = PRF(k, x0) ⊕ 1

slide-44
SLIDE 44

14

Putting it All Together X[Ψ](1n)

k ←$ {0, 1}n s ←$ {0, 1}n C := CX[k, s, Ψ] C′ ←$ O(C) return (k, s, C′)

Y (1n)

k ←$ {0, 1}n s ←$ {0, 1}n C := PRF(k, ·) C′ ←$ O(C) return (k, s, C′)

Ψ ∈ UNSAT ⇐ ⇒ SD(X[Ψ], Y ) ≤ negl(n) Ψ ∈ USAT ⇐ ⇒ SD(X[Ψ], Y ) 1 − 2ǫ

◮ We can therefore decide USAT in BPPGapSD. ◮ Thus, if saiO and one-way functions both exist, then

NP ⊆ AM ∩ coAM and the polynomial hierarchy collapses.

slide-45
SLIDE 45

15

The Landscape of Correlation Obfuscation 0.1 0.2 0.3 0.4 0.5 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Correctness Error ǫ Statistical Distance δ

Achievable with Trivial Construction Ruled out by Negative Result Allows PKE from OWF

slide-46
SLIDE 46

16

Thank You!

Nils Fleischhacker fleischhacker@cs.uni-saarland.de I’m looking for a postdoc position. If you’re interested in hiring me, please send me an email. Full Version: ia.cr/2016/226