Transcript
Page 1: Obfuscation for  Evasive Functions

Obfuscation for

Evasive FunctionsBoaz Barak, Nir Bitansky, Ran Canetti,Yael Tauman Kalai, Omer Paneth, Amit Sahai

Page 2: Obfuscation for  Evasive Functions

Program Obfuscation

Obfuscated Program

Approved Document Signature

Obfuscation

Verify and sign

Page 3: Obfuscation for  Evasive Functions

Virtual Black-Box (VBB)[Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]

Algorithm is an obfuscator for a family of functions if:

For every adversary there exists a simulator such that for every key and predicate :

𝐴 𝑆𝑃 (π‘˜)π’ͺ( 𝑓 π‘˜)

𝑓 π‘˜

Page 4: Obfuscation for  Evasive Functions

Impossibilities for VBBThere exist families of β€œunobfuscatable” functionsβ€’ Can be embedded in applications

(e.g. encryption, signatures)β€’ Implemented in Pseudo-entropic functions are unobfuscatable w.r.t auxiliary input \universal simulation[Bitansky-Canetti-Cohn-Goldwasser-Kalai-P-Rosen 14]

[Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]

Page 5: Obfuscation for  Evasive Functions

Positive results

β€’ Constructions for simple functions [Can97, CMR98, LPS04, DS05,Wee05, CD08, CV09, CRV10,BR13]

β€’ General constructions in idealized models [CV13,BR13,BGKPS13]

Page 6: Obfuscation for  Evasive Functions

Which functions are VBB obfuscatable?

Find rich classes of functions that can be VBB obfuscated

Page 7: Obfuscation for  Evasive Functions

A family of boolean functions is evasive if for or every :

Alternatively:For every efficient (non-uniform) adversary :

.

Evasive Functions

Page 8: Obfuscation for  Evasive Functions

Applications

Evasive Functions

Point functions

Digital Lockers

Fuzzy point

functions

Disjunctions Hyperplanes

Page 9: Obfuscation for  Evasive Functions

Example

Buggy software

Bad inputCrash

Good input

OutputPatch

Error message

Bad input

Input

Page 10: Obfuscation for  Evasive Functions

No impossibility for VBB obfuscation*

of evasive functions *for the right notion of VBB

Page 11: Obfuscation for  Evasive Functions

VBB for Evasive Functions

Turing machine Circuit

Worst-case

Average-case

Impossible

Impossible Impossible

No known impossibility

Page 12: Obfuscation for  Evasive Functions

Contributionsβ€’ New definitions for evasive function

obfuscation and the relations between them.

β€’ Constructions for the zero-set of low degree polynomial based on multilinear maps

β€’ Virtual-gray box obfuscation for evasive functions

Virtual-gray box obfuscation for all functions

Page 13: Obfuscation for  Evasive Functions

β€’ New definitions for evasive function

obfuscation and the relations between them.

β€’ Constructions for the zero-set of low degree polynomial based on multilinear maps

β€’ Virtual-gray box obfuscation for evasive functions

Virtual-gray box obfuscation for all functions

Page 14: Obfuscation for  Evasive Functions

Average-case VBB

For every adversary there exists a simulator such that for every predicate and for a random key :

𝐴 𝑆𝑃 (π‘˜)π’ͺ( 𝑓 π‘˜)

𝑓 π‘˜

Page 15: Obfuscation for  Evasive Functions

Input-Hiding ObfuscationFor every adversary

β€’ Only achievable for evasive functions β€’ Incomparable to average-case VBB

Page 16: Obfuscation for  Evasive Functions

β€’ New definitions for evasive function

obfuscation and the relations between them.

β€’ Constructions for the zero-set of low degree polynomial based on multilinear maps

β€’ Virtual-gray box obfuscation for evasive functions

Virtual-gray box obfuscation for all functions

Page 17: Obfuscation for  Evasive Functions

Constructions Average-case VBB and Input-hiding obfuscation for a subclass of evasive function:

Roots of low degree multivariate polynomials

is defined by a multivariate polynomial over . For key and input :

.

Page 18: Obfuscation for  Evasive Functions

Is the Root Set Evasive?

.

For every input

Page 19: Obfuscation for  Evasive Functions

