EzPC: Programmable, Efficient, and Scalable Secure Two-Party Computation for Machine Learning

We present EZPC: a secure two-party computation (2PC) framework that generates efficient 2PC protocols from high-level, easy-to-write, programs. EZPC provides formal correctness and security guarantees while maintaining performance and scalability. Previous language frameworks, such as CBMC-GC, ObliVM, SMCL, and Wysteria, generate protocols that use either arithmetic or boolean circuits exclusively. Our compiler is the first to generate protocols that combine both arithmetic sharing and garbled circuits for better performance. We empirically demonstrate that the protocols generated by our framework match or outperform (up to 19x) recent works that provide hand-crafted protocols for various functionalities such as secure prediction and matrix factorization.

Publication Downloads

CrypTFlow: An End-to-end System for Secure TensorFlow Inference

August 6, 2018

EzPC is a cryptographic-cost aware compiler that generates efficient and scalable Secure Multi-party Computation (MPC) protocols using combinations of arithmetic and boolean circuits, from high-level code.

EzPC (Easy Secure Multi-party Computation)

Secure Multi-Party Computation (MPC) is a powerful cryptographic tool that allows multiple entities to execute protocols in order to compute functions on their private data without sharing their data in the clear with each other. Project Easy MPC (EzPC) at MSR India enables the construction of such protocols at the scale of machine learning applications without requiring the developer to have any knowledge in cryptography.