privacy preserving outsourcing by distributed verifiable
play

Privacy-Preserving Outsourcing by Distributed Verifiable - PowerPoint PPT Presentation

Privacy-Preserving Outsourcing by Distributed Verifiable Computation Meilof Veeningen Philips Research MPC 2016, Aarhus, May 30 2016 2 Philips Research 3 Philips Research 4 Philips Research 5 Philips Research 6 Philips Research


  1. Privacy-Preserving Outsourcing by Distributed Verifiable Computation Meilof Veeningen Philips Research MPC 2016, Aarhus, May 30 2016

  2. 2 Philips Research

  3. 3 Philips Research

  4. 4 Philips Research

  5. 5 Philips Research

  6. 6 Philips Research

  7. Outsourcing Computations on Sensitive Data (I) f(x) x privacy? correctness? 7 Philips Research

  8. Outsourcing Computations on Sensitive Data (I) secure multiparty computation Can we achieve correctness even if all workers are corrupted? 𝑔(𝑦) " 𝑔(𝑦) # 𝑔(𝑦) $ Jakobsen, Nielsen, Orlandi (CCSW ’14): 𝑦 " 𝑦 # 𝑦 $ privacy and correctness with π‘œ βˆ’ 1 actively corrupted workers 8 Philips Research

  9. Outsourcing & Correctness (But No Privacy) 9 Philips Research

  10. Privacy + Correctness: A Generic Construction 𝑧, Proof(𝑧 = 𝑔 𝑦 ) " 𝑧 = 𝑔(𝑦) " 𝑧 = 𝑔(𝑦) # 𝑧, Proof(𝑧 = 𝑔 𝑦 ) # 𝑧,Proof(𝑧 = 𝑔 𝑦 ) $ 𝑧 = 𝑔(𝑦) $ 𝑦 " 𝑦 # 𝑦 $ Question: can we efficiently Privacy: same as MPC construct these proofs with protocol used multi-party computation? Correctness: always! 10 Philips Research

  11. Privacy + Correctness: Previous Work Preprocessing Paillier ZK 𝑦 , 𝑧 , 𝑦𝑧 ElGamal + 𝑕 3 , 𝑕 4 , 𝑕 34 NIZK openings Certificate Validation … Universally Verifiable CDN (de Hoogh/Schoenmakers/V.) (de Hoogh/Schoenmakers/V.) Publicly Auditable SPDZ (Baum/DamgΓ₯rd/Orlandi) Verification effort scales in computation size! Reason: existing work takes MPC as starting point! 11 Philips Research

  12. Privacy + Correctness: Previous Work β€’ Instead of 𝑧, Proof(𝑧 = 𝑔 𝑦 ) " : – Baum/DamgΓ₯rd/Orlandi: SPDZ + Pedersen commitments = SPDZ’ – de Hoogh/Schoenmakers/Veeningen: CDN + non-interactive proofs = CDN’ – de Hoogh/Schoenmakers/Veeningen: CDN’ + ElGamal encryption = CDN’’ β€’ Because of MPC starting point, no efficient verification! 12 Philips Research

  13. Today: 𝑧, Proof(𝑧 = 𝑔 𝑦 ) can be efficient! 𝑧, PinocchioVC(𝑧 = 𝑔 𝑦 ) " 𝑧, PinocchioVC(𝑧 = 𝑔 𝑦 ) # 𝑧, PinocchioVC(𝑧 = 𝑔 𝑦 ) $ Theorem. (Schoenmakers/V/de 𝑦 " 𝑦 # Vreede, ACNS β€˜16) Privacy-preserving 𝑦 $ computation of Pinocchio VC: three workers each perform essentially the work of the original prover. Corollary. Verifiable Multi-Party Computation with constant-time verification! 13 Philips Research

  14. Outline β€’ Secret sharing MPC β€’ Pinocchio VC β€’ Secret sharing MPC + Pinocchio VC 14 Philips Research

  15. Secret sharing MPC 15 Philips Research

  16. Animation: Sebastiaan de Hoogh Shamir secret sharing (2-out-of-3) (1, 𝑨 A ) (1,𝑧 A + 𝑨 A ) (1,𝑧 A 𝑨 A ) (1,𝛽𝑧 D ) (1,𝑧 A ) 𝑐𝑦 + 𝑑 " = 𝑏𝑐 𝑦 " + 𝑏𝑑 " + 𝑐𝑑 $ 𝑦 + 𝑑 $ 𝑑 " 𝑧 = 𝑏𝑦 + 𝑑 $ (2, 𝑨 @ ) (2,𝑧 @ + 𝑨 @ ) (2,𝑧 @ 𝑨 @ ) (2,𝛽𝑧 E ) s $ s " = 3(𝑧 D 𝑨 D ) βˆ’ 3(𝑧 E 𝑨 E ) + (𝑧 F 𝑨 F ) (3-out-of-3 sharing!) (2,𝑧 @ ) (3, 𝑨 < ) (3,𝑧 < + 𝑨 < ) (3,𝑧 < 𝑨 < ) (3,𝛽𝑧 F ) (3, 𝑧 < ) 𝑧 < 𝑧 @ 𝑑 $ + 𝑑 " 𝑧 A 𝛽𝑑 $ 𝑑 $ 𝑑 " 0 1 2 3 16 Philips Research

  17. MPC based on Shamir secret sharing Goal: compute 𝑧 = 𝑑 β‹… 𝑒 β‹… (𝑑 + 𝑒) 𝑑 " , 𝑒 " 𝑑𝑒 " 𝑑𝑒 " 𝑑 + 𝑒 " 𝑑𝑒(𝑑 + 𝑒) " 𝑑𝑒 " $ 𝑑𝑒 " $ 𝑑𝑒 $ " 𝑑 $ , 𝑒 $ 𝑑𝑒 # " 𝑑𝑒 $ 𝑑𝑒 $ # 𝑑 # , 𝑒 # 𝑑𝑒 $ 𝑑𝑒 # $ 𝑑𝑒 # 𝑑 + 𝑒 $ 𝑑 " , 𝑒 " 𝑑𝑒(𝑑 + 𝑒) " 𝑑𝑒 # 𝑑𝑒(𝑑 + 𝑒) $ 𝑑 + 𝑒 # 𝑑𝑒(𝑑 + 𝑒) $ 𝑑 $ , 𝑒 $ 𝑑𝑒(𝑑 + 𝑒) # 𝑑𝑒 = 3 𝑑𝑒 $ βˆ’ 3 𝑑𝑒 " + 𝑑𝑒 # 𝑑𝑒 M = 3 𝑑𝑒 $ M βˆ’ 3 𝑑𝑒 " M + 𝑑𝑒 # M 𝑑𝑒(𝑑 + 𝑒) # 𝑑 # , 𝑒 # 𝑦 : 2-out-of-3 sharing of 𝑦 𝑦 : 3-out-of-3 sharing of 𝑦 𝑑, 𝑒 , 𝑑𝑒(𝑑 + 𝑒) 17 Philips Research

  18. Pinocchio VC 18 Philips Research

  19. Pinocchio: Quadratic Arithmetic Programs β€œquadratic arithmetic Prove that committed 𝑦 βƒ— satisfies equations program” (QAP) π‘Š β‹… 𝑦 βƒ— βˆ— 𝑋 β‹… 𝑦 βƒ— = (𝑍 β‹… 𝑦 βƒ—) Example: 𝑧 = 𝑑 β‹… 𝑒 β‹… 𝑑 + 𝑒 if and only if: βˆƒπ‘¨ ∢ U𝑑 β‹… 𝑒 = 𝑨 𝑧 𝑨 β‹… (𝑑 + 𝑒) = 𝑑 𝑑 𝑑 𝑒 𝑒 𝑒 1 0 0 0 βˆ— 0 1 0 0 = 0 0 1 0 0 β‹… 0 β‹… 1 β‹… 𝑨 𝑨 𝑨 0 0 1 1 1 0 0 0 0 𝑧 𝑧 𝑧 E.g.: 𝑑 𝑒 𝑧 𝑨 = 3 2 6 30 is a solution 19 Philips Research

  20. Pinocchio: From QAP to SNARK (I) Prove that committed 𝑦 βƒ— satisfies equations π‘Š β‹… 𝑦 βƒ— βˆ— 𝑋 β‹… 𝑦 βƒ— = 𝑍 β‹… 𝑦 βƒ— . Define π‘Š M 𝜊 ,𝑋 M 𝜊 ,𝑍 M 𝜊 by β€œcolumnwiseLagrange interpolation” 𝑑 𝑑 𝑑 value 𝑒 𝑒 𝑒 at 1 1 0 0 0 βˆ— 0 1 0 0 = 0 0 1 0 0 β‹… 0 β‹… 1 β‹… 𝑨 𝑨 𝑨 0 0 1 1 1 0 0 0 0 value 𝑧 𝑧 𝑧 at 2 𝑋 " 1 = 1, 𝑋 " 2 = 1 π‘Š $ 1 = 1, π‘Š $ 2 = 0 … 𝑋 " 𝜊 = 1 π‘Š $ 𝜊 = 2 βˆ’ 𝜊 Consider polynomial 𝑄 3 βƒ— 𝜊 = π‘Š $ 𝜊 𝑑+ π‘Š " 𝜊 𝑒 + β‹― β‹… 𝑋 $ 𝜊 𝑑 + β‹― βˆ’ 𝑍 $ 𝜊 𝑑 + β‹― : In 𝜊 = 1 : 𝑄 3 βƒ— 1 = π‘Š $ 1 𝑑 + π‘Š " 1 𝑒 + β‹― β‹… 𝑋 $ 1 𝑑 + β‹― βˆ’ 𝑍 $ 1 𝑑 + β‹― = 𝑑 β‹… 𝑒 βˆ’ 𝑨 β€’ In 𝜊 = 2 : 𝑄 3 βƒ— 2 = π‘Š $ 1 𝑑 + π‘Š " 1 𝑒 + β‹― β‹… 𝑋 $ 1 𝑑 + β‹― βˆ’ 𝑍 $ 1 𝑑 + β‹― = 𝑨 β‹… 𝑑 + 𝑒 βˆ’ 𝑧 β€’ So π‘Š β‹… 𝑦 βƒ— βˆ— 𝑋 β‹… 𝑦 βƒ— = 𝑍 β‹… 𝑦 βƒ— if and only if 𝑄 3 βƒ— 1 = 𝑄 3 βƒ— 2 = 0 if and only if 𝜊 βˆ’ 1 β‹… 𝜊 βˆ’ 2 | 𝑄 𝜊 if and only if there exists β„Ž 𝜊 : 𝜊 βˆ’ 1 β‹… 𝜊 βˆ’ 2 β‹… β„Ž 𝜊 = 𝑄 3 βƒ— 𝜊 20 Philips Research

  21. Pinocchio: From QAP to SNARK (II) Example. 𝑑 𝑑 𝑑 value 𝑒 𝑒 𝑒 1 0 0 0 βˆ— 0 1 0 0 = 0 0 1 0 at 1 0 β‹… 0 β‹… 1 β‹… 𝑨 𝑨 𝑨 0 0 1 1 1 0 0 0 0 value 𝑧 𝑧 𝑧 at 2 π‘Š $ 𝜊 = 𝑍 # 𝜊 = 2 βˆ’ 𝜊 π‘Š " 𝜊 = π‘Š ` 𝜊 = 𝑋 # 𝜊 = 𝑋 ` 𝜊 = 𝑍 $ 𝜊 = 𝑍 " 𝜊 = 0 π‘Š # 𝜊 = 𝑋 $ 𝜊 = 𝑍 ` 𝜊 = 𝜊 βˆ’ 1 𝑋 " 𝜊 = 1 Claim: 𝑑 𝑒 𝑨 𝑧 is solution iff there exists β„Ž 𝜊 such that Claim: 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that Claim: 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that Claim: 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 2 β„Ž 𝜊 = 9𝜊 " βˆ’ 27𝜊 + 18 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = 3𝜊 β‹… 3𝜊 βˆ’ 1 βˆ’ 24𝜊 βˆ’ 18 𝜊 βˆ’ 1 𝜊 βˆ’ 1 𝜊 βˆ’ 1 𝜊 βˆ’ 2 β„Ž 𝜊 = π‘‘π‘Š 𝜊 βˆ’ 2 β„Ž 𝜊 = 3π‘Š $ 𝜊 + π‘’π‘Š $ 𝜊 + 2π‘Š " 𝜊 + π‘¨π‘Š " 𝜊 + 6π‘Š # 𝜊 + π‘§π‘Š # 𝜊 + 30π‘Š ` 𝜊 ` 𝜊 β‹… β‹… 3𝑋 $ 𝜊 + 2𝑋 𝑑𝑋 $ 𝜊 + 𝑒𝑋 " 𝜊 + 6𝑋 " 𝜊 + 𝑨𝑋 # 𝜊 + 30𝑋 # 𝜊 + 𝑧𝑋 ` 𝜊 ` 𝜊 βˆ’ 3𝑍 βˆ’ 𝑑𝑍 $ 𝜊 + 2𝑍 $ 𝜊 + 𝑒𝑍 " 𝜊 + 6𝑍 " 𝜊 + 𝑨𝑍 # 𝜊 + 30𝑍 # 𝜊 + 𝑧𝑍 ` 𝜊 ` 𝜊 21 Philips Research

  22. Pinocchio: From QAP to SNARK (III) Lemma β‡’ 3 2 6 30 is solution iff there exists β„Ž 𝜊 such that 𝜊 βˆ’ 2 β„Ž 𝜊 = 9𝜊 " βˆ’ 27𝜊 + 18 𝜊 βˆ’ 1 𝜊 " βˆ’ 3𝜊 + 2 9𝜊 " βˆ’ 27𝜊 + 18 9 9 (𝜊 " βˆ’ 3𝜊 + 2) βˆ’ 0 β„Ž 𝜊 = 9 22 Philips Research

  23. Pinocchio: From QAP to SNARK (IV) Ξ : random, evaluation key: evaluation/verification key: 𝑕, 𝑕 f , 𝑕 f o ,… 𝑕 j p (f) ,𝑕 m p (f) , 𝑕 n p (f) unknown Prove: 𝜊 βˆ’ 1 β‹… …⋅ 𝜊 βˆ’ 𝑒 β‹… β„Ž 𝜊 = π‘Š Ξ βˆ’ 1 β‹… …⋅ Ξ βˆ’ 𝑒 β‹… β„Ž Ξ = π‘Š $ 𝜊 𝑦 $ + β‹― β‹… 𝑋 $ Ξ 𝑦 $ + β‹― β‹… 𝑋 $ 𝜊 𝑦 $ + β‹― βˆ’ 𝑍 $ Ξ 𝑦 $ + β‹― βˆ’ 𝑍 $ 𝜊 𝑦 $ + β‹― β‹… 1 $ Ξ 𝑦 $ + β‹― β‹… 1 verification key: prover: prover/verifier: prover/verifier: prover/verifier: 𝑕 fg$ ⋅…⋅ fgh 𝑕 i f 𝑕 j k f 3 k lβ‹― 𝑕 m k f 3 k lβ‹― 𝑕 n k f 3 k lβ‹― g$ ? verifier: 𝑓 𝑕 fg$ ⋅…⋅ fgh ,𝑕 i f k f 3 k lβ‹― β‹… 𝑓 𝑕 n = 𝑓 𝑕 j k f 3 k lβ‹― ,𝑕 m k f 3 k lβ‹― ,𝑕 Magic crypto tool: pairing 𝑕 t 𝑕 r 𝑓 𝑕 r ,𝑕 s = 𝑓(𝑕 t , 𝑕 h ) 𝑓 𝑓 𝑕 s 𝑕 h iff 𝑏 β‹… 𝑐 = 𝑑 β‹… 𝑒 23 Philips Research

  24. Pinocchio: From QAP to SNARK (V) - evaluate function: get 𝑨, 𝑧 compute 𝑕 j x f y , 𝑕 m x f y , 𝑕 n x f y - evaluation key: compute β„Ž 𝜊 = j z m z gn z - 𝑕, 𝑕 f , 𝑕 f o ,… zg$ ⋅…⋅(zgh) x f ,𝑕 m x f , 𝑕 n compute 𝑕 i f 𝑕 j x f - 𝑧, 𝑕 i f , 𝑕 j 𝑑, 𝑒 x f y ,𝑕 m x f y , 𝑕 n x f y verify: 𝑓 𝑕 fg$ ⋅…⋅ fgh , 𝑕 i f verification key: 𝑕 fg$ ⋅…⋅ fgh } f 4 β‹… 𝑕 j = 𝑓(𝑕 j k f {lj o f |lj x f y , k f ,𝑕 m k f ,𝑕 n 𝑕 j k f } f 4 β‹… 𝑕 m 𝑕 m k f {lm o f |lm x f y ) β‹… o f ,𝑕 m o f ,𝑕 n 𝑕 j o f g$ } f 4 β‹… 𝑕 n 𝑓 𝑕 n k f {ln o f |ln x f y ,𝑕 } f , 𝑕 m } f , 𝑕 n 𝑕 j } f 24 Philips Research

  25. Secret sharing MPC + Pinocchio VC 25 Philips Research

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