obfuscation for evasive functions

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

Upload: aderes

Post on 24-Feb-2016

119 views

Category:

Documents


1 download

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

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!

𝑓 𝑘

𝑔𝑘