  Secure multiparty computation (MPC) techniques enable multiple parties to
compute joint functions over their private data without sharing that data with
other parties, typically by employing powerful cryptographic protocols to
protect individual's data. One challenge when writing such functions is that
most MPC languages force users to intermix programmatic and privacy concerns in
a single application, making it difficult to change or audit a program's
underlying privacy policy. Prior policy-agnostic MPC languages relied on
dynamic enforcement to decouple privacy requirements from program logic.
Unfortunately, the resulting overhead makes it difficult to scale MPC
applications that manipulate structured data. This work proposes to eliminate
this overhead by instead transforming programs into semantically equivalent
versions that statically enforce user-provided privacy policies. We have
implemented this approach in a new MPC language, called Taypsi; our
experimental evaluation demonstrates that the resulting system features
considerable performance improvements on a variety of MPC applications
involving structured data and complex privacy policies.
