Secure 2-Party Computation Lecture 14 Yao s Garbled Circuit - - PowerPoint PPT Presentation

secure 2 party computation
SMART_READER_LITE
LIVE PREVIEW

Secure 2-Party Computation Lecture 14 Yao s Garbled Circuit - - PowerPoint PPT Presentation

Secure 2-Party Computation Lecture 14 Yao s Garbled Circuit RECALL SIM-Secure MPC F F proto proto iface iface Secure (and correct) if: s.t. output of is distributed Env Env identically in REAL IDEAL REAL and


slide-1
SLIDE 1

Secure 2-Party Computation

Lecture 14 Yao’ s Garbled Circuit

slide-2
SLIDE 2

SIM-Secure MPC

Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL

proto proto

Env REAL

i’face i’face

Env IDEAL

F

F

RECALL

slide-3
SLIDE 3

Passive Adversary

Gets only read access to the internal state of the corrupted players (and can use that information in talking to environment) Also called “Honest-But-Curious” adversary Will require that simulator also corrupts passively Simplifies several cases e.g. coin-tossing [why?], commitment [coming up] Oddly, sometimes security against a passive adversary is more demanding than against an active adversary Active adversary: too pessimistic about what guarantee is available even in the IDEAL world e.g. 2-party SFE for OR, with output going to only one party (trivial against active adversary; impossible without computational assumptions against passive adversary) RECALL

slide-4
SLIDE 4

All 2 of them!

Oblivious Transfer

Pick one out of two, without revealing which

Intuitive property: transfer partial information “obliviously”

F

OT

W e P r e d i c t S T O C K S ! ! A A:up, B:down

I need just

  • ne

x0 x1

F

b x

b

But can’t tell you which

up

Sure

IDEAL World RECALL

slide-5
SLIDE 5

2-Party (Passive) Secure Function Evaluation

slide-6
SLIDE 6

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob

slide-7
SLIDE 7

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE

slide-8
SLIDE 8

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb

slide-9
SLIDE 9

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb Symmetric SFE: both parties get the same output

slide-10
SLIDE 10

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb Symmetric SFE: both parties get the same output e.g. f(x0,x1;b,z) = g(x0,x1;b,z) = xb⊕z [OT from this! How?]

slide-11
SLIDE 11

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb Symmetric SFE: both parties get the same output e.g. f(x0,x1;b,z) = g(x0,x1;b,z) = xb⊕z [OT from this! How?] General SFE from appropriate symmetric SFE [How?]

slide-12
SLIDE 12

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb Symmetric SFE: both parties get the same output e.g. f(x0,x1;b,z) = g(x0,x1;b,z) = xb⊕z [OT from this! How?] General SFE from appropriate symmetric SFE [How?] One-sided SFE: only one party gets any output

slide-13
SLIDE 13

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb Symmetric SFE: both parties get the same output e.g. f(x0,x1;b,z) = g(x0,x1;b,z) = xb⊕z [OT from this! How?] General SFE from appropriate symmetric SFE [How?] One-sided SFE: only one party gets any output Symmetric SFE from one-sided SFE (passive secure) [How?]

slide-14
SLIDE 14

2-Party (Passive) Secure Function Evaluation

Functionality takes (X;Y) and outputs f(X;Y) to Alice, g(X;Y) to Bob OT is an instance of 2-party SFE f(x0,x1;b) = none; g(x0,x1;b) = xb Symmetric SFE: both parties get the same output e.g. f(x0,x1;b,z) = g(x0,x1;b,z) = xb⊕z [OT from this! How?] General SFE from appropriate symmetric SFE [How?] One-sided SFE: only one party gets any output Symmetric SFE from one-sided SFE (passive secure) [How?] So, for passive security, enough to consider one-sided SFE

slide-15
SLIDE 15

2-Party Secure Function Evaluation

slide-16
SLIDE 16

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r)

slide-17
SLIDE 17

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r)

e.g., Noisy channel:
 Alice’ s input X, Bob’ s input none
 Bob’ s output: X, w/ prob 3/ 4 and 1-X w/ prob 1/ 4

slide-18
SLIDE 18

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r) Neither party should know r (beyond what is revealed by

  • utput)

e.g., Noisy channel:
 Alice’ s input X, Bob’ s input none
 Bob’ s output: X, w/ prob 3/ 4 and 1-X w/ prob 1/ 4

slide-19
SLIDE 19

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r) Neither party should know r (beyond what is revealed by

  • utput)

Evaluating f’(X,a;Y,b) := f(X;Y;a⊕b) with random a,b works

e.g., Noisy channel:
 Alice’ s input X, Bob’ s input none
 Bob’ s output: X, w/ prob 3/ 4 and 1-X w/ prob 1/ 4

slide-20
SLIDE 20

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r) Neither party should know r (beyond what is revealed by

  • utput)

Evaluating f’(X,a;Y,b) := f(X;Y;a⊕b) with random a,b works Note f’ is deterministic

e.g., Noisy channel:
 Alice’ s input X, Bob’ s input none
 Bob’ s output: X, w/ prob 3/ 4 and 1-X w/ prob 1/ 4

slide-21
SLIDE 21

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r) Neither party should know r (beyond what is revealed by

  • utput)

Evaluating f’(X,a;Y,b) := f(X;Y;a⊕b) with random a,b works Note f’ is deterministic For passive security, realizing deterministic, one-sided SFE enough for all SFE

e.g., Noisy channel:
 Alice’ s input X, Bob’ s input none
 Bob’ s output: X, w/ prob 3/ 4 and 1-X w/ prob 1/ 4

slide-22
SLIDE 22

2-Party Secure Function Evaluation

Randomized Functions: f(X;Y;r) Neither party should know r (beyond what is revealed by

  • utput)

Evaluating f’(X,a;Y,b) := f(X;Y;a⊕b) with random a,b works Note f’ is deterministic For passive security, realizing deterministic, one-sided SFE enough for all SFE Can we do “general” deterministic, one-sided SFE (i.e., for all functions)?

e.g., Noisy channel:
 Alice’ s input X, Bob’ s input none
 Bob’ s output: X, w/ prob 3/ 4 and 1-X w/ prob 1/ 4

slide-23
SLIDE 23

Boolean Circuits

1

slide-24
SLIDE 24

Boolean Circuits

Directed acyclic graph

1

slide-25
SLIDE 25

Boolean Circuits

Directed acyclic graph Nodes: AND, OR, NOT, CONST gates, inputs, output(s)

1

slide-26
SLIDE 26

Boolean Circuits

Directed acyclic graph Nodes: AND, OR, NOT, CONST gates, inputs, output(s) Edges: Boolean valued wires

1

slide-27
SLIDE 27

Boolean Circuits

Directed acyclic graph Nodes: AND, OR, NOT, CONST gates, inputs, output(s) Edges: Boolean valued wires Each wire comes out of a unique gate

1

slide-28
SLIDE 28

Boolean Circuits

Directed acyclic graph Nodes: AND, OR, NOT, CONST gates, inputs, output(s) Edges: Boolean valued wires Each wire comes out of a unique gate But a wire might fan-out

1

slide-29
SLIDE 29

Boolean Circuits

Directed acyclic graph Nodes: AND, OR, NOT, CONST gates, inputs, output(s) Edges: Boolean valued wires Each wire comes out of a unique gate But a wire might fan-out Acyclic: output well-defined

1

slide-30
SLIDE 30

Boolean Circuits

Directed acyclic graph Nodes: AND, OR, NOT, CONST gates, inputs, output(s) Edges: Boolean valued wires Each wire comes out of a unique gate But a wire might fan-out Acyclic: output well-defined Note: no memory gates

1

slide-31
SLIDE 31

Circuits and Functions

slide-32
SLIDE 32

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output)

slide-33
SLIDE 33

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0))

slide-34
SLIDE 34

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0)) Can convert any (“efficient”) program into a (“small”) circuit

slide-35
SLIDE 35

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0)) Can convert any (“efficient”) program into a (“small”) circuit Size of circuit: number of wires (as a function of number of input wires)

slide-36
SLIDE 36

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0)) Can convert any (“efficient”) program into a (“small”) circuit Size of circuit: number of wires (as a function of number of input wires) Can convert a truth-table into a circuit

00 01 10 11 00 01 1 10 1 1 11 1 1 1

slide-37
SLIDE 37

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0)) Can convert any (“efficient”) program into a (“small”) circuit Size of circuit: number of wires (as a function of number of input wires) Can convert a truth-table into a circuit Directly: circuit size exponential in input size

00 01 10 11 00 01 1 10 1 1 11 1 1 1

slide-38
SLIDE 38

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0)) Can convert any (“efficient”) program into a (“small”) circuit Size of circuit: number of wires (as a function of number of input wires) Can convert a truth-table into a circuit Directly: circuit size exponential in input size In general, finding a small/smallest circuit from truth-table is notoriously hard

00 01 10 11 00 01 1 10 1 1 11 1 1 1

slide-39
SLIDE 39

Circuits and Functions

