EzPC (Easy Secure Multi-party Computation)

EzPC (Easy Secure Multi-party Computation)





Consider the following scenario: two hospitals, each having sensitive patient data, must compute statistical information about their joint data. Privacy regulations forbid them from sharing data in the clear with any entity. So, can they compute this information while keeping their private data encrypted (or “hidden”) from each other?

Cryptography and specifically, the primitive Secure Multi-Party Computation, provides an answer to this seemingly impossible task using sophisticated mathematical protocols. However, two big challenges remain:

  1. Till recently, these cryptographic protocols have only been efficiently executable for simpler functions such as aggregations, linear regressions and so on; while, ideally one would like to execute more complex AI algorithms that could allow the hospitals to learn and predict diseases or health abnormalities.
  2. Secondly, to execute these protocols, one must express the computation at the low-level of circuits comprising of AND and OR gates, which is both highly cumbersome and inefficient.

The EzPC (or Easy Secure Multi-Party Computation) project at MSR India addresses both these issues:

  1. Specifically, we have been developing a language that allows programmers, who may not have any cryptographic expertise, to express the computation to be performed securely, in a high-level expressive language. Our language enables us to express even complex algorithms such as neural network training and prediction. Our compiler will automatically compile the computation into an efficient secure protocol.
  2. To serve as a backend to our compiler, we have developed new secure multi-party computation protocols for computing various neural network training and prediction algorithms that have orders of magnitude improvement in performance over prior state-of-the-art.

For more information, contact the team at ezpc@microsoft.com