Hybrid fully homomorphic encryption (F.H.E.) systems
OwnerJintai Dinginventor
Life of this patent
Estimating the term…
Abstract
Using a secure hardware or other form secure elements, where we securely implement the decryption and then encryption function to perform the re-encryption function, we build a hybrid fully homomorphic encryption system, where the bootstrap step is replaced the re-encryption function in the hardware module. This new hybrid system are very efficient because the re-encryption is much more efficient than the bootstrap function, which is the main bottleneck in terms of computations in FHE. In such a system, we make the system secure by making this hardware module secure using all or some of known techniques including temper proof, self-destruction and etc. This module can be controlled by either the server or the client or jointly.
Claims10
A method for operating a hybrid fully homomorphic encryption (FHE) system, the hybrid FHE system comprising a user or client, a cloud server or similar server, a secure hardware module associated with the user or client, an encryption function (EP) having a public key P, and a decryption function (DS) having a secret key, S, stored on the secure hardware module and known only by the user or client,
- wherein the secure hardware module is a tamper-proof device, independent from the cloud server or similar server, and configured to evaluate a decryption circuit by at least:
- (i) refreshing a ciphertext to reduce error to an original level when the ciphertext is decrypted with the secret key S to derive a plaintext, and
- (ii) the plaintext is re-encrypted by the encryption function EP directly to derive a new ciphertext,
- the method for operating the hybrid FHE system comprising:
- encrypting, at the user or client, a plurality of data blocks, xi, to generate encrypted data blocks, yi, i being natural numbers, using a public or private key and encryption functions EP:
- yi=EP(xi);
- storing the encrypted data blocks yi in the cloud server or similar server;
- the user or client providing the encryption function EP to the cloud server or similar server;
- in response to a request by the user or client to compute a value of algebraic function f(x1, . . . , xN) for any fixed integer N, calling the cloud server or similar server to compute f(y1, . . . , yN) on the encrypted data using the homomorphic property of EP;
- when computing f(y1, . . . , yN), determining, at the cloud server or similar server a need to perform re-encryption and refresh errors to the original level arising from using EP;
- calling the secure hardware module to perform the re-encryption, using a re-encryption function (RES) which decrypts input from the cloud server or similar server using DS and the secret key S, and re-encrypts the decrypted input using EP to generate re-encrypted data;
- provide the re-encrypted data to the cloud server or similar server as a re-encrypted message;
- and
- sending the re-encrypted message to the user or client to determine whether to decrypt the result.
Dependencies are inferred from the claim text.