secure 2 party computation
play

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


  1. 2-Party SFE Can reduce any SFE (even randomized) to a single-output deterministic SFE f’(X, M, r 1 ; Y, r 2 ) = ( g(X; Y; r 1 ⊕ r 2 ) ⊕ M, f(X; Y; r 1 ⊕ r 2 ) ). Compute f’(X, M, r 1 ; Y, r 2 ) with random M, r 1 , r 2 Bob sends g(X, Y; r 1 ⊕ r 2 ) ⊕ M to Alice Passive secure For active security, f’ authenticates (one-time MAC) as well as encrypts g(X; Y; r 1 ⊕ r 2 ) using keys input by Alice Generalizes to more than 2 parties Can reduce any single-output deterministic SFE to OT!

  2. “Completeness” of OT

  3. “Completeness” of OT Can reduce any single-output deterministic SFE to OT!

  4. “Completeness” of OT Can reduce any single-output deterministic SFE to OT! No computational assumptions needed

  5. “Completeness” of OT Can reduce any single-output deterministic SFE to OT! No computational assumptions needed For passive security

  6. “Completeness” of OT Can reduce any single-output deterministic SFE to OT! No computational assumptions needed For passive security Proof of concept for 2 parties: An inefficient reduction

  7. “Completeness” of OT Can reduce any single-output deterministic SFE to OT! No computational assumptions needed For passive security Proof of concept for 2 parties: An inefficient reduction Yao’ s garbled circuit for 2 parties

  8. “Completeness” of OT Can reduce any single-output deterministic SFE to OT! No computational assumptions needed For passive security Proof of concept for 2 parties: An inefficient reduction Yao’ s garbled circuit for 2 parties “Basic GMW”: Information-theoretic reduction to OT (next time)

  9. “Completeness” of OT Can reduce any single-output deterministic SFE to OT! No computational assumptions needed For passive security Proof of concept for 2 parties: An inefficient reduction Yao’ s garbled circuit for 2 parties “Basic GMW”: Information-theoretic reduction to OT (next time) Fact: OT is complete even for active security

  10. “Completeness” of OT: 
 Proof of Concept Single-output 2-party function f Alice (who knows x, but not y) prepares a table for 
 f(x, ⋅ ) with N = 2 |y| entries (one for each y) Bob uses y to decide which entry in the table to pick up using 1-out-of-N OT (without learning the other entries)

  11. “Completeness” of OT: 
 Proof of Concept Single-output 2-party function f Alice (who knows x, but not y) prepares a table for 
 f(x, ⋅ ) with N = 2 |y| entries (one for each y) Bob uses y to decide which entry in the table to pick up using 1-out-of-N OT (without learning the other entries) Bob learns only f(x,y) (in addition to y). Alice learns nothing beyond x.

  12. “Completeness” of OT: 
 Proof of Concept Single-output 2-party function f Alice (who knows x, but not y) prepares a table for 
 f(x, ⋅ ) with N = 2 |y| entries (one for each y) Bob uses y to decide which entry in the table to pick up using 1-out-of-N OT (without learning the other entries) Bob learns only f(x,y) (in addition to y). Alice learns nothing beyond x. Problem: N is exponentially large in |y|

  13. Functions as 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 0 1

  14. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  15. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  16. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  17. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  18. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  19. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  20. Functions as 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 Can evaluate wires according to a topologically sorted order of gates 0 1 they come out of

  21. Functions as Circuits

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

  23. Functions as Circuits e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x 1 x 0 , Y=y 1 y 0 : 00 01 10 11 (x 1 ∧ ¬y 1 ) ∨ (¬(x 1 ⊕ y 1 ) ∧ (x 0 ∧ ¬y 0 ) 00 0 0 0 0 01 1 0 0 0 10 1 1 0 0 11 1 1 1 0

  24. Functions as Circuits e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x 1 x 0 , Y=y 1 y 0 : 00 01 10 11 (x 1 ∧ ¬y 1 ) ∨ (¬(x 1 ⊕ y 1 ) ∧ (x 0 ∧ ¬y 0 ) 00 0 0 0 0 01 1 0 0 0 Can directly convert a truth-table 
 10 1 1 0 0 into a circuit, but circuit size 
 11 1 1 1 0 exponential in input size

  25. Functions as Circuits e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x 1 x 0 , Y=y 1 y 0 : 00 01 10 11 (x 1 ∧ ¬y 1 ) ∨ (¬(x 1 ⊕ y 1 ) ∧ (x 0 ∧ ¬y 0 ) 00 0 0 0 0 01 1 0 0 0 Can directly convert a truth-table 
 10 1 1 0 0 into a circuit, but circuit size 
 11 1 1 1 0 exponential in input size Can convert any (“efficient”) program into 
 a (“small”) circuit

  26. Functions as Circuits e.g.: OR (single gate, 2 input bits, 1 bit output) e.g.: X > Y for two bit inputs X=x 1 x 0 , Y=y 1 y 0 : 00 01 10 11 (x 1 ∧ ¬y 1 ) ∨ (¬(x 1 ⊕ y 1 ) ∧ (x 0 ∧ ¬y 0 ) 00 0 0 0 0 01 1 0 0 0 Can directly convert a truth-table 
 10 1 1 0 0 into a circuit, but circuit size 
 11 1 1 1 0 exponential in input size Can convert any (“efficient”) program into 
 a (“small”) circuit Interesting problems already given as succinct programs/circuits

  27. 2-Party SFE for 
 General Circuits

  28. 2-Party SFE for 
 General Circuits “General”: evaluate any arbitrary circuit

  29. 2-Party SFE for 
 General Circuits “General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets outputs

  30. 2-Party SFE for 
 General Circuits “General”: evaluate any arbitrary circuit One-sided output: both parties give inputs, one party gets outputs Either party maybe corrupted passively

  31. 2-Party SFE for 
 General Circuits 0 1 0 0 1 “General”: evaluate any arbitrary circuit 1 1 1 One-sided output: both parties give inputs, one party gets outputs Either party maybe corrupted passively Consider evaluating OR (single gate circuit)

  32. 2-Party SFE for 
 General Circuits 0 1 0 0 1 “General”: evaluate any arbitrary circuit 1 1 1 One-sided output: both parties give inputs, one party gets outputs 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)

  33. A Physical Protocol 0 1 0 0 1 1 1 1

  34. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1

  35. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1 11 1 00 0 10 1 01 1

  36. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1 11 1 00 0 10 1 01 1 0 1 0 1

  37. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1 11 Inside B xy=ab she places the bit OR(a,b) and locks it 1 with two padlocks K x=a and K y=b (need to open both to open the box) 00 0 10 1 01 1 0 1 0 1

  38. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1 11 Inside B xy=ab she places the bit OR(a,b) and locks it 1 with two padlocks K x=a and K y=b (need to open both to open the box) 00 0 10 1 0 0 01 1 0 1 0 1

  39. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1 11 Inside B xy=ab she places the bit OR(a,b) and locks it 1 with two padlocks K x=a and K y=b (need to open both to open the box) 1 1 00 0 10 1 0 0 1 0 01 1 0 1 0 1 0 1

  40. A Physical Protocol Alice prepares 4 boxes B xy corresponding to 4 0 1 possible input scenarios, and 4 padlocks/keys K x=0 , 0 0 1 K x=1 , K y=0 and K y=1 1 1 1 11 Inside B xy=ab she places the bit OR(a,b) and locks it 1 with two padlocks K x=a and K y=b (need to open both to open the box) 1 1 00 0 10 She un-labels the four boxes and sends them in 1 random order to Bob. Also sends the key K x=a 0 0 (labeled only as K x ). 1 0 01 1 0 1 0 1 0 1

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

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

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

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

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

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

  47. A Physical Protocol 0 1 0 0 1 1 1 1 1 0 1 1 0 1 F b 0 1

  48. A Physical Protocol 0 1 Secure? 0 0 1 1 1 1 1 0 1 1 0 1 F b 0 1

  49. A Physical Protocol 0 1 Secure? 0 0 1 1 1 1 For curious Alice: only influence from Bob is when he picks up his key K y=b 1 0 1 1 0 1 F b 0 1

  50. A Physical Protocol 0 1 Secure? 0 0 1 1 1 1 For curious Alice: only influence from Bob is when he picks up his key K y=b 1 But this is done “obliviously”, so she learns nothing 0 1 1 0 1 F b 0 1

  51. A Physical Protocol 0 1 Secure? 0 0 1 1 1 1 For curious Alice: only influence from Bob is when he picks up his key K y=b 1 But this is done “obliviously”, so she learns nothing 0 For curious Bob: What he sees is predictable (i.e., 1 simulatable), given the final outcome 1 0 1 F b 0 1

  52. A Physical Protocol 0 1 Secure? 0 0 1 1 1 1 For curious Alice: only influence from Bob is when he picks up his key K y=b 1 But this is done “obliviously”, so she learns nothing 0 For curious Bob: What he sees is predictable (i.e., 1 simulatable), given the final outcome What Bob sees: His key opens K y in two boxes, 1 Alice’ s opens K x in two boxes; only one random box fully opens. It has the outcome. 0 1 F b 0 1

  53. A Physical Protocol 0 1 Secure? 0 0 1 1 1 1 For curious Alice: only influence from Bob is when he picks up his key K y=b 1 But this is done “obliviously”, so she learns nothing 0 For curious Bob: What he sees is predictable (i.e., 1 simulatable), given the final outcome What Bob sees: His key opens K y in two boxes, 1 Alice’ s opens K x 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 0 1 F b 0 1

  54. Larger Circuits

  55. Larger Circuits

  56. 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

  57. 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

  58. 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 K w=0 and K w=1

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

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

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

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

Recommend


More recommend