Research Article

Privacy-Preserving Restricted Boltzmann Machine

Algorithm 2

Securely computing the product of two integers [12].
Initialize
Step 1.
 Party first generates a random number and computes for each , is the possible input of Party .
 Then define , is the plain text. Then Party encrypts each
 using ElGamal scheme and gets , where each is a new random number.
 After that, Party sends each to Party in the increasing order of .
Step 2.
 Party picks , rerandomizes it, and sends
 back to Party , where , and is only known to Party .
Step 3.
 Party partially decrypts and sends the partially decrypted message to Party .
Step 4.
 Party finally decrypts the message (by doing partial decryption on the already partially decrypted message)
  to get .
Note that is only known to Party and is only known to Party . Furthermore, .