Smaug

LLVM-native compiler transforming C++ and Rust into MPC-ready oblivious code

Built Smaug, an LLVM-native compiler that transforms standard C++ and Rust programs into MPC-ready oblivious code — compiling up to 1240× faster than prior tools while matching or outperforming their output circuit quality.

  • Designed a modular LLVM pass pipeline that instruments memory accesses for obliviousness without requiring programmers to understand MPC or oblivious algorithms.
  • Achieves portability and interoperability between plaintext and secure computation, enabling real-world C++ codebases to be compiled directly to MPC circuits.

Authors: Radhika Garg, Xiao Wang
Venue: IEEE S&P 2025
Paper: ePrint 2025/004 · Code