to securely compute f ? Mike Rosulek | | CRYPTO 2012 . B : B X is an - - PowerPoint PPT Presentation

to securely compute f
SMART_READER_LITE
LIVE PREVIEW

to securely compute f ? Mike Rosulek | | CRYPTO 2012 . B : B X is an - - PowerPoint PPT Presentation

Q: Must you know the code of f to securely compute f ? Mike Rosulek | | CRYPTO 2012 . B : B X is an algorithm for Y Black-box: Non-black-box: Algorithm for Y depends on code of algorithm for X . Pervasive question since [ImpagliazzoRudich89] : .


slide-1
SLIDE 1

Q: Must you know the code of f to securely compute f?

Mike Rosulek |

| CRYPTO 2012

.

slide-2
SLIDE 2

black-box reductions

.

Reduction

. . . . . . . . X has an algorithm ⇒ Y has an algorithm Black-box: B : BX is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X .

Pervasive question since [ImpagliazzoRudich89]:

. . . . . . . . When do black-box constructions exist?

Black-box constructions tend to be more practical (efficient & modular).

.

slide-3
SLIDE 3

black-box reductions

.

Reduction

. . . . . . . . X has an algorithm ⇒ Y has an algorithm Black-box: ∃B : BX is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X .

Pervasive question since [ImpagliazzoRudich89]:

. . . . . . . . When do black-box constructions exist?

Black-box constructions tend to be more practical (efficient & modular).

.

slide-4
SLIDE 4

black-box reductions

.

Reduction

. . . . . . . . X has an algorithm ⇒ Y has an algorithm Black-box: ∃B : BX is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X .

Pervasive question since [ImpagliazzoRudich89]:

. . . . . . . . When do black-box constructions exist?

Black-box constructions tend to be more practical (efficient & modular).

.

slide-5
SLIDE 5

black-box reductions

.

Reduction

. . . . . . . . X has an algorithm ⇒ Y has an algorithm Black-box: ∃B : BX is an algorithm for Y Non-black-box: Algorithm for Y depends on code of algorithm for X .

Pervasive question since [ImpagliazzoRudich89]:

. . . . . . . . When do black-box constructions exist?

Black-box constructions tend to be more practical (efficient & modular).

.

slide-6
SLIDE 6

secure computation. . .

Several parties wish to carry out an agreed-upon computation.

◮ Parties have individual inputs / output ◮ Security guarantees:

◮ Privacy (learn no more than your prescribed output) ◮ Input independence ◮ Output consistency, etc..

◮ Parties are mutually distrusting, some possibly malicious

.

slide-7
SLIDE 7

black-box secure computation

.

Typical theorem statement:

. . . . . . . . If trapdoor functions exist, then for every f, there is a secure (in some model) protocol for evaluating f. . .

trapdoor function

. f .

secure protocol for evaluating f

. BB . BB ? Protocol can be black-box in its usage of underlying primitives!

[Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09, PassWee09, ..]

What about usage of f? Typical approach (since [Yao86,GMW87]): Express f as a circuit, and evaluate it gate-by-gate — non-black-box! .

slide-8
SLIDE 8

black-box secure computation

.

Typical theorem statement:

. . . . . . . . If trapdoor functions exist, then for every f, there is a secure (in some model) protocol for evaluating f. . .

trapdoor function

. f .

secure protocol for evaluating f

. BB . BB ? Protocol can be black-box in its usage of underlying primitives!

[Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09, PassWee09, ..]

What about usage of f? Typical approach (since [Yao86,GMW87]): Express f as a circuit, and evaluate it gate-by-gate — non-black-box! .

slide-9
SLIDE 9

black-box secure computation

.

Typical theorem statement:

. . . . . . . . If trapdoor functions exist, then for every f, there is a secure (in some model) protocol for evaluating f. . .

trapdoor function

. f .

secure protocol for evaluating f

. BB . BB ? Protocol can be black-box in its usage of underlying primitives!

◮ [Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09,

PassWee09, ..]

What about usage of f? Typical approach (since [Yao86,GMW87]): Express f as a circuit, and evaluate it gate-by-gate — non-black-box! .

slide-10
SLIDE 10

black-box secure computation

.

Typical theorem statement:

. . . . . . . . If trapdoor functions exist, then for every f, there is a secure (in some model) protocol for evaluating f. . .

trapdoor function

. f .

secure protocol for evaluating f

. BB . BB ? Protocol can be black-box in its usage of underlying primitives!

◮ [Ishai+06, LindellPinkas07, Haitner08, IshaiPrabhakaranSahai08, Choi+09,

PassWee09, ..]

What about usage of f? Typical approach (since [Yao86,GMW87]):

