Encryption method and apparatus using homomorphic encryption
AssigneesSamsung Electronics Co., Ltd., Snu R&Db Foundation, Industry-Academic Cooperation Foundation, Chosun University
InventorsJong-Seon No, Joonwoo Lee, Young-Sik Kim, Yongwoo Lee, Eunsang Lee
Life of this patent
Estimating the term…
Abstract
Disclosed is an encryption method and apparatus. The encryption method using homomorphic encryption may include generating a ciphertext by encrypting data, and bootstrapping the ciphertext by performing a modular reduction based on a selection of one or more target points for a modulus corresponding to the ciphertext.
Claims21
A processor-implemented encryption method using homomorphic encryption, the encryption method comprising:
- encrypting plain text data into a first ciphertext;
- performing a first homomorphic operation on the first ciphertext to generate a second ciphertext, the second ciphertext comprises a coefficient that is higher than coefficient of the first ciphertext due to noise introduced during the first homomorphic operation;
- generating a target polynomial based on the increased coefficient, the target polynomial corresponds to a modular reduction, comprising:
- iteratively determining one or more reference points based on a predetermined degree of the target polynomial;
- determining a predetermined polynomial that passes through the one or more reference points where absolute values of error between the predetermined polynomial and a determined piecewise continuous function at the one or more reference points alternate in sign;
- selecting one or more target points from the predetermined polynomial and the determined piecewise continuous function such that the one or more target points alternate in sign;
- and
- generating the target polynomial based on absolute values of error of the one or more target points being within a predefined range corresponding to the increased coefficient;
- and
- generating a third ciphertext based on the target polynomial where the target polynomial reduces the increased coefficient within the predefined range to enable additional homomorphic operation, by performing a second homomorphic operation on the second ciphertext.
An encryption apparatus using homomorphic encryption, the encryption apparatus comprising:
- one or more processors configured to:
- encrypt plain text data into a first ciphertext;
- perform a first homomorphic operation on the first ciphertext to generate a second ciphertext, the second ciphertext comprises a coefficient that is higher than coefficient of the first ciphertext due to noise introduced during the first homomorphic operation;
- generate a target polynomial based on the increased coefficient, the target polynomial corresponds to a modular reduction, the generation of the target polynomial comprising:
- an iterative determination of one or more reference points based on a predetermined degree of the target polynomial;
- a determination of a predetermined polynomial that passes through the one or more reference points where absolute values of error between the predetermined polynomial and a determined piecewise continuous function at the one or more reference points alternate in sign;
- a selection of one or more target points from the predetermined polynomial and the determined piecewise continuous function such that the one or more target points alternate in sign;
- and
- a generation of the target polynomial based on absolute values of error of the one or more target points being within a predefined range corresponding to the increased coefficient;
- and
- generate a third ciphertext based on the target polynomial where the target polynomial reduces the increased coefficient within the predefined range to enable additional homomorphic operation, by performing a second homomorphic operation on the second ciphertext.
An apparatus configured to perform a homomorphic encryption scheme, comprising:
- one or more processors configured to:
- encrypt plain text data into a first ciphertext;
- perform a first homomorphic operation on the first ciphertext to generate a second ciphertext, the second ciphertext comprises a coefficient that is higher than coefficient of the first ciphertext due to noise introduced during the first homomorphic operation;
- generate a target polynomial based on the increased coefficient, the target polynomial corresponds to a modular reduction, the generation of the target polynomial comprising:
- an iterative determination of one or more reference points based on a predetermined degree of the target polynomial;
- a determination of a predetermined polynomial that passes through the one or more reference points where absolute values of error between the predetermined polynomial and a determined piecewise continuous function at the one or more reference points alternate in sign and have equal absolute values;
- a determination of candidate points having absolute values that are greater than or equal to the predetermined value among extreme points between the predetermined polynomial and the piecewise continuous function that passes through the one or more reference points;
- a determination of one or more target points from among the candidate points such that a maximum error value and a minimum error value alternates, or a sum of absolute values of the extreme points is maximized within a predefined range corresponding to the increased coefficient;
- and
- a generation of the target polynomial based on the one or more target points;
- and
- generate a third ciphertext based on the target polynomial where the target polynomial reduces the increased coefficient within the predefined range to enable additional homomorphic operation, by performing a second homomorphic operation on the second ciphertex.
Dependencies are inferred from the claim text.