boosting verifiable computation on encrypted data
play

Boosting Verifiable Computation on Encrypted Data PKC 2020 Dario - PowerPoint PPT Presentation

Boosting Verifiable Computation on Encrypted Data PKC 2020 Dario Fiore, Anca Nitulescu , David Pointcheval Motivational Tale: The Bare Necessities of a Cloud User (In times of a Pandemic) 2 Pandemics biometric surveillance systems data


  1. Boosting Verifiable Computation on Encrypted Data PKC 2020 Dario Fiore, Anca Nitulescu , David Pointcheval

  2. Motivational Tale: The Bare Necessities of a Cloud User (In times of a Pandemic) 2

  3. Pandemics biometric surveillance systems data Client Server User delegates its personal data to a symptom tracking app 3

  4. Pandemics biometric surveillance systems f( data )= y data Client Server User delegates its symptoms Server computes diagnosis 4

  5. Pandemics biometric surveillance systems f( data )= y y data Client Server Server sends back diagnosis 5

  6. So many benefits! data healthy Client Server User receives diagnosis Happy to hear he is healthy 6

  7. Untrusted Server data healthy ? Client Server User runs the risk of a corrupted server 7

  8. What can go wrong? Data can be stolen data Client Server Confidential data is exposed symptoms 8

  9. What can go wrong? Results can be modified f( data ) ≠y data y Client Server Results are not guaranteed to be correct diagnosis 9

  10. Solution for Privacy of Inputs Data Privacy data Encryption Server 10

  11. (Fully) Homomorphic Encryption Data Privacy data Homomorphic Encryption Encryption ✘ Privacy of inputs ✘ Malleability of data ✘ Privacy of output Server [Gen09, BV11, BGV12, GSW13, CGGI16, CKKS17...] 11

  12. Solution for Integrity of the Computation Verifiable Computation f(x) data π Server 12

  13. SNARKs = Proof Systems for lazy clients Verifiable Computation zk-SNARKs ✘ Proof is succinct data ✘ Minimal interaction ✘ Client verifies efficiently ✘ Server algo remains secret Server [GGP10, GGPR13, PHGR13, Gro16, BBC+18...] 13

  14. Full Solution: Verifiable Computation on Encrypted Data Data Privacy Apply Eval of FHE data Server π result Computation Integrity 14

  15. Full Solution: Verifiable Computation on Encrypted Data Data Privacy Apply Eval of FHE data [FGP14] Efficiently verifiable computation on encrypted data. Dario Fiore, Rosario Gennaro, Valerio Pastro ✘ Combines FHE and homomorphic MAC ✘ Efficient VC for quadratic functions only ✘ Designated Verifier - it requires MAC key ✘ Server ✘ Verifier = Client (share secret key for FHE) ✘ Privacy of the inputs and the outputs (from Server) π result Computation Integrity 15

  16. Outline C Private VC Building Blocks Technical The Challenges END Goals Polynomial Commitments Option Strategy CaP zk-SNARKs s 16

  17. Publicly Verifiable Computation with Privacy Compute & Prove Server Verify Result Encrypt the Data data π result 17

  18. Publicly Verifiable Computation with Privacy Compute & Prove Server Verify Result Encrypt the Data Solution that improves on [FGP14] : ✘ Public verifiable: Client & Verifier do not share keys ✘ Efficiency for higher degree computations (arithmetic circuits) 18

  19. Idea: Exploit the specificity of FHE ciphertexts crs Prove efficiently zk-SNARK for Compactly Commit verifiable and private evaluation of circuit to ciphertexts delegation of computation on ciphertexts

  20. FHE: Ciphertexts = Polynomials (ring-LWE, [BV11]) P 1 P 2 P 3 P 4 + + + + + P 6 20

  21. Circuit over ciphertexts / over plaintexts P 1 P 2 P 3 P 4 a 1 a 2 a 3 a 4 + + + + + + + + a 6 P 6 21

  22. Arithmetic Circuit over Polynomials F(x) G(x) P(x) Q(x) p 0 q 0 p 1 q 1 p d q d O(d) scalar + + + ... + + + additions in s 0 s 1 s d H(x) S(x) + + T(x) 22

  23. Arithmetic Circuit over Polynomials F(x) G(x) P(x) Q(x) 2 scalar multiplications in ~ d & reductions modulo of deg d + + + s 0 h 0 s 1 h 1 s 0 ... h 0 s k … h i s k-i … h d s d h 0 H(x) S(x) + + + + + + + + ... + + t 2d t 0 t k t 1 T(x) 23

  24. Arithmetic Circuit over Polynomials F(x) G(x) P(x) Q(x) + + + O( d ) scalar additions H(x) S(x) + + 2 ) scalar multiplications O(d ~ O(d log d ) for large d T(x) 24

  25. Arithmetic Circuit over Polynomials n inputs n inputs F(x) G(x) P(x) Q(x) + + + O( m ⋅ d ) + scalar additions & m H(x) S(x) + O (m ⋅ d ⋅ log d ) gates scalar multiplications + + *for polynomials of degree d T(x) 25

  26. Goals: Efficient VC with Privacy F(x) G(x) P(x) Q(x) + + F(x) , G(x), P(x),Q(x) T(x) + Verify Result Compute & Prove Encrypt the Data Want a solution that: ✘ Compactly commits to the input ciphertexts → hiding from Verifier ✘ Reduces the proof for → efficiency close to cleartext proof for 26

  27. Compress Circuit over Polynomials n inputs n inputs F(x) G(x) P(x) Q(x) F( k ) G( k ) P( k ) Q( k ) + + + + + m H(x) S(x) gates + evaluate + + in k T( k ) T(x) 27

  28. Prove Circuit over Scalars & Evaluation in k n inputs n inputs F(x) G(x) P(x) Q(x) f g p q + + + + + h s H(x) S(x) + evaluate + + in k f = F( k ) p = P( k ) & t q = Q( k ) g = G( k ) T(x) 28

  29. Idea: Commit & Prove Methodology F(x) G(x) P(x) Q(x) f g p q + + + + + H(x) S(x) h s + + + F( k ) = f P( k ) = p G( k ) = g Q( k ) = q t T(x) 29

  30. Idea: Commit & Prove Methodology F(x) G(x) P(x) Q(x) f g p q + + + + σ + H(x) S(x) h s + + + F( k ) = f P( k ) = p π G( k ) = g Q( k ) = q t T(x) 30

  31. Blueprint of our construction crs Verifiable CaP zk-SNARK ZK Proof for evaluation Compactly Commit Computation for arithmetic circuit in random point k to Polynomials with over scalars Privacy π σ + + + + VC + + 31

  32. Our Techniques C Private VC Building Blocks Technical The Challenges END Goals Polynomial Commitments Option Strategy CaP zk-SNARKs s 32

  33. Polynomial Commitments F(x) G(x) P(x) Q(x) Input Commit(P) + + + P(x) P(x) H(x) S(x) + + T(x) 33

  34. Polynomial Commitments - hiding inputs F(x) G(x) P(x) Q(x) Input Commit(P) + + + P(x) P(x) H(x) S(x) + + Server T(x) 34

  35. Multi-Polynomial Commitments F(x) G(x) P(x) Q(x) Commitments Single bi-variate Commitment + + + F(x) G(x) Z(x,y) T(x) H(x) S(x) P(x) Q(x) + + T(x) 35

  36. Multi-Polynomial Commitments F(x) G(x) P(x) Q(x) Commitments Single bi-variate Commitment + + + F(x) G(x) Z(x,y) T(x) H(x) S(x) P(x) Q(x) + + Z(x, y ) = F(x) + G(x) y + T(x) y 2 + P(x) y 3 + Q(x) y 4 T(x) 36

  37. Commit & Prove Evaluation F(x) G(x) P(x) Q(x) f g p q + + + + + H(x) S(x) h s + + + t T(x) 37

  38. Commit & Prove Evaluation F(x) G(x) P(x) Q(x) f g p q + + + + + Z(x,y) V(y) H(x) S(x) h s + + + t T(x) 38

  39. Many Evaluations = Partial Evaluation F(x) G(x) P(x) Q(x) f g p q + + + + + Z(x,y) V(y) H(x) S(x) h s + + + Z(x,y) = F(x) + G(x) y + P(x) y 2 + Q(x) y 3 t T(x) V(y) = f + g y + p y 2 + q y 3 39

  40. Many Evaluations = Partial Evaluation F(x) G(x) P(x) Q(x) f g p q + + + + + Z(x,y) V(y) H(x) S(x) h s + + + Z(x,y) = F(x) + G(x) y + P(x) y 2 + Q(x) y 3 Z( k ,y) = F( k ) + G( k ) y + P( k ) y 2 + Q( k ) y 3 t T(x) V(y) = f + g y + p y 2 + q y 3 = 40

  41. Proof of Many Evaluations F(x) G(x) P(x) Q(x) f g p q + + + + + Z(x,y) V(y) H(x) S(x) h s + + + σ Z( k ,y) = V(y) t T(x) 41

  42. Proof of Arithmetic Circuit over Scalars F(x) G(x) P(x) Q(x) π f g p q SNARK + + + + + Z(x,y) V(y) H(x) S(x) h s + + + σ Z( k ,y) = V(y) t T(x) 42

  43. Reuse the same commitment [CFQ19] Modular π f g p q Commit-and-Prove (LegoSNARK) SNARK + + Z(x,y) V(y) h s + σ Z( k ,y) = V(y) t 43

  44. Reuse the same commitment π f g p q SNARK + + Z(x,y) V(y) h s + σ Z( k ,y) = V(y) t 44

  45. Σ - Protocol & Fiat-Shamir Heuristic σ Z( k ,y) = V(y) CaP zk-SNARK Random Oracle Interactive for Multi-Polynomial Model Proof Evaluation ✘ based on the SDH and PKE assumptions P: Commits to polynomials ✘ non-interactive and zero-knowledge V: Sends random point P: Queries point to RO ✘ evaluations are committed (never opened) P: Prove the evaluation 45

  46. Reuse the same commitment [CFQ19] Modular π f g p q Commit-and-Prove (LegoSNARK) SNARK + + Z(x,y) V(y) h s + σ Z( k ,y) = V(y) t 46

  47. CaP zk-SNARK for Arithmetic Circuits π CaP SNARK [CFQ19] Lego-SNARK Pre-Processing zk-SNARK “lifting” tool CRS for QAP Groth 16 LegoGro16 Quadratic Arithmetic Programs Universal, circuit-independent, UAC - GKMMM 18 LegoUAC updatable CRS 47

  48. Review of Contributions C Private VC Building Blocks Technical The Challenges END Goals Polynomial Commitments Option Strategy CaP zk-SNARKs s 48

  49. Verifiable and private delegation of computation F( k ) G( k ) P( k ) Q( k ) + + F(x) , G(x), P(x),Q(x) T(x) + T( k ) Verify Result Compute & Prove Encrypt the Data ✘ CaP-SNARK for simultaneous evaluation of many committed polynomials (based on the SDH and PKE assumptions in the RO Model) ✘ Privacy : randomisation of ciphertexts & commited results of evaluation 49

  50. Thank you! eprint.iacr.org/2020/132 Questions? anca.nitulescu@ens.fr

  51. Credits Special thanks to all those who made and released these resources for free: Presentation template by SlidesCarnival ✘ Illustrations by Disneyclips, Iconfinder and Flaticon ✘ 51

Recommend


More recommend