◮ Express f as a circuit, and evaluate it gate-by-gate — non-black-box!

.

slide-11
SLIDE 11

the model

.

slide-12
SLIDE 12

the model (2-party SFE)

Let C be a class of 2-input functions. .

Definition

. . . . . . . . Functionality-black-box (FBB) secure evaluation of C means:

◮ ∃ oracle machines πA, πB: ◮ ∀ f ∈ C: ◮ πf

A(x) ⇄ πf B(y) is a secure protocol for evaluating f(x, y)

If protocol uses trusted setup, then same setup for all f ! FBB secure evaluation of is trivial if: (protocol could “know” code of f) is exactly learnable via oracle queries (learn code of f, then proceed in non-black-box way) .

slide-13
SLIDE 13

the model (2-party SFE)

Let C be a class of 2-input functions. .

Definition

. . . . . . . . Functionality-black-box (FBB) secure evaluation of C means:

◮ ∃ oracle machines πA, πB: ◮ ∀ f ∈ C: ◮ πf

A(x) ⇄ πf B(y) is a secure protocol for evaluating f(x, y)

If protocol uses trusted setup, then same setup for all f ∈ C! FBB secure evaluation of is trivial if: (protocol could “know” code of f) is exactly learnable via oracle queries (learn code of f, then proceed in non-black-box way) .

slide-14
SLIDE 14

the model (2-party SFE)

Let C be a class of 2-input functions. .

Definition

. . . . . . . . Functionality-black-box (FBB) secure evaluation of C means:

◮ ∃ oracle machines πA, πB: ◮ ∀ f ∈ C: ◮ πf

A(x) ⇄ πf B(y) is a secure protocol for evaluating f(x, y)

If protocol uses trusted setup, then same setup for all f ∈ C! FBB secure evaluation of C is trivial if:

◮ |C| = 1 (protocol could “know” code of f) ◮ C is exactly learnable via oracle queries (learn code of f, then

proceed in non-black-box way) .

slide-15
SLIDE 15

autoreducibility

.

slide-16
SLIDE 16

autoreducibility

How much “structure” does a set/function L have?

.

Basic Definition

. . . . . . . . L is autoreducible if there exists efficient M:

  • 1. ML x

L x

  • 2. M doesn’t simply query its oracle on x

.

slide-17
SLIDE 17

autoreducibility

How much “structure” does a set/function L have?

.

Basic Definition

. . . . . . . . L is autoreducible if there exists efficient M:

  • 1. ML(x) = L(x)
  • 2. M doesn’t simply query its oracle on x

.

slide-18
SLIDE 18

autoreducibility examples

Discrete log problem in g is autoreducible: dlogg x : // find d such that gd x

  • 1. Choose a

n, where n

  • rd g .
  • 2. Output: dlogg x

ga a (mod n) .

“Instance-hiding” autoreducible [BeaverFeigenbaum90]

. . . . . . . . Oracle queries of ML x distributed independent of x. .

slide-19
SLIDE 19

autoreducibility examples

Discrete log problem in g is autoreducible: dlogg(x): // find d such that gd = x

  • 1. Choose a ← Zn, where n = ord(g).
  • 2. Output: dlogg(x · ga) − a (mod n)

.

“Instance-hiding” autoreducible [BeaverFeigenbaum90]

. . . . . . . . Oracle queries of ML x distributed independent of x. .

slide-20
SLIDE 20

autoreducibility examples

Discrete log problem in g is autoreducible: dlogg(x): // find d such that gd = x

  • 1. Choose a ← Zn, where n = ord(g).
  • 2. Output: dlogg(x · ga) − a (mod n)

.

“Instance-hiding” autoreducible [BeaverFeigenbaum90]

. . . . . . . . Oracle queries of ML x distributed independent of x. .

slide-21
SLIDE 21

autoreducibility examples

Discrete log problem in g is instance-hiding autoreducible: dlogg(x): // find d such that gd = x

  • 1. Choose a ← Zn, where n = ord(g).
  • 2. Output: dlogg(x · ga) − a (mod n)

.

“Instance-hiding” autoreducible [BeaverFeigenbaum90]

. . . . . . . . Oracle queries of ML(x) distributed independent of x. .

slide-22
SLIDE 22

semi-honest adversaries

.

slide-23
SLIDE 23

characterization

.

Definition

. . . . . . . . A class C is 2-hiding autoreducible if there exists efficient M:

  • 1. Mf,f(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to left oracle “don’t depend on” y
  • 3. M’s queries to right oracle “don’t depend on” x

Discussion: Same M must work for every f . Distinction between x and y. .

Theorem

. . . . . . . . FBB secure computation of is possible in

  • t-hybrid (against

semi-honest adversaries) if and only if is 2-hiding autoreducible .

slide-24
SLIDE 24

characterization

.

Definition

. . . . . . . . A class C is 2-hiding autoreducible if there exists efficient M:

  • 1. Mf,f(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to left oracle “don’t depend on” y
  • 3. M’s queries to right oracle “don’t depend on” x

Discussion: Same M must work for every f . Distinction between x and y. .

Theorem

. . . . . . . . FBB secure computation of is possible in

  • t-hybrid (against

semi-honest adversaries) if and only if is 2-hiding autoreducible .

slide-25
SLIDE 25

characterization

.

Definition

. . . . . . . . A class C is 2-hiding autoreducible if there exists efficient M:

  • 1. Mf,f(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to left oracle “don’t depend on” y
  • 3. M’s queries to right oracle “don’t depend on” x

Discussion:

◮ Same M must work for every f ∈ C. ◮ Distinction between x and y.

.

Theorem

. . . . . . . . FBB secure computation of is possible in

  • t-hybrid (against

semi-honest adversaries) if and only if is 2-hiding autoreducible .

slide-26
SLIDE 26

characterization

.

Definition

. . . . . . . . A class C is 2-hiding autoreducible if there exists efficient M:

  • 1. Mf,f(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to left oracle “don’t depend on” y
  • 3. M’s queries to right oracle “don’t depend on” x

Discussion:

◮ Same M must work for every f ∈ C. ◮ Distinction between x and y.

.

Theorem

. . . . . . . . FBB secure computation of C is possible in Fot-hybrid (against semi-honest adversaries) if and only if C is 2-hiding autoreducible .

slide-27
SLIDE 27

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f . . f x y . f x y . x . y . x y . y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-28
SLIDE 28

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f . . f x y . f x y . x . y . x y . y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-29
SLIDE 29

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f .

· · ·

. f x y . f x y . x . y . x y . y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-30
SLIDE 30

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f .

· · ·

. f(x, y) . f(x, y) . x . y . x y . y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-31
SLIDE 31

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f . . f x y . f x y . x . y . x y . y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-32
SLIDE 32

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f . . f x y . f x y . x . y .

(x, y)

. y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-33
SLIDE 33

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f .

· · ·

. f x y . f x y . x . y .

(x, y)

. y . x . M Correctness of protocol: Output is f x y Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-34
SLIDE 34

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f .

· · ·

. f x y . f(x, y) . x . y .

(x, y)

. y . x . M Correctness of protocol:

⇒ Output is f(x, y)

Security of protocol: Alice’s view (incl. oracle queries) “doesn’t depend on” y. Bob’s view (incl. oracle queries) “doesn’t depend on” x. .

slide-35
SLIDE 35

proof: fbb ⇒ autoreducible

Given FBB protocol, construct M for autoreducibility: . . . .

π

. . .

π

. Alice . Bob . f . f .

· · ·

. f x y . f(x, y) . x . y .

(x, y)

. y . x . M Correctness of protocol:

⇒ Output is f(x, y)

Security of protocol:

⇒ Alice’s view (incl. oracle queries) “doesn’t depend on” y. ⇒ Bob’s view (incl. oracle queries) “doesn’t depend on” x.

.

slide-36
SLIDE 36

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from

  • t):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-37
SLIDE 37

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from

  • t):

. M .

(x, y)

. f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-38
SLIDE 38

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from

  • t):

. M .

(x, y)

. f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-39
SLIDE 39

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from

  • t):

. M . x y . f . f . f(x, y) . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-40
SLIDE 40

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from

  • t):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-41
SLIDE 41

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-42
SLIDE 42

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-43
SLIDE 43

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-44
SLIDE 44

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q .

. f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-45
SLIDE 45

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q .

. f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z Entire protocol treats f as black-box. Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-46
SLIDE 46

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f(q) .

f(q)

.

q?

. . q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box.

Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-47
SLIDE 47

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box.

Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-48
SLIDE 48

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

.

. q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box.

Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-49
SLIDE 49

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

.

. q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box.

Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-50
SLIDE 50

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f(q) .

f(q)

. z . z . z . z . z

◮ Entire protocol treats f as black-box.

Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-51
SLIDE 51

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box.

Protocol output is correct (when protocol is followed!) Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-52
SLIDE 52

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box. ◮ Protocol output is correct (when protocol is followed!)

Alice sees only output & M’s left oracle queries.

These “don’t depend on” Bob’s input y.

Bob’s sees only output & M’s right oracle queries.

These “don’t depend on” Alice’s input x.

.

slide-53
SLIDE 53

proof: autoreducible ⇒ fbb

Given M from autoreducibility, construct FBB protocol: . .