e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x1x0, Y=y1y0: (x1 AND (NOT y1)) OR (NOT(x1 XOR y1) AND (x0 AND (NOT y0)) Can convert any (“efficient”) program into a (“small”) circuit Size of circuit: number of wires (as a function of number of input wires) Can convert a truth-table into a circuit Directly: circuit size exponential in input size In general, finding a small/smallest circuit from truth-table is notoriously hard Often problems already described as succinct programs/circuits

00 01 10 11 00 01 1 10 1 1 11 1 1 1

slide-40
SLIDE 40

2-Party SFE using General Circuits

slide-41
SLIDE 41

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit

slide-42
SLIDE 42

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets

  • utputs
slide-43
SLIDE 43

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets

  • utputs

Either party maybe corrupted passively

slide-44
SLIDE 44

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets

  • utputs

Either party maybe corrupted passively Consider evaluating OR (single gate circuit)

1 1 1 1 1

slide-45
SLIDE 45

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets

  • utputs

Either party maybe corrupted passively Consider evaluating OR (single gate circuit) Alice holds x=a, Bob has y=b; Bob should get OR(x,y)

1 1 1 1 1

slide-46
SLIDE 46

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets

  • utputs

Either party maybe corrupted passively Consider evaluating OR (single gate circuit) Alice holds x=a, Bob has y=b; Bob should get OR(x,y) Can use Oblivious Transfer

1 1 1 1 1

slide-47
SLIDE 47

2-Party SFE using General Circuits

“General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets

  • utputs

Either party maybe corrupted passively Consider evaluating OR (single gate circuit) Alice holds x=a, Bob has y=b; Bob should get OR(x,y) Can use Oblivious Transfer Any ideas?

1 1 1 1 1

slide-48
SLIDE 48

A Physical Protocol

1 1 1 1 1

slide-49
SLIDE 49

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1

1 1 1 1 1

slide-50
SLIDE 50

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1

1 1 1 00 11 01 10 1 1 1 1 1

slide-51
SLIDE 51

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1

1 1 1 00 11 01 10 1 1 1 1 1 1 1

slide-52
SLIDE 52

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box)

1 1 1 00 11 01 10 1 1 1 1 1 1 1

slide-53
SLIDE 53

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box)

1 1 1 00 11 01 10 1 1 1 1 1 1 1

slide-54
SLIDE 54

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box)

1 1 1 00 11 01 10 1 1 1 1 1 1 1 1 1 1 1

slide-55
SLIDE 55

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx).

1 1 1 00 11 01 10 1 1 1 1 1 1 1 1 1 1 1

slide-56
SLIDE 56

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx).

1 1 1 1 1 1 1 1 1 1

slide-57
SLIDE 57

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx).

1 1 1 1 1 1 1 1 1 1

slide-58
SLIDE 58

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx).

1 1 1 1 1 1 1 1 1 1

slide-59
SLIDE 59

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx). So far Bob gets no information

1 1 1 1 1 1 1 1 1 1

slide-60
SLIDE 60

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx). So far Bob gets no information Bob “obliviously picks up” Ky=b, and tries the two keys Kx,Ky=b on the four boxes. For one box both locks open and he gets the output.

1 1 1 1 1 1 1 1 1 1

slide-61
SLIDE 61

A Physical Protocol

Alice prepares 4 boxes Bxy corresponding to 4 possible input scenarios, and 4 padlocks/keys Kx=0, Kx=1, Ky=0 and Ky=1 Inside Bxy=ab she places the bit OR(a,b) and locks it with two padlocks Kx=a and Ky=b (need to open both to open the box) She un-labels the four boxes and sends them in random order to Bob. Also sends the key Kx=a (labeled only as Kx). So far Bob gets no information Bob “obliviously picks up” Ky=b, and tries the two keys Kx,Ky=b on the four boxes. For one box both locks open and he gets the output.

1 1 1 1 1 1 1 1 1 1 b

F

slide-62
SLIDE 62

A Physical Protocol

1 1 1 1 1 1 1 1 1 1 b

F

slide-63
SLIDE 63

A Physical Protocol

Secure?

1 1 1 1 1 1 1 1 1 1 b

F

slide-64
SLIDE 64

A Physical Protocol

Secure? For curious Alice: only influence from Bob is when he picks up his key Ky=b

1 1 1 1 1 1 1 1 1 1 b

F

slide-65
SLIDE 65

A Physical Protocol

Secure? For curious Alice: only influence from Bob is when he picks up his key Ky=b But this is done “obliviously”, and so she learns nothing

1 1 1 1 1 1 1 1 1 1 b

F

slide-66
SLIDE 66

A Physical Protocol

