Home Algorithms for CRT-variant of Approximate Greatest Common Divisor Problem
Article Open Access

Algorithms for CRT-variant of Approximate Greatest Common Divisor Problem

  • Jung Hee Cheon , Wonhee Cho , Minki Hhan , Jiseung Kim and Changmin Lee EMAIL logo
Published/Copyright: October 20, 2020
Become an author with De Gruyter Brill

Abstract

The approximate greatest common divisor problem (ACD) and its variants have been used to construct many cryptographic primitives. In particular, the variants of the ACD problem based on Chinese remainder theorem (CRT) are being used in the constructions of a batch fully homomorphic encryption to encrypt multiple messages in one ciphertext. Despite the utility of the CRT-variant scheme, the algorithms that secures its security foundation have not been probed well enough.

In this paper, we propose two algorithms and the results of experiments in which the proposed algorithms were used to solve the variant problem. Both algorithms take the same time complexity 2O~(γ(ηρ)2) up to a polynomial factor to solve the variant problem for the bit size of samples γ, secret primes η, and error bound ρ. Our algorithm gives the first parameter condition related to η and γ size. From the results of the experiments, it has been proved that the proposed algorithms work well both in theoretical and experimental terms.

MSC 2010: 11Y16

1 Introduction

Howgrave-Graham had defined and studied the approximate greatest common divisor (ACD) problem in [16]. The ACD problem and its variant problems have been used to construct cryptographic schemes such as fully homomorphic encryption (FHE) and cryptographic multilinear map [4, 6, 9, 19].

As the first variant problem, the partial approximate common divisor (PACD) problem was suggested. This variant problem has allowed increasing efficiency of ACD-based homomorphic encryption scheme [7]. As the series of work, in the paper [4], another variant of the ACD problem was introduced to suggest a new FHE scheme, which is called CCK-FHE scheme, over the integers. This scheme utilizes Chinese remainder theorem to encrypt multiple messages in one ciphertext. Informally, for integers γ, n, η, and ρ such that γ ≫ n ⋅ η and ηρ, the γ-bit ciphertext integer b of this scheme is characterized by satisfying modulo equations bri mod pi for 1 ≤ i ≤ n, where ri’s are ρ-bit integers and pi’s are η-bit fixed secret primes. The problem that distinguishes between ciphertexts of CCK-FHE scheme and uniform samples of γ-bit integer, in which the γ-bit integer N = i=0npi is given as the product of secret primes, is called the CCK-ACD. [1] In case n = 1, the problem is called PACD problem.

On the other hand, algorithms to directly solve the CCK-ACD problem have garnered less attention. Galbraith, Gebregiyorgis and Murphy said that an algorithm to solve the CCK-ACD problem exploiting CRT structure is an open problem [13]. In fact, there has been no algorithms for solving the CCK-ACD problem so far except for the method of Chen and Nguyen [3], which depends only on ρ. Instead, in order to provide the evidence of CCK-FHE’s security, authors in [4] suggested a reduction from PACD to CCK-ACD.

However, while the current CCK-FHE parameters are set to be secure for the Chen and Nguyen’s attack, the authors in [4] did not use the parameter settings obtained from the reduction for known PACD parameters. Therefore, it is necessary to determine whether the CCK-FHE parameters satisfies the desired security even under the current conditions of η and γ. In sum, one can naturally pose the following question:

IsitpossibletopresentthetimecomplexityforsolvingCCK-ACDbyusingamathematicalalgorithmthatdependsonηandγ?

Previous works

In order to solve the CCK-ACD problem, several naive methods are suggested. Their main idea was to exploit the feature of the problem that the error terms are relatively small and the product of the secret primes is given. In other words, one can try a brute-force attack to recover a secret prime pi from a multiple N = i=0npi and an sample of CCK-ACD represented by b = piqi+ ri for some fixed i, where an integer ri ∈ (−2ρ, 2ρ) except i = 0. The method is to compute the greatest common divisor between (GCD) ba and N for all integers a ∈ (−2ρ, 2ρ). It would have time complexity Õ(2ρ), so ρ should be set to Ω(λ) for the security parameter λ. Furthermore, [3] and [7] that were proposed as the variants of exhaustive search to solve (P)ACD in Õ(2ρ/2) time complexity, can be applied to solve the CCK-ACD problem for the feature mentioned previously. In addition, one can also use the factorization with the elliptic curve method to find a factor of N in 2O~(η) time complexity, where η is the log-size of pi. Thus, η should be set to Ω(λ2) for the security parameter λ.

As another trial to solve CCK-ACD, authors in [14] considered well-known algorithms for solving PACD such as orthogonal lattice attack method (OLA) and simultaneous Diophantine approximation (SDA) [6, 12, 16, 19] in the context of CCK-ACD. The SDA and OLA make use of a lattice reduction algorithm for a specific lattice whose entries consist of the given PACD samples and a multiple N = i=0npi. If one can obtain a short vector from the lattice by the lattice reduction algorithm, it leads to a solution of the PACD problem which utilizes the coordinates of the vector. Since these algorithms for (P)ACD have time complexity depending on η and γ, one can expect that the expansion of the algorithms to the CCK-ACD problem will provide answers to the main question.

However, if a lattice as similar to SDA and OLA is being constructed to solve CCK-ACD, there exist several short vectors of similar length in the lattice due to the symmetry of pi. Thus if short vector from the lattice by a lattice reduction algorithm is a short linear combination of some of these vectors, one cannot extract information on a certain prime pi from the vector.

Independent work

Recently, Coron and Pereira [10] proposed an algorithm to solve the multi-prime ACD problem, which is the same as the ‘search’ CCK-ACD problem in this paper. The main idea of the attack is also the same as our SDA-style algorithm that combines the SDA with algebraic steps from the Cheon et al. [5]. In this paper, we also propose another OLA-style algorithm to solve ‘decisional’ CCK-ACD problem using OLA with a new distinguisher determinant.

1.1 Our Work

In this paper, we propose two mathematical algorithms to solve the CCK-ACD problem by extending the OLA and SDA methods that are well-known for solving the ACD problem using lattice technique. Both algorithms take the same time complexity 2Oγ(ηρ)2 up to polynomial factors for the bit-size of samples γ, secret primes η and error ρ. Our algorithms are the first algorithms related to η and γ for solving the CCK-ACD problem.

Let bj be a CCK-ACD sample of bjrij mod pi for 1 ≤ jk and 0 ≤ in. Let b and ri be a vector (bj) and (rij), respectively. Technically, the first step of the classical OLA algorithm on input bj is to compute a lattice ΛN (b), which is a set of orthogonal vectors to b over ℕN. Similarly, one can define a lattice Λ ({r0, ⋯, rn}), which is a set of orthogonal vectors to ri for all i over the integers. Then we have

Λ({r0,,rn})ΛN(b).

