ABSTRACT
Abstract
A decryption method includes: receiving a homomorphic ciphertext; and obtaining a result value added an error value at a message from the received homomorphic ciphertext. The error is disposed on the least significant bit (LSB) side in the homogeneous ciphertext, and the message is disposed at a position adjacent to the error.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation application of U.S. patent application Ser. No. 16/478,596, filed on Jul. 17, 2019, which is a national stage application of International Application No. PCT/KR2018/016060, filed on Dec. 7, 2018, which claims priority to Korean Application Nos. 10-2018-0129749 and 10-2017-0173608, filed on Oct. 29, 2018 and Dec. 15, 2017, respectively. The disclosures of these priority applications are incorporated herein in their entireties.
TECHNICAL FIELD
The disclosure relates to a terminal device performing homomorphic encryption, a server device processing the ciphertext, methods thereof, and a homomorphic encryption method of adjusting a plaintext space of a ring to a real number space and generating a homomorphic ciphertext with improved computation speed.
BACKGROUND ART
The advancement of electronic and communication technologies has supported a variety of services transceiving data between various devices and utilizing the transceived data. For example, the cloud computing service in which a user stores his or her personal information in a server and utilizes information of the server by using his or her terminal device has been actively used.
In such an environment, it is essential to use security technology to prevent data leakage. Accordingly, the server stores an encrypted data. In this case, it is necessary that encrypted data is decrypted every time the server searches data stored therein or performs a series of operations based on the data, and thus resources and time are wasted.
In addition, when a hacking of a third party is performed while the server performs decryption temporarily for computation, there is a problem that personal information can be easily leaked to the third party.
To resolve this problem, a homomorphic encryption method has been studied. According to a homomorphic encryption, even if a computation is performed in a ciphertext itself without decrypting encrypted information, it is possible to obtain the same result as a value obtained by performing computation of a plaintext and then encrypting the computed plaintext. Accordingly, various computations may be performed in a state that the ciphertext is not decrypted.
However, when an integer computation is performed according to a related-art homomorphic encryption method, there is a problem that the number of bits of the plaintext increases exponentially and the time required for the computation increases significantly. Meanwhile, the related-art homomorphic encryption method has a drawback that an imaginary number part of a plaintext increases in a computation process. For example, since the related-art homomorphic encryption method performs homomorphic encryption of a message in a complex number space, an error is added to the imaginary number part even when a homomorphic encryption of a message of the real number space is performed. If a computation of a homomorphic encryption is repeated, an error of the imaginary number space gradually increases, and when an error of the imaginary number space is significantly increased, a message of a real number part corresponding to an actual message may be damaged in a homomorphic multiplication computation thereafter.
Accordingly, a method capable of improving a computation speed even in the state of a ciphertext and preventing the imaginary number part of the plaintext from being increased in the computation process is demanded.
The above information is presented as background information only to assist with an understanding of the disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the disclosure.
EXPLANATION OF THE INVENTION
Technical Problem
Aspects of the disclosure are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the disclosure is to provide a terminal device generating a homomorphic ciphertext by reflecting a scaling factor in a message and then encrypting the message, a server device computing the ciphertext, and methods thereof. In addition, an aspect of the disclosure is to provide a method for performing homomorphic encryption of a real number plaintext by adjusting a plaintext space of a ring to a real number space and generating a homomorphic encryption with improved computation speed.
Technical Solution
In accordance with an aspect of the disclosure, an encryption method of a terminal device is provided. The encryption method includes setting a scaling factor, and reflecting the scaling factor in a message to be encrypted, and performing encryption using a public key to generate a homomorphic ciphertext. The homomorphic encryption is, based on a decryption being performed, in a form that a result value obtained by adding an error value to a value obtained by reflecting the scaling factor in the message is restored.
A modulus of the homomorphic ciphertext may be set as an exponentiation of one scaling factor.
A modulus of the homomorphic ciphertext may be set as a value obtained by multiplying a plurality of different scaling factors by each other. The plurality of different scaling factors may be set as values which are disjoint from each other within a similar range.
The generating the homomorphic ciphertext may include calculating an error from a discrete Gaussian distribution or a distribution that is within a short statistical distance to the discrete Gaussian distribution, and multiplying the message by the scaling factor and adding the error to the multiplied message, and performing encryption using the public key to generate the homomorphic ciphertext.
The encryption method may further include, based on the message being a plurality of message vectors, converting the plurality of message vectors into a polynomial in a form capable of being encrypted in parallel. The generating the homomorphic ciphertext may include multiplying the polynomial by the scaling factor, and performing homomorphic encryption using the public key.
In accordance with another aspect of the disclosure, a ciphertext processing method of a server device is provided. The ciphertext processing method includes receiving a plurality of homomorphic ciphertext that are individually encrypted, performing a predetermined computation with respect to the plurality of homomorphic ciphertext, and eliminating a noise domain from a result ciphertext calculated by the computation and extracting data of a valid domain. Each of the plurality of homomorphic ciphertext may be a ciphertext generated by multiplying a message by a scaling factor, and performing encryption of the multiplied message. The noise domain may be determined to correspond to a size of the scaling factor.
The ciphertext processing method may further include, based on each of the plurality of homomorphic ciphertext is a ciphertext generated by packing a plurality of message vectors, performing a computation process in parallel of message vectors included in each of the plurality of homomorphic ciphertext.
The ciphertext processing method may further include rotating an order of each of message vectors included in the plurality of homomorphic ciphertext.
The ciphertext processing method may further include, based on the message being a complex number, performing a conjugation computation for the plurality of homomorphic ciphertext.
In accordance with another aspect of the disclosure, a terminal device is provided. The terminal device includes a memory configured to store a scaling factor and a public key, a processor configured to reflect the scaling factor in a message to be encrypted, and then perform encryption using the public key, and generate a homomorphic ciphertext, and a communicator configured to transmit the homomorphic ciphertext to an external device. The homomorphic ciphertext is, based on a decryption being performed, in a form that a result value obtained by adding an error value to a value obtained by reflecting the scaling factor in the message is restored.
The terminal device may further include an input interface configured to receive input of the message and the scaling factor. The processor may be configured to store, in the memory, the message input through the input interface and the scaling factor.
The processor may be configured to set a modulus of the homomorphic ciphertext as an exponentiation of the scaling factor, and store the set modulus of the homomorphic ciphertext in the memory.
The processor may be configured to set a modulus of the homomorphic ciphertext as a value obtained by multiplying a plurality of different scaling factors by each other, and store the set modulus of the homomorphic ciphertext in the memory. The plurality of different scaling factors may be set as values which are disjoint from each other within a similar range.
The processor may be configured to calculate an error from a discrete Gaussian distribution or a distribution that is within a short statistical distance to the discrete Gaussian distribution, and to multiply the message by the scaling factor and adding the error to the multiplied message, and then perform encryption using the public key.
The processor may be configured to, based on the message being a plurality of message vectors, convert the plurality of message vectors into a polynomial in a form capable of being encrypted in parallel, and to multiply the polynomial by the scaling factor, and then perform homomorphic encryption using the public key.
In accordance with another aspect of the disclosure, an encryption method of a terminal device is provided. The encryption method includes setting a ring which is a set including elements between which addition and multiplication are defined, the ring including a plaintext space that is a real number from among sets that are closed to addition and multiplication, calculating a secret key from the ring, calculating a public key corresponding to the calculated secret key, and applying the public key to a message and generating a homomorphic ciphertext.
The ring may satisfy the following equation:
a ( X )=( X â1 ) where a ( X )â R,X â1 :=âX nâ1
Here, a(X) is a polynomial corresponding to the ring, and the R is a ring including a real space that is a complex number.
The homomorphic ciphertext may have a complexity of o(n log n) with respect to an addition or multiplication computation.
The encryption method may further include calculating a first random polynomial from the ring, extracting an error, and modulating the error in the first random polynomial and the secret key, and calculating a second random polynomial. The calculating the public key may include calculating the public key using the first and second random polynomials.
The generating the homomorphic ciphertext may include calculating the message as a polynomial corresponding to the ring, and applying the public key to the calculated polynomial and generating a homomorphic ciphertext.
The encryption method may further include performing at least one computation from among addition or multiplication with respect to the generated homomorphic ciphertext and a pre-generated homomorphic ciphertext. The performing the computation may include performing a first function process with respect to each of the generated homomorphic ciphertext and the pre-generated homomorphic ciphertext, performing a computation between the homomorphic ciphertext for which the first function process is performed, and performing a second function process, which is an inverse function of the first function, with respect to a homomorphic ciphertext for which the computation is performed.
The first function may be a Number Theoretic Transform (NTT) function.
The homomorphic ciphertext may be, based on a decryption being performed, in a form that a result value obtained by adding an error value to the message is restored.
In accordance with another aspect of the disclosure, a terminal device is provided. The terminal device includes a memory configured store a message, and a processor configured to set a ring which is a set including elements between which addition and multiplication are defined, the ring including a plaintext space that is a real number from among sets that are closed to addition and multiplication, to calculate a secret key from the ring, to calculate a public key corresponding to the calculated secret key, and to apply the public key to a message and generate a homomorphic ciphertext.
The ring may satisfy the following equation:
a ( X )= a ( X â ) where a ( X )â R,X â1 :=âX nâ1
Here, a(X) is a polynomial corresponding to the ring, and the R is a ring including a real space that is a complex number.
The homomorphic ciphertext may have a complexity of o(n log n) with respect to an addition or multiplication computation.
The processor may be configured to calculate a first random polynomial from the ring, to extract an error, to modulate the error in the first random polynomial and the secret key, and calculate a second random polynomial, and to calculate the public key using the first and second random polynomials.
The processor may be configured to calculate the message as a polynomial corresponding to the ring, and to apply the public key to the calculated polynomial and generate a homomorphic ciphertext.
The processor is configured to perform a first function process with respect to each of the generated homomorphic ciphertext and the pre-generated homomorphic ciphertext, to perform at least one computation from among addition or multiplication between the homomorphic ciphertext for which the first function process is performed, and to perform a second function process, which is an inverse function of the first function, with respect to a homomorphic ciphertext for which the computation is performed.
The first function may be a Number Theoretic Transform (NTT) function.
Advantageous Effects
According to the various embodiments of the disclosure as described above, a homomorphic ciphertext including a valid domain may be generated, and thus it is possible to reduce computation time and burden while minimizing message loss.
In addition, since a homomorphic ciphertext is generated by adjusting a plaintext space of a ring to a real number space, it is possible to initially block the increase of the imaginary number part of the plaintext in the computation process, and to support twice as many as parallel real number computations with the same stability, computation speed, memory (ciphertext and key size) as the previous HEAAN.
Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the disclosure.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a diagram illustrating a structure of a network system, according to an embodiment of the disclosure;
FIG. 2 is a block diagram illustrating a configuration of a terminal device and a server device, according to an embodiment of the disclosure;
FIG. 3 is a flowchart of an encryption method of a terminal device, according to an emb
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation application of U.S. patent application Ser. No. 16/478,596, filed on Jul. 17, 2019, which is a national stage application of International Application No. PCT/KR2018/016060, filed on Dec. 7, 2018, which claims priority to Korean Application Nos. 10-2018-0129749 and 10-2017-0173608, filed on Oct. 29, 2018 and Dec. 15, 2017, respectively. The disclosures of these priority applications are incorporated herein in their entireties.
TECHNICAL FIELD
The disclosure relates to a terminal device performing homomorphic encryption, a server device processing the ciphertext, methods thereof, and a homomorphic encryption method of adjusting a plaintext space of a ring to a real number space and generating a homomorphic ciphertext with improved computation speed.
BACKGROUND ART
The advancement of electronic and communication technologies has supported a variety of services transceiving data between various devices and utilizing the transceived data. For example, the cloud computing service in which a user stores his or her personal information in a server and utilizes information of the server by using his or her terminal device has been actively used.
In such an environment, it is essential to use security technology to prevent data leakage. Accordingly, the server stores an encrypted data. In this case, it is necessary that encrypted data is decrypted every time the server searches data stored therein or performs a series of operations based on the data, and thus resources and time are wasted.
In addition, when a hacking of a third party is performed while the server performs decryption temporarily for computation, there is a problem that personal information can be easily leaked to the third party.
To resolve this problem, a homomorphic encryption method has been studied. According to a homomorphic encryption, even if a computation is performed in a ciphertext itself without decrypting encrypted information, it is possible to obtain the same result as a value obtained by performing computation of a plaintext and then encrypting the computed plaintext. Accordingly, various computations may be performed in a state that the ciphertext is not decrypted.
However, when an integer computation is performed according to a related-art homomorphic encryption method, there is a problem that the number of bits of the plaintext increases exponentially and the time required for the computation increases significantly. Meanwhile, the related-art homomorphic encryption method has a drawback that an imaginary number part of a plaintext increases in a computation process. For example, since the related-art homomorphic encryption method performs homomorphic encryption of a message in a complex number space, an error is added to the imaginary number part even when a homomorphic encryption of a message of the real number space is performed. If a computation of a homomorphic encryption is repeated, an error of the imaginary number space gradually increases, and when an error of the imaginary number space is significantly increased, a message of a real number part corresponding to an actual message may be damaged in a homomorphic multiplication computation thereafter.
Accordingly, a method capable of improving a computation speed even in the state of a ciphertext and preventing the imaginary number part of the plaintext from being increased in the computation process is demanded.
The above information is presented as background information only to assist with an understanding of the disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the disclosure.
EXPLANATION OF THE INVENTION
Technical Problem
Aspects of the disclosure are to address at least the above-mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the disclosure is to provide a terminal device generating a homomorphic ciphertext by reflecting a scaling factor in a message and then encrypting the message, a server device computing the ciphertext, and methods thereof. In addition, an aspect of the disclosure is to provide a method for performing homomorphic encryption of a real number plaintext by adjusting a plaintext space of a ring to a real number space and generating a homomorphic encryption with improved computation speed.
Technical Solution
In accordance with an aspect of the disclosure, an encryption method of a terminal device is provided. The encryption method includes setting a scaling factor, and reflecting the scaling factor in a message to be encrypted, and performing encryption using a public key to generate a homomorphic ciphertext. The homomorphic encryption is, based on a decryption being performed, in a form that a result value obtained by adding an error value to a value obtained by reflecting the scaling factor in the message is restored.
A modulus of the homomorphic ciphertext may be set as an exponentiation of one scaling factor.
A modulus of the homomorphic ciphertext may be set as a value obtained by multiplying a plurality of different scaling factors by each other. The plurality of different scaling factors may be set as values which are disjoint from each other within a similar range.
The generating the homomorphic ciphertext may include calculating an error from a discrete Gaussian distribution or a distribution that is within a short statistical distance to the discrete Gaussian distribution, and multiplying the message by the scaling factor and adding the error to the multiplied message, and performing encryption using the public key to generate the homomorphic ciphertext.
The encryption method may further include, based on the message being a plurality of message vectors, converting the plurality of message vectors into a polynomial in a form capable of being encrypted in parallel. The generating the homomorphic ciphertext may include multiplying the polynomial by the scaling factor, and performing homomorphic encryption using the public key.
In accordance with another aspect of the disclosure, a ciphertext processing method of a server device is provided. The ciphertext processing method includes receiving a plurality of homomorphic ciphertext that are individually encrypted, performing a predetermined computation with respect to the plurality of homomorphic ciphertext, and eliminating a noise domain from a result ciphertext calculated by the computation and extracting data of a valid domain. Each of the plurality of homomorphic ciphertext may be a ciphertext generated by multiplying a message by a scaling factor, and performing encryption of the multiplied message. The noise domain may be determined to correspond to a size of the scaling factor.
The ciphertext processing method may further include, based on each of the plurality of homomorphic ciphertext is a ciphertext generated by packing a plurality of message vectors, performing a computation process in parallel of message vectors included in each of the plurality of homomorphic ciphertext.
The ciphertext processing method may further include rotating an order of each of message vectors included in the plurality of homomorphic ciphertext.
The ciphertext processing method may further include, based on the message being a complex number, performing a conjugation computation for the plurality of homomorphic ciphertext.
In accordance with another aspect of the disclosure, a terminal device is provided. The terminal device includes a memory configured to store a scaling factor and a public key, a processor configured to reflect the scaling factor in a message to be encrypted, and then perform encryption using the public key, and generate a homomorphic ciphertext, and a communicator configured to transmit the homomorphic ciphertext to an external device. The homomorphic ciphertext is, based on a decryption being performed, in a form that a result value obtained by adding an error value to a value obtained by reflecting the scaling factor in the message is restored.
The terminal device may further include an input interface configured to receive input of the message and the scaling factor. The processor may be configured to store, in the memory, the message input through the input interface and the scaling factor.
The processor may be configured to set a modulus of the homomorphic ciphertext as an exponentiation of the scaling factor, and store the set modulus of the homomorphic ciphertext in the memory.
The processor may be configured to set a modulus of the homomorphic ciphertext as a value obtained by multiplying a plurality of different scaling factors by each other, and store the set modulus of the homomorphic ciphertext in the memory. The plurality of different scaling factors may be set as values which are disjoint from each other within a similar range.
The processor may be configured to calculate an error from a discrete Gaussian distribution or a distribution that is within a short statistical distance to the discrete Gaussian distribution, and to multiply the message by the scaling factor and adding the error to the multiplied message, and then perform encryption using the public key.
The processor may be configured to, based on the message being a plurality of message vectors, convert the plurality of message vectors into a polynomial in a form capable of being encrypted in parallel, and to multiply the polynomial by the scaling factor, and then perform homomorphic encryption using the public key.
In accordance with another aspect of the disclosure, an encryption method of a terminal device is provided. The encryption method includes setting a ring which is a set including elements between which addition and multiplication are defined, the ring including a plaintext space that is a real number from among sets that are closed to addition and multiplication, calculating a secret key from the ring, calculating a public key corresponding to the calculated secret key, and applying the public key to a message and generating a homomorphic ciphertext.
The ring may satisfy the following equation:
a ( X )=( X â1 ) where a ( X )â R,X â1 :=âX nâ1
Here, a(X) is a polynomial corresponding to the ring, and the R is a ring including a real space that is a complex number.
The homomorphic ciphertext may have a complexity of o(n log n) with respect to an addition or multiplication computation.
The encryption method may further include calculating a first random polynomial from the ring, extracting an error, and modulating the error in the first random polynomial and the secret key, and calculating a second random polynomial. The calculating the public key may include calculating the public key using the first and second random polynomials.
The generating the homomorphic ciphertext may include calculating the message as a polynomial corresponding to the ring, and applying the public key to the calculated polynomial and generating a homomorphic ciphertext.
The encryption method may further include performing at least one computation from among addition or multiplication with respect to the generated homomorphic ciphertext and a pre-generated homomorphic ciphertext. The performing the computation may include performing a first function process with respect to each of the generated homomorphic ciphertext and the pre-generated homomorphic ciphertext, performing a computation between the homomorphic ciphertext for which the first function process is performed, and performing a second function process, which is an inverse function of the first function, with respect to a homomorphic ciphertext for which the computation is performed.
The first function may be a Number Theoretic Transform (NTT) function.
The homomorphic ciphertext may be, based on a decryption being performed, in a form that a result value obtained by adding an error value to the message is restored.
In accordance with another aspect of the disclosure, a terminal device is provided. The terminal device includes a memory configured store a message, and a processor configured to set a ring which is a set including elements between which addition and multiplication are defined, the ring including a plaintext space that is a real number from among sets that are closed to addition and multiplication, to calculate a secret key from the ring, to calculate a public key corresponding to the calculated secret key, and to apply the public key to a message and generate a homomorphic ciphertext.
The ring may satisfy the following equation:
a ( X )= a ( X â ) where a ( X )â R,X â1 :=âX nâ1
Here, a(X) is a polynomial corresponding to the ring, and the R is a ring including a real space that is a complex number.
The homomorphic ciphertext may have a complexity of o(n log n) with respect to an addition or multiplication computation.
The processor may be configured to calculate a first random polynomial from the ring, to extract an error, to modulate the error in the first random polynomial and the secret key, and calculate a second random polynomial, and to calculate the public key using the first and second random polynomials.
The processor may be configured to calculate the message as a polynomial corresponding to the ring, and to apply the public key to the calculated polynomial and generate a homomorphic ciphertext.
The processor is configured to perform a first function process with respect to each of the generated homomorphic ciphertext and the pre-generated homomorphic ciphertext, to perform at least one computation from among addition or multiplication between the homomorphic ciphertext for which the first function process is performed, and to perform a second function process, which is an inverse function of the first function, with respect to a homomorphic ciphertext for which the computation is performed.
The first function may be a Number Theoretic Transform (NTT) function.
Advantageous Effects
According to the various embodiments of the disclosure as described above, a homomorphic ciphertext including a valid domain may be generated, and thus it is possible to reduce computation time and burden while minimizing message loss.
In addition, since a homomorphic ciphertext is generated by adjusting a plaintext space of a ring to a real number space, it is possible to initially block the increase of the imaginary number part of the plaintext in the computation process, and to support twice as many as parallel real number computations with the same stability, computation speed, memory (ciphertext and key size) as the previous HEAAN.
Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the disclosure.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a diagram illustrating a structure of a network system, according to an embodiment of the disclosure;
FIG. 2 is a block diagram illustrating a configuration of a terminal device and a server device, according to an embodiment of the disclosure;
FIG. 3 is a flowchart of an encryption method of a terminal device, according to an embodiment of the disclosure;
FIG. 4 is a flowchart of a ciphertext processing method of a server device, according to an embodiment of the disclosure;
FIG. 5 is a diagram illustrating various examples of a ciphertext processing method of a server device;
FIG. 6 is a diagram illustrating various examples of a ciphertext processing method of a server device
FIG. 7 is a diagram illustrating various examples of a ciphertext processing method of a server device;
FIG. 8 is a diagram illustrating a ciphertext processing method of a network system, according to an embodiment of the disclosure;
FIG. 9 is a diagram illustrating a structure of a network system, according to an embodiment of the disclosure;
FIG. 10 is a block diagram illustrating a brief configuration of a terminal device, according to an embodiment of the disclosure;
FIG. 11 is a block diagram illustrating a detailed configuration of a terminal device, according to an embodiment of the disclosure;
FIG. 12 is a diagram illustrating a process of generating of a public key and a secret key;
FIG. 13 is a diagram illustrating an operation of generating a computation key;
FIG. 14 is a diagram illustrating an operation of generating and decrypting an approximate encryption ciphertext;
FIG. 15 is a diagram illustrating an addition calculation of a homomorphic ciphertext;
FIG. 16 is a diagram illustrating a multiplication calculation of a homomorphic ciphertext;
FIG. 17 is a flowchart of an encryption method, according to an embodiment of the disclosure; and
FIG. 18 is a diagram illustrating a ciphertext processing method of a network system, according to an embodiment of the disclosure.
The same reference numerals are used to represent the same elements throughout the drawings.
BEST MODE
Hereinafter, embodiments will be described in more detail with reference to the accompanying drawings. The information (data) transmission process performed in this disclosure may include encryption/decryption as needed. In the disclosure and claims, expressions describing the process of transmitting information (data) are to be construed as including encryption/decryption, even if not mentioned separately. Expressions of the form âtransmit (transfer) from A to Bâ or âreceive from B by Aâ in this disclosure include transmission (transfer) or reception of another medium in between, and do not just represent direct transmission (transfer) from A to B or direct reception from B by A.
In the description of the disclosure, the order of each step should be understood to be non-limiting, unless the preceding step must be performed logically and temporally before the following step. In other words, except for the exceptional case above, even if the process described in the following step is performed before the process described in the preceding stage, the nature of the invention is not affected and the scope of the right should be defined regardless of the order of the steps. In addition, âA or Bâ is defined herein to mean not only selectively pointing to either A or B, but also including both A and B. In addition, it is to be understood that the term âcompriseâ is intended to encompass further including other elements in addition to the elements listed as being included.
Only essential components necessary for explanation of the present invention are described in this disclosure, and components not related to the essence of the present invention are not mentioned. The disclosure should not be construed in an exclusive sense that includes only the recited elements, but should be interpreted in a non-exclusive sense to include other elements as well.
In this specification, the term âvalueâ is defined as a concept including not only a scalar value but also a vector.
The mathematical operation and computation of each step of the disclosure to be described later can be realized by a computer operation by a coding method well known for carrying out the computation or the calculation and/or coding designed according to the disclosure.
The specific formulas described below are exemplarily described in various possible alternatives, and the scope of the disclosure should not be construed as limited to the formulas mentioned in the disclosure.
For convenience of description, the following notations will be used in the disclosure.
aâD: Select element (a) according to distribution (D)
s 1 , s 2 âR: Each of s 1 and s 2 is an element of a set R.
Mod(q): Perform a modular computation by an element q.
â.â: Round up an internal value.
Hereinafter, various embodiments of the disclosure will be described in detail with reference to the accompanying drawings.
FIG. 1 is a diagram illustrating a configuration of a network system, according to an embodiment of the disclosure. Referring to FIG. 1 , a plurality of terminal devices 100 - 1 to 100 - n , a first server device 200 and a second server device 300 may be connected to each other via a network 10 . The network 10 may be implemented as a wired/wireless communication network, a broadcast communication network, an optical communication network and a cloud network of various types, and the respective devices may be connected in the same manner as Wi-Fi, Bluetooth, Near Field Communication (NFC), without any additional medium.
In FIG. 1 , it is illustrated that a plurality of terminal devices 100 - 1 to 100 - n are present. However, a plurality of terminal devices are necessarily used, but one device may be used. For example, the terminal devices 100 - 1 to 100 - n may be implemented as a device of various forms such as a mobile phone, a tablet personal computer (PC), a game player, a desktop PC, a laptop PC, a home server, and a kiosk, and may be also implemented as a home appliance to which an Internet-of-Things (IoT) technology is applied.
The user may input various information via terminal devices that he or she uses. The input information may be stored in the terminal devices 100 - 1 to 100 - n itself, but may be transmitted to an external device and stored for reasons of storage capacity, security, etc. In FIG. 1 , the first server device 200 may play a role of storing this information, and the second server device 300 may play a role of utilizing some or all of the information stored in the first server device 200 .
The respective terminal devices 100 - 1 to 100 - n may perform homomorphic encryption of the input information, and transmit the homomorphic ciphertext to the first server device 200 . The first server device 200 may store the obtained homomorphic ciphertext without performing decryption.
The second server device 300 may request a result of performing a specific processing of the homomorphic ciphertext to the first server device 200 . The first server device 200 may perform a specific computation according to the request, and then transmit the result to the second server device 300 . For example, in a case that ciphertext ct 1 and ct 2 obtained from the two terminal devices 100 - 1 and 100 - 2 are stored in the first server device 200 , the second server device 300 may request a value obtained by adding information provided from the two terminal devices 100 - 1 and 100 - 2 to the first server device 200 . The first server device 200 may perform a computation to add the two ciphertext, and then transmit the result value (ct 1 +ct 2 ) to the second server device 300 .
The respective terminal devices may include an encryption noise calculated in the process of performing homomorphic encryption, that is, an error. For example, a homomorphic ciphertext generated in the respective terminal devices 100 - 1 to 100 - n may be generated in such a manner that a result value including a message and an error value is restored when decryption is performed using a secret key.
For example, a homomorphic ciphertext generated in the terminal devices 100 - 1 to 100 - n may be generated such that the following property is satisfied when decryption is performed using a secret key.
Dec ( ct,sk )=< ct,sk>=ÎM+e (mod q )ââ[Mathematical formula 1]
Here, the < and > denote a usual inner product, the ct denotes a ciphertext, the sk denotes a secret key, the M denotes a plaintext message, the e denotes an encryption error value, the Î denotes a scaling factor, and the q denotes a modulus of a ciphertext. It is necessary that the q is larger than the ÎM which is a result value obtained by multiplying a message by a scaling factor. If an error value e is sufficiently small as compared to the ÎM, the ÎM+e, which is a decryption value of the ciphertext, may be a value that can replace the original message with the same precision in significant numeric computations. From among the decrypted data, the error may be disposed on a lowest bit (LSB) side, and the ÎM may be disposed on a second lowest bit side.
If a size of the message is too small or too large, the size may be adjusted using a scaling factor. When a scaling factor is used, a message in a real number form as well as a message in an integer form may be encrypted, and thus usability can be significantly increased. In addition, by adjusting a size of the message using the scaling factor, a size of a domain where messages are present in the ciphertext after the computation is performed, that is, a size of a valid domain, may be adjusted.
In an embodiment, a ciphertext modulus q may be set in various forms and used. For example, a modulus of a ciphertext may be set as q=Î L which is an exponentiation of a scaling factor. If the Î is 2, it may be set as a value such as q=2 10 .
As another example, a ciphertext modulus may be set as a value obtained by multiplying a plurality of different scaling factors. The respective factors may be set as values within similar ranges, that is, values of similar sizes. For example, it may be set such that q=q 1 q 2 q 3 , . . . , q x , where each of the q 1 q 2 q 3 , . . . , q x is of a similar size to the scaling factor Î, and is set as values that are in a disjoint relationship with each other. When a scaling factor is set in this manner, the entire computation may be divided into a plurality of modulus computations according to a Chinese Remainder Theorem (CRT), and thus computation burden can be reduced. In addition, as factors of similar sizes are used, when a rounding process is performed in the steps which will be described later, almost the same result as the result value in the previous example may be obtained.
As described above, the ciphertext generated in the respective terminal devices 100 - 1 to 100 - n may be processed by the first server device 200 , and then transmitted in the form of a ciphertext to the second server device 300 . The second server device 300 may decrypt the obtained ciphertext using a secret key. Since a homomorphic encryption processing has been performed, the decrypted data may be a value such as a result obtained from decrypting the message itself and performing a computation processing of the decrypted message. As a result, it is possible to prevent the risk of leakage to third parties in the intermediate process.
In the embodiment of FIG. 1 , a public key used to perform encryption may be generated by the respective terminal devices, or may be generated in the second server device 300 performing decryption, and then distributed to the respective terminal devices.
A Ring-LWE method may be used in the key generation process. When it is assumed that the second server device 300 generates the key, the second server device 300 may set various parameters and rings. For example, various parameters such as a length of plaintext message bits, a size of the public key and secret key, etc. may be set.
The ring may be expressed as in the mathematical formula as shown below.
R=
q [ x ]/( f ( x ))ââ[Mathematical formula 2]
The ring refers to a set of polynomials with a predetermined coefficient. For example, the ring refers to a set of n-th polynomials with a coefficient Z q . In the mathematical formula 2, f(x) denotes an n-th polynomial. For example, if n is Φ(N), f(x) denotes an n-th cyclotomic polynomial. (F(x)) denotes an ideal of Z q [x] generated by f(x). An Euler totient function, Φ(N), denotes the number of natural numbers that are disjoint from N and less than N. When Φ N (x) is defined as an n-th cyclotomic polynomial, a ring may be expressed as in the mathematical formula as shown below.
R=
q [ x ]/(Φ N ( x ))ââ[Mathematical formula 3]
Then, the second server device 300 may calculate a secret key (sk) from the ring.
sk â(1, s ( x )), s ( x )â R ââ[Mathematical formula 4]
The s(x) denotes a polynomial which is randomly generated with a small coefficient.
The second server device 300 may calculate a first random polynomial (a(x)) from the ring.
The first random polynomial may be expressed as shown below.
a ( x )<â R ââ[Mathematical formula 5]
In addition, the second server device 300 may extract an error from a discrete Gaussian distribution or a distribution that is within a short statistical distance thereto. An error may be expressed as in the mathematical formula as shown below.
e ( x )â
αq n ââ[Mathematical formula 6]
When an error is calculated, the second server device 300 may modulate the error with the first random polynomial and the secret key, and calculate a second random polynomial. The second random polynomial may be expressed as shown below.
b ( x )=â a ( x ) s ( x )+ e ( x )(mod q )ââ[Mathematical formula 7]
Finally, the public key (pk) may be set as shown below, so that the first random polynomial and the second random polynomial are included.
pk =( b ( x ), a ( x ))ââ[Mathematical formula 8]
The second server device 300 may transmit the generated public key to the respective terminal devices 100 - 1 to 100 - n . The respective terminal devices 100 - 1 to 100 - n may store the obtained public key, and then use the stored public key to perform encryption.
In the example described above, it is described that the second server device 300 generates a public key and a secret key. However, in another example, the respective terminal devices 100 - 1 to 100 - n or another device may generate at least one of a public key or a secret key, and then share it with another device. In addition, the key generation method described above is only an example, and is not limited thereto. A public key and a secret key may be generated in different ways.
FIG. 2 is a block diagram illustrating a configuration of a terminal device 100 and a server device 200 , according to an embodiment of the disclosure.
Referring to FIG. 2 , the terminal device 100 may include a memory 110 , a processor 120 , and a communicator 130 .
The memory 110 is configured to store an operating system (O/S), various software and data necessary for operating the terminal device 100 . The memory 110 may be a variety of forms such as RAM, ROM, flash memory, HDD, external memory, memory card and the like, and is not limited to any one.
The memory 110 may store a public key, a scaling factor, etc.
The processor 120 is an element for executing a program stored in the memory 110 and performing various calculation operations.
The communicator 130 is a configuration for performing communication with external devices. The communicator 130 may be implemented to support not only wireless communication such as Wi-Fi, Zigbee, Bluetooth and NFC, but also wired communication through various wired communication interface.
The processor 120 may reflect a scaling factor in a message to be encrypted, and then encrypt the message using a public key and generate a homomorphic ciphertext. The processor 120 may control the communicator 130 so that the generated homomorphic ciphertext is transmitted to an external device.
The homomorphic ciphertext is generated so that a property as in the mathematical formula 1 as described above is satisfied. For example, the processor 120 may multiply a message to be encrypted, M, by a scaling factor Î and calculate a ÎM which is an integer or a polynomial of an integer coefficient.
Then, a polynomial v may be randomly determined. The processor 120 may calculate the v from a small distribution (for example, a discrete Gaussian distribution or a distribution similar thereto). The processor 120 may obtain an error e 0 and e 1 from a small error distribution (for example, a discrete Gaussian distribution or a distribution similar thereto). The processor 120 may generate a public key, pk=(b(x), a(x)), and generate a ciphertext using the mathematical formula as shown below.
Ctxt =( v·b ( x )=η M+e 0 ,v·a ( x )+ e 1 )â RÃR ââ[Mathematical formula 9]
A message to be encrypted may be received from an external source, or may be input from an input device directly provided in the terminal device 100 or from an input device connected to the terminal device 100 . In addition, a scaling factor may be directly input by a user, or may be provided through another device. For example, in a case that the terminal device 100 includes a touch screen or a key pad, the processor 120 may store data input by the user through the touch screen or the key pad in the memory 110 , and then encrypt the stored data. The generated homomorphic ciphertext may be, when decrypted, restored as a result value of adding an error to a value obtained reflecting a scaling factor in the message. The scaling factor may directly use a value input in advance and set.
The modulus q of the ciphertext mentioned above may be set differently according to embodiments. For example, the processor 120 may set the ciphertext modulus in the form of q=Î L which is an exponentiation of a scaling factor Î. As another example, the processor 120 may set the ciphertext modulus as a value obtained by multiplying a plurality of different scaling factors. The processor 120 may store the set ciphertext modulus in the memory 110 . As described above, the respective factors may be in a disjoint relationship with each other within a similar range.
The processor 120 may use an error for encryption of a public key. An error may be calculated from a discrete Gaussian distribution or a distribution that is within a short statistical distance thereto. For example, an error in a form as in the mathematical formula 6 shown above may be calculated. When a message is input, the processor 120 may add an error to a value obtained by multiplying the message by the scaling factor, and then perform encryption using a public key. In this case, an error value obtained when the ciphertext is decryption may be obtained differently from an initial error added when encryption is performed.
Alternatively, encryption may be performed using the public key immediately in a state that the message is multiplied by the scaling factor. In this case, an error obtained in the encryption process may be added to a result value obtained by multiplying the message by the scaling factor.
The processor 120 may generate a length of ciphertext to correspond to a size of the scaling factor.
Meanwhile, according to an embodiment, packing may be performed. When a packing is used in the homomorphic encryption, it is possible to encrypt multiple messages to a single ciphertext. In this case, when computation between the respective ciphertext is performed in the first server device 200 , as a result, computation of the multiple messages may be processed in parallel, and thus computation burden is significantly reduced.
In a case that the message is implemented as a plurality of message vectors, the processor 120 may convert the plurality of message vectors into a polynomial in a form that is capable of being encrypted in parallel, and then multiply a scaling factor by the polynomial and perform homomorphic encryption using the public key. Accordingly, a ciphertext generated by packing the plurality of message vectors may be generated.
For example, the processor 120 may utilize the fact that an n-th cyclotomic polynomial Φ N (x) has a different number n=Ï(N) of roots ζ1, ζ1 , . . . , ζn/2, ζn/2 (primitive N-th roots of unity) within a complex number
. By employing a concept of complex numbers, it is possible to perform homomorphic encryption of a plurality of messages simultaneously which will be described later.
Then, a canonical embedding function may be modified and a packing function (Ï) may be calculated. The canonical embedding function is a function that corresponds a polynomial M(x)â
<img id="CUST
CLAIMS
Claims ( 11 )
What is claimed is:
1. A decryption method, the method comprising:
receiving a homomorphic ciphertext; and
obtaining a result value added an error value at a message from the received homomorphic ciphertext,
wherein the error is disposed on the least significant bit (LSB) side in the result value, and the message is disposed at a position adjacent to the error,
wherein the homomorphic ciphertext is generated by reflecting a scaling factor in a message, and
wherein the result value is obtained by multiplying an error value by a value in which the scaling factor is reflected in the message, and
wherein a modulus of the homomorphic ciphertext is a value obtained by multiplying a plurality of different scaling factors by each other, and the plurality of different scaling factors are set as values which are disjoint from each other.
2. The decryption method as claimed in claim 1 ,
wherein a plaintext space of the homomorphic ciphertext is a complex number, and
wherein the obtaining a result value comprises:
obtaining a result value from a message of a real number part of the homomorphic ciphertext.
3. The decryption method as claimed in claim 1 , further comprising:
processing a rounding process by multiplying the result value by the inverse of the scaling factor.
4. The decryption method as claimed in claim 1 ,
wherein the obtaining a result value comprises:
generating a deciphertext as a polynomial form by applying a secret key to the received homomorphic ciphertext; and
decoding the generated deciphertext.
5. The decryption method as claimed in claim 1 ,
wherein the homomorphic ciphertext is expressed as a plurality of bases, and
wherein the obtaining a result value comprises:
performing a decrypting operation for each basis of the homomorphic ciphertext.
6. A terminal device, comprising:
a memory configured to store a homomorphic ciphertext; and
a processor configured to obtain a result value added an error value at a message from the homomorphic ciphertext,
wherein the error is disposed on the least significant bit (LSB) side in the result value, and the message is disposed at a position adjacent to the error,
wherein the homomorphic ciphertext is generated by reflecting a scaling factor in a message, and
wherein the result value is obtained by multiplying an error value by a value in which the scaling factor is reflected in the message, and
wherein a modulus of the homomorphic ciphertext is a value obtained by multiplying a plurality of different scaling factors by each other, and the plurality of different scaling factors are set as values which are disjoint from each other.
7. The terminal device as claimed in claim 6 ,
wherein a plaintext space of the homomorphic ciphertext is a complex number, and
wherein the processor obtains a result value from a message of a real number part of the homomorphic ciphertext.
8. The terminal device as claimed in claim 6 , wherein the processor processes a rounding process by multiplying the result value by the inverse of the scaling factor.
9. The terminal device as claimed in claim 6 , wherein the processor generates a deciphertext as a polynomial form by applying a secret key to the received homomorphic ciphertext, and decodes the generated deciphertext.
10. The terminal device as claimed in claim 6 ,
wherein the homomorphic ciphertext is expressed as a plurality of bases, and
wherein the processor performs a decrypting operation for each basis of the homomorphic ciphertext.
11. A non-transitory computer readable recording medium including a program for executing a decryption method,
wherein the method comprises:
receiving a homomorphic ciphertext; and
obtaining a result value added an error value at a message from the received homomorphic ciphertext, and
wherein the error is disposed on the least significant bit (LSB) side in the result value, and the message is disposed at a position adjacent to the error,
wherein the homomorphic ciphertext is generated by reflecting a scaling factor in a message, and
wherein the result value is obtained by multiplying an error value by a value in which the scaling factor is reflected in the message, and
wherein a modulus of the homomorphic ciphertext is a value obtained by multiplying a plurality of different scaling factors by each other, and the plurality of different scaling factors are set as values which are disjoint from each other.
US16/855,262
2017-12-15
2020-04-22
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
Active
US11115183B2
( en )
Priority Applications (1)
Application Number
Priority Date
Filing Date
Title
US16/855,262
US11115183B2
( en )
2017-12-15
2020-04-22
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
Applications Claiming Priority (7)
Application Number
Priority Date
Filing Date
Title
KR10-2017-0173608
2017-12-15
KR1020170173608A
KR101965628B1
( en )
2017-12-15
2017-12-15
Terminal device for performing homomorphic encryption, server device for calculating encrypted messages, and methods thereof
KR10-2018-0129749
2018-10-29
KR1020180129749A
KR102040106B1
( en )
2018-10-29
2018-10-29
Method for homomorphic encryption of plain text in real numbers
US16/478,596
US10778409B2
( en )
2017-12-15
2018-12-07
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
PCT/KR2018/016060
WO2019117694A1
( en )
2017-12-15
2018-12-17
Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
US16/855,262
US11115183B2
( en )
2017-12-15
2020-04-22
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
Related Parent Applications (2)
Application Number
Title
Priority Date
Filing Date
US16/478,596
Continuation
US10778409B2
( en )
2017-12-15
2018-12-07
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
PCT/KR2018/016060
Continuation
WO2019117694A1
( en )
2017-12-15
2018-12-17
Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
Publications (2)
Publication Number
Publication Date
US20200252199A1
US20200252199A1 ( en )
2020-08-06
US11115183B2
true
US11115183B2 ( en )
2021-09-07
Family
ID=66819634
Family Applications (3)
Application Number
Title
Priority Date
Filing Date
US16/478,596
Active
US10778409B2
( en )
2017-12-15
2018-12-07
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
US16/773,044
Active
US11101976B2
( en )
2017-12-15
2020-01-27
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
US16/855,262
Active
US11115183B2
( en )
2017-12-15
2020-04-22
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
Family Applications Before (2)
Application Number
Title
Priority Date
Filing Date
US16/478,596
Active
US10778409B2
( en )
2017-12-15
2018-12-07
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
US16/773,044
Active
US11101976B2
( en )
2017-12-15
2020-01-27
Terminal device performing homomorphic encryption, server device processing ciphertext and methods thereof
Country Status (6)
Country
Link
US
( 3 )
US10778409B2
( en )
EP
( 2 )
EP3793127B1
( en )
JP
( 2 )
JP7049374B2
( en )
CN
( 2 )
CN115134068B
( en )
SG
( 2 )
SG10202100111PA
( en )
WO
( 1 )
WO2019117694A1
( en )
Cited By (1)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20240048353A1
( en )
*
2022-07-19
2024-02-08
Axell Corporation
Encryption processing device and encryption processing method
Families Citing this family (53)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US11764940B2
( en )
2019-01-10
2023-09-19
Duality Technologies, Inc.
Secure search of secret data in a semi-trusted environment using homomorphic encryption
US11646877B2
( en )
*
2019-05-14
2023-05-09
Samsung Sds Co., Ltd.
Apparatus and method for generating secret key, apparatus and method for generating evaluation key
CN112580063B
( en )
*
2019-09-27
2023-01-13
åæ§æ¸ äº¤ä¿¡æ¯ç§æ(å京)æéå ¬å¸
Data processing method and device and data processing device
WO2021075057A1
( en )
*
2019-10-18
2021-04-22
Loch Energy, Ltd.
Digital currency operation system and operation method using fully homological encryption scheme
WO2021087073A1
( en )
2019-10-30
2021-05-06
Via Science, Inc.
Secure outsourcing of a multiplication
FR3105684B1
( en )
*
2019-12-20
2022-12-23
Idemia France
CRYPTOGRAPHIC PROCESSING METHOD, ELECTRONIC DEVICE AND ASSOCIATED COMPUTER PROGRAM
KR102710768B1
( en )
*
2019-12-27
2024-09-26
ì¼ì±ìì¤ëìì¤ ì£¼ìíì¬
Apparatus and method for performing operation using approximation function
US12099997B1
( en )
2020-01-31
2024-09-24
Steven Mark Hoffberg
Tokenized fungible liabilities
US12307453B2
( en )
*
2020-02-28
2025-05-20
Polymath Inc.
Cryptographic encryption protocol for data types and values
KR102393941B1
( en )
2020-04-08
2022-05-04
주ìíì¬ í¬ë¦½í ë©
Encoding or decoding for approximate encrypted messages
US11558171B2
( en )
*
2020-04-20
2023-01-17
Samsung Sds Co., Ltd.
Apparatus and method for encryption, apparatus and method for converting ciphertext
KR102444193B1
( en )
2020-04-29
2022-09-19
êµë°©ê³¼íì°êµ¬ì
Method for doing quantum-resistant signature based on Ring-LWR and system thereof
KR20210135075A
( en )
2020-05-04
2021-11-12
ì¼ì±ì ì주ìíì¬
Device of performing homomorphic encryption and decryption, system including the same, method of performing homomorphic encryption and decryption
US12192320B2
( en )
*
2020-05-08
2025-01-07
Samsung Electronics Co., Ltd.
Encryption method and apparatus using homomorphic encryption
CN111949998B
( en )
*
2020-05-11
2023-07-07
åæ§æ¸ äº¤ä¿¡æ¯ç§æ(å京)æéå ¬å¸
Object detection and request method, data processing system, device and storage medium
EP3937419B1
( en )
*
2020-07-07
2023-07-19
Samsung Electronics Co., Ltd.
Electronic device using homomorphic encryption and encrypted data processing method thereof
KR102875368B1
( en )
2020-07-16
2025-10-23
ì¼ì±ì ì주ìíì¬
Storage controller, and client and server including the same, method of operating the same
KR20220040309A
( en )
2020-09-23
2022-03-30
ì¼ì±ì ì주ìíì¬
Homomorphic encryption device and operating method thereof
KR20220048225A
( en )
*
2020-10-12
2022-04-19
ì¼ì±ì ì주ìíì¬
Homomorphic encryption accelerator and homomorphic operation performing device including the same
CN115221531B
( en )
*
2021-04-16
2025-12-23
é¿éå·´å·´åæ°å ¬å¸
Data processing method, system and device
US12137158B2
( en )
*
2021-05-07
2024-11-05
Duality Technologies, Inc.
Large-word approximate homomorphic encryption
CN112906044B
( en )
2021-05-10
2021-07-30
è ¾è®¯ç§æï¼æ·±å³ï¼æéå ¬å¸
Multi-party secure computing method, device, device and storage medium
US12184771B2
( en )
*
2021-05-21
2024-12-31
Samsung Electronics Co., Ltd.
Encryption key generating method, apparatus, ciphertext operation method and apparatus using the generated encryption key
WO2022270080A1
( en )
*
2021-06-24
2022-12-29
æ ªå¼ä¼ç¤¾ã¢ã¯ã»ã«
Encryption processing device, encryption processing method, and encryption processing program
US12362903B2
( en )
*
2021-06-29
2025-07-15
Duality Technologies, Inc.
RNS-based CKKS variant with minimal rescaling error
US12019701B2
( en )
*
2021-07-27
2024-06-25
International Business Machines Corporation
Computer architecture for string searching
US11847938B2
( en )
*
2021-08-03
2023-12-19
Nxp B.V.
Combining regular and symbolic NTTs using co-processors
US12381710B2
( en )
*
2021-11-04
2025-08-05
Samsung Electronics Co., Ltd.
Crypto processor and electronic device including the same
US12323507B2
( en )
*
2021-11-24
2025-06-03
Electronics And Telecommunications Research Institute
Method and apparatus for hardware-based accelerated arithmetic operation on homomorphically encrypted message
KR20230082126A
( en )
*
2021-12-01
2023-06-08
ì¼ì±ì ì주ìíì¬
Encryption apparatus and encryption method
US12362905B2
( en )
*
2021-12-09
2025-07-15
Electronics And Telecommunications Research Institute
Computing apparatus and method of integrating different homomorphic operations in homomorphic encryption
CN116340962B
( en )
*
2021-12-24
2026-02-03
é¿éå·´å·´ï¼ä¸å½ï¼æéå ¬å¸
Method, device, equipment and storage medium for processing encrypted information
EP4228198B1
( en )
*
2022-02-10
2025-03-05
Seoul National University R & DB Foundation
Electronic device for delegating generation of homomorphic rotation key to server and method of operating the same
KR20230136950A
( en )
*
2022-03-21
2023-10-04
ì¼ì±ì ì주ìíì¬
Functional encryption system and method of performing functional encryption
CN114614970A
( en )
*
2022-03-23
2022-06-10
å京é®çµå¤§å¦
Privacy data security processing method based on multi-calculator and homomorphic encryption
CN120415689A
( en )
*
2022-04-15
2025-08-01
æ¯ä»å®(æå·)ä¿¡æ¯ææ¯æéå ¬å¸
Batch encryption method, related device, system, equipment, medium and program product
KR20230161779A
( en )
*
2022-05-19
2023-11-28
ìì¸ëíêµì°ííë ¥ë¨
Device and Method for Homomorphic Permutation
CN115001652A
( en )
*
2022-05-26
2022-09-02
æ¯ä»å®(æå·)ä¿¡æ¯ææ¯æéå ¬å¸
Image comparison method and device based on privacy protection
CN115102689B
( en )
*
2022-08-24
2022-11-15
å京信å®ä¸çºªç§æè¡ä»½æéå ¬å¸
Two-party cooperative S box generation method, encryption method and storage medium
KR102940336B1
( en )
*
2022-09-01
2026-03-17
ì±ì ì¬ìëíêµ ì°êµ¬ ì°ííë ¥ë¨
Method and apparatus for adaptive data processing of homomorphic encryption
US12362906B2
( en )
*
2022-09-08
2025-07-15
Crypto Lab Inc.
Apparatus for privacy preserving text search using homomorphic encryption and method thereof
US12368570B2
( en )
*
2022-10-04
2025-07-22
Samsung Electronics Co., Ltd.
Apparatus and method with homomorphic encryption operation
CN115765966B
( en )
*
2022-11-10
2025-02-28
æé³è§çæéå ¬å¸
Data encoding method and device applied to homomorphic encryption system
US12542651B2
( en )
*
2023-03-02
2026-02-03
Crypto Lab Inc.
Method for processing homomorphic encryption and electronic apparatus
US12603754B2
( en )
*
2023-03-16
2026-04-14
Crypto Lab Inc.
Electronic apparatus for bootstrap processing homomorphic encrypted messages and methods thereof
CN116667996B
( en )
*
2023-05-30
2026-04-17
åä¸å¸è大å¦
A Verifiable Federated Learning Method Based on Hybrid Homomorphic Encryption
EP4718767A1
( en )
*
2023-06-30
2026-04-01
Huawei Technologies Co., Ltd.
Homomorphic task management method, key management method, ciphertext storage management method, and device
KR20250032337A
( en )
*
2023-08-31
2025-03-07
ìí¼ê²ì´í¸ 주ìíì¬
Query information processing method using fully homomorphic encrypted database using field expansion and computing device performing the same
US20250119286A1
( en )
*
2023-10-10
2025-04-10
International Business Machines Corporation
Homomorphic generation of rotation keys
CN118694610B
( en )
*
2024-08-26
2024-10-25
å½ç½æ°åç§ææ§è¡æéå ¬å¸
Carbon emission data processing method
CN119598501B
( en )
*
2024-09-30
2025-11-04
ä¸å½ç§å¦é¢å¤§å¦
Privacy protection methods, devices, and systems based on cross-relinearization
CN119483888B
( en )
*
2024-11-04
2025-11-07
西å®çµåç§æå¤§å¦
End cloud cooperation privacy protection method based on homomorphic encryption and additive secret sharing
CN119232351B
( en )
*
2024-12-02
2025-02-18
å京éç®ç§ææéå ¬å¸
A n-choose-k oblivious transmission method based on homomorphic encryption
Citations (27)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20060140401A1
( en )
2000-12-08
2006-06-29
Johnson Harold J
System and method for protecting computer software from a white box attack
EP2317689A2
( en )
2009-09-04
2011-05-04
Gradiant-Centro Tecnoloxico de Telecomunicacións de Galicia
Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments
US20110194691A1
( en )
*
2010-02-09
2011-08-11
Shantanu Rane
Method for Privacy-Preserving Computation of Edit Distance of Symbol Sequences
US20110243320A1
( en )
*
2010-03-30
2011-10-06
International Business Machines Corporation
Efficient Homomorphic Encryption Scheme For Bilinear Forms
US20120039463A1
( en )
2010-08-16
2012-02-16
International Business Machines Corporation
Fast Evaluation Of Many Polynomials With Small Coefficients On The Same Point
US20130170640A1
( en )
*
2011-04-29
2013-07-04
International Business Machines Corporation
Fully Homomorphic Encryption
US8515058B1
( en )
2009-11-10
2013-08-20
The Board Of Trustees Of The Leland Stanford Junior University
Bootstrappable homomorphic encryption method, computer program and apparatus
US20140105385A1
( en )
*
2010-12-10
2014-04-17
Shantanu Rane
Method for Privacy-Preserving Order Selection of Encrypted Element
CN103744976A
( en )
*
2014-01-13
2014-04-23
å京工ä¸å¤§å¦
Secure image retrieval method based on homomorphic encryption
KR20140095179A
( en )
2013-01-24
2014-08-01
ìì¸ëíêµì°ííë ¥ë¨
Homomorphic Encryption and Decryption Method using Ring Isomorphism and apparatus using the same
WO2015078533A1
( en )
*
2013-11-29
2015-06-04
Nec Europe Ltd.
Method and system for encrypting data
US20150154406A1
( en )
2013-11-30
2015-06-04
Microsoft Corporation
Encrypting genomic data for storage and genomic computations
US20150180659A1
( en )
*
2013-12-23
2015-06-25
Electronics And Telecommunications Research Institute
Apparatus and method for giving the compressed encryption functionality to integer-based homomorphic encryption schemes
US20150312028A1
( en )
2012-08-28
2015-10-29
Snu R&Db Foundation
Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same
KR20150122513A
( en )
2014-04-23
2015-11-02
ì¼ì±ì ì주ìíì¬
Encryption apparatus, method for encryption and computer-readable recording medium
US20160352710A1
( en )
2015-05-31
2016-12-01
Cisco Technology, Inc.
Server-assisted secure exponentiation
US20170134157A1
( en )
*
2015-11-05
2017-05-11
Microsoft Technology Licensing, Llc
Homomorphic Encryption with Optimized Encoding
US20170134158A1
( en )
2015-11-09
2017-05-11
CertSIGN S.A.
Fully Homomorphic Encryption from Monoid Algebras
US20170149796A1
( en )
2015-11-25
2017-05-25
Yaron Gvili
Selectivity in privacy and verification with applications
US20170201371A1
( en )
2016-01-07
2017-07-13
Empire Technology Development Llc
Homomorphic public-key encryption scheme
CN107294958A
( en )
*
2017-05-27
2017-10-24
宿³¢å¤§å¦
Message integrity authentication method based on full homomorphism MAC
KR20170122458A
( en )
2016-04-27
2017-11-06
ìì¸ëíêµì°ííë ¥ë¨
Homomorphic Encryption Method by Which Ciphertext Size Is Reduced
US20180139054A1
( en )
*
2016-11-14
2018-05-17
International Business Machines Corporation
Providing computation services with privacy
US20180294950A1
( en )
*
2017-04-11
2018-10-11
The Governing Council Of The University Of Toronto
Homomorphic Processing Unit (HPU) for Accelerating Secure Computations under Homomorphic Encryption
US10116437B1
( en )
2015-12-14
2018-10-30
Ingram Micro, Inc.
Method for protecting data used in cloud computing with homomorphic encryption
US10270588B2
( en )
*
2015-05-08
2019-04-23
Electronics And Telecommunications Research Institute
Method and system for additive homomorphic encryption scheme with operation error detection functionality
US20200242466A1
( en )
*
2017-03-22
2020-07-30
Visa International Service Association
Privacy-preserving machine learning
Family Cites Families (5)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
JP5448863B2
( en )
2010-01-15
2014-03-19
æ¥æ¬é»ä¿¡é»è©±æ ªå¼ä¼ç¤¾
KEY GENERATION DEVICE, KEY GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM
US9281941B2
( en )
*
2012-02-17
2016-03-08
International Business Machines Corporation
Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
JP2016131335A
( en )
2015-01-14
2016-07-21
å¯å£«éæ ªå¼ä¼ç¤¾
Information processing method, information processing program and information processing device
CN107359979B
( en )
*
2017-07-25
2019-11-01
西å®çµåç§æå¤§å¦
Symmetrical full homomorphic cryptography method based on Representation theorem
CN107294698B
( en )
*
2017-07-25
2019-11-26
西å®çµåç§æå¤§å¦
The full homomorphic cryptography method that single ciphertext homomorphism calculates
2018
2018-12-07
US
US16/478,596
patent/US10778409B2/en
active
Active
2018-12-17
SG
SG10202100111PA
patent/SG10202100111PA/en
unknown
2018-12-17
EP
EP20200111.1A
patent/EP3793127B1/en
active
Active
2018-12-17
CN
CN202210769462.4A
patent/CN115134068B/en
active
Active
2018-12-17
SG
SG11202001984SA
patent/SG11202001984SA/en
unknown
2018-12-17
CN
CN201880008003.6A
patent/CN110214433B/en
active
Active
2018-12-17
WO
PCT/KR2018/016060
patent/WO2019117694A1/en
not_active
Ceased
2018-12-17
JP
JP2019572731A
patent/JP7049374B2/en
active
Active
2018-12-17
EP
EP18882269.6A
patent/EP3553995B1/en
active
Active
2020
2020-01-27
US
US16/773,044
patent/US11101976B2/en
active
Active
2020-04-22
US
US16/855,262
patent/US11115183B2/en
active
Active
2022
2022-02-16
JP
JP2022021844A
patent/JP7370402B2/en
active
Active
Patent Citations (28)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20060140401A1
( en )
2000-12-08
2006-06-29
Johnson Harold J
System and method for protecting computer software from a white box attack
EP2317689A2
( en )
2009-09-04
2011-05-04
Gradiant-Centro Tecnoloxico de Telecomunicacións de Galicia
Cryptographic system for performing secure computations and signal processing directly on encrypted data in untrusted environments
US8515058B1
( en )
2009-11-10
2013-08-20
The Board Of Trustees Of The Leland Stanford Junior University
Bootstrappable homomorphic encryption method, computer program and apparatus
US20110194691A1
( en )
*
2010-02-09
2011-08-11
Shantanu Rane
Method for Privacy-Preserving Computation of Edit Distance of Symbol Sequences
US20110243320A1
( en )
*
2010-03-30
2011-10-06
International Business Machines Corporation
Efficient Homomorphic Encryption Scheme For Bilinear Forms
US20120039463A1
( en )
2010-08-16
2012-02-16
International Business Machines Corporation
Fast Evaluation Of Many Polynomials With Small Coefficients On The Same Point
US20140105385A1
( en )
*
2010-12-10
2014-04-17
Shantanu Rane
Method for Privacy-Preserving Order Selection of Encrypted Element
US20130170640A1
( en )
*
2011-04-29
2013-07-04
International Business Machines Corporation
Fully Homomorphic Encryption
US20150312028A1
( en )
2012-08-28
2015-10-29
Snu R&Db Foundation
Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same
KR20140095179A
( en )
2013-01-24
2014-08-01
ìì¸ëíêµì°ííë ¥ë¨
Homomorphic Encryption and Decryption Method using Ring Isomorphism and apparatus using the same
WO2015078533A1
( en )
*
2013-11-29
2015-06-04
Nec Europe Ltd.
Method and system for encrypting data
US20150154406A1
( en )
2013-11-30
2015-06-04
Microsoft Corporation
Encrypting genomic data for storage and genomic computations
US20150180659A1
( en )
*
2013-12-23
2015-06-25
Electronics And Telecommunications Research Institute
Apparatus and method for giving the compressed encryption functionality to integer-based homomorphic encryption schemes
CN103744976A
( en )
*
2014-01-13
2014-04-23
å京工ä¸å¤§å¦
Secure image retrieval method based on homomorphic encryption
KR20150122513A
( en )
2014-04-23