Patent ID: 8681973

Claim:
A method of processing data, comprising: receiving a request for an operand from a second processor at a first processor; randomly generating a non-zero integer; determining prime factors of the operand; randomly selecting a divisor of the prime factors of the operand; encrypting the operand that has been requested using the first processor responsive to receiving the request for the operand; sending the operand that has been encrypted from the first processor to the second processor; receiving a result from the second processor at the first processor, the result generated from a single homomorphic operation being performed using the operand sent to the second processor; decrypting the result received from the second processor at the first processor; storing the result that has been decrypted in a data store; and receiving a request for the result that has been decrypted from the second processor at the first processor; wherein encrypting the operand comprises encrypting the operand using a pad that comprises a fraction whose numerator is the non-zero integer and whose denominator is the divisor of the prime factors of the operand.