secure multi party computation
play

Secure Multi-Party Computation Lecture 17 GMW & BGW Protocols - PowerPoint PPT Presentation

Secure Multi-Party Computation Lecture 17 GMW & BGW Protocols MPC Protocols MPC Protocols Yao s Garbled Circuit : 2-Party SFE secure against passive adversaries MPC Protocols Yao s Garbled Circuit : 2-Party SFE secure against


  1. Secure Multi-Party Computation Lecture 17 GMW & BGW Protocols

  2. MPC Protocols

  3. MPC Protocols Yao’ s Garbled Circuit : 2-Party SFE secure against passive adversaries

  4. MPC Protocols Yao’ s Garbled Circuit : 2-Party SFE secure against passive adversaries Using OT and PRG

  5. MPC Protocols Yao’ s Garbled Circuit : 2-Party SFE secure against passive adversaries Using OT and PRG Today

  6. MPC Protocols Yao’ s Garbled Circuit : 2-Party SFE secure against passive adversaries Using OT and PRG Today Passive-secure GMW protocol: Generalizes to any number of parties, uses OT only

  7. MPC Protocols Yao’ s Garbled Circuit : 2-Party SFE secure against passive adversaries Using OT and PRG Today Passive-secure GMW protocol: Generalizes to any number of parties, uses OT only Passive-secure BGW protocol: Doesn’ t even use OT, but relies on honest-majority

  8. MPC Protocols Yao’ s Garbled Circuit : 2-Party SFE secure against passive adversaries Using OT and PRG Today Passive-secure GMW protocol: Generalizes to any number of parties, uses OT only Passive-secure BGW protocol: Doesn’ t even use OT, but relies on honest-majority Going from passive to active security

  9. Basic GMW

  10. Basic GMW Adapted from the famous Goldreich-Micali-Wigderson (1987) protocol (by Goldreich-Vainish, Haber-Micali,…)

  11. Basic GMW Adapted from the famous Goldreich-Micali-Wigderson (1987) protocol (by Goldreich-Vainish, Haber-Micali,…) Idea: Evaluate a circuit with wire values secured using (linear) secret-sharing

  12. Recall Secret-Sharing

  13. Recall Secret-Sharing Fix any “secret” s. Let a, b be random conditioned on s = a + b. (All elements from a finite field.)

  14. Recall Secret-Sharing Fix any “secret” s. Let a, b be random conditioned on s = a + b. (All elements from a finite field.) Each of a, b by itself carries no information about s. (e.g., can pick a at random, set b = s - a.)

  15. Recall Secret-Sharing Fix any “secret” s. Let a, b be random conditioned on s = a + b. (All elements from a finite field.) Each of a, b by itself carries no information about s. (e.g., can pick a at random, set b = s - a.) Will write [s] 1 and [s] 2 to denote shares of s

  16. Computing on Shares

  17. Computing on Shares Let gates be + & ⨉ (XOR & AND for Boolean circuits)

  18. Computing on Shares Let gates be + & ⨉ (XOR & AND for Boolean circuits) Plan: shares of each wire value will be computed, with Alice holding one share and Bob the other. At the end, Alice sends her share of output wire to Bob. u v [u] 1 [v] 1 [u] 2 [v] 2

  19. Computing on Shares Let gates be + & ⨉ (XOR & AND for Boolean circuits) Plan: shares of each wire value will be computed, with Alice holding one share and Bob the other. At the end, Alice sends her share of output wire to Bob. [w] 1 [w] 2 u v [u] 1 [v] 1 [u] 2 [v] 2

  20. Computing on Shares Let gates be + & ⨉ (XOR & AND for Boolean circuits) Plan: shares of each wire value will be computed, with Alice holding one share and Bob the other. At the end, Alice sends her share of output wire to Bob. w [w] 1 [w] 2 u v [u] 1 [v] 1 [u] 2 [v] 2

  21. Computing on Shares Let gates be + & ⨉ (XOR & AND for Boolean circuits) Plan: shares of each wire value will be computed, with Alice holding one share and Bob the other. At the end, Alice sends her share of output wire to Bob. w = u + v : Each one locally computes [w] i = [u] i + [v] i w [w] 1 [w] 2 + u v [u] 1 [v] 1 [u] 2 [v] 2

  22. Computing on Shares Let gates be + & ⨉ (XOR & AND for Boolean circuits) Plan: shares of each wire value will be computed, with Alice holding one share and Bob the other. At the end, Alice sends her share of output wire to Bob. w = u + v : Each one locally computes [w] i = [u] i + [v] i w [w] 1 [w] 2 + + + u v [u] 1 [v] 1 [u] 2 [v] 2

  23. Computing on Shares w ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  24. Computing on Shares What about w = u ⨉ v ? w ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  25. Computing on Shares What about w = u ⨉ v ? Want [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) w ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  26. Computing on Shares What about w = u ⨉ v ? Want [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Alice picks [w] 1 . Can let Bob compute [w] 2 using the naive protocol for small functions w ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  27. Computing on Shares What about w = u ⨉ v ? Want [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Alice picks [w] 1 . Can let Bob compute [w] 2 using the naive protocol for small functions w [w] 1 ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  28. Computing on Shares What about w = u ⨉ v ? Want [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Alice picks [w] 1 . Can let Bob compute [w] 2 using the naive protocol for small functions F w [w] 1 ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  29. Computing on Shares What about w = u ⨉ v ? Want [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Alice picks [w] 1 . Can let Bob compute [w] 2 using the naive protocol for small functions F w [w] 1 [w] 2 ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  30. Computing on Shares What about w = u ⨉ v ? Want [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Alice picks [w] 1 . Can let Bob compute [w] 2 using the naive protocol for small functions Bob’ s input is ([u] 2 ,[v] 2 ). Over the binary field, this requires a single 1-out-of-4 OT. F w [w] 1 [w] 2 ⨉ u v [u] 1 [v] 1 [u] 2 [v] 2

  31. GMW: many parties

  32. GMW: many parties m-way sharing: s = [s] 1 +…+ [s] m Allows security against arbitrary number of corruptions

  33. GMW: many parties m-way sharing: s = [s] 1 +…+ [s] m Allows security against arbitrary number of Addition, local as before corruptions

  34. GMW: many parties m-way sharing: s = [s] 1 +…+ [s] m Allows security against arbitrary number of Addition, local as before corruptions Multiplication: For w = u ⨉ v 
 [w] 1 +..+ [w] m = ( [u] 1 +..+ [u] m ) ⨉ ( [v] 1 +..+ [v] m ) Party i computes [u] i [v] i For every pair (i,j), i ≠ j, Party i picks random a ij and lets Party j securely compute b ij s.t. a ij + b ij = [u] i [v] j using the naive protocol (a single 1-out-of-2 OT) Party i sets [w] i = [u] i [v] i + Σ j ( a ij + b ji )

  35. GMW: with active corruption Original GMW approach: Use Zero Knowledge proofs (next time) to force the parties to run the protocol honestly Needs (passive-secure) OT to be implemented using a protocol Alternate constructions give information-theoretic reduction to OT, starting from passive-secure GMW Recent approach: pre-compile the circuit

  36. Passive-Secure GMW: Closer Look

  37. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 )

  38. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Computing shares a 12 , b 12 s.t. a 12 + b 12 = [u] 1 ⋅ [v] 2 :

  39. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Computing shares a 12 , b 12 s.t. a 12 + b 12 = [u] 1 ⋅ [v] 2 : Alice picks a 12 and sends (-a 12 , [u] 1 -a 12 ) to OT. Bob sends [v] 2 to OT.

  40. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Computing shares a 12 , b 12 s.t. a 12 + b 12 = [u] 1 ⋅ [v] 2 : Alice picks a 12 and sends (-a 12 , [u] 1 -a 12 ) to OT. Bob sends [v] 2 to OT. What if Alice sends arbitrary (x,y) to OT? Effectively, setting a 12 = -x, [u] 1 ’ = y-x.

  41. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Computing shares a 12 , b 12 s.t. a 12 + b 12 = [u] 1 ⋅ [v] 2 : Alice picks a 12 and sends (-a 12 , [u] 1 -a 12 ) to OT. Bob sends [v] 2 to OT. What if Alice sends arbitrary (x,y) to OT? Effectively, setting a 12 = -x, [u] 1 ’ = y-x. What Bob sends to OT is [v] 2 ’

  42. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Computing shares a 12 , b 12 s.t. a 12 + b 12 = [u] 1 ⋅ [v] 2 : Alice picks a 12 and sends (-a 12 , [u] 1 -a 12 ) to OT. Bob sends [v] 2 to OT. What if Alice sends arbitrary (x,y) to OT? Effectively, setting a 12 = -x, [u] 1 ’ = y-x. What Bob sends to OT is [v] 2 ’ i.e., arbitrary behavior of Alice & Bob while sharing [u] 1 ⋅ [v] 2 correspond to them locally changing their shares [u] 1 and [v] 2

  43. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Arbitrary behavior of Alice while sharing [u] 1 ⋅ [v] 2 and [u] 2 ⋅ [v] 1 corresponds to her locally changing her shares of u and v

  44. Passive-Secure GMW: Closer Look Multiplication: [w] 1 + [w] 2 = ( [u] 1 + [u] 2 ) ⨉ ( [v] 1 + [v] 2 ) Arbitrary behavior of Alice while sharing [u] 1 ⋅ [v] 2 and [u] 2 ⋅ [v] 1 corresponds to her locally changing her shares of u and v Alice changing her share from [u] 1 to [u] 1 ’ is effectively changing u to u+ Δ u , where Δ u = [u] 1 ’ - [u] 1 depends only on her own view

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