Secure? For curious Alice: only influence from Bob is when he picks up his key Ky=b But this is done “obliviously”, and so she learns nothing For curious Bob: Everything is predictable (i.e., simulatable), given the final outcome

1 1 1 1 1 1 1 1 1 1 b

F

slide-67
SLIDE 67

A Physical Protocol

Secure? For curious Alice: only influence from Bob is when he picks up his key Ky=b But this is done “obliviously”, and so she learns nothing For curious Bob: Everything is predictable (i.e., simulatable), given the final outcome What Bob sees: Ky opens a lock in two boxes, Kx opens a lock in two boxes; only one random box fully opens. It has the outcome.

1 1 1 1 1 1 1 1 1 1 b

F

slide-68
SLIDE 68

A Physical Protocol

Secure? For curious Alice: only influence from Bob is when he picks up his key Ky=b But this is done “obliviously”, and so she learns nothing For curious Bob: Everything is predictable (i.e., simulatable), given the final outcome What Bob sees: Ky opens a lock in two boxes, Kx opens a lock in two boxes; only one random box fully opens. It has the outcome. Note when y=1, cases x=0 and x=1 appear same

1 1 1 1 1 1 1 1 1 1 b

F

slide-69
SLIDE 69

A Physical Protocol

Secure? For curious Alice: only influence from Bob is when he picks up his key Ky=b But this is done “obliviously”, and so she learns nothing For curious Bob: Everything is predictable (i.e., simulatable), given the final outcome What Bob sees: Ky opens a lock in two boxes, Kx opens a lock in two boxes; only one random box fully opens. It has the outcome. Note when y=1, cases x=0 and x=1 appear same Formally, easy to simulate (can stuff unopenable boxes arbitrarily)

1 1 1 1 1 1 1 1 1 1 b

F

slide-70
SLIDE 70

Larger Circuits

slide-71
SLIDE 71

Larger Circuits

slide-72
SLIDE 72

Larger Circuits

Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate

slide-73
SLIDE 73

Larger Circuits

Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate

slide-74
SLIDE 74

Larger Circuits

Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

slide-75
SLIDE 75

Larger Circuits

1 1 1

Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

slide-76
SLIDE 76

Larger Circuits

Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1

slide-77
SLIDE 77

Larger Circuits

For each gate G with input wires (u,v) and output wire w, prepare 4 boxes Buv and place Kw=G(a,b) inside box Buv=ab. Lock Buv=ab with keys Ku=a and Kv=b Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1

slide-78
SLIDE 78

Larger Circuits

For each gate G with input wires (u,v) and output wire w, prepare 4 boxes Buv and place Kw=G(a,b) inside box Buv=ab. Lock Buv=ab with keys Ku=a and Kv=b Give to Bob: Boxes for each gate, one key for each of Alice’ s input wires Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1

slide-79
SLIDE 79

Larger Circuits

For each gate G with input wires (u,v) and output wire w, prepare 4 boxes Buv and place Kw=G(a,b) inside box Buv=ab. Lock Buv=ab with keys Ku=a and Kv=b Give to Bob: Boxes for each gate, one key for each of Alice’ s input wires Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1

slide-80
SLIDE 80

Larger Circuits

For each gate G with input wires (u,v) and output wire w, prepare 4 boxes Buv and place Kw=G(a,b) inside box Buv=ab. Lock Buv=ab with keys Ku=a and Kv=b Give to Bob: Boxes for each gate, one key for each of Alice’ s input wires Obliviously: one key for each of Bob’ s input wires Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1

slide-81
SLIDE 81

Larger Circuits

For each gate G with input wires (u,v) and output wire w, prepare 4 boxes Buv and place Kw=G(a,b) inside box Buv=ab. Lock Buv=ab with keys Ku=a and Kv=b Give to Bob: Boxes for each gate, one key for each of Alice’ s input wires Obliviously: one key for each of Bob’ s input wires Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1 b b b

F F F

slide-82
SLIDE 82

Larger Circuits

For each gate G with input wires (u,v) and output wire w, prepare 4 boxes Buv and place Kw=G(a,b) inside box Buv=ab. Lock Buv=ab with keys Ku=a and Kv=b Give to Bob: Boxes for each gate, one key for each of Alice’ s input wires Obliviously: one key for each of Bob’ s input wires Boxes for output gates have values instead of keys Idea: For each gate in the circuit Alice will prepare locked boxes, but will use it to keep keys for the next gate For each wire w in the circuit (i.e., input wires, or output of a gate) pick 2 keys Kw=0 and Kw=1

1 1 1 b b b

F F F

slide-83
SLIDE 83

Larger Circuits

1 1 1 b b b

F F F

slide-84
SLIDE 84

