Method and device for multi-key homomorphic encryption
AssigneesSeoul National University R&Db Foundation, Industry-Academic Cooperation Foundation, Chosun University
InventorsJong-Seon No, Young-Sik Kim, Zahyun Koo, Joon-Woo Lee
Life of this patent
Estimating the term…
Abstract
A device for performing multi-key homomorphic encryption includes a public key generator configured to generate a public key by using a secret key for each client, and a multiplication key generator configured to generate a multiplication key by reusing a public key protection error used in the generating of the public key. By reducing the size of the multiplication key by reusing the public key protection error, the operation time and memory may be reduced.
Claims10
A device for performing multi-key homomorphic encryption, the device comprising:
- memory storing one or more instructions;
- and
- one or more processors;
- wherein the one or more instructions, when executed by the one or more processors, cause the device to:
- generate a public key based on a secret key for each of a plurality of clients;
- generate corresponding multiplication keys for the plurality of clients by reusing public key protection errors used in the generating of the public key, wherein a multiplication key is generated using a modified Ring Learning with Error (RLWE) sample, and wherein the modified RLWE sample is defined in the form of (α, −αs+x, αx+e), where a denotes an element selected from a uniform distribution on Rq, s denotes a secret key distribution, and x and e denote an error distribution;
- receive, from the plurality of clients, ciphertexts encrypted using corresponding public keys;
- perform homomorphic operations on the ciphertexts using the corresponding multiplication keys to obtain resulting ciphertexts;
- and
- transmit the resulting ciphertexts to the plurality of clients.
A device for performing multi-key homomorphic encryption, the device comprising:
- memory storing one or more instructions;
- and
- one or more processors;
- wherein the one or more instructions, when executed by the one or more processors, cause the device to:
- generate a secret key;
- select a public key protection error from an error distribution;
- generate a public key based on the secret key and the public key protection error;
- select a multiplication key protection error from the error distribution;
- generate a multiplication key based on the secret key, the public key protection error, and the multiplication key protection error, wherein the multiplication key is generated by using a modified Ring Learning with Error (RLWE) sample, and wherein the modified RLWE sample is defined in the form of (α, −αs+x, αx+e), where a denotes an element selected from a uniform distribution on Rq, s denotes a secret key distribution, and x and e denote an error distribution;
- receive, from at least one client, a ciphertext encrypted using the public key;
- perform a homomorphic operation on the ciphertext using the multiplication key to obtain a resulting ciphertext;
- and
- transmit the resulting ciphertext to the at least one client.
A method of performing multi-key homomorphic encryption, the method comprising:
- generating a public key based on a secret key for each of a plurality of clients;
- generating corresponding multiplication keys for the plurality of clients by reusing public key protection errors used in the generating of the public keys, wherein a multiplication key is generated using a modified Ring Learning with Error (RLWE) sample, and wherein the modified RLWE sample is defined in the form of (α, −αs+x, αx+e), where a denotes an element selected from a uniform distribution on Rq, s denotes a secret key distribution, and x and e denote an error distribution;
- receiving, from the plurality of clients, ciphertexts encrypted using corresponding public keys;
- performing homomorphic operations on the ciphertexts using the corresponding multiplication keys to obtain resulting ciphertexts;
- and
- transmitting the resulting ciphertexts to the plurality of clients.
A non-transitory computer-readable recording medium having one or more instructions recorded thereon, that, when executed by one or more processors, cause the one or more processors to:
- generate a public key based on a secret key for each of a plurality of clients;
- generate corresponding multiplication keys for the plurality of clients by reusing public key protection errors used in the generating of the public keys, wherein a multiplication key is generated using a modified Ring Learning with Error (RI WE) sample, and wherein the modified RLWE sample is defined in the form of (α, −αs+xαx+e), where a denotes an element selected from a uniform distribution on Rq, s denotes a secret key distribution, and x and e denote an error distribution;
- receive, from the plurality of clients, ciphertexts encrypted using corresponding public keys;
- perform homomorphic operations on the ciphertexts using the corresponding multiplication keys to obtain resulting ciphertexts;
- and
- transmit the resulting ciphertexts to the plurality of clients.
Dependencies are inferred from the claim text.