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

Recommend


More recommend