February 25, 2022
Secure Multiparty Computation (MPC) has emerged as a promising approach to mutually confidential computation. Traditionally, MPC languages do not allow memory to be addressed using secret values. This precludes, for example, a secure binary search. This restriction is relaxed by ensuring that the secure computation is (probabilistically) oblivious. Unfortunately, existing languages for MPC do not support efficient, oblivious programming. In this talk, I will discuss some recent results on the design and implementation of oblivious languages for MPC. In particular, I will discuss the design and implementation of OblivML, a functional language which enforces probabilistic obliviousness using types. Then, I will discuss the design and implementation of Symphony, a functional MPC language which guarantees deadlock freedom by construction. Finally, I’ll discuss ongoing work to combine these languages into an oblivious language for MPC.