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.
CrypTFlow: An End-to-end System for Secure TensorFlow Inference
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.
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.