It implies that the size of kn − 1 shortest vectors of ΛN (b) is less than that of Λ ({r0, ⋯, rn}). The classical OLA algorithm assumes that the kn − 1 shortest vectors is a generator of Λ ({r0, ⋯, rn}). Even more, the algorithm expects that kn − 1 short vectors become a generator. So finding kn − 1 short vectors is likely to lead us to recover the lattice Λ ({r0, ⋯, rn}).

However, one problem might arise after finding those short vectors. In the case of PACD, (i.e n = 1), the recovered lattice has rank two and ∥r1∥ ≪ ∥r0∥. So we can obtain the vector r1 easily. Then, the next step is to recover the secret integer p1 by computing the GCD between bjrj1} and N = p0p1. If the last step reveals a non-trivial factor of N, we can conclude that the bj’s are PACD samples. Unfortunately, in the case of CCK-ACD, the classical OLA algorithm faces a hard task to recover the exact vector ri except for small n since a short vector from the lattice would be a short linear combination of several ri’s. Instead, we employ a determinant of the lattice as a new distinguisher to solve the decision CCK-ACD problem. We show that a sub-lattice of the output lattice of the classic OLA has determinant of a different-sized depending on the type of inputs. Then, computation of a determinant enables us to avoid the obstacle to find the exact vector ri. The overall time complexity heavily depends on the cost of a lattice reduction to find a short vector. Therefore, the time complexity shall be asymptotically same to the classical one. For more details, please refer to Section 3.

We also propose a SDA-style algorithm to find all secret parameters in the CCK-ACD problem beyond the decision problem. The algorithm consists of two steps; find a short vector of certain lattice using a lattice reduction algorithm and then recover the factors p1, ⋯, pn by employing the Cheon et al.’s technique [5]. More precisely, we consider a column lattice generated by the following matrix:

B=10bTNIk.

According to the original SDA approach, this lattice includes a short vector of the form (N/pi, r1iN/pi, …, rkiN/pi) for all i. In the case of n = 1, (i.e. PACD problem), the lattice has only one short vector and the first entry is a multiple of N/p1. So it allows us to factorize N. When it comes to the CCK-ACD problem, any short vector is a linear combination of the vectors and it would not be a multiple of nontrivial factor of N. It means that the first entry of a short vector that we obtain is an integer of the form i=1nciN/pi for some small integers ci. In order to use the integer, we should factor in another well-known algorithm. Namely, we would like to cite a technique introduced in [5]. The reference we cite from [5] allows the linear summation of N/pi to be called a dual instance. This instance allows to convert modulo equations into integer equations by exploiting the CRT properties of the CCK-ACD samples and its relation to dual instance. Therefore, it leads to recover N/pi for all i. The complexity of the new algorithm primarily depends on the first step, so it takes time complexity as stated above. For more details, please refer to Section 4.

We provide experimental results to guarantee that our algorithms work well both in theoretical and experimental terms under the various parameters of CCK-ACD. We observe the OLA is more practical than SDA while the asymptotic complexities are the same.

Organization

In Section 2, we introduce preliminary information related to the lattice. Next, we revisit the OLA to solve the CCK-ACD problem in Section 3. Also, we extend the SDA algorithm in the context of CCK-ACD and propose the first algorithm which recovers all secret primes pi’s of the CCK-ACD problem in Section 4. In addition, we present some experimental results for our algorithms in Section 5.

2 Preliminaries

Notation

Throughout this paper, we use aA to denote the operation by uniformly choosing an element a from a finite set A or generating a sample according to a distribution A. We let ℤq denote the set ℤ ∩ (−q/2, q/2] for the positive integer q. We use the notation [t]p to denote the integer in ℤp congruent to t mod p. We define CRT(p1,p2,…,pn)(r1, r2, …, rn) (or abbreviated as CRT(pi) (ri)) for pairwise co-prime integers p1, p2, …, pn as the integer in 12i=1npi,12i=1npi congruent to ri in the modulus pi for each i ∈ {1, 2, …, n}.

We use bold letters to denote vectors or matrices and denote the set of all m × n matrices over ℤ by ℤm×n. For matrix A, we denote the transpose of A by AT and denote the i-th row vector of A by [A]i. When A = (ai,j) ∈ ℤm×n is given, we define the infinite norm ∥A as max1jni=1nai,j and use the notation A mod N to denote the matrix ([ai,j]N) ∈ ℤm×n. We denote by diag(a1, …, an) the diagonal matrix with diagonal coefficients a1, …, an. When b is an integral matrix, we define size(b) as the logarithm of the largest entries of b.

For a vector v = (v1, …, vn), we define the 2-norm ∥v2 (or abbreviated as ∥v∥) and 1-norm ∥v1 as i=1nvi2andi=1nvi, respectively.

2.1 Lattices

A lattice Λ is a discrete additive subgroup of ℝn. We call a set of linearly independent vectors b = {b1, b2, ⋯, bm} ⊂ ℝn a basis of a lattice Λ if Λ is the set of all ℤ-linear combinations of the vectors b1, b2, ⋯, bm. We denote such lattice Λ generated by the basis b by Λ(b). We sometimes use the notation Λ as abbreviated, instead of Λ(b). In particular, when a lattice Λ is a subset of ℤn, it is called an integral lattice. In this work, we only take into account the integral lattice and regard a lattice as an integral lattice without special mention. If we regard a basis b = {b1, b2, ⋯, bm} of lattice Λ as a matrix whose column vectors consist of vectors bi for 1 ≤ im, b is called a basis matrix of Λ. The rank and determinant of lattice Λ is defined as m and det(Λ)=det(bTb) for any basis matrix b, respectively. When n = m, this lattice is called a full-rank lattice and det (Λ) = det (b) holds. Throughout this paper, we denote lattice Λ whose basis vectors are b1, b2, ⋯, bm as Λ = 〈b1, b2, ⋯, bm〉.

It is known that for a lattice Λ = Λ(b) ∈ ℝn with basis b = {b1, b2, ⋯, bm}, the following premise holds:

det(Λ)i=1mbi

In addition, when a set of column vectors u = {u1, u2, ⋯, uk} ⊂ ℤn is given, we define the orthogonal lattices

Λ(u):={vZn|v,uj=0 for all 1jk}.Λq(u):={vZn|v,uj0modq for all 1jk}.

Successive Minima

Let Λ be a lattice of rank n. The successive minima of Λ are λ1, ⋯, λn ∈ ℝ and λi is minimal for any 1 ≤ in such that there exist i linearly independent vectors v1, …, viΛ with ∥vj∥ ≤ λi for 1 ≤ ji.

In order to reduce the size of successive minima, the Gaussian Heuristic [1] is deemed effective.

Gaussian Heuristic

Let Λ be a rank-n lattice. The Gaussian Heuristic states that the size of successive minima of Λ is approximately as follows.

λi(Λ)n2πedet(Λ)1/nfor alli{1,2,,n}.

Ajtai showed that the above equation holds for a random lattice with overwhelming probability [1].

