EzPC: Programmable, Efficient, and Scalable Secure Two-Party Computation for Machine Learning - Chandran, Nishanth; Gupta, Divya; Rastogi, Aseem; Sharma, Rahul; Tripathi, Shardul (IEEE European Symposium on Security and Privacy, 2019)
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.