CryptDough: Unified MPC Analytics
Abstract
Some applications require protection against malicious entities [27] while others assume honest-but-curious parties [16]. Second, data analysis pipelines are complex and typically include diverse workloads . The input to many ML tasks is often the result of a relational query [5], while mobile health analytics involve time series operations (windows) followed by relational aggregations [36]. Finally, secure data workflows should be easy to develop without cryptographic expertise . While cryptographers typically work at the level of arithmetic and boolean functionalities, analysts prefer to write programs in high-level languages that must be agnostic to the underlying secure primitives. We present CryptDough, a unified analytics engine for secure multiparty computation (MPC). CryptDough enables multiple distrusting parties to jointly execute a data analysis pipeline on their private inputs and learn nothing beyond the result (e.g., aggregate statistics). Unlike existing MPC solutions that support a single threat model or workload type, CryptDough provides built-in support for cross-domain analytics (relational, time series, ML inference) under various threat models, all within the same system runtime. CryptDough contributes (i) a hierarchical system design that facilitates modularity and extensibility through progressive lowering of abstractions, and (ii) the concept of _virtual vectors_ that enable users to write single-threaded code across all layers of the software stack, while pushing the complexity of communication, parallelization, and memory management down to the execution engine. We show that CryptDough generalizes the functionality of state-of-the-art MPC systems and remains competitive on the analytics they support, often outperforming them by more than 2.