github.com/lqvir/APSU ↗
This repo provides C++ implementation of FHE-based unbalanced private set union (PSU).
Open this visualization on its own page →
Contributors
1
Lines of Code
48,188
From
2022-03-17
To
2022-03-27
About lqvir/APSU
APSU is a C++ implementation of an unbalanced private set union protocol based on fully homomorphic encryption, as described in academic research. The protocol is designed to achieve better performance when there is a large size difference between the two sets being compared, making it particularly efficient for scenarios where one party has significantly more data than the other.
The project builds upon Microsoft's APSI framework and includes command-line tools for both sender and receiver operations. It requires several dependencies including Microsoft SEAL for FHE operations, Kuku for hashing, libOTe for oblivious transfer, and various utility libraries like Log4cplus, OpenSSL, and FlatBuffers. The repository provides detailed build instructions using vcpkg for dependency management and includes an automated testing tool to verify correct protocol implementation.
The system supports configurable parameters such as number of threads, logging levels, and network settings. Users can supply datasets as CSV files with item-label pairs or as serialized sender databases, and queries through text files, with communication happening over configurable TCP connections. The implementation emphasizes modularity and incorporates components from the Kunlun cryptographic library as a header-only addition.