Next Article in Journal
A Computationally Efficient Distributed Framework for a State Space Adaptive Filter for the Removal of PLI from Cardiac Signals
Previous Article in Journal
Spatially Weighted Bayesian Classification of Spatio-Temporal Areal Data Based on Gaussian-Hidden Markov Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

High-Precision Leveled Homomorphic Encryption for Rational Numbers

1
National Pilot School of Software, Yunnan University, Kumming 650504, China
2
Engineering Research Center of the Ministry of Education on Cross-Border Cyberspace Security, Yunnan University, Kumming 650504, China
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2023, 11(2), 348; https://doi.org/10.3390/math11020348
Submission received: 14 December 2022 / Revised: 6 January 2023 / Accepted: 7 January 2023 / Published: 9 January 2023

Abstract

:
In most homomorphic encryption schemes based on RLWE, native plaintexts are represented as polynomials in a ring Z t [ x ] / x N + 1 , where t is a plaintext modulus and x N + 1 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.

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 R t = Z t [ X ] / Φ m ( x ) , where Φ m ( x ) 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 z , B Z and encode z as i = 0 n 1 a i X i such that z = i = 0 n 1 a i B i , where n is the degree of Φ m ( x ) and a i [ ( B 1 ) , B 1 ] . 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 Φ m ( x ) , an unexpected result will occur, and we say the computation overflows. As an example, let n = 4 , t = 4 , B = 2 , where n is the degree of Φ m ( x ) , and Φ m ( x ) = x 4 + 1 . For a given z = 9 , we have z = B 3 + 1 and thus encode z as x 3 + 1 . Decoding is finished by simply replacing x in the plaintext polynomial with B. We add 3 x + 3 to z and obtain x 3 + 3 x m o d 4 . Decoding x 3 + 3 x 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 Z t , where t is the plaintext modulus, by choosing the cyclotomic polynomial and the plaintext modulus carefully; it then builds an isomorphism between R t = Z t [ X ] / Φ m ( x ) and i = 1 k Z t [ x ] / Q i ( x ) such that Φ m ( x ) = i = 1 k Q i ( x ) m o d t . Let M = ( m 1 , , m k ) be the message vector. The component m i can be encoded as a polynomial in the ring Z t [ X ] / Q i ( x ) . 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 Z t , but in DFFT, it is Z . 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 r = ( m 1 , , m N ) F M N , we first encode this vector by the Hensel code and obtain z = ( z 1 , , z N ) in Z t N . Then, we employ the CRT in the field Z t to decompose z and obtain ( c 1 , , c k ) Z t 1 × Z t k , where t = i = 1 k t i . 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 c i 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 F M 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 Z / ( b n + 1 ) Z . 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 R t ). 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., a , and every vector in this paper is a column vector. For simplicity, we make no distinction between a polynomial c ( x ) and a vector c since the coefficients’ embedding can be applied for transformation easily, and we use them alternately according to the context. For a vector a with dimension m and a vector b with dimension n, ( a ; b ) denotes the vector with dimension m + n obtained by concatenating vectors a and b in a vertical direction. We denote by a b that a divides b. For a real number r, r denotes the nearest integer to r, and r 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 q Z > 0 , we always use representatives in the symmetric interval ( q / 2 , q / 2 ] . [ · ] q and m o d q 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 x D to denote sampling x according to a distribution D. x U ( 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 2 λ bit operations.

2.1. Notations

An algebraic number ξ C is any root of a polynomial f ( x ) Q [ x ] . The minimal polynomial of ξ is the unique monic irreducible f ( x ) Q [ x ] with a minimal degree having ξ as a root. An algebraic integer is an algebraic number whose minimal polynomial f ( x ) is in Z [ x ] . The quotient ring R = Z [ x ] / f ( x ) where f ( x ) is a monic irreducible polynomial can be obtained by adjoining an algebraic integer ξ (i.e., Z [ ξ ] Z [ x ] / f ( x ) ). The residue ring modulo of an integer q is denoted by R q = R / q R . An element a in R q can be represented as a ( ξ ) = i = 0 N 1 a i ξ i , whose corresponding vector is denoted by a = ( a 0 , a 1 , , a N 1 ) , where a i ( q / 2 , q / 2 ] , and N is the degree of f ( x ) . The infinity norm a ( ξ ) is defined as m a x ( | a i | ) , and the expansion factor σ R is defined as m a x ( a b ) / ( a · b ) . 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 [ B , B ] (with overwhelming probability). The Gaussian distribution with deviation σ is B-bounded, and we set B = 8 σ 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 f ( x ) be a cyclotomic polynomial with a degree power of 2, s R q be a random element where R = Z [ x ] / f ( x ) , a , a , b U ( R q ) , and e χ , where χ is a Gaussian distribution with some deviation σ. The RLWE problem is to distinguish between ( a , b = a · s + e ) and ( a , b ) .
The RLWE assumption requires that there is no such probabilistic polynomial adversary that can solve the problem with non-negligible probability. Let f ( x ) = x N + 1 , where N = 2 k and t is a prime. We decompose f ( x ) in the group Z t * in the forms of ( x g i ) for NTT.
Lemma 1. 
Let 2 N ( t 1 ) . There exists an element g Z t * such that f ( x ) = i = 0 N 1 ( x g 2 i + 1 ) m o d t .
Proof. 
Let h ( x ) = x 2 N 1 and g Z t * be an element with order 2 N (i.e., g 2 N = 1 m o d t ). Note that such g must exist since 2 N ( t 1 ) . We have
h ( x ) = i = 0 2 N 1 ( x g i ) m o d t = ( x N + 1 ) ( x N 1 ) = f ( x ) i = 0 N 1 ( x g 2 i )
It is obvious that the set { 1 , g , , g 2 N 1 } includes all roots of h ( x ) in the field Z t * , so the first equality holds naturally. The third equality holds since g 2 is an element in Z t * with order N. We deduce
f ( x ) = i = 0 N 1 ( x g 2 i + 1 ) m o d t
As an example, let N = 4 and t = 17 . We have x 4 + 1 = i = 0 3 ( x 2 2 i + 1 ) m o d 17 such that 2 8 = 1 m o d 17 .

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 Z m * for the multiplicative group of units in Z m . The m-th cyclotomic polynomial Φ m ( x ) is defined as k Z m * ( x ξ m k ) , where ξ m = exp 2 π i / m . Recall that we have Φ m ( x ) = x m / 2 + 1 = k = 0 m / 2 1 ( x ξ m 2 k + 1 ) for a power-of-two integer m. Let z be a vector of complex numbers with dimension N / 2 . We show how HEAAN encodes z as a plaintext polynomial in R = Z [ x ] / ( X N + 1 ) (note that the plaintext modulus is removed to prevent the MSBs of the results from being destroyed). Intuitively, at most, N / 2 messages can be packed in a plaintext polynomial with degree N since the values of the polynomial at some root ξ 2 N 2 k + 1 and its conjugation ξ 2 N 2 N 2 k 1 are conjugate (recall that the values of a plaintext polynomial at all roots of X N + 1 are just the messages). The inverse of DFFT (IDFFT) can be applied to calculate the corresponding coefficient vector c with degree N such that
1 ξ 2 N ξ 2 N N 1 1 ξ 2 N 3 ξ 2 N 3 ( N 1 ) 1 ξ 2 N 2 N 1 ξ 2 N ( 2 N 1 ) ( N 1 ) × c = ( z ; z ¯ )
  • Encode(N,z): Let Z = ( z ; z ¯ ) be the vector with dimension N. Let the vector Z = ( 0 , Z [ 0 ] , 0 , Z [ 1 ] , , Z [ N 1 ] ) with dimension 2 N . Invoke I D F F T 2 N ( Z ) and obtain r ( x ) x N r ( x ) . Return the coefficients of 2 r ( x ) as a vector c with dimension N.
  • Decode(N, c ): Let C = ( c ; 0 ) be the vector with dimension 2 N . Invoke D F F T 2 N ( C ) and output a vector Z with dimension 2 N . Return the vector [ Z [ 1 ] , Z [ 3 ] , , Z [ N 1 ] ] with dimension N / 2 .
As an example, let Φ 8 ( x ) = x 4 + 1 . For a given z = ( 3 + 4 i , 2 i ) , let Z = [ 0 , 3 + 4 i , 0 , 2 i , 0 , 2 + i , 0 , 3 4 i ] , invoke I D F F T 8 ( Z ) , and obtain 1.25 0.3536 x 1.25 x 2 0.707 x 3 1.25 x 4 + 0.3536 x 5 + 1.25 x 6 + 0.707 x 7 . We thus obtain 2 r ( x ) = 2.5 0.707 x 2.5 x 2 1.414 x 3 and return c = ( 2.5 , 0.707 , 2.5 , 1.414 ) .
Lemma 2. 
Let z be a vector of complex numbers with dimension N / 2 , c = E n c o d e ( N , z ), and c ( x ) be the corresponding polynomial of c (by the coefficient embedding). We have decode(N, c ) = z and c ( ξ 2 N 2 k + 1 ) = 2 r ( ξ 2 N 2 k + 1 ) = z [ k ] , where k = 0 , 1 , , N / 2 1 .
Proof. 
Recall that we have m ( ξ 2 N j ) = Z [ j ] ( j = 0 , 1 , , 2 N 1 ), where m ( x ) = I D F F T 2 N ( Z ) (According to our agreement, we make no distinction between a polynomial and its coefficient vector, i.e., c ( x ) = c ( x ) ). It is easy to see that the roots of m ( x ) in the field C consist of { 1 , ξ 2 N 2 , ξ 2 N 4 , , ξ 2 N 2 N 2 } since Z [ j ] = 0 for 2 j . Thus, we write m ( x ) = ( 1 x N ) r ( x ) = c ( x ) . We have r ( ξ 2 N j ) ξ 2 N j · N r ( ξ 2 N j ) = Z [ j ] . It is obvious that ξ 2 N j · N = 1 for an odd number j. We make the conclusion that
c ( ξ 2 N 2 k + 1 ) = 2 r ( ξ 2 N 2 k + 1 ) = z [ k ] k = 0 , 1 , , N / 2 1
We have C ( ξ 2 N j ) = c ( ξ 2 N j ) and c ( ξ 2 N 2 k + 1 ) = z [ k ] . It is easy to verify decode( N , c ) = z . □
To finish the batching, the vector c 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 R t with NTT. For 2 N ( t 1 ) , we have x N + 1 = i = 0 N 1 ( x g 2 i + 1 ) m o d t such that g 2 N = 1 m o d t . Intuitively, for a given integral vector z , we can use a similar method to obtain the corresponding coefficient vector c with dimension N such that
( U = 1 g g N 1 1 g 3 g 3 ( N 1 ) 1 g 2 N 1 g ( 2 N 1 ) ( N 1 ) ) × c = z
  • EncodeINTT( N , z ): Let Z = [ 0 , z [ 0 ] , 0 , , z [ N 1 ] . Invoke I N T T 2 N ( Z ) and obtain r ( x ) x N r ( x ) . Return the coefficients c of 2 r ( x ) .
  • DecodeNTT( N , c ): Let C = [ c , 0 ] with dimension 2 N . Invoke N T T 2 N ( C ) and obtain Z . Return [ Z [ 1 ] , Z [ 3 ] , , Z [ 2 N 1 ] ] .
Similarly, we can show that 2 r ( g 2 k + 1 ) = z [ k ] for k = 0 , 1 , , N 1 . The main observation is that { 1 , g 2 , , g 2 N 2 } consists of all roots of 1 x N in the field Z t * . We have g ( 2 k + 1 ) N = 1 m o d t . 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 F M and Z p .
F M = { x y | | x | M , | y | M }
We define a map
Ψ p : F M Z p x y h = x · y 1 m o d p
where M = ( p 1 ) / 2 and p is a prime. We write Ψ p 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 x 0 and x 1 and evaluates the greatest common divisors, y and z, for which y · x 0 + z · x 1 = g c d ( x 0 , x 1 ) . The computation generates the tuples ( x 2 , x n ) , ( y 2 , y n ) , ( z 2 , z n ) and q i = x i 1 / x i such that
x i + 1 = x i 1 q i x i y i + 1 = y i 1 q i y i w i t h y 0 = 0 , y 1 = 1 z i + 1 = z i 1 q i z i w i t h z 0 = 1 , z 1 = 0
Moreover, for each i n , we have y i x 1 + z i x 0 = x i . The computation stops with x n = 0 , and then x n 1 is equal to g c d ( x 0 , x 1 ) .
Definition 2 
(Modified Extended Euclidean Algorithm). Let p be an odd prime, h Z , and M = ( p 1 ) / 2 . Run EEA with x 0 = p and x 1 = h (if h > p , we simply swap them). Once | x i | M , output ( x , y ) = ( ( 1 ) i + 1 x i , ( 1 ) i + 1 y i ) . We write MEEA ( p , h ) = ( x , y ) .
Now, we define the inverse of Ψ
Ψ 1 : Z p F M h x y
subject to
( x , y ) = M E E A ( p , h )
Given x / y F M and an integer k, we have Ψ 1 ( Ψ ( x / y ) + k · p ) = x / y because MEEA ( p , k · p ) = 0 , and Ψ ( Ψ 1 ( h ) ) = h if h Z p [22].
Lemma 3. 
Let p be an odd prime, M = ( p 1 ) / 2 . The following hold:
1. 
For x 1 / y 1 and x 2 / y 2 F M such that x 1 / y 1 x 2 / y 2 , we have x 1 y 1 1 x 2 y 2 1 m o d p .
2. 
For a given h Z p , there exists x / y F M such that x y 1 m o d p = h .
3. 
Ψ can be seen as an isomorphism between F M and Z p when the evaluation in F M is closed.
Proof. 
1. From Lemma 1(ii) in [22].
2.
It is easy to verify that MEEA ( p , h ) will stop and return ( x = ( 1 ) i + 1 x i , y = ( 1 ) i + 1 y i ) since gcd ( p , h ) = 1 < M . Moreover, we have h = y i 1 x i m o d p = x y 1 m o d p with | x i | < M because y i h + z i p = x i .
3.
From proposition 3 in [22], we have that Ψ ( x 1 / y 1 + x 2 / y 2 ) = Ψ ( x 1 / y 1 ) + Ψ ( x 2 / y 2 ) , Ψ ( x 1 / y 1 · x 2 / y 2 ) = Ψ ( x 1 / y 1 ) · Ψ ( x 2 / y 2 ) if x 1 / y 1 + x 2 / y 2 and x 1 / y 1 · x 2 / y 2 belong to F M ,. 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 R t , where t is referred to as the plaintext modulus and R t = Z t [ x ] / f ( x ) . 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 R q × R q and q t , 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( 1 λ ): Given the security parameter λ , choose an integer N (N is a power of two), an integer q, denote a set of odd primes by ( t 1 , , t k ) , and ensure that any two of them are coprime. For i = 1 , , k , there are 2 N | ( t i 1 ) and t i | q . Set Δ i = q / t i , M = ( t 1 ) / 2 , where t = i = 1 k t i . Set the distributions χ k e y , χ e r r on R = Z [ x ] / f ( x ) , where f ( x ) = x N + 1 for secrets and error, respectively. Choose an integer T.
  • KeyGen( 1 λ ): Sample s R with coefficients that are uniform in { 1 , 0 , 1 } . Output s k = s . Sample a U ( R q ) and e χ . Output p k = ( [ ( a · s + e ) ] q , a ) R q × R q . For i = 0 , 1 , , l = l o g T q , sample a i R q , e i χ and return r l k = [ ( [ ( a i · s + e i ) + T i · s 2 ] q , a i ) : i = 1 , , l ] .
  • Ecd( z ): Given a vector of rational numbers r F M N , compute the integer vector z = Ψ t ( r ) Z t . Decompose the vector and obtain { d 1 , , d k } Z t 1 × Z t k by the CRT (this process can be done simply by modular reduction). Return the plaintext polynomials c i = E n c o d e I N T T ( N , d i ) for i = 1 , , k . Denote the set { c 1 , , c k } by C.
  • Enc( p k , C ): For i = 1 , , k , to encrypt the message c i R t i , let p 0 = p k [ 0 ] , p 1 = p k [ 1 ] , sample u R 2 , e 1 , e 2 χ , and return c t i = ( [ p 0 · u + e 1 + Δ i · c i ] q , [ p 1 · u + e 1 ] q ) . Denote the set { c t i , , c t k } by C T .
  • Add( C T 1 , C T 2 ): For i = 1 , , k , let C T [ i ] = ( [ C T 1 [ i ] [ 0 ] + C T 2 [ i ] [ 0 ] ] q , [ C T 1 [ i ] [ 1 ] + C T 2 [ i ] [ 1 ] ] q ) and return C T
  • Mul( C T 1 , C T 2 , r l k ): For j = 1 , , k , compute
    f 0 = [ t j ( C T 1 [ j ] [ 0 ] · C T 2 [ j ] [ 0 ] ) q ] q
    f 1 = [ t j ( C T 1 [ j ] [ 0 ] · C T 2 [ j ] [ 1 ] + C T 1 [ j ] [ 1 ] · C T 2 [ j ] [ 0 ] ) q ] q
    f 2 = [ t j ( C T 1 [ j ] [ 1 ] · C T 2 [ j ] [ 1 ] ) q ] q .
    Write f 2 in base T, i.e., f 2 = i = 0 l f 2 ( i ) T i , and set
    f 0 = [ f 0 + i = 0 l r l k [ i ] [ 0 ] · f 2 ( i ) ] q , f 1 = [ f 1 + i = 0 l r l k [ i ] [ 1 ] ] q .
    Let C T [ j ] = ( f 0 , f 1 ) and return C T .
  • Dec( s k , C T ): For i = 1 , , k , let s = s k , f 0 = C T [ i ] [ 0 ] , f 1 = C T [ i ] [ 1 ] . Let
    C [ i ] = [ t i [ f 0 + f 1 · s ] q q ] q R t i .
  • Dcd(C): For i = 1 , , k , d i = DecodeNTT( N , c i ). Take { d 1 , , d k } as input and recover the vector z by the CRT. Return Ψ t 1 ( z ) .
We refer to ( c t [ 0 ] + c t [ 1 ] · s Δ · m ) as the noise in the ciphertext c t . The condition for correct decryption is that the size of noise in a ciphertext is less than Δ / 2 , 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 c t i for i = 1 , 2 be two ciphertexts, with [ c t i [ s ] ] q = [ ( c t i [ 0 ] + c t i [ 1 ] · s ) ] q = Δ · m + v i and v i < E < Δ / 2 . Set c t a d d = F V . A d d ( c t 1 , c t 2 ) and c t m u l = F V . M u l ( c t 1 , c t 2 , r l k ) ; then,
[ c t a d d ( s ) ] q = Δ · [ m 1 + m 2 ] t + v a d d
[ c t m u l ( s ) ] q = Δ · [ m 1 · m 2 ] t + v m u l
with v a d d < 2 · E + t and v m u l < E · t · δ R ( δ R + 1.25 ) + ( l + 1 ) B · T · δ R / 2
Assuming that χ < B , the FV can correctly evaluate circuits of multiplicative depth L with
4 δ R L ( δ R + 1.25 ) L + 1 t L + 1 < q / B .
The noise growth can be described by Lemma 4. The correctness of decoding is guaranteed if and only if F M 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 M = ( i = 1 k t i 1 ) / 2 . 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 s k , p k , r l k be the keys output by KeyGen( 1 λ ), z i F M N ( i = 1 , 2 ) , and c t i be the ciphertext such that c t i = Enc( p k ,Ecd( z i ) ). The HE scheme is correct if the following hold:
1. 
Dcd(Dec( s k , c t i )) = z i for i = 1 , 2 .
2. 
Dcd(Dec( s k , c t 1 + c t 2 )) = z 1 + z 2 if z 1 + z 2 F M N .
3. 
Dcd(Dec( s k ,Mul( c t 1 , c t 2 , r l k )))= z 1 z 2 if z 1 z 2 F M N .
Proof. 
The parameter k is set to 1 without loss of generality since the CRT never affects the correctness.
  • We have Dec( s k , c t i ) = c i ( x ) = U 1 · Ψ t ( z i ) since e i < B < Δ / 2 . We can deduce that Dcd( c i ) = Ψ t 1 · U ( U 1 · Ψ t ( z i ) ) = z i .
  • Because the encryption scheme is based on the FV scheme, we claim that Dec( s k , ( c t 1 + c t 2 ) ) = ( c 1 + c 2 ) m o d t and Dec( s k , Mul( c t 1 , c t 2 )) = ( c 1 · c 2 ) m o d f ( x ) m o d t . We complete the proof by showing Dcd( c 1 + c 2 + k · t ) = z 1 + z 2 and Dcd( ( c 1 · c 2 + c ( x ) · f ( x ) ) m o d t ) = z 1 z 2 , respectively, where the degree of the polynomial c 1 ( x ) c 2 ( x ) + c ( x ) · f ( x ) is less than f ( x ) and k is an integer vector. We have
    D c d ( D e c ( s k , ( c t 1 + c t 2 ) ) = D c d ( c 1 + c 2 + k · t ) = Ψ t 1 · U ( U 1 · Ψ t ( z 1 ) + U 1 · Ψ t ( z 2 ) + k · t ) = Ψ t 1 ( U · U 1 ( Ψ t ( z 1 ) + Ψ t ( z 2 ) ) = Ψ t 1 ( Ψ t ( z 1 + z 2 ) ) = z 1 + z 2
    where, in the third equality, we use the property of Hensel codes that Ψ t 1 ( b · t + Ψ t ( d ) ) = d if d is in F M N and b is an integer vector. The last equality holds since z 1 + z 2 is in F M N .
  • Let coef be the coefficient vector of the polynomial c 1 ( x ) c 2 ( x ) + c ( x ) · f ( x ) . We have
    U · coef = 1 g g N 1 1 g 3 g 3 ( N 1 ) 1 g 2 N 1 g ( 2 N 1 ) ( N 1 ) · coef
    We interpret the vector U · coef as the value vector of the polynomial ( c 1 c 2 + c · f ) ( x ) at { g , g 3 , , g 2 N 1 } . Then,
    ( U · coef ) [ i ] = ( c 1 c 2 + c · f ) ( g 2 i + 1 ) .
    On the other hand, { g , g 3 , , g 2 N 1 } are all roots of f ( x ) in Z t * . We draw the conclusion that
    ( U · coef ) [ i ] = ( c 1 c 2 ) ( g 2 i + 1 ) + k i · t · c ( g 2 i + 1 )
    and
    ( U · coef ) [ i ] m o d t = ( c 1 c 2 ) ( g 2 i + 1 ) .
    The following holds:
    D c d ( ( c 1 ( x ) c ( x ) 2 + c ( x ) · f ( x ) ) m o d t ) = Ψ t 1 · U ( coef m o d t )
    We claim that
    Ψ t 1 ( U · coef m o d t ) [ i ] = z 1 [ i ] · z 2 [ i ]
    since
    Ψ t 1 ( U · coef m o d t ) [ i ] = Ψ t 1 ( ( U · coef ) [ i ] m o d t ) = Ψ t 1 ( ( c 1 c 2 ) ( g 2 i + 1 ) ) = Ψ t 1 ( c 1 ( g 2 i + 1 ) · c 2 ( g 2 i + 1 ) ) = Ψ t 1 ( Ψ t ( z 1 [ i ] ) · Ψ t ( z 2 [ i ] ) ) = z 1 [ i ] · z 2 [ i ]
    where the last equality holds because z 1 [ i ] · z 2 [ i ] is in F M N . We deduce D c d ( ( c 1 ( x ) c 2 ( x ) + c ( x ) · f ( x ) ) m o d t ) = z 1 z 2 . □
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 ( b = a · s + e , a ) is computationally indistinguishable from the uniform distribution U ( R q × R q ) . More attacks apply when the secret key is sampled from R 2 [36]. There are theoretical results showing that certain small secret RLWE variants are as hard as those with s k χ e r r 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 Δ / 2 for correct decryption. On the other hand, the result of the computation should be in F M N for correct decoding. A discrete Gaussian distribution with small width (the deviation σ = 3.2 ) is employed to sample the error in general. For a given security level, the homomorphic encryption standardization [38] gives pairs of ( N , q ) , 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 F M , where M = ( i = 1 k t i 1 ) / 2 . 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 F V uniformly (i.e., the numerator and denominator of z [ i ] [ V , V ] ). Some other functions such as exponential functions and sine functions can be evaluated by the Taylor expansion.
The homomorphic evaluation of the circuit x 4 with k = 1 can be computed simultaneously over 8192 slots. We show that the parameters are chosen correctly for decryption and decoding. At first, the choice of ( N , q ) with a 128-bit security level follows the homomorphic encryption standardization. Secondly, we have 4 δ R L ( δ R + 1.25 ) L + 1 t L + 1 < q / B with t = 15 · 2 44 + 1 . Finally, it is easy to verify V 4 < ( t 1 ) / 2 with V = 58 , so the result of computation is in F M N . We draw the conclusion that the decryption and decoding can be performed correctly. For the circuit x 4 , 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 V V k for the same circuit with different k, and the available slots are equal to N / k . 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 F M 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

  1. Rivest, R.L.; Adleman, L.; Dertouzos, M.L. On data banks and privacy homomorphisms. Found. Secur. Comput. 1978, 4, 169–180. [Google Scholar]
  2. 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]
  3. Benaloh, J.D.C. Verifiable Secret-Ballot Elections. Ph.D. Thesis, Yale University, New Haven, CT, USA, 1987. [Google Scholar]
  4. 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]
  5. 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]
  6. Fellows, M.; Koblitz, N. Combinatorial cryptosystems galore! Contemp. Math. 1994, 168, 51. [Google Scholar]
  7. 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]
  8. Brakerski, Z.; Vaikuntanathan, V. Efficient fully homomorphic encryption from (standard) LWE. SIAM J. Comput. 2014, 43, 831–871. [Google Scholar] [CrossRef]
  9. Regev, O. On lattices, learning with errors, random linear codes, and cryptography. J. ACM (JACM) 2009, 56, 1–40. [Google Scholar] [CrossRef]
  10. 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]
  11. Brakerski, Z.; Gentry, C.; Vaikuntanathan, V. (Leveled) fully homomorphic encryption without bootstrapping. ACM Trans. Comput. Theory (TOCT) 2014, 6, 1–36. [Google Scholar] [CrossRef] [Green Version]
  12. 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).
  13. 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]
  14. 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]
  15. 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]
  16. 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]
  17. 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]
  18. 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]
  19. 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]
  20. 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]
  21. 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]
  22. 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).
  23. 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]
  24. 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]
  25. 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]
  26. 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).
  27. 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]
  28. 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]
  29. 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]
  30. Smart, N.P.; Vercauteren, F. Fully homomorphic SIMD operations. Des. Codes Cryptogr. 2014, 71, 57–81. [Google Scholar] [CrossRef] [Green Version]
  31. 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]
  32. 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]
  33. 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]
  34. 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]
  35. 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]
  36. 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]
  37. 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]
  38. 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]
