Smaug: Modular Augmentation of LLVM for MPC
Radhika Garg, Xiao Wang
Abstract
Secure multi-party computation (MPC) is a crucial tool for privacy-preserving computation, but it is getting in-creasingly complicated due to recent advancements and opti-mizations. Programming tools for MPC allow programmers to develop MPC applications without mastering all cryptography. However, most existing MPC programming tools fail to attract real users due to the lack of documentation, maintenance, and the ability to compose with legacy codebases. In this work, we build Smaug, a modular extension of LLVM. Smaug seamlessly brings all LLVM support to MPC programmers, including error messaging, documentation, code optimization, and frontend support to compile from various languages to LLVM intermediate representation (IR). Smaug can efficiently convert non-oblivious LLVM IR to their oblivious counterparts while applying popular optimizations as LLVM code trans-formations. With benchmarks written in C++ and Rust and backends for Yao and GMW protocols, we observe that Smaug performs as well as (and sometimes much better than) prior tools using domain-specific languages with similar backends. Finally, we use Smaug to compile open-source projects that implement Minesweeper and Blackjack, producing usable two-party games with ease.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5a6d28b0-3ae8-4e07-9afe-2bfecb14cc3eCited by top-tier papers1
Ask how each one uses itBuilds on7
- TaoStore: Overcoming Asynchronicity in Oblivious Data StorageCetin Sahin, Victor Zakhary, Amr El Abbadi, Huijia Lin et al.S&P 2016 · 98 citations
- HyCC: Compilation of Hybrid Protocols for Practical Secure ComputationNiklas Büscher, Daniel Demmler, Stefan Katzenbeisser, David Kretzmer et al.CCS 2018 · 97 citations
- Viaduct: an extensible, optimizing compiler for secure distributed programsCosku Acay, Rolph Recto, Joshua Gancher, Andrew C. Myers et al.PLDI 2021 · 25 citations
- Towards Generic MPC Compilers via Variable Instruction Set Architectures (VISAs)Yibin Yang, Stanislav Peceny, David Heath, Vladimir KolesnikovCCS 2023 · 10 citations
- COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party ComputationBenjamin Levy, Muhammad Ishaq, Benjamin Sherman, Lindsey Kennard et al.CCS 2023 · 6 citations
Related papers
- SoK: General Purpose Compilers for Secure Multi-Party ComputationMarcella Hastings, Brett Hemenway, Daniel Noble, Steve ZdancewicS&P 2019 · 181 citations
- Silph: A Framework for Scalable and Accurate Generation of Hybrid MPC ProtocolsEdward Chen, Jinhao Zhu, Alex Ozdemir, Riad S. Wahby et al.S&P 2023
- Taypsi: Static Enforcement of Privacy Policies for Policy-Agnostic Oblivious ComputationQianchuan Ye, Benjamin DelawareOOPSLA 2024 · 1 citation
- Cost-Effective Testing of MPC CompilersSebastian Watzinger, Valentin Wüstholz, Deepak Garg, Maria ChristakisFSE 2026
- Metamorphic Testing of Secure Multi-party Computation (MPC) CompilersYichen Li, Dongwei Xiao, Zhibo Liu, Qi Pang et al.FSE 2024 · 5 citations
