Paper 2017/1109

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

Nishanth Chandran, Divya Gupta, Aseem Rastogi, Rahul Sharma, and Shardul Tripathi


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.

Available format(s)
Cryptographic protocols
Publication info
Preprint. MINOR revision.
Secure Computationsecure machine learning prediction
Contact author(s)
divyagupta iitd @ gmail com
2018-06-04: revised
2017-11-20: received
See all versions
Short URL
Creative Commons Attribution


      author = {Nishanth Chandran and Divya Gupta and Aseem Rastogi and Rahul Sharma and Shardul Tripathi},
      title = {EzPC: Programmable, Efficient, and Scalable Secure Two-Party Computation for Machine Learning},
      howpublished = {Cryptology ePrint Archive, Paper 2017/1109},
      year = {2017},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.