trusted party (from Fot):

. M . x y . f . f . f x y . . . . . Alice . Bob . x . y . x . y .

q?

. q . . f . f q .

f q

.

q?

. . q . f . f q .

f q

. z . z . z . z . z

◮ Entire protocol treats f as black-box. ◮ Protocol output is correct (when protocol is followed!) ◮ Alice sees only output & M’s left oracle queries.

◮ These “don’t depend on” Bob’s input y.

◮ Bob’s sees only output & M’s right oracle queries.

◮ These “don’t depend on” Alice’s input x.

.

slide-54
SLIDE 54

using the characterization:

.

Positive example

. . . . . . . . There is a class C that is 2-hiding autoreducible, but not learnable via

  • racle queries.

⇒ Non-trivial FBB secure computation! Class C is not especially interesting.

.

Negative example

. . . . . . . . Class of all PRFs is not 2-hiding autoreducible. Can’t securely evaluate PRFs in FBB way (Alice holds seed, Bob holds input) ... even against semi-honest adversaries. ... even with arbitrarily powerful trusted setup .

slide-55
SLIDE 55

using the characterization:

.

Positive example

. . . . . . . . There is a class C that is 2-hiding autoreducible, but not learnable via

  • racle queries.

⇒ Non-trivial FBB secure computation! Class C is not especially interesting.

.

Negative example

. . . . . . . . Class of all PRFs is not 2-hiding autoreducible. Can’t securely evaluate PRFs in FBB way (Alice holds seed, Bob holds input) ... even against semi-honest adversaries. ... even with arbitrarily powerful trusted setup .

slide-56
SLIDE 56

using the characterization:

.

Positive example

. . . . . . . . There is a class C that is 2-hiding autoreducible, but not learnable via

  • racle queries.

⇒ Non-trivial FBB secure computation! Class C is not especially interesting.

.

Negative example

. . . . . . . . Class of all PRFs is not 2-hiding autoreducible.

⇒ Can’t securely evaluate PRFs in FBB way (Alice holds seed, Bob holds

input) ... even against semi-honest adversaries. ... even with arbitrarily powerful trusted setup .

slide-57
SLIDE 57

malicious adversaries

.

slide-58
SLIDE 58

malicious adversaries

.

Definition

. . . . . . . . A class C is 1-hiding autoreducible if there exists efficient M:

  • 1. Mf(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to oracle “don’t depend on” (x, y)

Compare to “instance hiding” [BeaverFeigenbaum90] .

Theorem

. . . . . . . . If is 1-hiding autoreducible, then FBB secure computation of is possible against malicious adversaries. Proof sketch: Securely simulate M Send its oracle queries to both parties Securely check for agreement of oracle responses .

slide-59
SLIDE 59

malicious adversaries

.

Definition

. . . . . . . . A class C is 1-hiding autoreducible if there exists efficient M:

  • 1. Mf(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to oracle “don’t depend on” (x, y)

Compare to “instance hiding” [BeaverFeigenbaum90] .

Theorem

. . . . . . . . If C is 1-hiding autoreducible, then FBB secure computation of C is possible against malicious adversaries. Proof sketch: Securely simulate M Send its oracle queries to both parties Securely check for agreement of oracle responses .

slide-60
SLIDE 60

malicious adversaries

.

Definition

. . . . . . . . A class C is 1-hiding autoreducible if there exists efficient M:

  • 1. Mf(x, y) = f(x, y), for all f ∈ C
  • 2. M’s queries to oracle “don’t depend on” (x, y)

Compare to “instance hiding” [BeaverFeigenbaum90] .

Theorem

. . . . . . . . If C is 1-hiding autoreducible, then FBB secure computation of C is possible against malicious adversaries. Proof sketch:

◮ Securely simulate M ◮ Send its oracle queries to both parties ◮ Securely check for agreement of oracle responses

.

slide-61
SLIDE 61

wrap-up. . .

Also in the paper:

◮ Definition of FBB for more than just function evaluation ◮ Impossibility of ZK for membership in im(f), for f OWF

Summary: Definitions for MPC protocol that has “black-box usage of functionality” Characterizations based on autoreducibility It is possible to “evaluate f without knowing the code of f” ... but definitely not in general. .

slide-62
SLIDE 62

wrap-up. . .

Also in the paper:

◮ Definition of FBB for more than just function evaluation ◮ Impossibility of ZK for membership in im(f), for f OWF

Summary:

◮ Definitions for MPC protocol that has “black-box usage of

functionality”

◮ Characterizations based on autoreducibility ◮ It is possible to “evaluate f without knowing the code of f” ◮ ... but definitely not in general.

.

slide-63
SLIDE 63

.