IP Library Granted Patent US 12671569
Granted Patent B2
US 12671569 · App. 18/718,442 · Granted Jun 30, 2026

Using leveled homomorphic encryption in a client-server setting for evaluating an artificial neural network over an encrypted input

Inventors: Claudio Soriente (Heidelberg, DE); Dario Fiore (Pozuelo de Alarcon, ES); Kasra Edalatnejadkhamene (Pozuelo de Alarcon, ES)
Assignee: NEC CORPORATION
H04L9/008H04L9/0618G06F17/10H04L2209/46
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12671569
App. No.
18/718,442
Granted
Jun 30, 2026
Kind
B2
Abstract

A computer-implemented method for performing at least one computational operation on an encrypted input by at least one processor of a server in a client-server setting, where parameters of the computational operation are private to the server and the input is private to the client is provided. The method includes receiving, by the server, a ciphertext c of a leveled homomorphic encryption (LHE) scheme as encrypted input. Randomness is homomorphically added by the server to the ciphertext c and the resulting ciphertext b is transmitted to the client. The server receives a refreshed ciphertext b′ obtained by the client in a ciphertext refresh procedure including decrypting and re-encrypting the ciphertext b. The server homomorphically removes the previously added randomness from the received refreshed ciphertext b′ to obtain a refreshed ciphertext c′. The server performs the at least one computational operation on the refreshed ciphertext c′.

Claims (44)

1 . A computer-implemented method for performing at least one computational operation on an encrypted input by at least one processor of a server in a client-server setting, wherein parameters of the computational operation are private to the server and the input is private to the client, the method comprising:

receiving, by the server, a ciphertext c of a leveled homomorphic encryption (LHE) scheme as encrypted input;

homomorphically adding, by the server, randomness to the ciphertext c and transmitting the resulting ciphertext b directly to the client;

receiving, by the server directly from the client, a refreshed ciphertext b′ obtained by the client in a ciphertext refresh procedure including decrypting and re-encrypting the ciphertext b;

homomorphically removing, by the server, the previously added randomness from the received refreshed ciphertext b′ to obtain a refreshed ciphertext c′; and

performing, by the server, the at least one computational operation on the refreshed ciphertext c′.

2 . The method according to claim 1 , wherein the at least one computational operation includes evaluating an Artificial Neural Network (ANN) over the encrypted input.

3 . The method according to claim 1 , wherein homomorphically adding randomness to the ciphertext c comprises:

selecting, by the server, a random element r;

encrypting, by the server, the selected random element r under a public key pk c of the client using the encryption operation HE.Enc of the LHE scheme; and

homomorphically adding the resulting ciphertext HE.Enc(pk c , r) to the ciphertext c.

4 . The method according to claim 3 , wherein homomorphically removing the previously added randomness from the received ciphertext b′ comprises:

homomorphically subtracting, by the server, the encryption of r encrypted under the public key pk c of the client from the ciphertext b′ received from the client.

5 . The method according to claim 1 , further comprising:

reducing a scale factor of a fixed-point plaintext encrypted in a ciphertext of the LHE scheme by applying a re-scaling operation that discards a predefined amount of least significant bits of the fixed-point plaintext.

6 . The method according to claim 5 , wherein the re-scaling operation is carried out based on a floor function that discards a decimal part of an input value.

7 . The method according to claim 5 , further comprising:

using a multi-party computation (MPC) protocol between the client and the server to correct errors incurred by the re-scaling operation.

8 . The method according to claim 1 , further comprising:

using ones' complement encoding and representing a plaintext value x as N+x for a fixed N to enable computation on negative numbers.

9 . The method according to claim 1 , wherein homomorphically adding the randomness to the ciphertext c is performed using a public key pk c of the client.

10 . The method according to claim 1 , wherein homomorphically removing the previously added randomness is performed using a public key pk c of the client.

11 . The method according to claim 1 , wherein the server only has a public key pk c of the client, and wherein the client has the public key pk c and a secret key sk c .

12 . A device for a server in a client-server setting, the device comprising one or more processors and a memory, the memory comprising processor executable instructions that, when executed by one or more of the processors, cause the one or more processors, alone or in combination, to perform a method for performing at least one computational operation on an encrypted input, wherein parameters of the computational operation are private to the server and the input is private to the client, the method comprising:

receiving a ciphertext c of a leveled homomorphic encryption (LHE) scheme as encrypted input;

homomorphically adding randomness to the ciphertext c and transmitting the resulting ciphertext b directly to the client;

receiving, directly from the client, a refreshed ciphertext b′ obtained by the client by decrypting and re-encrypting the ciphertext b;

homomorphically removing the previously added randomness from the received refreshed ciphertext b′ to obtain a refreshed ciphertext c′; and

performing the at least one computational operation on the refreshed ciphertext c′.

13 . The device according to claim 12 , wherein the at least one computational operation includes evaluating an Artificial Neural Network (ANN) over the encrypted input.

14 . The device according to claim 12 , wherein homomorphically adding randomness to the ciphertext c comprises:

selecting, by the server, a random element r;

encrypting, by the server, the selected random element r under a public key pk c of the client using the encryption operation HE.Enc of the LHE scheme; and

homomorphically adding the resulting ciphertext HE.Enc(pk c , r) to the ciphertext c.

15 . The device according to claim 14 , wherein homomorphically removing the previously added randomness from the received ciphertext b′ comprises:

homomorphically subtracting, by the server, the encryption of r encrypted under the public key pk c of the client from the ciphertext b′ received from the client.

16 . A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by one or more processors of a server in a client-server setting, result in operations comprising:

receiving a ciphertext c of a leveled homomorphic encryption scheme as encrypted input;

homomorphically adding randomness to the ciphertext c and transmitting the resulting ciphertext b directly to the client;

receiving, directly from the client, a refreshed ciphertext b′ obtained by the client by decrypting and re-encrypting the ciphertext b;

homomorphically removing the previously added randomness from the received refreshed ciphertext b′ to obtain a refreshed ciphertext c′; and

performing at least one computational operation on the refreshed ciphertext c′.

17 . The storage medium according to claim 16 , wherein the at least one computational operation includes evaluating an Artificial Neural Network (ANN) over the encrypted input.

18 . The storage medium according to claim 16 , wherein a scale factor of a fixed-point plaintext encrypted in a ciphertext of the LHE scheme is reduced by applying a re-scaling operation that discards a predefined amount of least significant bits of the fixed-point plaintext.