Finding a short vector of a lattice is essential in our attack. There are some algorithms to find a short vector of a lattice, which is called lattice reduction algorithms.

Lattice Reduction Algorithm

The LLL algorithm [17] and the BKZ algorithm [15] are well-known lattice reduction algorithms. We mainly use BKZ algorithms to find an approximately short vector of a lattice. According to [15], the block size β of the BKZ algorithm determines how short should the output vector of the BKZ algorithm be. With the BKZ algorithm to the rank-n lattice Λ with basis matrix b, we can achieve a short vector v in poly(n, size(b)) ⋅ 𝓒HKZ(β) times which satisfies the following

vmin{2(γβ)n12(β1)+32(detΛ)1/n,4(γβ)n1β1+3λ1(Λ)},

where γββ is the Hermite constant of a rank-β lattice and 𝓒HKZ(β) denotes the time spent to get the shortest vector of a rank-β lattice and can be regarded as 2O(β).

In the case of LLL algorithm, according to [17], the LLL algorithm upon the rank-n lattice Λ with basis matrix B gives an LLL-reduced basis {b1, ⋯, bn in poly(n, size(b)) times which satisfies the following

b12n14(detΛ)1/n,bi2n12λi(Λ)for1in.

In particular, it is known that a LLL-reduced basis {b1, b2, ⋯, bm} ⊂ ℝn with δ = 1/4 + 1/2 ≈ 0.957 for a lattice Λ, the following holds

bj2i/4bifor1jim.(1)

when we let {b1*, ⋯ bm*} be the Gram-Schmidt orthogonalization.

For the convenience of calculation, throughout this paper, we use 𝓐δ to denote a lattice reduction whose output contains a short vector v with Euclidean norm less than δn ⋅ det(Λ)1/n or δ2nλ1 (Λ) for an n-dimensional lattice Λ instead of 2(γβ)n12(β1)+32(detΛ)1/n or 4(γβ)n1β1+3λ1(Λ), respectively. In this case, the root Hermite factor δ is achieved in time 2O(1/logδ)poly(k) by the BKZ algorithm with block size β=Θ(1logδ).

From now on, we would like to present the formal definition of the CCK-ACD problem, which is a major concern of this paper.

Definition 1

(CCK-ACD) Letγ, n, η, ρbe positive integers such thatχρbe an uniform distribution over ℤ ∩ (−2ρ, 2ρ). Forη-bit primesp1, ⋯, pn, the sampleable distribution 𝓓γ,η,ρ,n(pi) is defined as

Dγ,η,ρ,n(pi)={Ti=1npi+CRT(pi)(ri)|TZ[2γ1/i=1npi,2γ/i=1npi),riχρ}.

The (γ, η, ρ)-CCK-ACD problem is: GivenN=p0i=1npifor uniformly chosenp0Z[2γ1/i=1npi,2γ/i=1npi)and polynomially many samples from 𝓓γ,η,ρ,n(pi) orχγ, distinguish CCK-ACD samples from random samples.

In the CCK-ACD problem, we use r0,j to denote bj mod p0 for each j ∈ {1, ⋯, k}, where bj ∈ 𝓓γ,η,ρ,n(pi)’s are given as CCK-ACD samples. We remark that r0,j may not be small, unlike other ri,j for i ∈ {1, ⋯, n}.

3 OLA for the CCK-ACD Problem

In this section, we revisit the orthogonal lattice attack method (OLA) and explain how to guarantee the upper bound of the OLA proposed in [9] for the CCK-ACD problem in time 2Oγ(ηρ)2.

Our extended OLA algorithm outputs a determinant of certain lattice, which is constructed by CCK-ACD samples or random integers. In this section, for the CCK-ACD samples, we show that the size of determinant is bounded by 2n+14+n(ρ+logk), where k denotes the optimized number of CCK-ACD samples, under the Gaussian Heuristic. In the case of random elements, our algorithm outputs a determinant larger than the value. From the results, we can solve the CCK-ACD problem by checking the determinant. The full details of our OLA algorithm shall be given in full in the below.

3.0.1 Analysis of CCK-ACD instances

Assume that we have k CCK-ACD samples {bj = CRT(pi) (ri,j)}1≤jk with N = i=0npi, and let b = (b1, ⋯, bk)T, ri = (ri,1, ⋯, ri,k)T for 0 ≤ in.

The first step of OLA, which is described in [9, Section 5.1], is to find the set of short vectors {u1, ⋯, ukn−1} in a k-dimensional lattice

ΛN(b)={uZk|u,b0modN}.

Since bjri,j mod N, we observe the relations using the CRT structure

r0,1r1,1rn,1r0,2r1,2rn,2r0,kr1,krn,k(p^01modp0)p^0(p^11modp1)p^1(p^n1modpn)p^nb1b2bkmodN.

If a vector u ∈ ℤk satisfies 〈u, ri〉 = 0 in integers for all i = 0, ⋯, n, then 〈u, b〉 ≡ 0 mod N because of the above relations. Thus, it holds that

Λ({r0,,rn})ΛN(b)

Moreover, we observe λi(ΛN(b))λi(Λ({r0,,rn})) by the definition of successive minima for all 1 ≤ ikn − 1.

We assume the Gaussian heuristic holds on the lattice Λ (r0, ⋯, rn) since all components of ri with 0 ≤ in are uniformly chosen from each set. Therefore, it holds that

log|λi(Λ({r0,,rn}))|=γnη+nρkn1

for all i = 1, 2, ⋯, kn − 1. Note that we omit the small values including log k for the convenience of writing.

We aim at recovering generators of Λ (r0, ⋯, rn). To obtain such vectors uj’s, we run a lattice reduction algorithm 𝓐δ with root Hermite factor δ on the lattice ΛN (b). By the approximate factor δ of a lattice reduction algorithm 𝓐δ, the j-th output vector uj of 𝓐δ on the lattice ΛN (b) satisfies ∥uj ∥ ≤ δ2kλj (ΛN (b)). Thus, for all j = 1, 2, ⋯, kn − 1, wj is bounded as follows

ujδ2kλj(ΛN(b))δ2kλi(Λ({r0,,rn}))δ2k2γnη+nρkn1.

We now argue that the vector uj is in Λ (r0, ⋯, rn) under some condition. Since we know ∥ ri∥ ≤ k ⋅ 2ρ, it holds for 1 ≤ in, 1 ≤ jkn − 1

|uj,ri|wjri<(δ2k2γnη+nρkn1)(k2ρ)=22klogδ+γnη+nρkn12ρ+logk.

The last value of the equation includes log k, which is however much smaller than the current value. Therefore, for simplicity purposes, we omit this term.

By the CRT construction, we have 〈uj, b〉 ≡piuj, ri〉 and it is zero in modulo pi for all i. Since pi’s are η-bit primes, we can therefore ensure the vector ujΛN (b) if |〈uj, ri〉| < pi/2 for all i. This condition can be written as

2klogδ+γnη+nρkn1+ρη,2(kn1)logδ+γkn1(k1)(ηρ)kn12(n+1)logδ.(2)

When we choose kn − 1 = γ2logδ and apply the AM-GM inequality, it is enough to satisfy log δ as following inequality

22γlogδηρ.

Therefore, when we obtain k = n + 1 + γ2logδ CCK-ACD samples and choose δ satisfying log δ < (ηρ)28γ, |〈uj, ri〉| ≤ pi /2 is established for any 1 ≤ in. Thus, {uj}1≤jkn−1 are the generator set of Λ (r0, ⋯, rn) under the condition.

The overall time complexity to recover the generator of Λ (r0, ⋯, rn) is 2Oγ(ηρ)2poly(k) = 2Oγ(ηρ)2 up to polynomial factors.

As the second step, we construct a new lattice that is orthogonal to the lattice generated by {uj}, instead of opting in direct calculation of ri. More precisely, let Ũ denote a matrix (u1 |⋯ | ukn−1) and consider the orthogonal lattice

Λ(U~)={vZk|v,uj=0 for all 1jkn1}.

Due to the CRT-structure of CCK-ACD samples, {ri}1≤in are short linearly independent vectors that belong to Λ (Ũ).[2] The lattice Λ (Ũ) ⊂ ℤk has rank n + 1. We apply the LLL algorithm on the lattice Λ (Ũ) to obtain b={b1,,bn+1}, the LLL-reduced basis. In this case, the time complexity is poly(n, size(Λ (Ũ))), which is dominated by 2Oγ(ηρ)2.

We now show that determinant of Λ({b1,,bn}) is bounded. Since {ri}1≤in are n linearly independent vectors in Λ(Ũ), there exists a vector bj such that {r1, ⋯, rn, bj} are n + 1 linearly independent vectors in Λ(Ũ). Additionally, ∥ri∥ is smaller than k ⋅ 2ρ for all i, we note that λn (Λ(Ũ)) ≤ 2ρ+logk. Let b~={b1,,bn+1} be Gram-Schmidt basis of b′. Then we calculate the determinant of lattice Λ′ spanned by {b1,,bn}.

det(Λ)=i=1nbi=i=1n+1bibn+1=det(Λ(U~))bn+1bji=1nribn+1bji=1nri2n+14bj(By inequality (1))2n+14+n(ρ+logk)

According to the analysis above, the log-size of determinant of the rest n column vectors after LLL algorithm is smaller than n+14 + n(ρ + logk) with kn1=γ2logδ=2γηρ.

3.0.2 Heuristic analysis of random instances

Assume that we have k random samples and run the same algorithm on the random samples. To analyze the size of determinant heuristically, we first assume that the logarithm of determinant of rank-n lattice is approximately n log B, when each entry of a basis matrix is uniformly sampled from [−2B, 2B]. This approximation agrees the bound from Hadamard inequality, and for square matrix it is known to hold up to difference Θ(n log n) assuming that entries are uniform [18]. In our case, n log n is negligibly small compared to other terms.

  1. Random instances: As a former cases, we consider a lattice

    ΛN(b)={uZk|u,b0modN}

    with random integers bi. Next we run a lattice reduction algorithm on ΛN (b). The expected size of uj, the j-th output of the lattice reduction algorithm, are δkN1/k for all 1 ≤ jkn − 1. We may suppose these vectors are random, given that the instances are random. Then, the logarithm of the determinant of a lattice Λ(Ũ) generated by {u1, …, ukn − 1} is approximately

    kn1klogN+(kn1)klogδkn1kγ.

    Since the second term is relatively smaller than the first term, we will only handle the last term. The assumption that the basis vector of Λ(Ũ) is random also allows that det(Λ(Ũ)) and det(Λ (Ũ)) are the same. Then we obtain the desired result that the logarithm of determinant of Λ (Ũ) is approximately γkn1k. Then, the expected size of vectors obtained as a result of the LLL algorithm shall be 2n/4det(Λ(U~))1n+1. Then the logarithm of determinant of the matrix composed by any n vectors is approximately

    nn+1kn1kγ+n24.

In summary, under Gaussian Heuristic and assumption from Hadamard inequality, we show that the logarithm of the determinant is less than n+14 + n(ρ + logk) = O(nρ) if the given instances are the CCK-ACD instances whereas it is asypmtotically γkn1knn+1=Ω(γ) for the random instances. Hence, if those two values do not overlap, we can solve the CCK-ACD problem in 2Oγ(ηρ)2 time complexity. We will later see if the experimental results fit well with this approximation in Section 5. From the analysis, we have the following result,

Theorem 2

(Heuristic). Letn, η, ρbe parameters of the CCK-ACD problem andk = n + 1 + γ2logδ CCK-ACD samples are given with log δ < (ηρ)28γ. When the following equation holds

n+14+n(ρ+logk)<γkn1knn+1,

one can solve the CCK-ACD problem in2Oγ(ηρ)2time complexity.

The following is our extended OLA algorithm.

Algorithm 1

OLA Algorithm for the CCK-ACD problem

Input: γ-bit integer N = i=0npi
Input: Root Hermite factor δ
Input: b = (b1, b2, ⋯, bk), where k=n+γ2logδ
Output: distinguish whether bi’s are sampled from 𝓓γ,η,ρ,n(pi) or a χγ.
 1: Construct a lattice ΛN (b) with the following basis matrix
U=N[b2/b1]N[bk/b1]N010001.
 2: Call the lattice reduction algorithm with a Hermite factor δ on U, and let (ui) denote the output.
 3: Compute an orthogonal lattice Λ (Ũ) for Ũ = (u1 |⋯ | ukn − 1) and let denote the its basis matrix.
 4: Call the LLL algorithm on b̃ and let (b̃i) denote the output.
 5: Find b̃j ∈ {b̃i} such that ∥b̃j ∥ = maxib̃i∥ and let Λ(b̃) denote a lattice generated by {b̃i} ∖ b̃j.
 6: if log (det (Λ(b̃))) ≤ n+14 + n(ρ + log k)
 7:  return 𝓓γ,η,ρ,n(pi)
 8: else
 9:  returnχγ.
 9: end if

4 SDA Algorithm for the CCK-ACD problem

In this section, we first describe a lattice-based algorithm to solve the CCK-ACD problem by applying the Simultaneously Diophantine approximation (SDA) algorithm which has served as a useful method to solve the ACD problem. Compared to the OLA algorithm, SDA algorithm allows us to recover all secret primes pi of CCK-ACD problem. Therefore, in this section, we will take into account a search CCK-ACD problem instead of decisional one.

In the paper [14], Galbraith et al. try to apply the SDA algorithm in the context of CCK-ACD and comment that this attack is not directly applicable to the CCK-ACD problem. In order to review this work, one can consider a column lattice Λ generated by a matrix B

B=1000b1N00b20N0bk00N

with given CCK-ACD samples bj = CRT(pi)(ri,j) for each 1 ≤ jk and N = i=0npi. It follows that the lattice contains the short vectors

vi=p^i(1,ri,1,ri,2,,ri,k)T.

for all 1 ≤ in and these all have similar lengths. Once we compute i from the first entry of the vector, we can recover the prime factors pi = N/i. But if u = (u0, u1, ⋯, uk) ∈ Λ is a short linear combination of several of these vectors, (i.e., u = i=1neivi), we cannot expect that ⌈N/u0⌉ is one of the primes of N, where u0 = i=1neii. That is why the origianl SDA algorithm is not directly applicable to the CCK-ACD problem.

However, an instance of the form d = i=1ndii with small di’s has a special property. This integer is called dual instance in this paper. More precisely, if we can ensure that di’s are sufficiently small, the instance d = i=1ndii allows the below modular equations to be established without modulus N due to the CRT-structure of CCK-ACD samples.

[dbj]N=[i=1ndibjp^i]N=i=1ndiri,jp^iZ[dbjbl]N=i=1ndiri,jri,lp^iZ

This property plays a crucial role in solving the CCK-ACD problem and even recovering the secret primes in our algorithm. In Section 4.1, we give a formal definition of a dual instance to give a standard for how small di’s should be in an instance d = i=1ndii. Once we obtain such dual instances, we modify Cheon et al.’s algorithm in [5] to solve the CCK-ACD problem using the dual instances, which is the second step of our algorithm for solving the CCK-ACD problem.

All in all, we first obtain a dual instance from the original SDA algorithm. Next we recover any secret primes pi by applying the modified Cheon’s algorithm. For convenience purposes, the second step will be firstly described and the first step will be suggested later. In the below, the full details of an extended SDA algorithm will be explained.

4.1 Revisiting the Algorithm of Cheon et al.

In this section, we revisit the Cheon et al.’s algorithm in [5] to solve the CCK-ACD problem. In the original paper, the authors presented an algorithm when an auxiliary input CRT(pi)(pi^)=i=1np^i is given.

However, in order to use an instance d = i=1ndii in Cheon et al.’s algorithm, all of di’s does not necessarily be 1. If di’s are sufficiently small, d = i=1ndii can also play the same role as an auxiliary input. From this, we define a dual instance for the CCK-ACD problem, which is a generalization of an auxiliary input and introduce a polynomial-time algorithm to solve the CCK-ACD problem when two dual instances are given instead of one auxiliary input by slightly modifying Cheon et al.’s algorithm.

Definition 3

(Dual Instance). Letn, η, ρbe positive integers. For givenη-bit primesp1, ⋯, pnandp0 ∈ ℤ ∩ [2γ1/i=1npi,2γ/i=1npi)in CCK-ACD, defineN = i=0npiandi = N/pi, for 0 ≤ in. We define a dual instancedas the integerwhich can be written asd = i=0ndiifor some integersdis satisfyingdi∥ ≤ pi ⋅ 2−2ρ−logn−1for each 1 ≤ inandd0 = 0.

An algorithm to generate a dual instance when given polynomially many CCK-ACD samples will be described in Section 4.2.

For an integer d = i=0ndii and CCK-ACD samples bj = CRT(pi)(ri,j) and bl = CRT(pi)(ri,l), one can see the followings

[d]Ni=0ndip^i(modN),(3)
[dbj]Ni=0ndiri,jp^i(modN),(4)
[dbjbl]Ni=0ndiri,jri,lp^i(modN).(5)

Under the condition in which each size of di is sufficiently small for 1 ≤ in and d0 = 0, the above equations hold over the integers, not modulo N. In other words, for a dual instance d = i=1ndii defined as above, the following inequalities hold

dip^i=diNpi<N22ρlogn1,i=0ndiri,jri,kp^ji=1nri,jri,kdip^ii=1nN2logn1N/2.

Thus, we observe the right of the three equations (3), (4) and (5) have the size less than N/2 so that those equations hold over the integer. Now we show how to solve the CCK-ACD when given polynomially many CCK-ACD samples and two distinct dual instances d=i=0ndip^iandd=i=0ndip^i. This computation is quite similar to the Cheon’s algorithm [5]. More precisely, we are 2n CCK-ACD samples: bj = CRT(pi)(ri,j) and b=CRT(pi)(ri,) for 1 ≤ j, n. We denote wj, and wj, as [dbjb]N and [dbjb]N, respectively. Thanks to the dual instance properties, then it can be written as

wj,=i=1nri,j(dip^i)ri,=r1,jr2,jrn,jd1p^1000d2p^2000dnp^nr1,r2,rn,,wj,=i=1nri,j(dip^i)ri,=r1,jr2,jrn,jd1p^1000d2p^2000dnp^nr1,r2,rn,.

By collecting the above values of several 1 ≤ j, n, we can construct two matrices w = (wj,) and w′ = (wj,) ∈ ℤn×n, which can be written as

w=rTdiag(d1p^1,,dnp^n)rw=rTdiag(d1p^1,,dnp^n)r

for r = (rj,i) and r′ = (ri,) ∈ ℤn×n. By computing (w′)−1 over ℚ, we obtain the matrix Y as following form

Y=w(w)1=rTdiag(d1/d1,,dn/dn)(rT)1

whose eigenvalues are exactly the set {d1/d1,,dn/dn}Q. We can compute those rational eigenvalues in polynomial-time of η, n and ρ from Y. Since the modular equations ddii (mod pi and d′ ≡ dii (mod pi) hold, one can check that pi divides ddid′ ⋅ di for each i. Thus, by computing gcd(N, ddid′ ⋅ di), we can find the pi for each 1 ≤ in. Considering the required cost of the computations required, we obtain the following theorem.

Theorem 4

(Adapted from [5, Section 3.2]) For given O(n) CCK-ACD samples from 𝓓η,ρ,n(pi) withN = i=1npiand two distinct dual instances, one can recover secret primesp1, ⋯, pnin (n2+ωη) time withω ≤ 2.38 and overwhelming probability inρ.

4.2 Generating a Dual Instance from SDA

In this section, we present an algorithm to generate a dual instance from polynomially many given CCK-ACD samples bj = CRT(pi)(rij) and N = i=0npi.

Consider the column lattice Λ generated by the following basis matrix.

B=1000b1N00b20N0bk00N.

We confirm that any lattice vector cΛ with ∥c∥ ≤ N2 can be written in the form of ([d]N, [db1]N, ⋯, [dbk]N)T, where d = i=0ndii for some di’s and the modular equation [dbj]Ni=0nri,j ⋅ [di]pipi^ (mod N) holds for each j. In the next theorem, we prove that if cΛ is a sufficiently short vector for a proper integer k, the first entry of the vector c, i=1n [di]pii is a dual instance. Then we will be able to solve the CCK-ACD problem by combining it with the Theorem 4.

Theorem 5

Letn, η, ρbe parameters of the CCK-ACD problem. WhenO(γ /η) CCK-ACD samples are given, one can find a dual instance in2Oγ(ηρ)2time up to polynomial factors.

Proof

Suppose that k > n CCK-ACD samples bj = CRT(pi)(ri,j) and N = i=0npi are given. We denote r0,j as [bj]p0. Consider the column lattice Λ generated by the following basis matrix b

B=1000b1N00b20N0bk00N,

where bj’s are given CCK-ACD samples and N = i=0npi. Note that any vector v in the lattice Λ can be represented as the following form

va0p^01r0,1r0,2r0,k+a1p^11r1,1r1,2r1,k++anp^n1rn,1rn,2rn,k(modN).

for some integers ai’s. We denote i ⋅ (1, ri,1, ri,2, ⋯, ri,k)T by vi for each i. Then, vi ’s are linearly independent and ∥vi∥ ≤ B := k+1N ⋅ 2η+ρ+1 for all i ≠ 0, so λi(Λ) ≤ B holds for 1 ≤ in.

We apply Gaussian Heuristic to estimate λn+1 (Λ) which is approximately k+12πe(detΛ)1k+1. Suppose the size of a vector cΛ obtained by the lattice reduction algorithm 𝓐δ is shorter than δ2(k+1)λ1 (Λ) ≤ δ2(k+1)B < k+12πe(detΛ)1k+1λn+1(Λ). Then, we conclude c ∈ 〈v1, ⋯, vn〉 and p0 divides gcd(N, d), where d is the first entry of the vector c. Hence, it is required that the length of vector c, the first output of the lattice reduction algorithm, is shorter than k+12πe(detΛ)1k+1.

It can be written as

cδ2(k+1)λ1(Λ)<δ2(k+1)B<k+12πe(detΛ)1k+1.

Taking logarithm to both sides of the inequality, we obtain the following:

2(k+1)logδ+logNη+ρ+1kk+1logN12log2πe
2(k+1)logδ+1k+1logN<ηρlog22πe(6)

In particular, when applying the AM-GM inequality on the left side of (6), we obtain the following inequality

22logδlogNηρO(1)

where equality holds if and only if (k+1)2=γ2logδandγlogδ=(ηρ)28.

Thus, when we choose δ satisfying logδ<(ηρ)28γandk=2γηρ=O(γη), we can conclude that output vector c of 𝓐δ can be written as c = i=1ndivi for some di’s. If we denote the first entry of c as d, the vector c is the form of (d, [db1]N, ⋯, [dbk]N)T. Then d = i=1ndii and [dbj]N = i=1nri,jdii hold for each j. In this case, d is a multiple of p0 so that one can recover the factor p0 by computing gcd(d, N). Since the root Hermite factor δ is achieved in time poly(k) ⋅ 2O(β) times by the BKZ algorithm with β = Θ(1/log δ), we conclude that one can recover the factor p0 in 2Oγ(ηρ)2 time up to polynomial factors using the BKZ algorithm with βOγ(ηρ)2.

Next, we propose the condition for terms di’s to be sufficiently bounded so that it can be regarded as a dual instance. We denote as k-dimensional vector which can be obtained by removing the first coordinate of c (i.e. = ([db1]N, ⋯, [dbk]N)T). Using the property [dbj]N = i=1nri,jdii for each j, can be decomposed as follows:

c~=(d1p^1,,dnp^n)r1,1r1,2r1,kr2,1r2,2r2,krn,1rn,2rn,k=dP^r,

where d = (d1, ⋯, dn), = diag(1, …, n), and R = (ri,j) ∈ ℤn×k.

We will later show that there is a right inverse R* ∈ ℤk×n such that R ⋅ R* = In, where In is the n × n identity matrix. Then, for each i, |dii| can be bounded as follows:

dip^idP^=c~Rc~R.

If there is a matrix R* which satisfies ∥c∥ ⋅ ∥R*N ⋅ 2−2ρ−logn−1, it implies that each di is smaller than N ⋅ 2−2ρ−logn−1/i. Thus, under the above condition, the integer d = i=1ndii, the first entry of output vector c, can be regarded as a dual instance.

Thus, it is enough to show the existence of matrix R* which ensures that the size of ∥c∥ ⋅ ∥ r* is less than N ⋅ 2−2ρ−logn−1 with ∥c∥ ≤ δ2(k+1)k+1N ⋅ 2η+ρ+1 to obtain a dual instance by using the lattice reduction algorithm.

Construction of R*

Now, we construct the right inverse matrix R* and estimate the size of ∥r* using Babai’s nearest plane algorithm [2] and Gaussian Heuristic assumption.

More precisely, let q1 be a prime integer, which is independent from i=1npi, and z1 ∈ ℤk be any vector with rz1e1 (mod q1), where e1 is a n-dimensional standard vector. Consider a full rank lattice Λ1 = {x ∈ ℤk : rx0 (mod q1)}, whose determinant is q1n and the set of linearly independent vectors {xi}1≤ik ⊂ ℤk such that ∥xi∥ ≤ λk(Λ1) for each i. We accept Gaussian heuristic to estimate λk(Λ1)k2πedet(Λ1)1/k = k2πeq1n/k so that we can bound xik2πeq1n/k for each i.

Using the Babai’s nearest plane algorithm on vector z, we obtain the vector i=1kuixi so that ∥zi=1kuixi14i=1kxi2 holds, where each xi is Gram-Schmidt vector of xi. We denote z1 ′ as z1i=1kuixi and we obtain the following:

z1=z1i=1kuixi14i=1kxi212i=1kxi2k2q1n/k.

For the modular equation

0rz1e1[r]1z11,[r]2z1,,[r]nz1T(modq1),

if [R]iz1[R]iz1k2ρk2q1nk is less than 12q1 for all i (i.e. q1>(k322ρ)kkn), the equation rz1 ′ = e1 holds over the integers.

By setting the size of prime q1 to be similar with (k322ρ)kkn, we can conclude that there exists a vector z1 ′ which satisfies the equation rz1 ′ = e1 and the following condition

z11kz1212k32q1nk12k3k2(kn)2nknρ.

Similarly, we can also apply it to other zi’s to construct r* = (z1 ′, ⋯, zk ′) {with the vectors zi ′ satisfying rzi ′ = ei, so we can bound ∥r* as follows

r=max1ikzi112k3k2(kn)2nknρ.

Hence, we can obtain the upper bound of ∥c∥ ⋅ ∥R* as follows

cRδ2(k+1)k+1N2η+ρ+112k3k2(kn)2nknρ.

We remind that the size of ∥c∥ ⋅ ∥R* needs to be less than N ⋅ 2−2ρ−logn−1. Therefore the following inequality should be satisfied:

δ2(k+1)k+1N2η+ρk3k2(kn)2nknρN22ρlogn1

Taking logarithm to both sides of the inequality, we obtain as follows

2(k+1)logδη3ρnknρ3k2(kn)logklog(2nk+1).(7)

Since we set k=2γηρ>2n, the condition kkn = O(1) holds so we can rewrite the above equality and obtain the following condition for n, k, η, and ρ

2(k+1)logδη3ρnknρO(logk).

The left side of the above inequality 2(k + 1) log δ is approximated as 4γηρ(ηρ)28γ=ηρ2 so that the equality holds with our optimized parameters k=2γηρandlogδ<(ηρ)28γ for the condition (6). Thus we can conclude that using the lattice reduction 𝓐δ with log δ < (ηρ)28γ and about 2γηρ CCK-ACD samples to construct the lattice Λ satisfies the conditions (6) and (7). In other words, we can obtain a dual instance from the first entry of output vector in 2Oγ(ηρ)2 time up to polynomial factors. □

Remark 1

The time2Oγ(ηρ)2up to polynomial factors required for the above algorithm does not depend on the number of secret primesnand bit-length of the multiple ofnsecret primesnηbut depends on the bit-length of CCK-ACD samplesγ.

By putting together the two theorem, we have the following result,

Theorem 6

(Heuristic). Letn, η, ρbe parameters of the CCK-ACD problem andk=n+1+γ2logδ CCK-ACD samples are given with log δ < (ηρ)28γ. When the following equation holds

2(k+1)logδη3ρnknρ,

one can recover any secret primes of the CCK-ACD problem in2Oγ(ηρ)2time complexity.

Now we give our SDA algorithm.

Algorithm 2

SDA algorithm for the CCK-ACD problem

Input: N = i=0npi
Input: Root Hermite factor δ0
Input: CCK-ACD samples bj = CRT(pi)(ri,j) for 1 ≤ j ≤ 2k with k=γ2logδ0.
Output: prime factors pi’s of N
 1: m ← 0
 2: whilem ≤ 1 do
 3:  Set b ← (b1+mk, b2+mk, ⋯, bk+mk)
 4:  Construct a lattice Λ = Λ(b) with a basis matrix B=10bTNIk
 5:  Call the lattice reduction algorithm with a Hermite factor δ on Λ, and let v0 denote the first entry of the shortest output vector.
 6:  if2(k+1)logδ0+1k+1logN<ηρlog22πethen
 7:    d(m)v0
 8:    mm + 1
 9:  end if
 10: end while
 11: Construct matrices w = ([d(0)bibn+j]N) ∈ ℤn×n and w′ = ([d(1)bibn+j]N) ∈ ℤn×n.
 12: Calculate (w′)−1 over ℚ and Y = w ⋅ (w′)−1 ∈ ℚn×n
 13: Compute eigenvalues {λ1, λ2, ⋯, λn} ⊂ ℚ of Y
 14: Compute pairs of integers (di(0),di(1)) from λi=di(0)di(1) for 1 ≤ in.
 15: pigcd(N,d(0)di(1)d(1)di(0)) for 1 ≤ in
 16: returnpi’s.

5 Experiments

In this section, we provide the experimental results of OLA, SDA for the CCK-ACD problem. All experiments were carried out on a single Intel Core i5 running at 2.1GHz processor and 16GB memory.

We remark that we use a few simplifications for the experiments to run our algorithm; we run fplll algorithm [11] instead of BKZ algorithm. For the efficiency of the experiment, we choose the number of samples, k, to satisfy the required conditions for attack instead of the asymptotic optimum.

According to our experiments in Table 1, from various parameters, we can see that the determinant of the orthogonal lattice is very similar to our prediction. Thus, our assumptions of OLA are reasonable for CCK-ACD and random instances. Particularly in the actual use of parameters, the difference of determinant between CCK-ACD and random is more stark because n and ρ are set much smaller than γ.

Table 1

Experiments about OLA on the CCK-ACD problem. Random means that we do the OLA with random instances whose size is γ-bits. Parameters* is the toy parameters in [8] with λ = 42 and our attack cost is 247. Parameters** is increasing the size of ρ to withstand the GCD attack in [3], although our attack cost is almost the same.

OLA
CCK-ACD
Experimental parametersExperimental DetExpected Det
nkηργ/104time(min)CCK-ACDRandomCCK-ACDRandom
206515005006310022387071000038682
30901000100814304050804300050753
401206001205.421566134785560034683
5015010003001012815085648711500064706
80150400704.736572721530560021354
802404001006.7615816244239800043840
90270200403.8490379025433360024916
100240400508790519946306500045875
*10320988262914600284254770260254574
**10325988802915540824254813800254713

Experimental results of OLA refer that our expectation of the condition for OLA is accurate. OLA works well even when the ρ is quite large as long as the condition (2) is satisfied.

We also experimented with a toy parameter in [8]. OLA is slower than conventional attacks, GCD attack in [3], in toy parameters. Since conventional attacks that are the GCD algorithms in [3] are Õ(2ρ/2) polynomial-time operation, they largely depend on the size of ρ unlike OLA. If ρ is larger than current parameters, then OLA can be the faster than other direct algorithms for the CCK-ACD problem.

When the number of secret primes, n, is small, OLA can even find the exact some ri through LLL algorithm on Λ (Ũ ). But if n is more than 100, the outputs of the LLL algorithm are linear combinations of ri’s with a high probability. For the above reason, we find it difficult to find out an exact ri when n is large.

In Table2, we can see SDA experimental results with regards to the CCK-ACD problem. According to our results, we have confirmed that experimental results of SDA are above our expectation, even in parameters that do not satisfy our condition. In SDA, we cannot only distinguish them from a uniform distribution but also find the factor of N and recover the secret primes.

Table 2

Experiments about SDA on the CCK-ACD problem.

SDA
CCK-ACD
nkηργ/104time(min)
20601500500659
30901000 100 8550
401206001205.4692
501501000300103650
80150400 704.7760
802404001006.79300
90270200403.85900
100300120102.58870
10025040050813950

In the CCK-ACD problem, OLA is much faster than SDA like the ACD problem. The result is not surprising though, considering the size of the determinant of lattice applying lattice reduction algorithm.

6 Conclusion

OLA and SDA are best known attacks for the ACD problem to decide the size of the γ. In this paper, we exteneded those two algorithms to the variants of the ACD problem, CCK-ACD.

Our results show that the extension of the ACD problem using CRT structure has the same security as the ACD problem under the same γ and η. In other words, according to the known reduction [4], it can be said that CCK-ACD is more difficult than PACD, but at least in terms of SDA and OLA, both problems have the same difficulty.

On the other hand, our algorithms were applicable {only} when there was an exact multiple of the secret primes. Therefore, advancing our current algorithms and enabling to solve the problem without no exact multiple of secret primes would be another interesting point for further exploration.

Acknowledgement

The authors of Seoul National University were supported by Institute for Information & communication Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No. 2016-6-00598, The mathematical structure of functional encryption and its analysis), and the ARO and DARPA under Contract No.W911NF-15-C-0227. The author of ENS de Lyon was supported by the LABEX MILYON (ANR-10-LABX-0070) of Université de Lyon, within the program “Investissements d’Avenir’ (ANR-11-IDEX-0007) operated by the French National Research Agency (ANR).

References

[1] M. Ajtai. Generating random lattices according to the invariant distribution. draft, (2006).Search in Google Scholar

[2] L. Babai. On lovász’lattice reduction and the nearest lattice point problem. Combinatorica, 6(1):1–13, 1986.10.1007/BF02579403Search in Google Scholar

[3] Y. Chen and P. Q. Nguyen. Faster algorithms for approximate common divisors: Breaking fully-homomorphic-encryption challenges over the integers. Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 502–519, 2012.10.1007/978-3-642-29011-4_30Search in Google Scholar

[4] J. H. Cheon, J. S. Coron, J. Kim, M. S. Lee, T. Lepoint, M. Tibouchi, and A. Yun. Batch fully homomorphic encryption over the integers. Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 315–335, 2013.10.1007/978-3-642-38348-9_20Search in Google Scholar

[5] J. H. Cheon, K. Han, C. Lee, H. Ryu, and D. Stehlé. Cryptanalysis of the multilinear map over the integers. Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 3–12, 2015.10.1007/978-3-662-46800-5_1Search in Google Scholar

[6] J. H. Cheon and D. Stehlé. Fully homomorphic encryption over the integers revisited. Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 513–536, 2015.10.1007/978-3-662-46800-5_20Search in Google Scholar

[7] J. Coron, D. Naccache, and M. Tibouchi. Public key compression and modulus switching for fully homomorphic encryption over the integers. Advances in Cryptology - EUROCRYPT, pages 446–464, 2012.10.1007/978-3-642-29011-4_27Search in Google Scholar

[8] J. S. Coron, T. Lepoint, and M. Tibouchi. Batch fully homomorphic encryption over the integers. IACR Cryptology ePrint Archive, page 36, 2013.Search in Google Scholar

[9] J. S. Coron, T. Lepoint, and M. Tibouchi. Practical multilinear maps over the integers. Annual Cryptology Conference, pages 476–493, 2013.10.1007/978-3-642-40041-4_26Search in Google Scholar

[10] J. S. Coron and H. V. Pereira. On kilian’s randomization of multilinear map encodings. Cryptology ePrint Archive, page 1129, 2018.10.1007/978-3-030-34621-8_12Search in Google Scholar

[11] T. F. development team. fplll, a lattice reduction library. Available at https://github.com/fplll/fplll, (2016).Search in Google Scholar

[12] J. Ding and C. Tao. A new algorithm for solving the approximate common divisor problem and cryptanalysis of the fhe based on gacd. IACR Cryptology ePrint Archive, page 42, 2014.Search in Google Scholar

[13] S. D. Galbraith, S. W. Gebregiyorgis, and S. Murphy. Algorithms for the approximate common divisor problem. LMS J. Comput. Math., 19(A):58–72, 2016.10.1112/S1461157016000218Search in Google Scholar

[14] S. Garg, C. Gentry, S. Halevi, M. Raykova, A. Sahai, and B. Waters. Candidate indistinguishability obfuscation and functional encryption for all circuits. SIAM J. Comput., 45(3):882–929, 2016.10.1109/FOCS.2013.13Search in Google Scholar

[15] G. Hanrot, X. Pujol, and D. Stehlé. Terminating bkz. IACR Cryptology ePrint Archive, page 198, 2011.Search in Google Scholar

[16] N. Howgrave-Graham. Approximate integer common divisors. Cryptography and lattices, pages 51–66, 2001.10.1007/3-540-44670-2_6Search in Google Scholar

[17] A. K. Lenstra, H. W. Lenstra, and L. Lovász. Factoring polynomials with rational coefficients. Math. Ann., 261(4):515–534, 1982.10.1007/BF01457454Search in Google Scholar

[18] H. H. Nguyen and V. Vu. Random matrices: Law of the determinant. Ann. Probability, 42(1):146–167, 2014.10.1214/12-AOP791Search in Google Scholar

[19] M. Van Dijk, C. Gentry, S. Halevi, and V. Vaikuntanathan. Fully homomorphic encryption over the integers. Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 24–43, 2010.10.1007/978-3-642-13190-5_2Search in Google Scholar

Received: 2019-07-15
Accepted: 2020-08-25
Published Online: 2020-10-20

© 2020 J. H. Cheon et al., published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Articles in the same Issue

  1. MathCrypt 2018
  2. Preface to the First Annual MathCrypt Proceedings Volume
  3. Multiparty Non-Interactive Key Exchange and More From Isogenies on Elliptic Curves
  4. Recovering Secrets From Prefix-Dependent Leakage
  5. Quasi-subfield Polynomials and the Elliptic Curve Discrete Logarithm Problem
  6. A signature scheme from the finite field isomorphism problem
  7. Efficiently Processing Complex-Valued Data in Homomorphic Encryption
  8. Flattening NTRU for Evaluation Key Free Homomorphic Encryption
  9. Self-dual DeepBKZ for finding short lattice vectors
  10. Designing Efficient Dyadic Operations for Cryptographic Applications
  11. Characterizing overstretched NTRU attacks
  12. New Techniques for SIDH-based NIKE
  13. A subexponential-time, polynomial quantum space algorithm for inverting the CM group action
  14. Nutmic JMC Special Edition
  15. Preface for the Number-Theoretic Methods in Cryptology conferences
  16. A framework for cryptographic problems from linear algebra
  17. Improved cryptanalysis of the AJPS Mersenne based cryptosystem
  18. New number-theoretic cryptographic primitives
  19. New Zémor-Tillich Type Hash Functions Over GL2 (𝔽pn)
  20. Protecting ECC Against Fault Attacks: The Ring Extension Method Revisited
  21. Hash functions from superspecial genus-2 curves using Richelot isogenies
  22. Can we Beat the Square Root Bound for ECDLP over 𝔽p2 via Representation?
  23. A variant of the large sieve inequality with explicit constants
  24. CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes
  25. Equidistribution Among Cosets of Elliptic Curve Points in Intervals
  26. Integer factoring and compositeness witnesses
  27. Short Principal Ideal Problem in multicubic fields
  28. Algorithms for CRT-variant of Approximate Greatest Common Divisor Problem
  29. Orienting supersingular isogeny graphs
  30. Delegating a Product of Group Exponentiations with Application to Signature Schemes (Submission to Special NutMiC 2019 Issue of JMC)
  31. Complexity bounds on Semaev’s naive index calculus method for ECDLP
  32. Regular Articles
  33. An elementary proof of Fermat’s last theorem for all even exponents
  34. Retraction of: An elementary proof of Fermat’s Last Theorem for all even exponents
  35. Survey on SAP and its application in public-key cryptography
  36. Privacy-preserving verifiable delegation of polynomial and matrix functions
  37. New approach to practical leakage-resilient public-key cryptography
Downloaded on 22.11.2025 from https://www.degruyterbrill.com/document/doi/10.1515/jmc-2019-0031/html
Scroll to top button