Research Article

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 .