Paper 2026/2188
SPRUCE: Scalable Multiparty Private Set Union in Constant Rounds
Abstract
Multiparty private set union (MPSU) enables a group of mutually distrusting parties, each holding a private set, to learn the union of their sets without revealing additional information. MPSU is a fundamental primitive with applications to privacy-preserving tasks such as cyber-risk assessment and private record matching. State-of-the-art MPSU protocols require parties to sequentially shuffle encrypted values in order to hide which party contributed which inputs to the final result. We introduce a new paradigm for semi-honest MPSU that eliminates the need for such shuffling. This allows the protocol to run in constant rounds regardless of how many parties are involved. The resulting protocol also benefits from improved parallelism, an information-theoretic online phase, and native support for unbalanced input sizes, a situation most prior works must handle by padding inputs to hide individual input sizes. We implement and evaluate our protocol across a range of party counts, input sizes, and network conditions. In the unbalanced setting, where parties hold unequal-sized inputs, our protocol significantly outperforms the state-of-the-art schemes PULSE (CCS ’25) and DZBC25 (USENIX Security ’25). In the balanced setting, it achieves an order-of-magnitude improvement over PULSE in most settings and outperforms DZBC25 in WAN deployments with 100ms latency.
Metadata
- Available format(s)
-
PDF
- Category
- Cryptographic protocols
- Publication info
- Preprint.
- Keywords
- Multiparty Private Set UnionSet Operation
- Contact author(s)
-
zhengwei tong @ duke edu
saba @ cs unc edu
jkatz2 @ gmail com
kartik @ cs duke edu - History
- 2026-09-26: approved
- 2026-09-23: received
- See all versions
- Short URL
- https://ia.cr/2026/2188
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2026/2188,
author = {Zhengwei Tong and Saba Eskandarian and Jonathan Katz and Kartik Nayak},
title = {{SPRUCE}: Scalable Multiparty Private Set Union in Constant Rounds},
howpublished = {Cryptology {ePrint} Archive, Paper 2026/2188},
year = {2026},
url = {https://eprint.iacr.org/2026/2188}
}