MPC and Verifiable Computation on Committed Data

Slides:



Advertisements
Similar presentations
Perfect Non-interactive Zero-Knowledge for NP
Advertisements

Short Pairing-based Non-interactive Zero-Knowledge Arguments Jens Groth University College London TexPoint fonts used in EMF. Read the TexPoint manual.
Quid-Pro-Quo-tocols Strengthening Semi-Honest Protocols with Dual Execution Yan Huang 1, Jonathan Katz 2, David Evans 1 1. University of Virginia 2. University.
On the Amortized Complexity of Zero-Knowledge Proofs Ronald Cramer, CWI Ivan Damgård, Århus University.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London FOSAD 2014.
Improving the Round Complexity of VSS in Point-to-Point Networks Jonathan Katz (University of Maryland) Chiu-Yuen Koo (Google Labs) Ranjit Kumaresan (University.
General Cryptographic Protocols (aka secure multi-party computation) Oded Goldreich Weizmann Institute of Science.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
ADDITIONAL ANALYSIS TECHNIQUES LEARNING GOALS REVIEW LINEARITY The property has two equivalent definitions. We show and application of homogeneity APPLY.
Secure Efficient Multiparty Computing of Multivariate Polynomials and Applications Dana Dachman-Soled, Tal Malkin, Mariana Raykova, Moti Yung.
Revision.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Anuj Dawar.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
How to play ANY mental game
Efficient and Robust Private Set Intersection and multiparty multivariate polynomials Dana Dachman-Soled 1, Tal Malkin 1, Mariana Raykova 1, Moti Yung.
(Multimedia University) Ji-Jian Chin Swee-Huay Heng Bok-Min Goi
Great Theoretical Ideas in Computer Science.
Secure Computation (Lecture 7-8) Arpita Patra. Recap >> (n,t)-Secret Sharing (Sharing/Reconstruction) > Shamir Sharing > Lagrange’s Interpolation for.
1 Chapter 7 Computer Arithmetic Smruti Ranjan Sarangi Computer Organisation and Architecture PowerPoint Slides PROPRIETARY MATERIAL. © 2014 The McGraw-Hill.
Short course on quantum computing Andris Ambainis University of Latvia.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
SANDRA GUASCH CASTELLÓ PHD EVOTING WORKSHOP LUXEMBOURG, 15-16/10/2012 SUPERVISOR: PAZ MORILLO BOSCH Verifiable Mixnets.
1 Lecture 6 BOOLEAN ALGEBRA and GATES Building a 32 bit processor PH 3: B.1-B.5.
Non-Interactive Verifiable Computing August 5, 2009 Bryan Parno Carnegie Mellon University Rosario Gennaro, Craig Gentry IBM Research.
Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.
More on Correctness. Prime Factorization Problem: Write a program that computes all the prime factors of a given number Solution (Idea): Factors are less.
Copyright (c) 2012 NTT Secure Platform Labs. Group to Group Commitments Do Not Shrink Masayuki ABE Kristiyan Haralambiev Miyako Ohkubo 1.
FHE Introduction Nigel Smart Avoncrypt 2015.
Secret Sharing Non-Shannon Information Inequalities Presented in: Theory of Cryptography Conference (TCC) 2009 Published in: IEEE Transactions on Information.
ALITHEIA: Towards Practical Verifiable Graph Processing Yupeng Zhang, Charalampos Papamanthou and Jonathan Katz University of Maryland.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Chapter 12. Chapter Summary Boolean Functions Representing Boolean Functions Logic Gates Minimization of Circuits (not currently included in overheads)
Advanced Algorithms Analysis and Design
P & NP.
The Exact Round Complexity of Secure Computation
From Classical Proof Theory to P vs. NP
On the Size of Pairing-based Non-interactive Arguments
Committed MPC Multiparty Computation from Homomorphic Commitments
Linear Algebra with Sub-linear Zero-Knowledge Arguments
Digital Signature Schemes and the Random Oracle Model
Data Representation and Arithmetic Algorithms
Propositional Calculus: Boolean Algebra and Simplification
Shorter Quasi-Adaptive NIZK Proofs for Linear Subspaces
Four-Round Secure Computation without Setup
Objective of This Course
Multi-Party Computation: Second year
Zcash adds privacy to Bitcoin’s decentralization
Linear Programming Duality, Reductions, and Bipartite Matching
Data Representation and Arithmetic Algorithms
Chapter 11 Limitations of Algorithm Power
Start by talking about lattice assumption on which protocol is based
Searching, Sorting, and Asymptotic Complexity
Grover. Part 2 Anuj Dawar.
Fiat-Shamir for Highly Sound Protocols is Instantiable
Malicious-Secure Private Set Intersection via Dual Execution
Secret Sharing: Linear vs. Nonlinear Schemes (A Survey)
NP-COMPLETE Prof. Manjusha Amritkar Assistant Professor Department of Information Technology Hope Foundation’s International Institute of Information.
ECE 352 Digital System Fundamentals
MPC Scenario 1. “Privacy-protected contingency tables”
Post-Quantum Security of Fiat-Shamir
Short Pairing-based Non-interactive Zero-Knowledge Arguments
Helen: Maliciously Secure Coopetitive Learning for Linear Models
Cryptography Lecture 18.
Practical (F)HE Part III – Bootstrapping
Cryptography Lecture 23.
ADDITIONAL ANALYSIS TECHNIQUES
Jens Groth and Mary Maller University College London
Presentation transcript:

MPC and Verifiable Computation on Committed Data Meilof Veeningen Philips Research April 4, 2017

Last year at TPMPC…

Philips Research

Philips Research

Philips Research

Philips Research

MPC + Verifiable Computation: Why? trusted set-up (CRS) secret shares MPC cluster patient data “perform 𝜒 2 test” “show graph comparing treatment vs non-treatment” “provide proof for previous computation!” patient data zero-knowledge proof: output is correct “𝑝=0.085” output + proof patient data signed input commitments Philips Research

TPMPC’16: Shamir + Pinocchio Instantiation 3PC based on Shamir secret sharing verifiable computation with Pinocchio [Parno et al. ’13] To combine, want to compute Prove( 𝑥 ) with MPC “Trinocchio”: this is easy! [ 𝑥 ] known from MPC evaluation Proof can be built from shares without extra communication MPC cluster Secure against one passive adversary Computations over 𝔽: local addition, multiplication using a protocol Special-purpose protocols for zero testing, fixed-point multiplication, … Outsourcing is easy ZK proof that committed inputs, outputs, and witness are “correct” “Correctness” formalized by QAP: set of quadratic equations in 𝑥 ∈ 𝔽 𝑁 Secure under PDH + PKE + SDH assumptions Philips Research

TPMPC’167: Applying Trinocchio in Practice population data MPC cluster 2. Efficient correctness of MPC sub-protocols “provide proof for previous computation!” Pinocchio proof: 𝑔 (𝑣𝑤−𝑦)/𝑡 + witness commitment output + proof signed input commitments 1. “Commit once, prove later” for Pinocchio Philips Research

1. “Commit once, prove later” for Pinocchio Philips Research

≅ Modelling Computations as QAPs Model computation by set of equations given by matrices (𝑉,𝑊,𝑌): Natural relation between arithmetic circuits and QAPs: In particular: evaluating an arithmetic circuit ≡ computing QAP witness + output 𝑉 𝑥 𝑊 𝑥 𝑌 𝑥 inputs ⋅ × ⋅ = ⋅ witness outputs + * 𝑥 2 𝑥 3 𝑥 4 𝑥 5 𝑥 1 ≅ 1 1 0 0 0 0 0 0 1 0 ⋅ × 0 1 0 0 0 0 1 1 0 0 = 0 0 0 0 1

evaluation in exponent Pinocchio: (Very) High-Level Idea Need to prove (𝑉⋅ 𝑥 )∗ 𝑊⋅ 𝑥 − 𝑌⋅ 𝑥 ∗ 1 =0 Inputters/provers/verifier build special generalized Pedersen commitments to vectors (𝑉⋅ 𝑥 ), 𝑊⋅ 𝑥 , 𝑌⋅ 𝑥 Prove that: homomorphic 𝑒 𝑔 ,𝑔 ⋅𝑒 𝑔 ,𝑔 −1 ≡0 𝑉 ⋅ 𝑥 𝑊 1 𝑌 pointwise product and pairing commute efficient zero proof: FFTs on polynomials + evaluation in exponent Philips Research

(𝑔 ,𝑔 ,𝑔 ) (𝑔 ,𝑔 ,𝑔 ,𝑔 ) “Commit once, prove later” Inputters/provers/verifier each provide commitments to their part of 𝑥 : Pinocchio: guarantee that parties provide only own part of 𝑥 , and do it consistently! For secret 𝛽, publish 𝑔 𝛽⋅ col.𝑉||col.𝑊||col.𝑌 and let prover provide 𝑔 𝛽 𝑉⋅ 𝑥 ||𝑊⋅ 𝑥 ||𝑌⋅ 𝑥 Basic idea: add computation-independent commitment to this consistency check! Details, optimizations: see our paper (𝑔 ,𝑔 ,𝑔 ) 𝑉 ⋅ 𝑥 𝑊 𝑌 (𝑔 ,𝑔 ,𝑔 ,𝑔 ) 𝑉 ⋅ 𝑥 𝑊 𝑌 1 ⋱ Philips Research

Improvement 2: QAPs for sub-protocols Philips Research

≅ QAPs for sub-protocols (I) Natural relation between arithmetic circuits and QAPs: In particular: evaluating an arithmetic circuit ≡ computing output + QAP witness But how about QAPs for special-purpose sub-protocols (e.g., integer comparison, zero testing, fixed-point multiplication, …)? See as arithmetic circuits? Then verifier needs to see and process opened values… Task: design efficient QAPs for sub-protocols + * 𝑥 2 𝑥 3 𝑥 4 𝑥 5 𝑥 1 𝑥 1 𝑥 2 𝑥 3 𝑥 4 𝑥 5 𝑥 1 𝑥 2 𝑥 3 𝑥 4 𝑥 5 𝑥 1 𝑥 2 𝑥 3 𝑥 4 𝑥 5 ≅ 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 ⋅ × ⋅ = ⋅

QAPs for sub-protocols (II) MPC QAP 𝑑⋅𝑑=𝑑⇒𝑑=1 𝑎⋅𝑐=𝑏 𝑎⋅ 1−𝑏 =0 𝑏 ←[𝑎≠0] 1. design efficient QAP elaborate protocol using, e.g., bit decompositions, … 0 0 0 1 1 0 0 0 𝑎 𝑏 𝑐 𝑑 × = ⋅ 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 - “zero-equality gate” [PHGR13] 2. compute witness (MPC) 𝑑 ←1 𝑐 ← 𝑎 + 1− 𝑏 −1 Philips Research

QAPs for sub-protocols (III) More examples: Comparison protocol 𝑏 =[𝑎≥0]: Letting |𝑎| ← 𝑎 , 𝑏=1 &[−𝑎], 𝑏=0 , prove that 𝑏∈{0,1} and |𝑎| ≥0 Division protocol 𝑐 = 𝑎 /[𝑏] Computation: Newton/Goldschmidt iteration Correctness of result: 0≤ 𝑎 − 𝑏 ⋅ 𝑐 <[𝑏] with bit decompositions Or: correctness of full computation in one go! Linear programming: computing (with simplex algorithm) is complex, but verification (with dual solution) is just checking a few equations make bit decomposition 𝑎 1 ,…, 𝑎 𝑙 + prove correct (i.e., bits adding up to [ 𝑎 ]) Philips Research

Some performance figures… On the same arithmetic circuit, MPC is much faster than VC (≈20×) [SVdV15]: Trinocchio “adds privacy to verifiable computation with little overhead” (for arithmetic circuits) But, VC typically needs to be applied to much smaller circuits! [Vee17]: In Geppetri, “proving is faster than computing with MPC” (in a practical case study) Example: 𝜒 2 test on survival data (175 data points) # divisions = 351, # QAP equations = 30189 Computing function (MPC): 148 s Computing witness (MPC): 51 s Proving (plain): 10 s Proving (MPC): 73 s Philips Research

https://soda-project.eu/ Conclusions Combining MPC with verifiable computation gives privacy auditability at low cost By making Pinocchio adaptive, we can re-use inputs + build modular proofs (construction: see https://eprint.iacr.org/2017/013 soonnow) Using special QAPs for sub-protocols, proving is faster than computing Task: design efficient QAPs and efficient protocols to compute the QAPs’ witnesses Geppetri: user-friendly programming of verifiable computations (with or without MPC), see https://github.com/meilof/geppetri More information: meilof.veeningen@philips.com https://soda-project.eu/ Philips Research