Two Constructions

Security notion

Function families

Assumption

Input-hiding Average-case VBB

given by an arithmetic circuit

of size and degree

given by anarithmetic circuit

of size and depth

One-way graded encoding

Perfectly-hiding graded encoding

Page 20: Obfuscation for  Evasive Functions

Graded Encodings including a description of a ring For every and every d, is an encoding

β€’ , β€’ (candidate scheme with public encoding from [CLT13])

[Garg-Gentry-Halevi 13]

Page 21: Obfuscation for  Evasive Functions

Input-Hiding

π’ͺ ( 𝑓 οΏ½βƒ—οΏ½ )β†’ [π‘˜1 ]1 ,…, [π‘˜π‘š ]1 [π‘₯1 ]1 ,…, [π‘₯𝑛 ]1←Enc( οΏ½βƒ—οΏ½)

Evaluate using [𝑄 (οΏ½βƒ—οΏ½ , οΏ½βƒ—οΏ½) ]𝑑

0 /1Zero

Page 22: Obfuscation for  Evasive Functions

Proof IdeaAssume there exists such that:

If then is a root of Can use to invert

Page 23: Obfuscation for  Evasive Functions

β€’ New definitions for evasive function

obfuscation and the relations between them.

β€’ Constructions for the zero-set of low degree polynomial based on multilinear maps

β€’ Virtual-gray box obfuscation for evasive functions

Virtual-gray box obfuscation for all functions

Page 24: Obfuscation for  Evasive Functions

Virtual Grey-Box (VGB)[Bitansky-Canetti 10]

For every adversary there exists an unbounded simulator making polynomial number of oracle queries

such that for every predicate and for a random key :

𝐴 𝑆𝑃 (π‘˜)π’ͺ( 𝑓 π‘˜)

𝑓 π‘˜

Computationally unbounded

Polynomial # of

queries

Page 25: Obfuscation for  Evasive Functions

Why VGB?

Virtual black-box obfuscation

Virtual grey-box obfuscation

Indistinguishability obfuscation

Page 26: Obfuscation for  Evasive Functions

Applications of VGBComposable VGB obfuscation for point functions

from a strong variant of DDH.

Digital lockers [CD08], strong KDM encryption [CKVW10], CCA encryption [MH14], computational fuzzy extractors

[CFPR14].

[Bitansky-Canetti 10]

Page 27: Obfuscation for  Evasive Functions

Virtual Grey-BoxVirtual grey-box is not always meaningful.Example: pseudorandom functions

For what functions is virtual grey-box meaningful?

Page 28: Obfuscation for  Evasive Functions

VGB for Evasive Functions

𝐴 𝑆𝑃 (π‘˜)π’ͺ( 𝑓 π‘˜)

𝑓 π‘˜

Computationally unbounded

Polynomial # of

queries

For evasive functions ,Average-case VBB average-case VGB

Page 29: Obfuscation for  Evasive Functions

Theorem

Average-case VGB for evasive functions

Average-case VGB* for all functions

* 1. Simulator make (slightly) super-polynomial #queries 2. Obfuscator is inefficient

+ indistinguishability obfuscation for all functions

Page 30: Obfuscation for  Evasive Functions

Proof Idea

Any function family can be decomposed to:

Can be learned by the VGB simulator

Evasive

π’ͺ ( 𝑓 π‘˜ )=π‘”π‘˜+π’ͺ(hπ‘˜)

Page 31: Obfuscation for  Evasive Functions

Decomposition via Learning

𝑓 π‘˜

Page 32: Obfuscation for  Evasive Functions

Decomposition via Learning

𝑓 π‘˜

Page 33: Obfuscation for  Evasive Functions

Decomposition via Learning

𝑓 π‘˜

Page 34: Obfuscation for  Evasive Functions

Decomposition via Learning

𝑓 π‘˜

Page 35: Obfuscation for  Evasive Functions

Decomposition via Learning

𝑓 π‘˜

Page 36: Obfuscation for  Evasive Functions

Decomposition via Learning

𝑓 π‘˜

π‘”π‘˜

is evasive.

Page 37: Obfuscation for  Evasive Functions

Thank You!

𝑓 π‘˜

π‘”π‘˜


Top Related