Slides

advertisement
The Impossibility of Obfuscation with
Auxiliary Input or a Universal Simulator
Nir Bitansky
Ran Canetti
Henry Cohn
Shafi Goldwasser
Yael Tauman-Kalai
Omer Paneth
Alon Rosen
Program Obfuscation
π‘₯
Program
y
Obfuscation
π‘₯
y
Obfuscated program
Private Key to Public Key
π‘š
πΈπ‘›π‘π‘ π‘˜ (π‘š)
cipher
Obfuscation
π‘š
cipher
Public Key
Ideal Obfuscation
Hides everything about the program
except for its input\output behavior
Point Function etc.
Unobfuscatable Functions
[Canetti 97, Wee 05, BitanskyCanetti 10, Canetti-Rothblum-Varia 10]
[Barak-Goldreich-ImpagliazzoRudich-Sahai-Vadhan-Yang 01]
All functions
?
Obfuscation Constructions
Before 2013: No general solution.
All functions
Obfuscation Constructions
Before 2013: No general solution.
2013: Candidate obfuscation for all circuits
[Garg-Gentry-Halevi-Raykova-Sahai-Waters 13]
All functions
New Impossibility Result
Under computational assumptions,
a natural notion of ideal obfuscation
cannot be achieved
for a large family of cryptographic functionalities.
(strengthen the impossibility of [Goldwasser-Kalai 05])
Virtual Black-Box (VBB)
[Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]
Algorithm π’ͺ is an obfuscator for a class π’ž if:
For every PPT adversary 𝐴 there exists a PPT simulator 𝑆
such that for every 𝐢 ∈ π’ž and every predicate πœ‹(𝐢):
𝐢
π’ͺ(𝐢)
𝐴
πœ‹(𝐢)
Inefficient!
𝑆
Using Obfuscation
Reduction
𝑁 =𝑝⋅π‘ž
𝑆
𝐴
𝑝, π‘ž
VBB with a Universal Simulator
Algorithm π’ͺ is an obfuscator for a class π’ž if:
There exists a PPT simulator 𝑆 such that for every PPT adversary 𝐴
such that for every 𝐢 ∈ π’ž and every predicate πœ‹(𝐢):
𝐢
π’ͺ(𝐢)
𝐴
πœ‹(𝐢)
𝑆(𝐴)
Universal Simulation
Universal
Simulators
Barak’s ZK
simulator
Black-box
Simulators
New Impossibility Result
Under computational assumptions,
VBB obfuscation with a universal simulator
cannot be achieved
for a large family of cryptographic functionalities.
Pseudo-Entropic functions
A function family π‘“π‘˜ has super-polynomial pseudoentropy if there exists a set of inputs 𝐼
such that for a random function π‘“π‘˜ ,
there exists 𝑍 with super-polynomial min-entropy:
𝐷
1
2
3
π‘“π‘˜ (1) π‘“π‘˜ (2) π‘“π‘˜ (3)
≈𝑐
…
𝐼
…
π‘“π‘˜ (𝐼)\Z
Examples
• Pseudo-random functions
• Semantically-secure encryption
(when the randomness is a PRF of the message)
π‘š
𝑃𝑅𝐹𝑠
π‘Ÿ
πΈπ‘›π‘π‘ π‘˜
cipher
New Impossibility Result
Under computational assumptions,
VBB obfuscation with a universal simulator
is impossible for any pseudo-entropic function
Indistinguishability Obfuscation
[Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]
𝐢1
≡
𝐢2
π’ͺ(𝐢1 )
≈𝑐 π’ͺ(𝐢2 )
Assumption:
indistinguishability obfuscation for all circuits
(A candidate construction given in [GGHRSW13])
This Work
Assuming indistinguishability obfuscation,
VBB obfuscation with a universal simulator
is impossible for any pseudo-entropic function
This Work
Average-case VBB
with a universal simulator
Worst-case VBB
with a universal simulator
Is Impossible for
pseudo-entropic functions
Is Impossible for
pseudo-entropic functions
Assuming
indistinguishability obfuscation
for all functions
Assuming
indistinguishability obfuscation
for point-filter functions
or equivalently,
witness encryption
Average-case VBB
with a universal simulator
Worst-case VBB
with a universal simulator
[Goldwasser-Kalai 05]:
Is Impossible for
Filter functions
Is Impossible for
pseudo-entropic functions
Unconditionally
Assuming
VBB obfuscation
for point-filter functions
This work:
Is Impossible for
pseudo-entropic functions
Is Impossible for
pseudo-entropic functions
Assuming
indistinguishability obfuscation
for all functions
Assuming
indistinguishability obfuscation
for point-filter functions
Universal Simulation and Auxiliary Input
For every PPT adversary 𝐴 there exists a PPT simulator 𝑆
such that for every 𝐢 ∈ π’ž, every predicate πœ‹ 𝐢
and every auxiliary input 𝑧:
𝐢
π’ͺ(𝐢)
𝐴 𝑧
πœ‹(𝐢)
𝑆 𝑧
VBB with a universal simulator
Universal Simulation and Auxiliary Input
Average-case VBB
with a universal simulator
Worst-case VBB
with a universal simulator
Average-case VBB with
independent auxiliary input
Worst-case VBB with
dependent auxiliary input
Proof Idea
What can we do with an obfuscated code
that we cannot do with black-box access?
[Goldwasser-Kalai 05]:
Find a polynomial size circuit computing the function!
Impossibility for Worst-Case VBB
Let π‘“π‘˜ be a family of PRFs.
Fix the simulator 𝑆. Sample a random π‘“π‘˜ .
Construct an adversary 𝐴 (that depends on π‘“π‘˜ ) that fail 𝑆.
Let 𝐼 be the set of inputs 1,2, … , 2 ⋅ π’ͺ π‘“π‘˜
𝐢
𝐴
𝑏\ ⊥
𝐼
π‘“π‘˜ (𝐼)
π΄π‘˜,𝑏 𝐢 :
If 𝐢 = π’ͺ π‘“π‘˜ and 𝐢 𝐼 = π‘“π‘˜ (𝐼):
output the secret 𝑏,
else output ⊥.
Impossibility for Worst-Case VBB
π‘“π‘˜
π’ͺ(π‘“π‘˜ )
𝐴
𝑏\ ⊥
𝐼
π‘“π‘˜ (𝐼)
𝑏
𝑆
𝐴
𝑏
Using Indistinguishability Obfuscation
𝐴
𝐴
𝑏\ ⊥
𝐼
≈𝑐
𝐼
π‘“π‘˜ (𝐼)
𝐴
π‘“π‘˜ (𝐼)
𝐴
⊥
𝐴
⊥
≡
π‘ˆ
𝐴
𝑏\ ⊥
𝐼
𝑏\ ⊥
≈𝑐
𝑏\ ⊥
𝐼
π‘ˆ
≈𝑐
Impossibility for Average-Case VBB
𝐴𝐴
𝐢
𝑏\ ⊥
𝐼
𝐼
π‘“π‘˜ (𝐼)
𝑃𝑅𝐹
𝑠
𝐢(𝐼)
→𝑏
𝐴𝑠 𝐢 :
If 𝐢 = π’ͺ π‘“π‘˜ :
output 𝑏 = 𝑃𝑅𝐹𝑠 (𝐢(𝐼))
else output ⊥.
Impossibility for Average-Case VBB
𝐴
𝑃𝑅𝐹𝑠
𝐼
𝐢(𝐼)
→𝑏
Obfuscation should hide 𝑃𝑅𝐹𝑠 π‘“π‘˜ 𝐼
Use Indistinguishability Obfuscation together
with puncturable pseudo-random functions
Thanks!
Download