ObliVM: A Programming Framework for Secure Computation
By Chang Liu, Xiao Shaun Wang, Kartik Nayak, Yan Huang, Elaine Shi. 2015
376 citations recorded by the source corpus.
We design and develop ObliVM, a programming framework for secure computation. ObliVM offers a domain specific language designed for compilation of programs into efficient oblivious representations suitable for secure computation. ObliVM offers a powerful, expressive programming language and user-friendly oblivious programming abstractions. We develop various showcase applications such as data mining, streaming algorithms, graph algorithms, genomic data analysis, and data structures, and demonstrate the scalability of ObliVM to bigger data sizes. We also show how ObliVM significantly reduces development effort while retaining competitive performance for a wide range of applications in comparison with hand-crafted solutions. We are in the process of open-sourcing ObliVM and our rich libraries to the community (www.oblivm.com), offering a reusable framework to implement and distribute new cryptographic algorithms.
Subfields: Artificial Intelligence, Computational Theory and Mathematics
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Adrià Gascón
- David E. Evans
- Marcel Keller
- Borja Balle
- Farinaz Koushanfar
- Mariana Raykova
- Phillipp Schoppmann
- Samee Zahur
In Computational Theory and Mathematics
- David E. Evans
- Adrià Gascón
- Marcel Keller
- Xiao Shaun Wang
- Phillipp Schoppmann
- Borja Balle
- Samee Zahur
- Thomas Schneider
Citations in the corpus
- Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts (2018, neutral): “Ekiden is compatible with existing defenses [13], [58], [48], [75], [63].”
- Privacy-Preserving Distributed Linear Regression on High-Dimensional Data (2017, methodology): “Popular applications used for the empirical evaluation of practical MPC systems include graph algorithms [5, 32, 42, 51, 57], data structure algorithms [42, 51], string matching and distance algorithms [36, 37, 66] and AES [3, 36, 37, 66].”
- Chameleon: A Hybrid Secure Computation Framework for Machine Learning Applications (2018, methodology): “ential circuits (cyclic graph representation of circuits) in addition to traditional combinational circuits (acyclic graph representation). Our GC engine implementation is based on TinyGarble. ObliVM [65] provides a domain-specific programming language and secure computation framework that facilitat”
- MP-SPDZ: A Versatile Framework for Multi-Party Computation (2020, methodology): “This framework compiles an extension of Java to Java bytecode [60].”
- CrypTFlow: Secure TensorFlow Inference (2019, background): “There have been prior works that compile from lower-level, domain-specific languages to MPC. Examples include Fairplay [43], Wysteria [53], ObliVM [41], CBMC-GC [32], SMCL [49], Sharemind [13], EzPC [17], SPDZ [7], and HyCC [15].”
- A compiler and verifier for page access oblivious computation (2017, background): “[12] develop ObliVM to compile high-level source programs to an oblivious representation that leverages ORAMs to efficiently perform dynamic memory accesses (in lieu of performing a linear scan).”
- SoK: General Purpose Compilers for Secure Multi-Party Computation (2019, positive): “ObliVM-lang allows custom data types and type inference.”
- Oblivious Multi-Party Machine Learning on Trusted Processors (2016, methodology): “With larger irregular data structures, algorithms based instead on oblivious data structures [38, 66] may be more effective as they store data in elaborate randomized data structures that avoid streaming over all the tree leaves.”
- PrivLogit: Efficient Privacy-preserving Logistic Regression by Tailoring Numerical Optimizers (2016, methodology): “We use 2048-bit security parameter for encryption and other latest security parameters in ObliVM-GC.”
- Sealed-Glass Proofs: Using Transparent Enclaves to Prove and Sell Knowledge (2017, background): “Despite recent improvements, solutions based on ZK-SNARKs [43], [44] or garbled circuits [59], [60] remain impractical in most settings.”
- Opaque: An Oblivious and Encrypted Distributed Analytics Platform (2017, methodology): “ObliVM [22] is a platform for generic oblivious computation, and GraphSC [27] is a platform specialized to distributed graph computations built on ObliVM.”
- Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts (2016, background): “Several works have developed programming frameworks that take in highlevel programs as specifications and generate cryptographic implementations, including compilers for secure multi-party computation [19], [39], [41], [51], authenticated data structures [44], and (zero-knowledge) proofs [12], [30],”
- GraphSC: Parallel Secure Computation Made Easy (2015, methodology): “1RAM-model compilers such as SCVM [2] and ObliVM [11] effectively compile a program to a sequence of circuits as well.”
- Secure Linear Regression on Vertically Partitioned Datasets (2016, methodology): “Popular applications used for the empirical evaluation of implemented systems include graph algorithms [6, 18, 24, 29, 34, 45], data structure algorithms [24,29,42], string matching and distance algorithms [20,21,39] and AES [4,20,21,39].”
- UnLynx: A Decentralized System for Privacy-Conscious Data Sharing (2017, background): “based on secret sharing (SS) [3, 14, 26, 49] or secure multiparty computation (SMPC) [11, 28, 33, 40, 42, 50] have intrinsic limitations in terms of control over data and scalability.”