on statistically secure obfuscation with approximate
play

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


  1. 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. 2 Statistically Secure Obfuscation r C O C ′

  3. 2 Statistically Secure Obfuscation r C O C ′ ◮ Perfect Correctness: For any circuit C ∀ x : C ′ ( x ) = C ( x )

  4. 2 Statistically Secure Obfuscation r C O C ′ ◮ Perfect Correctness: For any circuit C ∀ x : C ′ ( x ) = C ( x ) ◮ (1 − ǫ ) -Approximate Correctness: For any circuit C , � � C ′ ( x ) = C ( x ) Pr ≥ 1 − ǫ ( n ) r,x

  5. 3 Statistically Secure Obfuscation r C O C ′ ◮ Indistinguishability Obfuscator: For any pair of circuits, such that C 1 ≡ C 2 and | C 1 | = | C 2 | SD ( O ( C 1 ) , O ( C 2 )) ≤ negl ( n )

  6. 3 Statistically Secure Obfuscation r C O C ′ ◮ Indistinguishability Obfuscator: For any pair of circuits, such that C 1 ≡ C 2 and | C 1 | = | C 2 | SD ( O ( C 1 ) , O ( C 2 )) ≤ negl ( n ) ◮ (1 − δ ) -Correlation Obfuscator: For any pair of circuits, such that C 1 ≡ C 2 and | C 1 | = | C 2 | SD ( O ( C 1 ) , O ( C 2 )) ≤ δ ( n )

  7. 3 Statistically Secure Obfuscation r C O C ′ ◮ Indistinguishability Obfuscator: For any pair of circuits, such that C 1 ≡ C 2 and | C 1 | = | C 2 | SD ( O ( C 1 ) , O ( C 2 )) ≤ negl ( n ) � � ◮ (1 − δ ) -Correlation Obfuscator: For any pair of circuits, such that C 1 ≡ C 2 and | C 1 | = | C 2 | SD ( O ( C 1 ) , O ( C 2 )) ≤ δ ( n )

  8. 4 Why Do We Even Care About Approximate Correctness? Because approximate obfuscation is useful! [MMNPs16,SW14,Hol06] 1 Statistical Distance δ Allows PKE from OWF 0 . 75 0 . 5 0 . 25 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 Correctness Error ǫ

  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 1 3 ǫ ( n ) − 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 ) .

  10. 6 The Landscape of Correlation Obfuscation 1 Achievable with Trivial Construction 0 . 9 Ruled out by Negative Result 0 . 8 Statistical Distance δ 0 . 7 0 . 6 0 . 5 0 . 4 0 . 3 0 . 2 0 . 1 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 Correctness Error ǫ

  11. 6 The Landscape of Correlation Obfuscation 1 Achievable with Trivial Construction 0 . 9 Ruled out by Negative Result Allows PKE from OWF 0 . 8 Statistical Distance δ 0 . 7 0 . 6 0 . 5 0 . 4 0 . 3 0 . 2 0 . 1 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 Correctness Error ǫ

  12. 7 Impossibility of Perfect Correctness [GR07] Ψ un Ψ sat

  13. 7 Impossibility of Perfect Correctness [GR07] Ψ un Ψ sat 0

  14. 7 Impossibility of Perfect Correctness [GR07] Ψ un Ψ sat 0 siO siO siO

  15. 7 Impossibility of Perfect Correctness [GR07] ≡ Ψ un Ψ sat 0 siO siO siO

  16. 7 Impossibility of Perfect Correctness [GR07] Ψ un Ψ sat 0 �≡ siO siO siO

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

  18. 8 Why Does the Approach Fail in the Approximate Case? Ψ sat 0 saiO saiO

  19. 8 Why Does the Approach Fail in the Approximate Case? Ψ sat 0 saiO saiO

  20. 9 Overview of Our Approach C Y C X [ k, Ψ] saiO saiO

  21. 9 Overview of Our Approach C Y C X [ k, Ψ un ] ≡ saiO saiO

  22. 9 Overview of Our Approach x 0 x 0 C Y a � = C X [ k, Ψ sat ] b ∼ ∼ ∼ saiO saiO

  23. 9 Overview of Our Approach ≡ C Y C X [ k, Ψ sat ] C saiO saiO

  24. 9 Overview of Our Approach ≡ ≈ C Y C X [ k, Ψ sat ] C saiO saiO

  25. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x )

  26. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x ) ◮ Functionality Preserved Under Puncturing: For all x � = x 0 , PRF ( k ∗ , x ) = PRF ( k, x )

  27. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x ) ◮ Functionality Preserved Under Puncturing: For all x � = x 0 , PRF ( k ∗ , x ) = PRF ( k, x ) ◮ Security: 1 n BP x 0 k ← $ { 0 , 1 } n , k ∗ = Puncture ( k, x 0 )

  28. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x ) ◮ Functionality Preserved Under Puncturing: For all x � = x 0 , PRF ( k ∗ , x ) = PRF ( k, x ) ◮ Security: 1 n BP x 0 k ← $ { 0 , 1 } n , k ∗ = Puncture ( k, x 0 )

  29. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x ) ◮ Functionality Preserved Under Puncturing: For all x � = x 0 , PRF ( k ∗ , x ) = PRF ( k, x ) ◮ Security: 1 n BP x 0 k ← $ { 0 , 1 } n , k ∗ = Puncture ( k, x 0 ) k ∗ , PRF ( k, x 0 ) BP

  30. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x ) ◮ Functionality Preserved Under Puncturing: For all x � = x 0 , PRF ( k ∗ , x ) = PRF ( k, x ) ◮ Security: 1 n BP x 0 k ← $ { 0 , 1 } n , k ∗ = Puncture ( k, x 0 ) k ∗ , PRF ( k, x 0 ) k ∗ , b ← $ { 0 , 1 } BP BP

  31. 10 Puncturable Pseudorandom Functions [BW13,BGI14,KPTZ13] k ∗ ← Puncture ( k, x 0 ) b ← PRF ( k, x ) ◮ Functionality Preserved Under Puncturing: For all x � = x 0 , PRF ( k ∗ , x ) = PRF ( k, x ) ◮ Security: 1 n BP x 0 k ← $ { 0 , 1 } n , k ∗ = Puncture ( k, x 0 ) k ∗ , PRF ( k, x 0 ) k ∗ , b ← $ { 0 , 1 } ≈ BP BP

  32. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x )

  33. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x ) b = PRF ( k, x 0 ) ⊕ 1

  34. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x ) b = PRF ( k, x 0 ) ⊕ 1 b = PRF ( k, x 0 )

  35. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x ) b = PRF ( k, x 0 ) ⊕ 1 b = PRF ( k, x 0 ) C [ k ∗ , x 0 , b ] ≡ PRF ( k, · )

  36. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x ) b = PRF ( k, x 0 ) ⊕ 1 b = PRF ( k, x 0 ) C [ k ∗ , x 0 , b ] ≡ PRF ( k, · ) C PRF ← saiO ( PRF ( k, · )) Pr[ C PRF ( x 0 ) = b ] ≥ 1 − ǫ Pr[ C ′ ( x 0 ) = b ] � 1 − ǫ

  37. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x ) b = PRF ( k, x 0 ) ⊕ 1 b = PRF ( k, x 0 ) C [ k ∗ , x 0 , b ] ≡ PRF ( k, · ) PRF security Pr[ C ′ ( x 0 ) = b ] � 1 − ǫ Pr[ C ′ ( x 0 ) = b ] � 1 − ǫ

  38. 11 Enforcing Large Statistical Distance C [ k ∗ , x 0 , b ]( x ) if x = x 0 Let C ′ denote saiO ( C [ k ∗ , x 0 , b ]) . return b else return PRF ( k ∗ , x ) b = PRF ( k, x 0 ) ⊕ 1 b = PRF ( k, x 0 ) Pr[ C PRF ( x 0 ) = PRF ( k, x 0 )] ≥ 1 − ǫ C [ k ∗ , x 0 , b ] ≡ PRF ( k, · ) ∧ Pr[ C ′ ( x 0 ) � = PRF ( k, x 0 )] � 1 − ǫ = ⇒ SD ( C PRF , C ) � 1 − 2 ǫ PRF security Pr[ C ′ ( x 0 ) = b ] � 1 − ǫ Pr[ C ′ ( x 0 ) = b ] � 1 − ǫ

  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 ∈ BPP GapSD = ⇒ SAT ∈ AM ∩ coAM

  40. 13 The Formula-Indexed Circuit C X [ k, s, Ψ]( x ) if Ψ( x ⊕ s ) = 1 return PRF ( k, x ) ⊕ 1 else return PRF ( k, x )

  41. 13 The Formula-Indexed Circuit C X [ k, s, Ψ]( x ) if Ψ( x ⊕ s ) = 1 return PRF ( k, x ) ⊕ 1 else return PRF ( k, x ) Ψ ∈ USAT Ψ ∈ UNSAT

  42. 13 The Formula-Indexed Circuit C X [ k, s, Ψ]( x ) if Ψ( x ⊕ s ) = 1 return PRF ( k, x ) ⊕ 1 else return PRF ( k, x ) Ψ ∈ USAT Ψ ∈ UNSAT C X [ k, s, Ψ] ≡ PRF ( k, · )

  43. 13 The Formula-Indexed Circuit C X [ k, s, Ψ]( x ) if Ψ( x ⊕ s ) = 1 return PRF ( k, x ) ⊕ 1 else return PRF ( k, x ) Ψ ∈ USAT Ψ ∈ UNSAT C X [ k, s, Ψ] ≡ C [ k ∗ , x 0 , b ] C X [ k, s, Ψ] ≡ PRF ( k, · ) x 0 = x ψ ⊕ s for b = PRF ( k, x 0 ) ⊕ 1

  44. 14 Putting it All Together X [Ψ](1 n ) Y (1 n ) k ← $ { 0 , 1 } n k ← $ { 0 , 1 } n s ← $ { 0 , 1 } n s ← $ { 0 , 1 } n C := C X [ k, s, Ψ] C := PRF ( k, · ) C ′ ← $ O ( C ) C ′ ← $ O ( C ) return ( k, s, C ′ ) return ( k, s, C ′ ) Ψ ∈ UNSAT ⇐ ⇒ SD ( X [Ψ] , Y ) ≤ negl ( n ) Ψ ∈ USAT ⇐ ⇒ SD ( X [Ψ] , Y ) � 1 − 2 ǫ ◮ We can therefore decide USAT in BPP GapSD . ◮ Thus, if saiO and one-way functions both exist, then NP ⊆ AM ∩ coAM and the polynomial hierarchy collapses.

Recommend


More recommend