Table 1. Choice of parameters for evaluation of typical functions.
Table 1. Choice of parameters for evaluation of typical functions.
FunLNt (The Maximal Value)qVk
2 x 01024 3 · 2 12 + 1 t · 2 17 391
x 2 14096 3 · 2 30 + 1 t · 2 78 2001
x 4 28192 15 · 2 44 + 1 t · 2 171 581
x 8 316,384 27 · 2 56 + 1 t · 2 380 131
x 4 28192 15 · 2 44 + 1 , 14 · 2 44 + 1 t · 2 171 36642
x 8 316,384 27 · 2 56 + 1 , 26 · 2 56 + 1 t · 2 380 1842
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.

Share and Cite

MDPI and ACS Style

Nie, L.; Yao, S.; Liu, J. High-Precision Leveled Homomorphic Encryption for Rational Numbers. Mathematics 2023, 11, 348. https://doi.org/10.3390/math11020348

AMA Style

Nie L, Yao S, Liu J. High-Precision Leveled Homomorphic Encryption for Rational Numbers. Mathematics. 2023; 11(2):348. https://doi.org/10.3390/math11020348

Chicago/Turabian Style

Nie, Long, Shaowen Yao, and Jing Liu. 2023. "High-Precision Leveled Homomorphic Encryption for Rational Numbers" Mathematics 11, no. 2: 348. https://doi.org/10.3390/math11020348

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop