Symphony: Expressive Secure Multiparty Computation with Coordination
Ian Sweet (University of Maryland, USA), David Darais (Galois, USA),, David Heath (Georgia Institute of Technology, USA), William Harris (Galois,, USA), Ryan Estes (University of Vermont, USA), Michael Hicks (University of, Maryland, USA / Amazon, USA)

TL;DR
Symphony is a new programming language designed to simplify the development of secure multiparty computations by providing expressive constructs for coordination and proving its correctness and efficiency through formal semantics and implementation.
Contribution
It introduces first-class shares and party sets in Symphony, enabling more expressive and efficient MPC programming compared to existing languages.
Findings
Symphony can express protocols that other languages cannot.
Symphony programs operate efficiently in practice.
Formal semantics align with distributed execution.
Abstract
Context: Secure Multiparty Computation (MPC) refers to a family of cryptographic techniques where mutually untrusting parties may compute functions of their private inputs while revealing only the function output. Inquiry: It can be hard to program MPCs correctly and efficiently using existing languages and frameworks, especially when they require coordinating disparate computational roles. How can we make this easier? Approach: We present Symphony, a new functional programming language for MPCs among two or more parties. Symphony starts from the single-instruction, multiple-data (SIMD) semantics of prior MPC languages, in which each party carries out symmetric responsibilities, and generalizes it using constructs that can coordinate many parties. Symphony introduces **first-class shares** and **first-class party sets** to provide unmatched language-level expressive power with high…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
