Research Article

Outsourced Mutual Private Set Intersection Protocol for Edge-Assisted IoT

Algorithm 1

ElGamal threshold encryption protocol.
Inputs:
: The cuckoo hash table
: The hash table
Output: the encrypted cuckoo hash table and .
Key generation phase
and calculate as below:
 1. Determine a hash function .
 2. Run the KeyGen algorithm in ElGamal threshold encryption to generate the key pairs .
 3. Publish the public keys and keep the private key .
 4. Each party computes .
Encryption phase
 1. encrypts the cuckoo hash table by bins, for all , computes as follows:
  (1) choose a random number , for all items in the kth cuckoo hash table , using ElGamal threshold encryption algorithm to encrypt them:
  (2) sends to in shuffled order.
 2. encrypts the hash table by bins, for all , computes as follows:
  (1) choose a random number , for all items in the kth hash table , using ElGamal threshold encryption algorithm to encrypt them:
  (2) sends to in shuffled order.
 3. re-randomizes the received by bins. For all and , computes as follows: .
  Then .
 4. re-randomizes the received by bins. For all and , computes as follows:
Then .