Obfuscation for Evasive Functions

37
Obfuscation for Evasive Functions Boaz Barak, Nir Bitansky, Ran Canetti, Yael Tauman Kalai, Omer Paneth, Amit Sahai

description

Obfuscation for Evasive Functions. Boaz Barak, Nir Bitansky , Ran Canetti, Yael Tauman Kalai, Omer Paneth, Amit Sahai. Program Obfuscation . Approved Document . Signature . Verify and sign. Obfuscation. Obfuscated Program. Virtual Black-Box (VBB). - PowerPoint PPT Presentation

Transcript of Obfuscation for Evasive Functions

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!

𝑓 𝑘

𝑔𝑘