on virtual grey-box obfuscation for general circuits

Post on 23-Jan-2016

62 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

On Virtual Grey-Box Obfuscation for General Circuits. Nir Bitansky Ran Canetti Yael Tauman-Kalai Omer Paneth. Program Obfuscation. Program. Obfuscation. Obfuscated program. Private Key to Public Key. Obfuscation. Public Key. Virtual Black-Box (VBB). - PowerPoint PPT Presentation

TRANSCRIPT

On Virtual Grey-Box Obfuscation for General Circuits

Nir Bitansky Ran CanettiYael Tauman-Kalai Omer Paneth

Program Obfuscation

Obfuscated program

๐‘ฅ y

Obfuscation

Program

๐‘ฅ y

Private Key to Public Key

Public Key

๐‘š cipher  

Obfuscation

๐ธ๐‘›๐‘๐‘ ๐‘˜(๐‘š)

๐‘š cipher  

Virtual Black-Box (VBB)[Hada 00, 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 :

๐ด ๐‘†๐œ‹ (๐ถ )๐’ช(๐ถ )

๐ถ

Pr [ ๐ด(๐’ช(๐ถ))=๐œ‹ (๐ถ ) ]=Pr [๐‘†๐ถ=๐œ‹ (๐ถ ) ]ยฑ๐‘›๐‘’๐‘”๐‘™

Impossibility Results for VBB

Impossible for some functions.[Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]

Impossible for all pseudo-entropic functions w.r.t auxiliary input (assuming IO).[Goldwasser-Kalai 05, Bitansky-Canetti-Cohn-Goldwasser-Kalai-P-Rosen 14]

๐ถ1

๐’ช(๐ถยฟยฟ1)ยฟ

๐ถ2

๐’ช(๐ถยฟยฟ2)ยฟ

โ‰ก

โ‰ˆ๐‘

Indistinguishability Obfuscation (IO)[Barak-Goldreich-Impagliazzo-Rudich-Sahai-Vadhan-Yang 01]

History

No general solution.

Obfuscation for simple functions:[C97,W05,CD08,CRV10,BC10,BR13]

Candidate obfuscation for all circuits [Garg-Gentry-Halevi-Raykova-Sahai-Waters 13]

2000-2013:

2013:

What is the security of the candidate obfuscator?

Many recent applications:

[Garg-Gentry-Halevi-Raykova-Sahai-Waters 13, Sahai-Waters 13, Hohenberger-Sahai-Waters 13, Garg-Gentry-Halevi-Raykova 13, Bitansky-Canetti-P-Rosen 13, Boneh-Zhandry 13, Brzuska-Farshim-Mittelbach 14, Bitansky-P 14, Ramchen-Waters 14]

Better assumption: 1. Semantically-secure graded encodings

[Pass-Seth-Telang 13]

2. Multilinear subgroup elimination assumption[Gentry-Lewko-Sahai-Waters 14]

Assumption: the [GGHRSW13] obfuscator is IO

What about other applications?

Example: point function

Can we get more then IO?

Today: virtual grey-box

๐‘†๐ดโ‰ˆ๐’ช(๐ถ )

๐ถ

Simulation Definition for IO[Bitansky-Canetti 10]

๐ถ1 ๐’ช(๐ถยฟยฟ1)ยฟ๐ถ2 ๐’ช(๐ถยฟยฟ2)ยฟโ‰ก โ‰ˆ๐‘โ‡’

Computationally unbounded

Weak VBB:

Virtual black-box:Simulator is bounded

Indistinguishability:Simulator is unbounded

[Bitansky-Canetti 10]

Virtual grey-box (VGB):Simulator is semi-bounded

polynomial numberof oracle queries

unboundedcomputation

๐‘†๐ถ

๐‘†

๐‘†๐ถ

๐ถ

๐‘†๐ถ

๐‘†

๐‘†

Virtual black-box:Simulator is bounded

Indistinguishability:Simulator is unbounded

[Bitansky-Canetti 10]

Virtual grey-box (VGB):Simulator is semi-bounded

Pseudo-random functions

meaningful

Point functionsNot meaningful

๐ถ

๐ถ

meaningful

Not meaningful

Assume the [GGHRSW13] obfuscation is VGB.

Or better yet, prove it!

Results

Semantically secure graded encoding

IO [Pass-Seth-Telang 13]

VGB for Semantically secure* graded encoding

Semantically secure* graded encoding VGB for

Results

Semantically secure graded encoding

IO [Pass-Seth-Telang 13]

VGB for

Semantically secure* mutlilinear jigsaw puzzles VGB for all circuits

Semantically secure* mutlilinear jigsaw puzzles

Results

Semantically secure graded encoding

IO [Pass-Seth-Telang 13]

VGB for

Semantically secure* mutlilinear jigsaw puzzles VGB

Semantically secure* mutlilinear jigsaw puzzles

Semantically secure mutlilinear jigsaw puzzles

VBB for new families

New Feasibility Results For VBB Existing VBB results:โ€ข Point functions [Canetti 97, Wee 05]

โ€ข Constant-size set functions [Bitansky-Canetti 10]

โ€ข Constant-dimension hyperplanes [Canetti-Rothblum-Varia 10]

New results:โ€ข Fuzzy point functions (Hamming balls)โ€ข Constant-dimension linear subspacesโ€ข Conjunctions (worst-case)

Unified proof for all existing VBB results.

Results

Semantically secure graded encoding

IO [Pass-Seth-Telang 13]

VGB for

Semantically secure* mutlilinear jigsaw puzzles VGB

Semantically secure*graded encoding

Semantically secure mutlilinear jigsaw puzzles

VBB for new families

SIM-secure encryption IND-secure encryption

Zero-knowledge proofsWitness indistinguishable proofs

SIM-secure functional encryption

IND-secure functional encryption

Obf. w. Unbounded simulationIndistinguishability obfuscation

[Feige-Lapidot-Shamir 99]

SimulationIndistinguishability

[Goldwasser-Micali 82]

[De Caro-Iovino-Jain-O'Neill-P-Persiano 13]

[Bitansky-Canetti 10]

VGB obfuscation?

This work

Strong indistinguishability obfuscation

Virtual grey-box obfuscation

Indistinguishability Obfuscation

For every pair of circuits :

โˆ€ ๐‘ฅ :๐ถ1 (๐‘ฅ )=๐ถ2(๐‘ฅ)

๐’ช (๐ถ1 )โ‰ˆ๐‘๐’ช (๐ถ2 )

Strong Indistinguishability Obfuscation

For every pair of distributions on circuits:

โˆ€ ๐‘ฅ :Pr [~๐ถ1 (๐‘ฅ )=~๐ถ2 (๐‘ฅ ) ]โ‰ฅ1โˆ’negl (|๐‘ฅ|)

๐’ช (~๐ถ1 )โ‰ˆ๐‘๐’ช (~๐ถ2 )

VGB from Semantic Security

Strong IO for

Virtual grey-box obfuscation for

Semantically-secure graded encoding*

The Equivalence.

Strong indistinguishability obfuscation

Virtual grey-box obfuscation

Strong IO VGB

Let be distributions on circuits such that:

โˆ€ ๐‘ฅ :Pr [~๐ถ1 (๐‘ฅ )=~๐ถ2 (๐‘ฅ ) ]โ‰ฅ1โˆ’negl (|๐‘ฅ|)

๐ทโ‰ˆ ๐ท๐‘†

~๐ถ1

๐‘†

~๐ถ2

โ‰ˆ โ‰ˆ

For every distinguisher

๐’ช (~๐ถ1 ) ๐’ช (~๐ถ2 )

The Equivalence.

Strong indistinguishability obfuscation

Virtual grey-box obfuscation

Strong IO VGB: The Challenge

๐‘†

๐ด๐‘ฆ๐’ช(๐ถ๐‘ฅ)

๐ถ ๐‘ฅ

{1 if ๐‘ฅ=๐‘ฆ0 if ๐‘ฅโ‰  ๐‘ฆ

โ‘๐‘ฆ {1 if ๐‘ฅ=๐‘ฆ0 if ๐‘ฅโ‰  ๐‘ฆ

Point Function: =

๐ถ

High-Level Simulation Strategy

๐ถ

High-Level Simulation Strategy

๐ถ

High-Level Simulation Strategy

๐ถ

High-Level Simulation Strategy

๐ถ

High-Level Simulation Strategy

๐ถ

High-Level Simulation Strategy

Extract a information about C from the adversary

First Step: Concentrated Functions

A family of boolean functions is concentrated around a function if for every input :

Pr๐ถโ†๐ท

[๐ถ (๐‘ฅ )= ๐‘“ (๐‘ฅ ) ]โ‰ฅ1โˆ’negl(|๐‘ฅ|)

๐ถ

Starting Point

The simulator queries on a โ€œsplittingโ€ input

๐ถ

The simulator queries on a โ€œsplittingโ€ input

๐ถ

The simulator queries on a โ€œsplittingโ€ input

๐ถ

The simulator queries on a โ€œsplittingโ€ input

๐ถ

The Concentrated Family

There is no splitting input to query

Warm Up: Point Functions [Canetti 97]

Let be a strong IO for point functions. For an adversary let be the set of points such that:

Pr [๐ด (๐’ช (๐ถ๐‘ฅ ))=1 ]โˆ’ Pr [ ๐ด (๐’ช (๐ŸŽ ) )=1 ]โ‰ฅ๐œ–

๐‘†๐ถ ๐‘ฅ

{๐ด(๐’ช(๐ถ๐‘ฅ )) if ๐‘ฅโˆˆ๐ต๐ด

๐ด(๐’ช(๐ŸŽ)) if ๐‘ฅโˆ‰๐ต๐ด

How to simulate an obfuscation of ?

If simulation is trivial.if the simulator can learn with a small number of oracle queries.

Claim: .

Proof: By the definition of we have that:

.

However, if is super polynomial:

Pr [๐ด (๐’ช (๐ถ๐‘ฅ ))=1 ]โˆ’ Pr [ ๐ด (๐ŸŽ )=1 ]โ‰ฅ๐œ–For an adversary let be a set of functions such that:

Main Step: General Concentrated Functions

Let be a strong IO for .

For an adversary let be the set of functions s.t:

Pr [๐ด (๐’ช (๐ถ ) )=1 ]โˆ’Pr [๐ด (๐’ช ( ๐‘“ ) )=1 ]โ‰ฅ๐œ–

The set may be large!

To simulate an obfuscation of :

1. If simulation is trivial.

2. if then simulator can learn a โ€œseparatingโ€ input s.t. in

a small number of oracle queries.

3. Set . Note: .

4. Repeat.

๐ต๐ด

๐ต๐ด

๐ท

๐ต๐ด

๐ถ

๐ถ (๐‘ง )โ‰  ๐‘“ (๐‘ง )

๐‘“๐‘“ 2

๐‘“

๐ท๐ท2

๐ถ

๐‘“ 2๐ต๐ด2

๐ต๐ด2

๐ถ (๐‘ง )โ‰  ๐‘“ (๐‘ง )

๐ท3

๐‘“ 3๐ถ (๐‘ง 2 )โ‰  ๐‘“ 2 (๐‘ง 2 )

๐‘“

๐ท๐ท2

๐ถ

๐‘“ 2

๐ถ (๐‘ง )โ‰  ๐‘“ (๐‘ง )

๐ท3

๐‘“ 3๐ถ (๐‘ง 2 )โ‰  ๐‘“ 2 (๐‘ง 2 )

๐ต๐ด3

Claim: There exists a set of separating inputs such that: 1. . 2. For every , there exists such that

Proof:By the definition of we have that: .

Find an input that is separating for a noticeable fraction of the functions in . Such exists since otherwise:

โˆ€ ๐‘ง : Pr๐‘โ†๐ต๐ด

[๐ถ (๐‘ง )= ๐‘“ (๐‘ง ) ]โ‰ฅ1โˆ’negl (|๐‘ง|)

Add to , set , and repeat.

When , how to learn a separating input s.t. in a small number of oracle queries?

Two sources of inefficiency

1. Learning the function:โ€“ Finding splitting inputs to concentrate

2. Learning the adversary:โ€“ Finding the bad set โ€“ Finding the set of separating inputs

Summary

โ€ข VGB is more meaningful than IO and probably more achievable than VBB.

โ€ข Strong IO VGB.

โ€ข More applications of VGB.โ€ข The quest for the โ€œrightโ€ definition is not over.

Thanks!

top related