Outsourced Mutual Private Set Intersection Protocol for Edge-Assisted IoT
Algorithm 2
Outsourced two-party set intersection protocol.
Inputs:
: Set
: Set
Output: The intersection set , where .
Data storage phase:
1. and determine the number of bins, the size of bins and the two hash functions .
2. For ,, computes the two bin positions and corresponding to , and inserts into one of them. fills the bin with less than elements with dummy elements, then generates the cuckoo hash table .
3. For ,, computes the bin positions and corresponding to , and inserts into both of them. fills the bin with less than elements with dummy elements, then generates the hash table .
Data encryption phase:
1. calls the ElGamal threshold encryption protocol to compute the encrypted hash table , and then sends to the server in shuffled order.
2. calls the ElGamal threshold encryption protocol to compute the encrypted cuckoo hash table , and then sends to the server in shuffled order.
Intersection calculation phase:
1. After the and are received, the server proceeds as follows:
(1) computes the encrypted set intersection by bins: for , computes .
(2) then the final encrypted intersection .
(3) publishing ..
2. After receiving , the users , and the server proceed as follows:
(1) each party half-decrypts to using its private key, and then sends to the server.
(2) then the server sends to and sends to .
Each party fully decrypts the received other party half-decrypted intersection, and gets the plaintext intersection set .