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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend