Abstract
In most homomorphic encryption schemes based on RLWE, native plaintexts are represented as polynomials in a ring , where t is a plaintext modulus and is a cyclotomic polynomial with a degree power of two. An encoding scheme should be used to transform some natural data types (such as integers and rational numbers) into polynomials in the ring. After homomorphic computations on the polynomial aare finished, the decoding procedure is invoked to obtain the results. We employ the Hensel code for encoding rational numbers and construct a high-precision leveled homomorphic encryption scheme with double-CRT. The advantage of our scheme is that the limitations of previous works are avoided, such as unexpected decoding results and loss of precision. Moreover, the plaintext space can be adjusted simply by changing a hyper-parameter to adapt to different computation tasks.
MSC:
11C08
1. Introduction
1.1. Background
Fully homomorphic encryption (FHE) is a cryptographic scheme that allows us to evaluate an arbitrary Boolean or arithmetic circuit on data in an encrypted state directly without decryption. This notation, introduced by Rivest et al. [1], was first implemented by Gentry [2] with ideal lattices. Homomorphic encryption has become a basic tool for privacy computation nowadays. All of the schemes before Gentry either support homomorphic operations (homomorphic addition or multiplication) with a single type [3,4,5] or have some fatal drawbacks [6,7] (i.e., ciphertext size blows up exponentially with the depth of circuits). A new construction was proposed by Brakerski et al. [8] with the assumption of learning with error (LWE) [9]. Much effort has been made to improve its efficiency and make it simple [10,11,12,13].
The security of constructions mentioned above is based on either LWE or ring learning with error (RLWE) [14]. All of the schemes above for fully homomorphic encryption add noise into a ciphertext for security. The noise increases after homomorphic operations and destroys the plaintext once it reaches a certain threshold value, which is related to the parameters used in the scheme. Bootstrapping can be employed to refresh ciphertexts by calculating the decryption circuit homomorphically and reduce the noise to a small value subject to the depth of decryption circuit. There are many works that aim to improve the efficiency of the bootstrapping [15,16,17,18]. However, in some circumstances where the depth of circuits is predetermined, the costly bootstrapping procedure can be avoided by using a so-called leveled homomorphic encryption scheme (LHE). To prevent plaintexts from being destroyed by the noise, the LHE increases the threshold value by simply setting the corresponding parameters to be large enough.
Practically, a computation over bitwise encryptions is not efficient, and we are inclined to construct a scheme that manipulates integers directly. Other types of datam such as real numbers, complex numbers, and rational numbers, can be handled by encoding them as integers. The efficiency of homomorphic encryption schemes can be improved significantly by a judicious choice of plaintext space and encoding techniques. There are a number of works that focus on how to encode different types of data efficiently [19,20,21,22,23,24,25,26,27,28,29]. One useful technique adopted by previous works is to ‘spread out’ the numerical input data as evenly as possible over the whole plaintext space, allowing for a smaller value of the plaintext modulus. The other main approach used for a short amortized time employs the single instruction multiple data (SIMD) method [30], which is compatible with some encoding techniques.
1.2. Encoding for Integers and Real Numbers
In most schemes based on the RLWE assumption, the plaintext elements are represented as polynomials in a ring , where denotes the m-th cyclotomic polynomial. Integers and real numbers should be transformed into polynomials in the ring before encryption. Here, we focus on how to encode one number as a polynomial. As an example, let and encode z as such that , where n is the degree of and . The above approach is called non-balanced base-B encoding. The other way is simply to encode an integer as a constant polynomial, which is referred to as scalar encoding. Dowlin et al. [21] presented two efficient methods to encode fixed-point numbers. In the first, a fixed point number is encoded via multiplying by a factor to obtain a scaled integer (which then is encoded as a polynomial), whilst in the second, they utilized a fractional representation (which is similar to the non-balanced base-B encoding and allows the exponent to be negative). Costache et al. [20] show that the two representations are, in fact, isomorphic when the same power of 2 cyclotomic ring is used. Many works develop fractional representations [28,29]. Another useful way to encode rational numbers is the Hensel code, which is used for encoding in some homomorphic encryption schemes [22,23].
Which method to use for encoding depends on the problems at hand. Scalar encoding is inefficient in its use of available space in the plaintext polynomial (only the constant coefficient is used). The non-balanced base-B encoding and some variants [20,31] (most of them focus on how to choose B, the range of coefficients, and the format of polynomials) make full use of the space in the plaintext polynomial. However, they have many limitations. When one of the coefficients of the plaintext polynomial exceeds the plaintext modulus t, or the degree of the plaintext polynomial exceeds the degree of , an unexpected result will occur, and we say the computation overflows. As an example, let , where n is the degree of , and . For a given , we have and thus encode z as . Decoding is finished by simply replacing x in the plaintext polynomial with B. We add to z and obtain . Decoding will yield the number 14 but not 18.
We stress that the result produced by an overflow is much more unacceptable than an explicit error. Just as with rules in programming, we prefer computer programs where an error occurs in the compilation phase to those returning a nice but incorrect result. The previous works using similar encodings (including the fractional representations for real numbers) suffer from this limitation. The scaling approach was adopted by Cheon et al. [24], who proposed a scheme to handle real numbers. A rescaling operation should be performed to keep the factor of the result consistent after multiplication is carried out. For security, the ciphertext modulus should be divided by the factor (since the ciphertext must look random in the ciphertext space), and the multiplication cannot be performed once the ciphertext modulus reaches some small value. On the other hand, their encoding scheme involves the computation of complex numbers (or circular functions), which leads to the loss of precision.
The Chinese remainder theorem (CRT) [21,28,30] and discrete fast Fourier transform (DFFT) [24,25] are two important ways to implement SIMD for a short, amortized time. The former decomposes the cyclotomic polynomial in the field , where t is the plaintext modulus, by choosing the cyclotomic polynomial and the plaintext modulus carefully; it then builds an isomorphism between and such that . Let be the message vector. The component can be encoded as a polynomial in the ring . Then we can construct the plaintext polynomial according to the CRT. The latter takes a message vector as input, then performs the inverse of DFFT on it and outputs the result as a plaintext polynomial. Note that the difference between the two methods is just the field focused on when the polynomial is decomposed as a product of a linear polynomial. We mean that the field in CRT is , but in DFFT, it is . We analyze the CRT in this case by the number theory transformation (NTT) for simplicity.
1.3. Our Techniques and Contribution
Here, we sketch the techniques adopted in our scheme. For a given rational number vector , we first encode this vector by the Hensel code and obtain in . Then, we employ the CRT in the field to decompose and obtain , where . It is known that the larger the plaintext modulus is, the faster the noise increases. The first CRT is used for a smaller plaintext modulus. At last, we perform the inverse of NTT on each component and obtain k plaintext polynomials, which can be handled by the FV scheme.
We can control the noise by simply increasing the number k and ensure the space is large enough so the result is always correct. There is no loss of precision during the computation since the scheme works in integer fields. We emphasize that our scheme is efficient, although the number of ciphertexts is linear with k since each ciphertext includes N messages. The security of our scheme is based on the RLWE, and we provide a thorough proof regarding correctness. The choice of parameters is also described in detail.
1.4. Related Work
The scaling approach to encode fixed-point numbers was first used to construct homomorphic encryption in [19]. As mentioned above, the rescaling operation should be performed to keep the factor consistent after multiplication. In their work, a complex extraction used to extract bits was employed to finish the rescaling. Instead, Cheon et al. [24] removed the plaintext modulus to prevent MSBs from being destroyed and used simple division for the rescaling. The non-balanced base-B encoding and some variants [28,29,31] suffer from similar limitations discussed in Section 1.2. The condition for decoding correctly in [28] is relaxed to some extent (the bounding box of the result is covered by the plaintext space). A rational number is encoded into a continued fraction (which can be represented as integers) in [26]. However, this encoding technique requires performing very complex arithmetic operations, such as division and modular reduction.
A variant of the FV scheme [12] was proposed by Chen et al. [23]. The plaintext space in their construction is isomorphic to . A new HE scheme with Hensel codes was proposed in [22]. However, the security is not based on the RLWE, and the scheme is substantially different from ours.
The construction proposed by Cheon et al. [24] supports SIMD implemented by the DFFT, different from the CRT adopted in previous works [21,30]. The plaintext modulus is removed in the work to prevent the MSBs of the result from being destroyed (i.e., the plaintext space is R but not ). Chen et al. [25] employed a new plaintext space and built a ring homomorphism between it and the plaintext space used in [24]. Therefore, they constructed an HE scheme supporting SIMD by combining the variant of FV by Bootland et al. [27] with the batching in [24]. However, the plaintext modulus removed in [24,25] is necessary to employ Hensel codes, which is used in [23] to handle rational numbers for high precision. The fully batching technique cannot be applied for the scheme in [23] because of the modification to the plaintext space.
1.5. Organization
The paper is organized as follows. In Section 2, we first introduce how to encode with batching, and then review the Hensel code. In Section 3, we construct our scheme for rational numbers with high precision and analyze the correctness and security. Section 4 presents rules for the choice of parameters.
2. Preliminaries
All logarithms are base 2 unless otherwise indicated. We denote vectors in bold, e.g., , and every vector in this paper is a column vector. For simplicity, we make no distinction between a polynomial and a vector since the coefficients’ embedding can be applied for transformation easily, and we use them alternately according to the context. For a vector with dimension m and a vector with dimension n, denotes the vector with dimension obtained by concatenating vectors and in a vertical direction. We denote by that a divides b. For a real number r, denotes the nearest integer to r, and denotes the largest integer less than r, rounding upwards in case of a tie. The multiplication of vectors in a component-wise way is denoted by ⨂. For integers modulo , we always use representatives in the symmetric interval . and denote reduction modulo q. We denote by the conjugation of . Operations defined in scalars can be extended to vectors in a component-wise way. We use to denote sampling x according to a distribution D. denotes sampling from the uniform distribution over D when D is a finite set. We let denote the security parameter throughout the paper: all known valid attacks against the cryptographic scheme under the scope should take bit operations.
2.1. Notations
An algebraic number is any root of a polynomial . The minimal polynomial of is the unique monic irreducible with a minimal degree having as a root. An algebraic integer is an algebraic number whose minimal polynomial is in . The quotient ring where is a monic irreducible polynomial can be obtained by adjoining an algebraic integer (i.e., ). The residue ring modulo of an integer q is denoted by . An element a in can be represented as , whose corresponding vector is denoted by , where , and N is the degree of . The infinity norm is defined as , and the expansion factor is defined as . In our case, we use a cyclotomic polynomial with a degree N power of 2 to generate the ring and set the expansion factor N simply. We denote by a discrete Gaussian distribution having a standard deviation . A distribution over the integers is called B-bounded if it is only supported on (with overwhelming probability). The Gaussian distribution with deviation is B-bounded, and we set simply.
The semantic security of encryption schemes presented in this paper is based on the RLWE problem introduced in [14].
Definition 1
(The decision RLWE problem). Let be a cyclotomic polynomial with a degree power of 2, be a random element where , , and , where χ is a Gaussian distribution with some deviation σ. The RLWE problem is to distinguish between and .
The RLWE assumption requires that there is no such probabilistic polynomial adversary that can solve the problem with non-negligible probability. Let , where and t is a prime. We decompose in the group in the forms of for NTT.
Lemma 1.
Let . There exists an element such that .
Proof.
Let and be an element with order (i.e., ). Note that such g must exist since . We have
It is obvious that the set includes all roots of in the field , so the first equality holds naturally. The third equality holds since is an element in with order N. We deduce
□
As an example, let and . We have such that .
2.2. Encoding with Batching
Here, we describe the batching technique employed in the work by Cheon et al. Ref. [24] referred to it as HEAAN in a simpler way. Instead of encoding one message in a single plaintext polynomial (by the scalar encoding method or other ways), the batching technique allows us to encrypt multiple messages in a plaintext polynomial.
Write for the multiplicative group of units in . The m-th cyclotomic polynomial is defined as , where . Recall that we have for a power-of-two integer m. Let be a vector of complex numbers with dimension . We show how HEAAN encodes as a plaintext polynomial in (note that the plaintext modulus is removed to prevent the MSBs of the results from being destroyed). Intuitively, at most, messages can be packed in a plaintext polynomial with degree N since the values of the polynomial at some root and its conjugation are conjugate (recall that the values of a plaintext polynomial at all roots of are just the messages). The inverse of DFFT (IDFFT) can be applied to calculate the corresponding coefficient vector with degree N such that
- Encode(N,z): Let be the vector with dimension N. Let the vector with dimension . Invoke and obtain . Return the coefficients of as a vector with dimension N.
- Decode(N,): Let be the vector with dimension . Invoke and output a vector with dimension . Return the vector with dimension .
As an example, let . For a given , let , invoke , and obtain . We thus obtain and return .
Lemma 2.
Let be a vector of complex numbers with dimension , ), and be the corresponding polynomial of (by the coefficient embedding). We have decode(N, and , where .
Proof.
Recall that we have (), where (According to our agreement, we make no distinction between a polynomial and its coefficient vector, i.e., ). It is easy to see that the roots of in the field consist of since for . Thus, we write . We have . It is obvious that for an odd number j. We make the conclusion that
We have and . It is easy to verify decode(. □
To finish the batching, the vector with dimension N should be mapped as a polynomial in R. This can be done by rounding coefficients to the nearest integers. However, this rounding introduces an error that might damage significant bits of input values. To eliminate this error, an input vector is scaled up by some value . We now show how to encode an integer vector as a plaintext polynomial in with NTT. For , we have such that . Intuitively, for a given integral vector , we can use a similar method to obtain the corresponding coefficient vector with dimension N such that
- EncodeINTT(): Let . Invoke and obtain . Return the coefficients of .
- DecodeNTT(): Let with dimension . Invoke and obtain . Return .
Similarly, we can show that for . The main observation is that consists of all roots of in the field . We have . The correctness of decoding is natural with the relationship of NTT and INTT. Different from computation in DFFT and its inverse, an evaluation in NTT and INTT can occur without a loss of precision.
2.3. Hensel Codes
Hensel codes are used to construct a leveled fully homomorphic encryption with the property of error-free computation (or high precision) [22,23]. The main idea is to build an isomorphism between a fraction set and .
We define a map
where and p is a prime. We write as for simplicity. The inverse of the map is implemented by a modified extended Euclidean algorithm. At first, we review how the extended Euclidean algorithm (EEA) runs. The EEA takes as input two integers and and evaluates the greatest common divisors, y and z, for which . The computation generates the tuples and such that
Moreover, for each , we have . The computation stops with , and then is equal to .
Definition 2
(Modified Extended Euclidean Algorithm). Let p be an odd prime, , and . Run EEA with and (if , we simply swap them). Once , output . We write MEEA .
Now, we define the inverse of
subject to
Given and an integer k, we have because MEEA , and if [22].
Lemma 3.
Let p be an odd prime, . The following hold:
- 1.
- For and such that , we have .
- 2.
- For a given , there exists such that .
- 3.
- Ψ can be seen as an isomorphism between and when the evaluation in is closed.
Proof.
1. From Lemma 1(ii) in [22].
- 2.
- It is easy to verify that MEEA will stop and return since gcd . Moreover, we have with because .
- 3.
- From proposition 3 in [22], we have that , if and belong to ,. We complete the proof of (3) by combining it with (1,2).
□
3. Leveled Homomorphic Encryption Scheme
3.1. A Concrete Scheme
The plaintext space in the FV scheme is , where t is referred to as the plaintext modulus and . Cyclotomic polynomials with a degree power of 2 are used to construct the ring in general for security and efficiency. In practice, error distributions of small width are employed to produce noise for convenience. When using error distributions with small width and considering other rings besides the 2-power cyclotomic rings, there are better-known attacks on the RLWE problem [32,33,34,35]. The ciphertext space is and , so there is enough space for the noise to grow.
We constructed a leveled homomorphic encryption scheme based on the FV scheme. Rational numbers can be handled with high precision.
- SetUp(): Given the security parameter , choose an integer N (N is a power of two), an integer q, denote a set of odd primes by , and ensure that any two of them are coprime. For , there are and . Set , , where . Set the distributions , on , where for secrets and error, respectively. Choose an integer T.
- KeyGen(): Sample with coefficients that are uniform in . Output . Sample and . Output . For , sample and return .
- Ecd(): Given a vector of rational numbers , compute the integer vector r. Decompose the vector and obtain by the CRT (this process can be done simply by modular reduction). Return the plaintext polynomials for . Denote the set by C.
- Enc(): For , to encrypt the message , let , sample , and return . Denote the set by .
- Add(): For , let and return
- Mul(): For , computeWrite in base T, i.e., , and setLet and return .
- Dec(): For , let . Let
- Dcd(C): For , DecodeNTT(). Take as input and recover the vector by the CRT. Return .
We refer to as the noise in the ciphertext . The condition for correct decryption is that the size of noise in a ciphertext is less than , and thus, the noise can be removed after rounding. In fact, not only the size of noise but also the encoding scheme can lead to an unexpected result, as mentioned before. The security of the scheme depends on the hardness of the decision RLWE problem. The following lemma is obtained from the standard noise growth argument for the FV [12].
Lemma 4.
Let for be two ciphertexts, with and . Set and ; then,
with and
Assuming that , the FV can correctly evaluate circuits of multiplicative depth L with
The noise growth can be described by Lemma 4. The correctness of decoding is guaranteed if and only if is large enough and the result belongs to the space. Fortunately, the size of the space can be adjusted simply by increasing the parameter k since . On the other hand, the speed of the noise growth is only related to the maximal value of the set of plaintext moduli. We will discuss the choice of parameters in Section 4 formally.
3.2. Correctness and Security Analysis
Theorem 1
(Correctness). Let be the keys output by KeyGen(), , and be the ciphertext such that Enc(,Ecd(). The HE scheme is correct if the following hold:
- 1.
- Dcd(Dec()) = for .
- 2.
- Dcd(Dec()) = if .
- 3.
- Dcd(Dec(,Mul()))= if .
Proof.
The parameter k is set to 1 without loss of generality since the CRT never affects the correctness.
- We have Dec() = since . We can deduce that Dcd() = .
- Because the encryption scheme is based on the FV scheme, we claim that Dec() = and Dec(, Mul()) = . We complete the proof by showing Dcd() = and Dcd() = , respectively, where the degree of the polynomial is less than and is an integer vector. We havewhere, in the third equality, we use the property of Hensel codes that if d is in and b is an integer vector. The last equality holds since is in .
- Let coef be the coefficient vector of the polynomial . We haveWe interpret the vector as the value vector of the polynomial at . Then,On the other hand, are all roots of in . We draw the conclusion thatandThe following holds:We claim thatsincewhere the last equality holds because is in . We deduce . □
Our construction is based on the FV homomorphic encryption scheme, whose security is based on the hardness of the RLWE. By the RLWE assumption, the distribution is computationally indistinguishable from the uniform distribution . More attacks apply when the secret key is sampled from [36]. There are theoretical results showing that certain small secret RLWE variants are as hard as those with if the dimension N is increased sufficiently [37].
4. Choice of Parameters
In this section, we discuss how to choose parameters, guarantee a given level of security, and allow a depth L circuit to be evaluated. On the one hand, we should ensure that the noise does not exceed for correct decryption. On the other hand, the result of the computation should be in for correct decoding. A discrete Gaussian distribution with small width (the deviation ) is employed to sample the error in general. For a given security level, the homomorphic encryption standardization [38] gives pairs of , which achieve the security level. The choice of other parameters depends on the circuits to be evaluated and data to be handled. The plaintext modulus (the maximal plaintext modulus of the plaintext moduli set) determines the depth of circuits by Lemma 4. The number of plaintext moduli k depends on the range of data and circuits. More precisely, we should ensure that the result of computation belongs to , where . This condition can be met simply by increasing k at the cost of partial efficiency.
In Table 1, we present the method of parameter setting for the homomorphic evaluation of power functions with different degrees. The inputs for computation are sampled from the fraction set uniformly (i.e., the numerator and denominator of ). Some other functions such as exponential functions and sine functions can be evaluated by the Taylor expansion.
Table 1.
Choice of parameters for evaluation of typical functions.
The homomorphic evaluation of the circuit with can be computed simultaneously over 8192 slots. We show that the parameters are chosen correctly for decryption and decoding. At first, the choice of with a 128-bit security level follows the homomorphic encryption standardization. Secondly, we have with . Finally, it is easy to verify with , so the result of computation is in . We draw the conclusion that the decryption and decoding can be performed correctly. For the circuit , we can see the value of V increases to 3664, and the available slots become 4096 when k increases to 2. In fact, we can deduce for the same circuit with different k, and the available slots are equal to . Moreover, we can decrease the plaintext modulus and increase k to handle deeper circuits.
5. Conclusions
In this paper, we construct a leveled homomorphic encryption scheme for rational numbers based on the FV scheme. The deployment of NTT allows us to handle rational numbers by Hensel codes with high precision in parallel. An unexpected result will never occur in our scheme if parameters are chosen correctly, which is just the main idea of the leveled homomorphic encryption. The space never hinders the application of our scheme by simply adjusting the parameter k.
Author Contributions
Conceptualization, S.Y. and J.L.; Methodology, L.N.; Writing—original draft, L.N. All authors have read and agreed to the published version of the manuscript.
Funding
This work is supported by the Innovation Research Team for New Cyberspace Security Technology Project (Grant No.2021RI01).
Data Availability Statement
All data are contained in this paper.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Rivest, R.L.; Adleman, L.; Dertouzos, M.L. On data banks and privacy homomorphisms. Found. Secur. Comput. 1978, 4, 169–180. [Google Scholar]
- Gentry, C. Fully homomorphic encryption using ideal lattices. In Proceedings of the Forty-First Annual ACM Symposium on Theory of Computing, Bethesda, MD, USA, 31 May–2 June 2009; pp. 169–178. [Google Scholar]
- Benaloh, J.D.C. Verifiable Secret-Ballot Elections. Ph.D. Thesis, Yale University, New Haven, CT, USA, 1987. [Google Scholar]
- ElGamal, T. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. Inf. Theory 1985, 31, 469–472. [Google Scholar] [CrossRef]
- Paillier, P. Public-key cryptosystems based on composite degree residuosity classes. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Prague, Czech Republic, 2–6 May 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 223–238. [Google Scholar]
- Fellows, M.; Koblitz, N. Combinatorial cryptosystems galore! Contemp. Math. 1994, 168, 51. [Google Scholar]
- Boneh, D.; Goh, E.J.; Nissim, K. Evaluating 2-DNF formulas on ciphertexts. In Proceedings of the Theory of Cryptography Conference, Cambridge, MA, USA, 10–12 February 2005; Springer: Berlin/Heidelberg, Germany, 2005; pp. 325–341. [Google Scholar]
- Brakerski, Z.; Vaikuntanathan, V. Efficient fully homomorphic encryption from (standard) LWE. SIAM J. Comput. 2014, 43, 831–871. [Google Scholar] [CrossRef]
- Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM (JACM) 2009, 56, 1–40. [Google Scholar] [CrossRef]
- Brakerski, Z. Fully homomorphic encryption without modulus switching from classical GapSVP. In Proceedings of the Annual Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2012; Springer: Berlin/Heidelberg, Germany, 2012; pp. 868–886. [Google Scholar]
- Brakerski, Z.; Gentry, C.; Vaikuntanathan, V. (Leveled) fully homomorphic encryption without bootstrapping. ACM Trans. Comput. Theory (TOCT) 2014, 6, 1–36. [Google Scholar] [CrossRef]
- Fan, J.; Vercauteren, F. Somewhat Practical Fully Homomorphic Encryption. Cryptology ePrint Archive, Report 2012/144. 2012. Available online: https://eprint.iacr.org/2012/144 (accessed on 5 July 2021).
- Gentry, C.; Sahai, A.; Waters, B. Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based. In Proceedings of the Annual Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 75–92. [Google Scholar]
- Lyubashevsky, V.; Peikert, C.; Regev, O. On ideal lattices and learning with errors over rings. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, French Riviera, France, 30 May–3 June 2010; Springer: Berlin/Heidelberg, Germany, 2010; pp. 1–23. [Google Scholar]
- Ducas, L.; Micciancio, D. FHEW: Bootstrapping homomorphic encryption in less than a second. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, 26–30 April 2015; Springer: Berlin/Heidelberg, Germany, 2015; pp. 617–640. [Google Scholar]
- Chillotti, I.; Gama, N.; Georgieva, M.; Izabachene, M. Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, 4–8 December 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 3–33. [Google Scholar]
- Cheon, J.H.; Han, K.; Kim, D. Faster Bootstrapping of FHE over the Integers. In Proceedings of the International Conference on Information Security and Cryptology, New York, NY, USA, 16–18 September 2019; Springer: Berlin/Heidelberg, Germany, 2019; pp. 242–259. [Google Scholar]
- Benhamouda, F.; Lepoint, T.; Mathieu, C.; Zhou, H. Optimization of bootstrapping in circuits. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SIAM, Barcelona, Spain, 16–19 January 2017; pp. 2423–2433. [Google Scholar]
- Arita, S.; Nakasato, S. Fully homomorphic encryption for point numbers. In Proceedings of the International Conference on Information Security and Cryptology, Beijing, China, 4–6 November 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 253–270. [Google Scholar]
- Costache, A.; Smart, N.P.; Vivek, S.; Waller, A. Fixed-point arithmetic in SHE schemes. In Proceedings of the International Conference on Selected Areas in Cryptography, St. John’s, NL, Canada, 10–12 August 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 401–422. [Google Scholar]
- Dowlin, N.; Gilad-Bachrach, R.; Laine, K.; Lauter, K.; Naehrig, M.; Wernsing, J. Manual for using homomorphic encryption for bioinformatics. Proc. IEEE 2017, 105, 552–567. [Google Scholar] [CrossRef]
- da Silva, D.W.H.A.; Harmon, L.; Delavignette, G.; Araujo, C. Leveled Fully Homomorphic Encryption Schemes with Hensel Codes. Cryptology ePrint Archive, Report 2021/1281. 2021. Available online: https://eprint.iacr.org/2021/1281 (accessed on 5 January 2022).
- Chen, H.; Laine, K.; Player, R.; Xia, Y. High-precision arithmetic in homomorphic encryption. In Proceedings of the Cryptographers’ Track at the RSA Conference, San Francisco, CA, USA, 16–20 April 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 116–136. [Google Scholar]
- Cheon, J.H.; Kim, A.; Kim, M.; Song, Y. Homomorphic encryption for arithmetic of approximate numbers. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Hong Kong, China, 3–7 December 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 409–437. [Google Scholar]
- Chen, H.; Iliashenko, I.; Laine, K. When HEAAN meets FV: A new somewhat homomorphic encryption with reduced memory overhead. In Proceedings of the IMA International Conference on Cryptography and Coding, Virtual Event, 14–15 December 2021; Springer: Berlin/Heidelberg, Germany, 2021; pp. 265–285. [Google Scholar]
- Chung, H.; Kim, M. Encoding Rational Numbers for FHE-Based Applications. Cryptology ePrint Archive, Report 2016/344. 2016. Available online: https://eprint.iacr.org/2016/344 (accessed on 1 May 2022).
- Bootland, C.; Castryck, W.; Iliashenko, I.; Vercauteren, F. Efficiently processing complex-valued data in homomorphic encryption. J. Math. Cryptol. 2020, 14, 55–65. [Google Scholar] [CrossRef]
- Castryck, W.; Iliashenko, I.; Vercauteren, F. Homomorphic SIM2D Operations: Single Instruction Much More Data. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tel Aviv, Israel, 29 April–3 May 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 338–359. [Google Scholar]
- Bonte, C.; Bootland, C.; Bos, J.W.; Castryck, W.; Iliashenko, I.; Vercauteren, F. Faster homomorphic function evaluation using non-integral base encoding. In Proceedings of the International Conference on Cryptographic Hardware and Embedded Systems, Taipei, Taiwan, 25–28 September 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 579–600. [Google Scholar]
- Smart, N.P.; Vercauteren, F. Fully homomorphic SIMD operations. Des. Codes Cryptogr. 2014, 71, 57–81. [Google Scholar] [CrossRef]
- Cheon, J.H.; Jeong, J.; Lee, J.; Lee, K. Privacy-preserving computations of predictive medical models with minimax approximation and non-adjacent form. In Proceedings of the International Conference on Financial Cryptography and Data Security, Sliema, Malta, 3–7 April 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 53–74. [Google Scholar]
- Elias, Y.; Lauter, K.E.; Ozman, E.; Stange, K.E. Provably weak instances of Ring-LWE. In Proceedings of the Annual Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 2015; Springer: Berlin/Heidelberg, Germany, 2015; pp. 63–92. [Google Scholar]
- Chen, H.; Lauter, K.; Stange, K.E. Attacks on the search RLWE problem with small errors. SIAM J. Appl. Algebra Geom. 2017, 1, 665–682. [Google Scholar] [CrossRef]
- Castryck, W.; Iliashenko, I.; Vercauteren, F. Provably weak instances of Ring-LWE revisited. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Vienna, Austria, 8–12 May 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 147–167. [Google Scholar]
- Chen, H.; Lauter, K.; Stange, K.E. Security considerations for Galois non-dual RLWE families. In Proceedings of the International Conference on Selected Areas in Cryptography, St. John’s, NL, Canada, 10–12 August 2016; Springer: Berlin/Heidelberg, Germany, 2016; pp. 443–462. [Google Scholar]
- Albrecht, M.R. On dual lattice attacks against small-secret LWE and parameter choices in HElib and SEAL. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, 30 April–4 May 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 103–129. [Google Scholar]
- Brakerski, Z.; Langlois, A.; Peikert, C.; Regev, O.; Stehlé, D. Classical hardness of learning with errors. In Proceedings of the Forty-Fifth Annual ACM Symposium on Theory of Computing, Palo Alto, CA, USA, 2–4 June 2013; pp. 575–584. [Google Scholar]
- Albrecht, M.; Chase, M.; Chen, H.; Ding, J.; Goldwasser, S.; Gorbunov, S.; Halevi, S.; Hoffstein, J.; Laine, K.; Lauter, K.; et al. Homomorphic Encryption Security Standard; Technical Report; HomomorphicEncryption.org: Toronto, ON, Canada, 2018. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).