This is the Java implementation of our paper: Efficient Private Set Intersection Cardinality inthe Reverse Unbalanced Setting Utilizing Hash-Prefix Filter, we implement the unbalanced PSI-CA of Lv et al.[1] and our proposed reverse unbalanced PSI-CA in the new scenario.
Pamams.java controls the protocol setup and related parameters:
- Unbalanced PSI-CA(based on Pohlig-Hellman) : ProtocolEnum.Unbalanced
- Reverse Unbalanced PSI-CA(based on Pohlig-Hellman) : ProtocolEnum.Reverse
- Unbalanced PSI-CA(based on ECC) : ProtocolEnum.ECC_Unbalanced
- Reverse Unbalanced PSI-CA(based on ECC) : ProtocolEnum.ECC_Reverse
- Bloom Filter : FilterEnum.BloomFilter
- Cuckoo Filter : FilterEnum.CuckooFilter
- SM2
- K283
- P256
- secp224r1
- secp256k1
THREADS
prefix_len
pirFilter and preFilter can't both be true, preFilter = true exists privacy leakage, which corresponds to the Pre-Filter Reverse Unbalanced PSI-CA protocol in our paper. On the other hand, pirFilter = true corresponds to the Pre-filter Reverse Unbalanced Protocol with Leakage Resistance.
[1] Lv S, Ye J, Yin S, et al. Unbalanced private set intersection cardinality protocol with low communication cost[J]. Future Generation Computer Systems, 2020, 102: 1054-1061.