Evaluation: Bob gets one key for each input wire of a gate, opens one box for the gate, gets one key for the

  • utput wire, and proceeds

Larger Circuits

1 1 1 b b b

F F F

slide-85
SLIDE 85

Evaluation: Bob gets one key for each input wire of a gate, opens one box for the gate, gets one key for the

  • utput wire, and proceeds

Gets output from a box in the output gate

Larger Circuits

1 1 1 b b b

F F F

slide-86
SLIDE 86

Evaluation: Bob gets one key for each input wire of a gate, opens one box for the gate, gets one key for the

  • utput wire, and proceeds

Gets output from a box in the output gate Security similar to before

Larger Circuits

1 1 1 b b b

F F F

slide-87
SLIDE 87

Evaluation: Bob gets one key for each input wire of a gate, opens one box for the gate, gets one key for the

  • utput wire, and proceeds

Gets output from a box in the output gate Security similar to before Curious Alice sees nothing (as Bob picks up keys

  • bliviously)

Larger Circuits

1 1 1 b b b

F F F

slide-88
SLIDE 88

Evaluation: Bob gets one key for each input wire of a gate, opens one box for the gate, gets one key for the

  • utput wire, and proceeds

Gets output from a box in the output gate Security similar to before Curious Alice sees nothing (as Bob picks up keys

  • bliviously)

Everything is simulatable for curious Bob given final

  • utput: Bob could prepare boxes and keys (stuffing

unopenable boxes arbitrarily); for an output gate, place the output bit in the box that opens

Larger Circuits

1 1 1 b b b

F F F

slide-89
SLIDE 89

Garbled Circuit

slide-90
SLIDE 90

Garbled Circuit

That was too physical!

slide-91
SLIDE 91

Garbled Circuit

That was too physical! Yao’ s Garbled circuit: boxes/keys replaced by IND-CPA secure SKE (i.e., using PRF , and independent randomness when key reused)

slide-92
SLIDE 92

Garbled Circuit

That was too physical! Yao’ s Garbled circuit: boxes/keys replaced by IND-CPA secure SKE (i.e., using PRF , and independent randomness when key reused) Double lock: EncKx(EncKy(m))

slide-93
SLIDE 93

Garbled Circuit

That was too physical! Yao’ s Garbled circuit: boxes/keys replaced by IND-CPA secure SKE (i.e., using PRF , and independent randomness when key reused) Double lock: EncKx(EncKy(m)) Need proof to ensure that this suffices for indistinguishability

  • f simulation. (In fact, one-time-like security for Enc suffices)
slide-94
SLIDE 94

Garbled Circuit

That was too physical! Yao’ s Garbled circuit: boxes/keys replaced by IND-CPA secure SKE (i.e., using PRF , and independent randomness when key reused) Double lock: EncKx(EncKy(m)) Need proof to ensure that this suffices for indistinguishability

  • f simulation. (In fact, one-time-like security for Enc suffices)

Oblivious Transfer: We already saw for one bit (using T-OWP); with passive adversaries, just repeat bit-OT several times to transfer longer keys

slide-95
SLIDE 95

Garbled Circuit

That was too physical! Yao’ s Garbled circuit: boxes/keys replaced by IND-CPA secure SKE (i.e., using PRF , and independent randomness when key reused) Double lock: EncKx(EncKy(m)) Need proof to ensure that this suffices for indistinguishability

  • f simulation. (In fact, one-time-like security for Enc suffices)

Oblivious Transfer: We already saw for one bit (using T-OWP); with passive adversaries, just repeat bit-OT several times to transfer longer keys Can we really compose? Yes, for passive security.

slide-96
SLIDE 96

Today

slide-97
SLIDE 97

Today

2-Party SFE secure against passive adversaries

slide-98
SLIDE 98

Today

2-Party SFE secure against passive adversaries Yao’ s Garbled Circuit

slide-99
SLIDE 99

Today

2-Party SFE secure against passive adversaries Yao’ s Garbled Circuit Using OT and IND-CPA encryption

slide-100
SLIDE 100

Today

2-Party SFE secure against passive adversaries Yao’ s Garbled Circuit Using OT and IND-CPA encryption OT using TOWP

slide-101
SLIDE 101

Today

2-Party SFE secure against passive adversaries Yao’ s Garbled Circuit Using OT and IND-CPA encryption OT using TOWP Composition (implicitly)

slide-102
SLIDE 102

Today

2-Party SFE secure against passive adversaries Yao’ s Garbled Circuit Using OT and IND-CPA encryption OT using TOWP Composition (implicitly) Coming up: Zero-Knowledge proofs and general multi-party computation, more protocols (for different settings). Universal Composition