Accessible Privacy Preserving Computation
Secure computation enables us to ensure privacy while maintaining utility by using advanced cryptography, i.e., techniques beyond conventional symmetric- and public-key encryption, and authentication systems. Secure Multi-Party Computation (MPC), Zero-knowledge Proofs (ZP), and Fully Homomorphic Encryption (FHE) are becoming increasingly computationally feasible thanks to advances in the underlying theory, general hardware improvements, and more efficient implementations. While there is a growing number of research systems demonstrating practical solutions for a broader range of applications, real-world deployments of secure computation remain rare. Deploying such solutions currently requires extensive expert knowledge, including an in-depth understanding of the underlying cryptographic schemes. There is an increasing consensus among the community that accessibility is now a significant barrier to the adoption of privacy preserving solutions. In this work, we develop tools, abstractions, and systems that allow non-experts to realize privacy preserving solutions for a wide range of applications.
• The State of Fully Homomorphic Encryption Compilers (Published in IEEE S&P’21): Fully Homomorphic Encryption allows a third party to perform arbitrary computations on encrypted data, learning neither the inputs nor the computation results. Hence, it provides resilience in situations where computations are carried out by an untrusted or potentially compromised party. This powerful concept was first conceived by Rivest et al. in the 1970s. However, it remained unrealized until Craig Gentry presented the first feasible FHE scheme in 2009. Since then, FHE has gone from theoretical breakthrough to practical deployment. However, developing FHE systems remains complex, requiring expert knowledge. In this work, we outline the inherent engineering challenges in developing FHE applications and discuss how tools like compilers that translate between standard programs and FHE implementations can step in to address some of these complexities. We survey, evaluate, and systematize FHE tools and compilers. Using different case study applications that represent common aspects of FHE applications, highlight where barriers to entry have been successfully lowered and where they still remain.
• ABC : A new Fully Homomorphic Encryption compiler that allows developers to write code in a standard programming language without worrying about the subtleties of the underlying cryptographic techniques used for secure computations. ABC automatically transforms programs written by non-experts into highly efficient FHE programs.
• CHISEL: A new high-level language for secure computation that focuses on accessibility. Chisel proposes a conceptual framework for usability in the context of secure (multi-party) computation. We make essential security concepts explicit but offer significant automation (e.g., auto resolution of required computation parties) and assistance. In combination, these features allow non-experts to write correct and secure code for complex scenarios more efficiently.