Nothing Special   »   [go: up one dir, main page]

Skip to content
BY-NC-ND 3.0 license Open Access Published by De Gruyter July 18, 2019

Enhancing Goldreich, Goldwasser and Halevi’s scheme with intersecting lattices

  • Arnaud Sipasseuth EMAIL logo , Thomas Plantard and Willy Susilo

Abstract

We present a technique to enhance the security of the Goldreich, Goldwasser and Halevi (GGH) scheme. The security of GGH has practically been broken by lattice reduction techniques. Those attacks are successful due to the structure of the basis used in the secret key. In this work, we aim to present a new technique to alleviate this problem by modifying the public key which hides the structure of the corresponding private key. We intersect the initial lattice with a random one while keeping the initial lattice as our secret key and use the corresponding result of the intersection as the public key. We show sufficient evidence that this technique will make GGH implementations secure against the aforementioned attacks.

MSC 2010: 94B75; 94A60; 11H99

1 Introduction

The popularity of post-quantum cryptography has increased significantly after the formal announcement by the National Institute of Standards and Technology (NIST) to move away from classical cryptography [76]. This is due to the potential threat that will be brought by the upcoming large scale quantum computers, which theoretically break the underlying traditional hard problem by using Shor’s algorithm [70]. There are currently three main families in post-quantum cryptology, namely, code-based cryptography, multivariate cryptography, and lattice-based cryptography. This work primarily concerns with lattice-based cryptography. First introduced by Minkowski in a pioneering work [53] to solve various number problems, lattices have the advantage to often base their security on worst-case assumptions [1] rather than the average case, and to be highly parallelizable and algorithmically simple enough to compete with traditional schemes in terms of computing speed. Inspired by this, Goldreich, Goldwasser and Halevi (GGH) [27] proposed an efficient way to use lattices to build a public-key encryption scheme. Their practical scheme has been broken using lattice reduction techniques [55]; however, the central idea is still viable and gave birth to a wide array of applications and improvements using tensor products [19], Hermite normal forms [50], polynomial representations [59], rotations [72], etc. The idea of intersecting lattices for cryptography first appeared in a broadcast attack on lattices [64], and since then, it has been used in various cryptanalytic efforts. Nevertheless, there is no attempt that makes use of this technique in a positive way, i.e., for building a secure cryptosystem. This paper aims to fill this gap by exploring this possibility.

Our work does not follow the previous works on the LWE or SIS type problems, which are currently very popular. Those lattices have a particular form and are called q-ary lattices, which only represent a small fraction of all lattices. They do benefit from Ajtai’s worst-case to average-case security reduction [1], but so do most randomly taken lattices as shown recently by Gama et al. [23]. We will moreover focus on lattices with a Hermite normal form that only admits a single dense column which belongs to the most dense set of all lattices [57]. Therefore, our work can be seen as a continuation of the work on non-q-ary following the line of the initial proposal of GGH [27] and Micciancio’s improvement of GGH with Hermite normal forms [50], where the latter has yet to be broken asymptotically. Furthermore, a lot of schemes based on LWE require Gaussian sampling for encryption and key generation [46, 42], which is very costly and impractical [75, 61] either in memory or in speed compared to the efficiency of more classical lattice-based schemes or other specialized versions as NTRU [31], whose security is also based on q-ary lattice problems. This problem is big enough to motivate many research directions to either tackle the issue [12, 16, 17] or avoid it using LWR (learning with rounding) [9] or LWE with uniform distribution [45]. In this paper, we attempt to use a more radical option by moving away from LWE-based cryptosystems and q-ary lattices and hope for a gain in encryption speed and key-size efficiency. On the other hand, we do not have provable security on our particular structure, but neither does NTRU; although NTRU has been researched intensively for quite some time now. Another motivation to follow an alternative path of study from LWE-based cryptosystems (and q-ary lattices) is the recent progress of attacks on such cryptosystems [38, 13, 41, 39, 5, 3] and the recent talk given by Lyubashevsky at PKC’16 in which he also qualifies LWE-based problems as particular instances of “basic” lattice problems and advised “to understand the underlying knapsack problems” to build practical schemes [47].

Our contribution and paper organization

The initial practical schemes of GGH have been broken mostly because of the very specific structure of the keys used. The main idea developed in this paper is to intersect the public key with a random lattice of the same rank to hide the previously exploited specific structure. However, we also show that improving security using intersections is not as simple as just intersecting any key to any random lattice, and therefore we present specific choice of keys based on intersection properties.

The rest of the paper is organized as follows. We first review the basics of lattice theory and discuss the initial GGH scheme in Section 2. Then, in Section 3, we present our idea to enhance its security and show that this extra layer of security does not affect our capacity to encrypt or decrypt messages. We also explain how we compute keys in practice as a lot of properties arise from intersecting lattices, which can further be exploited to either enforce or weaken the security of the resulting system, and more importantly, we demonstrate how it hides the initial “weak” structure. We give a short comparison of efficiency and key sizes compared to other schemes. In Section 4, we discuss potential security concerns given by the stated properties. Finally, in Section 5, we discuss further applications of intersecting lattices.

2 Background

In this section, we briefly recall the basics of lattice theory.

2.1 Lattice theory

Definition 1.

We call lattice a discrete subgroup of n, where n is a positive integer. We say a lattice is an integer lattice when it is a subgroup of n. A basis of the lattice is a basis as a -module. If M is a matrix, we define (M) as the lattice generated by the rows of M.

In this work, we only consider full-rank integer lattices, i.e., such that their basis can be represented by an n×n non-singular integer matrix.

Theorem 1 (Determinant).

For any lattice L, there exists a real value we call determinant, denoted det(L), such that det(L)=det(BBT) for any basis B.

The literature sometimes call det() the volume of (see [53]).

Definition 2 (Hermite normal form (HNF)).

Let be an integer lattice of dimension d and Hd,n a basis of . Then H is said to be of Hermite normal form if and only if

Hi,j{=0ifi>j,0ifij,<Hj,jifi<j  for all 1i,jd.

The HNF can be computed from any basis in polynomial time [36], is unique [15], and has a very compressed form, and thus is an ideal form for public keys [50]. We denote HNF(M) the HNF of a matrix M. One of the easiest forms to work with when the HNF is computed is when we obtain a “perfect” HNF.

Definition 3.

Let M be the basis of an integer lattice of dimension n in HNF form. As the HNF form is unique per lattice, we can write HNF(M)=HNF(). We say HNF() has pseudo-perfect form when only one column differs from Idn and perfect form when only the first column differs.

Example 1.

A has perfect form, B pseudo-perfect, and C neither of them.

A=[34000271003201013001],B=[1000034000251001801],C=[17000102001511013001].

For consistency with the rest of the paper, we assume Idn is a perfect form HNF.

Definition 4.

Let be a full-rank integer lattice of dimension n. We say is co-cyclic when / is cyclic.

According to Nguyen and Shparlinski [57], the set of co-cyclic lattices represents 85 % of full-rank integer lattices. Note that if HNF() has perfect or pseudo-perfect form, then is co-cyclic.

Definition 5.

We say a lattice 1 is an overlattice of 2, and 2 is a sublattice of 1, when 21.

Thus, if 3=12, then 3 is a sublattice to both 1 and 2.

Definition 6.

We say a lattice is a diagonally dominant (DD) type lattice if it admits a basis of the form D+R where D=d×Id, d, and R is a “noise” matrix whose entries lie in [-μ,μ], where dμ, and μ is called the bound of the noise.

We note that the definition is a bit different to the one which can be found in fundamental mathematics books [11]. The other definition requires the sum of norms of non-diagonal entries in a row to be lower or equal to the norm of its diagonal entry in that same row (or line, depending how you consider the vectors). Here the definition of “low” is arbitrary, but the overall idea is the same. In our following experimentations, we will restrict ourselves to d=n, where n is the dimension, and μ=1.

Definition 7 (Minima).

We denote by λi() the i-th minimum of a lattice . It is the radius of the smallest zero-centered ball containing at least i linearly independent elements of .

Definition 8 (Lattice gap).

We denote by δi() the ratio λi+1()λi() and call that a lattice gap. When mentioned without index and called “the” gap, the index is implied to be i=1.

We also define the “root lattice gap”, i.e., elevated to the power 1n, where n is the dimension of the lattice.

2.2 Lattice problems

The most famous problems on lattices are the shortest vector problem (SVP) and the closest vector problem (CVP). We tend to approximately solve CVP by solving heuristically SVP in an expanded lattice [27].

Definition 9 (CVP: closest vector problem).

Given a basis B of a lattice of dimension n and tn, find v such that t-vt-w for all w.

Definition 10 (SVP: shortest vector problem).

Given a basis B of a lattice of dimension n, find v such that vw, vw-v, i.e., v=λ1(B) for all w.

In cryptography, we rely on the “easier” versions of those problems.

Definition 11 (uSVPδ: δ-unique shortest vector problem).

Given a basis of a lattice with its lattice gap δ>1, solve SVP.

Since λ1() is also hard to determine (it is indeed another lattice problem we do not state here), measuring the efficiency of an algorithm is another challenge by itself. Therefore, to measure algorithm efficiency, we must be able to define a problem with easily computable parameters, which is where the Hermite factor is originated from.

Definition 12 (HSVPγ: γ-Hermite shortest vector problem).

Given a basis B of a lattice of dimension n and a factor γ we call Hermite Factor, find y such that yγdet()1/n.

Some cryptosystems are based on worst-case hardness on uSVP with polynomial gap, such as [2, 66]. The practical hardness of uSVP depends on its gap compared to a fraction of the Hermite factor, where the constant in front of the factor depends on the lattice and the algorithm used [24]. There exists an attack that was specifically built to exploit high gaps [44].

Definition 13 (BDDγ: γ-bounded distance decoding).

Given a basis B of a lattice , a point x and an approximation factor γ such that there exists v such that x-v<γλ1(B), find v such that x-vx-w for all w.

It has been proved that BDD1/(2γ) reduces to uSVPγ in polynomial time, and the same goes for uSVPγ to BDD1/γ when γ is polynomially bounded by n [48]; in cryptography, the gap is polynomial, so the target point x must be polynomially bounded, and therefore solving one or the other is relatively the same in our case.

2.3 The GGH cryptosystem

GGH is a public key cryptosystem named after its creators (Goldreich, Goldwasser and Halevi). Like every public key encryption scheme, GGH is composed of three algorithms, namely, a key generator, an encryption algorithm, and a decryption algorithm.

  1. KeyGen(n). Take a “good” basis Sk of a lattice of dimension n; compute a “bad” basis Pk from (Sk); provide Pk as the public key, and keep Sk as the secret key.

  2. Encrypt(Pk,m). Use Pk to encrypt a message m, which is a “small” vector, less than half the size of the smallest vector of Sk, by adding a random vector v of ; output c=m+v.

  3. Decrypt(Sk,c). Use Sk to decrypt a message, solving the BDD instance of c on (Pk), thus separating m from v and thus recovering m.

To be able to decrypt m, it has to be relatively short, say, mγ, thus solving special instances of BDDγ. For this cryptosystem to be relevant, it must rely on three important points.

  1. It is easy to encrypt a message with a public key (i.e., generate c given (Pk,m)).

  2. It is easy to decrypt a message with a secret key (i.e., solve BDDγ with Sk).

  3. It is hard to recover the secret key/original message from the public key.

The first point is pretty straightforward, and the second is guaranteed only by a proper key generation, which is where the concepts of “good basis” and “bad basis” are originated from. Sk is typically a diagonal dominant matrix and Pk its Hermite normal form. Because v is generated from Pk and (Pk)=(Sk), we can then recover v from c and thus m by solving BDDγ with the “good” basis Sk (typically composed of short and nearly orthogonal vectors). The problem stems from the third point.

2.4 Attacks on classical GGH

2.4.1 Message attacks and basis reduction on semi-orthogonal basis

The original GGH challenges [28] used an error vector whose entries are drawn in {-σ,σ}, which allowed Nguyen to easily retrieve messages in high dimension [55]. Using entries from [-σ,σ] fixes the problem, but the structure present in secret keys were still exploitable. Basis reduction techniques allowed Gama and Nguyen to recover very good bases from structural weaknesses within (Pk) (see [24]), comparing them to semi-orthogonal bases.

2.4.2 Special key recovery attack on diagonal dominant keys

For diagonally dominant keys of the form Sk=D+R, where D=d×Id, it is easier to attack the basis structure rather than the message itself.

Solving BDDγ for vectors

(d,0,,0),(0,d,0,,0),,(0,,0,d)in(d×Id+R)=(Sk)=(Pk)

to recover R yields very short vectors R[1],,R[n] and thus recovers the secret key: the difference between the i-th vector of the matrix d×Id and (d×Id+R) is exactly the i-th vector of R, which holds small values within [-μ,μ] and is much shorter than a message. We will denote ϕ the BDDγ solving algorithm. It is not an oracle, but rather an algorithm that anybody could choose to solve the problem. Our suggestion for ϕ would be to use Kannan’s embedding technique [35], which transforms the BDD instance into a uSVPγ instance, and then apply lattice reduction techniques on the extended basis, using Klein’s algorithm [40] or more recent works such as Liu and Nguyen enumeration-based solver [43].

Algorithm 1 (Diagonal dominant key recovery attack.).

Note that on the above algorithm, each iteration on a position of the diagonal makes the next iteration easier: since (Pk)=(Sk), each short vector found of Sk decreases the complexity of ϕ. In fact, like most lattice-based cryptosystems, finding one shortest vector is enough to break GGH.

3 Enhanced GGH cryptosystem

3.1 Modification of GGH using an intersecting lattice

If we denote Pk the public key and Sk our private key, our modification is to go from (Pk)=(Sk) to (Pk)=(Sk)(R), where R is a random non-singular integer matrix of dimension n. The modified GGH scheme, informally, is the following:

  1. KeyGen2(n). Take a “good” basis Sk=(D×Idn)+([-μ,μ]n×n) of dimension n; compute the HNF basis Pk of (Sk)(R), where R is a random integral matrix of dimension n with a perfect HNF with a determinant co-prime to Sk; provide Pk as the public key, and keep Sk as the secret key.

  2. Encrypt2(Pk,m). Use Pk to encrypt a message m encoded in a small vector by adding a random vector v of (Pk); output c=m+v.

  3. Decrypt2(Sk,c). Use Sk to decrypt a message the same way as in a classical GGH, separating m from v by solving the corresponding BDD instance and thus recovering m.

The secret key in our experiments used a diagonal coefficient D=n and a low noise of random values in μ=1, and our security analysis will be based on those parameters. However, we do not see a problem in taking noise within μ=4 as in the original GGH proposal [27] or as it was the case when Micciancio applied the use of a HNF [50]. Following the work in [50, 27], we can also choose our messages such that m212minsi*2, where si* is the i-th vector of the orthogonalized basis obtained from the secret key using the Gram–Schmidt orthogonalization process, or simply encode it as a vector in [1-μ,μ-1]n. However, the message space we actually use in this paper will be different as we resort to a padding technique to attempt to reach IND-CCA security. The decryption works as v(Pk)(Sk), thus separating m from v as before. We will discuss security concerns related to this scheme in the next section (and the appendix), especially why det(R) has to be co-prime to Sk and has to have a perfect HNF. In particular, we will show that structural attacks are no longer effective when R is sufficiently large. Then (Pk) no longer admits a diagonally dominant basis D+R; therefore, the BDDγ key recovery attack on (d,0,,0),(0,d,0,,0),(0,,0,d) is no longer applicable. Nevertheless, the ratio between the size of the messages we can decrypt and the size of the public key will decrease. We will explicitly express the factor later. The question is now whether we solve the problem with the previous third point “it is hard to recover the secret key from the public key” in our modified scheme.

3.2 Modified attack on the intersected GGH key

As stated earlier, the structural key recovery attack using BDDγ on (d,0,,0),(0,d,0,,0),,(0,,0,d) in (Pk) does not work since (d×Id+R)(Pk), but (d×Id+R)=(Sk)(Pk). Adapting this attack to (Pk) requires finding (Sk) in (Pk), and then using the structural key recovery attack. We assume the existence of a function Δ which finds the “optimal” overlattice (Sk) given (Pk) (the overlattice that admits a diagonal basis; experimental data suggests it is indeed the “weakest” overlattice; see the next section).

Algorithm 2 (Modified diagonal dominant key recovery attack.).

To the best of our knowledge, the difficulty of recovering (Sk) in (Pk) is mostly dependent on the values of det(Pk) and det(Sk). The efficiency of the modified attack is dependent on the efficiency of the overlattice recovery function Δ.

In this case, we will consider Pk and R to have a perfect HNF and Sk to be able to be reduced to a perfect HNF as we believe it offers the best security assumptions. As a bonus, it also allows a fair comparison with random matrices as randomly selected matrices from an increasingly big random determinant tend to have a perfect HNF [29]. Experimental results also suggest that most lattices are “equivalent” to a lattice admitting a perfect HNF, whose easily computable “equivalency” relation might cover most of co-cyclic lattices (see Appendix A.2) and allow us to use Gama’s work on their structural worst-case to average-case reduction [23]. We state the following theorem, which partly solve the problem of requiring perfect HNFs for intersections.

Theorem 2.

Let A and B be perfect HNF bases of lattices L(A) and L(B) of full rank n, where det(A),det(B) are co-prime. Let C be the HNF basis of L(A)L(B). Then det(C)=det(A)det(B); C has perfect HNF, and

Ci,1={Ai,1moddet(A),Bi,1moddet(B)for alli[2,n].

Example 2.

A,B have perfect HNF, and =(A)(B).

A=[170001210050101001],B=[3000110020102001];therefore,HNF()=[51000462002311035001].

The proof of this theorem can be found in Appendix A.1. If we intersect two lattices whose HNF bases are not perfect or whose determinant are not co-prime, the result will not be perfect, and common factors might appear (see Appendix A.1).

In our case, considering C=Pk, A=Sk and B=R, we have to avoid (Sk) to be easily recovered. Theorem 2 is also interesting for an attacker as it reveals one of the main issues of our approach, which we discuss in the next subsection. Let ω(M) be the number of prime factors counted without multiplicity in the decomposition of det(M). Then

(3.1)det(C)=i=1ω(A)pi,det(B)=i=0ω(B)qi,det(C)=(i=1ω(A)pi)(i=1ω(B)qi),

which means ω(C)=ω(A)+ω(B) and very easily leads to the following property.

Property 1.

Let C be a perfect HNF square matrix of dimension n. The couples ((A),(B)), where A and B are perfect HNFs of the same dimension with det(A) and det(B) co-prime such that (C)=(A)(B) and det(A)det(B)=det(C), correspond exactly to the couples (a>0,b>0), where a and b are co-primes such that ab=det(C); there are exactly 2ω(C) possibilities.

Each possible solution ((A),(B)) corresponds exactly to (det(A),det(B)).

Therefore, recovering (A) from (C), i.e., the complexity of the overlattice distinguisher Δ, is assumed to be at least polynomially equivalent to distinguishing pi from qi in equation (3.1). As we work in post-quantum cryptography, we assume that the factorization problem can be solved in polynomial time [70]. As we explain later, we will purposely choose keys with very smooth determinants, which make factorization easy even in the non-quantum case.

As ω(C) is lower-bounded by ω(A) and has no upper bound limit (as we have complete control over det(B)), one might first think that the number of combinations to search is 2ω(C). However, if we assume an oracle that knows what type of lattice to search for, then it is unsafe to assume the attacker has no knowledge of ω(A). We then assume an attacker has possession of exactly ω(A) and ω(B); the number of combinations[1] he has to try is then (ω(C)ω(A))=(ω(C)ω(B)). In practice, the attacker will probably only have an approximation, which increases the number of combinations by quite a lot and is a much bigger number depending on how precise the approximation is, but for simplicity, we assume he has the exact value.

Hence, if ω(C) is small or if ω(A) or ω(B) is too small relative to the number of possibilities, it might be too easy to recover (A), which would nullify the point of our modification. In practice, if we let the scheme untouched as it is, then ω(A) will most often be very low, as illustrated by the following theorem.

Theorem 3 (Erdős–Kac theorem [18]).

Let ρ(n) be the number of prime factors of the integer n. Then the probability distribution of ρ(n)-loglognloglogn is the standard normal distribution.

Experimental data on low dimensions suggest that ω(Pk) is indeed too low to ensure a reasonable number of combinations. To deal with that problem, we first optimistically assume that, without the knowledge of det(Sk), an attacker will have no choice rather than trying every possible combination stated by Property 1. Our proposed solution to this apparent weakness is to ensure the number of combinations is sufficiently large to make sure it is not feasible to recover (Sk). Therefore, our target public key should have the form

Pk=[det(Pk)00Pk[2,1]Idn-1Pk[n,1]],det(Pk)=i=1ω(Pk)pifor allij,gcd(pi,pj)=1,

where ω(Sk)+ω(R)=ω(Pk) is large enough to allow a large number of combinations. To achieve this, we must generate Sk and R such that HNF(Sk) and R have the same form as Pk (Theorem 2) while controlling ω(Sk) and ω(R).

3.3 Countermeasure by controlling ω(Sk),ω(R) on key generation

From the last subsection, two properties must arise from our keys if we want our modification to be effective: one is the perfectness of our HNF basis; the other the smoothness of our keys’ determinants.

First of all, we begin by showing the generation algorithm of the random matrix R. We first choose the determinant det(R) we want to obtain, and create

R=[det(R)00R[2,1]Idn-1R[n,1]]

such that R[i,1] are random integer values in [0,det(R)-1] for all i[2,n].

With the knowledge of how to generate R, one simple way to maximize ω(Pk), and thus the number of possibilities, is to increase ω(R) until we reach the number of required combinations without caring about ω(Sk). However, this is not wise; we mentioned before that the ratio of message size over size of the public key is lower in our modified GGH than in the original GGH. As, in both schemes, we use the same private key, the size of the message m we decrypt remains unchanged. Let Pkorg be the public key of the original GGH scheme (i.e., HNF(Sk)). Note that Size(Pk)Size(HNF(Sk))+Size(R)=Size(Pkorg)+Size(R)Size(Pkorg)+nlog(det(R)). Let c be the factor determining the ratio decrease. Then we have

cSize(Pkorg)Size(Pkorg)+nlog(det(R))=Size(HNF(Sk))Size(HNF(Sk))+nlog(det(R)).

Therefore, compared to the original GGH, the size increase of the public key is solely determined by det(R). Thus, for the benefit of key size, we choose to have ω(R)<ω(Sk). We will discuss later what this implies at the end of this subsection.

We know have to generate Sk. It is a bit harder to obtain a perfect HNF of a diagonal dominant matrix with a chosen determinant det(Sk). Our targeted end result is

HNF(Sk)=[det(Sk)00HNF(Sk)[2,1]Idn-1HNF(Sk)[n,1]]

such that HNF(Sk)[i,1] are integer values in [0,det(Sk)-1] for all i[2,n] and det(Sk)=i=1ω(Sk)pi and gcd(pi,pj)=1 for all ij.

In the following, we will illustrate and then explain the way to achieve this. Let Dd be a diagonal dominant matrix of dimension n-1 with diagonal coefficient d whose HNF is perfect, and let c be a column of n-1 entries within [-μ,μ], where μ is also the bound of the noise of Dd. We concatenate c on the left of Dd and compute the HNF of the result to obtain

Dd=HNF([cDd])=[ab00Idn-2].

If a=Dd[1,1] and b=Dd[1,2] are not co-prime, we retry with a different column c until those two values are co-primes. Once they are co-prime, we compute u,v such that |ua-bv|=det(Sk), ensuring det(Sk) is co-prime with either a or b (for simplicity, we assume b is co-prime with u; the algorithm in Appendix A.3 provides a more general form), such that

(3.2)2d×det(Dd)>det(Sk)>d×det(Dd),det(Sk)det(Dd).

We create a line l of n entries with l[1]=v and l[2]=u, reduce l with Babai’s nearest plane algorithm and concatenate the result l to c and Dd as shown below to obtain Sk as we wanted, which is still a diagonal dominant matrix relatively close of parameters d and μ and possess a perfect Hermite normal form.

l=[v,u,0,,0],l=NearestPlane(l,[c|Dd]),Sk=[l[1]l[2]l[n]cDd].

The Hermite normal form of Sk is perfect since

HNF(Sk)=HNF([l[1]l[2]l[n]cDd])=HNF([vu00ab00Idn-2]),

and because we ensured a and b co-prime, |ua-bv|=det(Sk) and u and b co-primes,

HNF(Sk)=[det(Sk)00Idn-1].

Now that we know how to create Sk and R with chosen determinants, we must decide how to choose det(Sk) and det(R) to obtain secure values of ω(Sk) and ω(Pk). This is how we suggest to do it and use in most experimentations. We first generate Dd as we see fit (the same matrix used when generating Sk), and we fix a prime we call a “scaling factor” that must be prime to det(Dd), then enumerate all primes from a certain point (at least strictly greater than the “scaling factor”) and choose to pick them randomly until their product is bigger than Dd (and prime to det(Dd)). We denote that set of primes Sp. We then take as much factors of Sp as we see fit to construct det(R), keep the rest and multiply the remaining product by a power of the scaling factor to respect the bound given by equation (3.2). Suppose that the scaling factor is given away for free; the number of combinations an attacker has to search is indeed (|Sp|ω(R)). Note that, given Sp, the maximum number of combinations is achievable if ω(R)=|Sp|2.

Overall, the generation of keys is done in polynomial time; the computations of the HNF and Babai’s nearest plane algorithm are the most time consuming operations, and they both run in polynomial time. To study the complexity and how this can be generated in practice, we refer the readers to Appendix A.3.

We present in this table the minimum ratio ω(R)/ω(Pk) required to go over some 2λ combinations in total using the algorithm we just described, and to ensure ωR<ωSk, we use a scaling factor of 2, enumerating and choosing all primes from 3 until the product Sp is bigger than det(Dd)d, assuming a diagonal coefficient of d=n, where n is the dimension, and getting an average determinant of nn/2 for Sk. When Sp is not sufficiently large, then we put the symbol “—”.

λ300400500600700800
8034/8724/11521/14219/16818/19517/222
10037/11529/14226/16824/19523/222
12042/14235/16832/19529/222
14048/16841/19537/222
16069/16853/19547/222

However, if we start enumerating from 2741, which is the 400th prime, and then its successive primes, we have the following table.

λ200300400500600700800
8028/9623/11921/14119/164
10035/11930/14127/164
12042/14136/164
14049/164
160

We put a blank entry at λ=160 for dimension n=800, but we are actually very close with

log2((16482))>159.99.

If we want to enforce ω(R)<ω(Sk) while using the same algorithm, we only need to increase d to a bigger value, increasing det(Sk) and thus ω(Pk). The next table shows the minimum amount of primes to put in Sp, which means the minimum value of ω(Pk) (+1 if we count the scaling factor) to achieve a number of combinations strictly superior to 2λ.

λ80100120140160180200220240
ω(Pk)84104124144165185205225245

As a “rule of thumb”, to achieve a number of combinations of 2λ, we require |Sp|=ω(Pk)+1>λ+4 for λ[1,250]. We can deduce that, in practice, the number of combinations will always be as high as we need it to be, either by increasing the diagonal coefficient d of our secret key Sk or by adding factors to R. Therefore, security concerns do not lie in the number of combinations ((Sk),(R)) any longer.

3.4 Key size comparisons and perfect HNFs

First of all, we would like to stress that this comparison only aims to show that our obfuscation technique applied to GGH is not impractical as far as storage is concerned. LWE-based cryptosystems usually rely on stronger security assumptions than our proposal, and other cryptosystems, like NTRU, have been studied for a much longer time; the lack of literature on lattice intersections does not let us claim the same level of confidence in security assumptions. Here we compare in Table 1 our public key sizes to the public key sizes (in bits) presented in Lindner and Peikert’s work for LWE-based encryption [42] and the key sizes we obtain with intersections (in average). We only compare with the size of their keys per user, and not their full key which is already much bigger. Note that, unlike q-ary lattices, the values of the determinant are not set at the key generation, but usually do not stray away from each other by too much bits. To compute the key size of a perfect HNF, one just has to look at the number of bits of the determinant and multiply it by the lattice dimension. For dimension n, we use n as the diagonal coefficient and [-1,1] as the noise interval.

Table 1

LWE key sizes from Lindner and Peikert on top, key sizes from perfect HNFs and intersections at the bottom (n=dimension, s=log2(ω(Pk)ω(Sk)))

(a)
DimensionqPublic key size per user
12820531.8×105
19240932.9×105
25640934.0×105
32040934.9×105
(b)
n
s125150175200225250
206.1×1048.8×1041.2×1051.6×1052.1×1052.6×105
406.5×1049.4×1041.3×1051.7×1052.2×1052.7×105
607.7×1041.0×1051.4×1051.8×1052.3×1052.8×105
801.6×1052.0×1052.4×1052.9×105
1002.2×1052.6×1053.1×105
(c)
n
s275300325350375400
203.2×1053.9×1054.6×1055.3×1056.2×1057.1×105
403.3×1054.0×1054.7×1055.5×1056.3×1057.3×105
603.4×1054.1×1054.9×1055.6×1056.5×1057.5×105
803.6×1054.3×1055.0×1055.8×1056.7×1057.6×105
1003.8×1054.4×1055.2×1056.0×1056.9×1057.8×105

As we see, their partial public key is only smaller than our full public keys for higher dimensions. Furthermore, the technique used in their scheme is a very clever way to delegate part of the key to a trusted source or to the user that is an instance from an abstract system presented by Micciancio [51], while our scheme has mostly kept the basic setup from the GGH cryptosystem [27]. It might be possible that, in the future, such techniques become available for classical random lattices (and most of them admitting a perfect HNF), leading to better key sizes per user for higher dimensions.

Perfect Hermite normal forms also allow us to improve the encryption scheme. Instead of sending a vector c=m+v, where v is random, we can choose v such as v=(c1,0,,0), i.e., only a single integer of size det() in average will be sent. This is done by reducing the message m by a Gaussian elimination with the rows of the public key, where they all have 1 in their diagonal. Furthermore, the security is not affected. Since the transformation will give the same result as m for any m=m+v with any v, breaking this transformation will break all schemes which use BDDγ as a security assumption. The decryption is left unchanged since the only difference is that c=m+v, where v is not random anymore. This is actually convenient from a practical point of view, where encryption can be reduced to n additions and n-1 multiplications (by relatively low integers on one side and big ones on the other side) modulo the determinant; this is comparable to a modular knapsack. Lindner and Peikert also presented in their paper their different ciphertext size for messages of 128 bits. The smallest ciphertext size they presented was for n=128 and q=2053, and it has the same size of our average determinant size (hence, in our case, ciphertext size) for a lattice of dimension n=475 and combinations security s=100.

Generating public keys, however, is slow as it involves computing Hermite normal forms. On the other hand, Gaussian sampling, which is required for a lot of LWE-based cryptosystems, was also far from fast and memory efficient and led to alternatives like LWR [9] or uniform distribution [45]. Weiden et al. reported that Gaussian sampling takes 50 % on the running time of their implementation of Lyubashevsky’s signature scheme [46], and Dwarakanath and Galbraith [17] reported that Peikert’s sampler can take up to 12 MB for some parameters [61]. Nevertheless, the research is still very active on that matter and has seen various improvements [17, 12, 16] mostly targeted at lattice-based cryptography thanks to the popularity of that matter in the community but not to a point where sampling is both very fast and memory efficient. On the other hand, research to compute Hermite normal forms nowadays is mostly done for random matrices [63, 60] and not targeted at structured matrices, especially ones that arise in cryptography. A rebound of interest towards Hermite normal forms in the community might lead to similar improvements in the future.

4 Security

The security assumptions rely on three important points.

  1. Assumption 1: recovering the “optimal” integer overlattice is hard. (Δ is polynomial on the number of combinations.)

  2. Assumption 2: the underlying BDDγ problem is hard (on our specific keys).

  3. Assumption 3: the underlying modular knapsack problem is hard (on our specific keys and messages).

Like every cryptosystem, even when based on a hard problem, what we use are specific instances of a hard problem, which might not be as hard as the original problem. Therefore, we discuss in the following the special structure which arise from our scheme. Note that, because the main idea is to change the public key without changing the secret key while keeping the encryption/decryption process unchanged, the message space is left unchanged along with the BDDγ problem from the previous iteration from Micciancio [50], except the lattice has a slightly bigger determinant.

Furthermore, our first assumption is actually very pessimistic. Micciancio’s scheme has not been broken asymptotically, and up to this day, basis reduction techniques are still not well enough understood to predict, given a HNF, how easy it would be to reduce the corresponding lattice. It is therefore possible that, in the future, further theoretical studies will allow us to strongly reinforce our first assumption. Our particular structure (perfect HNF) also allows to convert our instance of the BDDγ problem to an instance of a single general modular knapsack problem with very smooth moduli; therefore, our third assumption is that our instances of modular knapsack with smooth determinant are hard, which can be seen as a multiple modular knapsack with co-prime moduli.

4.1 Smoothness of determinant

To discuss the problem of the smoothness of the determinant, we assume the existence of a polynomial time solving oracle which can determine if a combination of primes lattice is correct and output a weak basis out of it if yes. We also assume that the attacker does not have an algorithm that permits to eliminate prime overlattices one by one until only factors of Sk remain, or something easy to decipher, which would lead to an easier solution than searching through every possibility, which we think is reasonable as our experimentations could not distinguish any overlattice from random lattices. If there was such an algorithm, then this might apply to any random lattice and lowers the overall security of lattice problems. However, it is possible that the problem is much easier depending on the kind of secret keys we actually use and what we intersect it with.

The only attacks based on overlattices according to the best of our knowledge were one from Becker, Gama and Joux [22] and one from Gama et al. [23]; even then, the way their overlattices are generated is very different and does not search for integer overlattices specifically. Aside from the overlattices consideration, there is also no attack to the best of our knowledge that makes use of a smooth determinant on random lattices, and other popular schemes such as NTRU [31] and Ring-LWE [49] also rely on lattices with smooth determinants (q-ary lattices have naturally smooth determinants, but their factorization differ).

Under all of those assumptions, the total security provided by our enhancement is either solving the problem directly on the public key, finding the right combination multiplied by the time of running a detection oracle (find which integer overlattice is weak), or working in a properly chosen non-integer overlattice of a large enough volume. The latter possibility, which could seem the most efficient, is in our opinion not-effective; to the best of our knowledge, our system does not hold a particular weakness towards this approach compared to any other random lattice as our public key seems to hold the same structure as far as our heuristic experimentations on HKZ-reduced bases are concerned (see the next subsection) Assuming the “weak integer overlattice” detection oracle runs in polynomial time (for simplification, we will consider it constant, but in practice, we do not know how to even create a practical one; the latter security is bounded by (ω(Pk)ω(Pk)/2), which, as we discussed in the previous section, is not a problem in high dimensions as ω(Pk) grow big, as, in our tests, we never reach that bound (Figure 2)).

We stress that finding the shortest vector for a small prime overlattice does not help solving the problem in the ring product in general. It is, in fact, still a research problem to be able to compare two numbers given their decompositions over a ring product without computing them back as it is the main issue with residue number systems (RNS for cryptography is an old and still active research topic [8, 25, 7, 6]). This is even more problematic when comparing vectors.

4.2 Perfectness of basis and primality between factors

Due to Goldstein and Mayer [29], taking a perfect Hermite normal form matrix with a random prime determinant can be considered as taking a random lattice. As we are intersecting a lot of lattices of this type, with different prime determinants which result in a perfect HNF, we are comparing our results with other perfect HNF bases with the same determinant and random entries. Since our experimental results show that 80 % of the bases generated with coefficients from bounded entries admits a perfect HNF or are equivalent to one by permutation of columns (see Appendix A.2), we believe the comparison to be fair.

This is further reinforced due to recent works from Nguyen and Shparlinski [57], used shortly after by Gama et al. [23] to make their generalized worst-case to average-case reduction which allows us to use a much more general lattice form and is therefore very different from those q-ary lattices first introduced by Ajtai [1]. In practice, Chen and Nguyen’s work [14] on Darmstadt’s lattice challenges lead us to think it is easier to solve problems (find short vectors) in a q-ary lattice than in a random lattice of large volume; therefore, in terms of basis recovery attacks, the perfect Hermite normal form could be actually more desirable.

On top of that, there is no currently known algorithm to our knowledge that will provide efficient secret keys with an imperfect HNF on purpose (one that cannot be converted to a perfect HNF; see Appendix A.2), where the imperfect coefficients do not leak information on the first element of the diagonal (they very often have common divisors for example). We also keep in mind that if (M) is a lattice that admits a diagonal dominant basis, then so do (σ(M)), where σ is a column permutation, retaining the exact same values, measuring basis quality in every criteria known (see Appendix A.2).

Furthermore, given a finite set of prime factors on the diagonal, the perfect form gives the hardest challenge as it is harder to guess a large number of factors in a single position rather than a small fixed amount in multiple positions (given the same total amount of primes), provided we could make sure it could not be transformed into a perfect HNF by permutation (if having a perfect HNF becomes a weakness).

Having factors prime to each other not only ensures an easier perfect HNF, but also avoids giving information beneficial to the attacker (see Appendix A.1). As stated before, having a perfect HNF is also desirable when managing keys.

4.3 Shortest vector and basis structure

We present the result of experimentations for intersecting diagonal dominant type matrices with a random one with a perfect HNF form below. We chose 3 as our scaling factor, allowing our perturbation matrix to have a measurable determinant as a power of 2. To determine the impact of R over Pk’s resistance against enumeration and classical lattice reduction techniques compared to random lattices [69], we also observe the distribution of coefficients using SVP on small dimension (40), comparing them to the random case (every time with the exact same determinant and dimension). It seems like, after reaching a size of 32 bits, there is almost no difference between Pk or random lattices of the same determinant (Figure 1). As the difference tends to decrease very rapidly, we scale the graphs to the extrema.

Figure 1

Distribution of the shortest vector’s coefficients.

(a) det⁡(R)=1{\operatorname{det}(R)=1}
(a)

det(R)=1

(b) det⁡(R)=28{\operatorname{det}(R)=2^{8}}
(b)

det(R)=28

(c) det⁡(R)=216{\operatorname{det}(R)=2^{16}}
(c)

det(R)=216

(d) det⁡(R)=232{\operatorname{det}(R)=2^{32}}
(d)

det(R)=232

However, the obfuscation of (Sk)’s structure is not exclusive to (Sk)’ shortest vectors. We show with the following tests that the obfuscation works on the whole HKZ-reduced basis of (Pk). In that regard, we compare condition numbers (CN) with the maximum norm. The test is done in dimensions 30, 40 and 50 with over 20 matrices per dimension and 20 witnesses per new determinant, the diagonal dominant type having noise in [-1,1] with the diagonal being dim. We only choose matrices with a perfect form. Every matrix computed has been HKZ-reduced.

First, with dimension 30, det(Sk) has on average 79 bits.

det(R)12428212216220224228232
Avg CN (inter)55.33158.48199.38234.25260.06263.49262.40268.40263.10
Avg CN (rdm)269.41273.39272.88273.99273.74267.13267.31271.71272.65

With dimension 40, det(Sk) has on average 113 bits.

det(R)12428212216220224228232
Avg CN (inter)69.52304.18400.67529.02620.70691.42709.63748.11769.18
Avg CN (rdm)755.89760.90805.09755.15789.46786.06770.28760.09786.72

With dimension 50, det(Sk) has on average 151 bits.

(a)
det(R)12428212216220
Avg CN (inter)78.98524.19636.06837.491087.471426.19
Avg CN (rdm)2038.681976.511993.441952.171944.572021.48
(b)
det(R)224228232236240244
Avg CN (inter)1616.311682.421795.901830.141870.031871.08
Avg CN (rdm)2074.121991.931964.161979.452000.981998.67

According to our experimental results, there is little influence on increasing the size of the perturbation over 32 bits as we get very close to the same condition number as a random HKZ-reduced matrix with the same determinant. This reflects the results we have when measuring the distribution of shortest vectors’ coefficients values. This means that obtaining a good basis of the public key will allow to decrypt nearly as well as with a good basis of a random matrix, being very sensitive to noise. Therefore, the only factor to consider is the number of primes, and as we grow larger in dimension, we will obviously take much bigger primes, ending up in a noise with a determinant size of over 32 bits. We can then take small primes to minimize the lattice gap (as we will measure below).

What we need to consider is the possibility to distinguish the different overlattices very easily (which would nullify our improvement of GGH), or the possibility to know if, by intersecting different overlattices, we could determine if we are getting closer to the right combination or not. Therefore, we compare condition numbers of Sk’s and R’s overlattices, the intersection of Sk’s and R’s overlattices separately or mixed together (with all matrices being HKZ-reduced) to HKZ-reduced bases of random lattices of the same respective determinant for every test. The result is that the overlattices themselves seem to be indistinguishable from random cases. Since removing several factors of Sk randomly does seem to make the problem harder (in the sense that the resulting lattice looks more random than keeping all factors), this observation should also hold for non-integer overlattices. For now, it does not seem that an attack on a random overlattice would be more effective.

4.4 Message recovery attacks

We now measure the influence of R on Pk against message recovery attacks, and we will use the lattice gap in that regard. We assume the attack used is the popular heuristic transformation from CVP to SVP by attacking an extended basis B. What we need then is closely enough approximate values of λ1(B) and λ2(B). In that regard, we consider λ1(B) the size of our message m. With maximum decryption capacity, we have

mSk-1mSk-112.

As we take the best value possible,

m=12Sk-1,λ1(B)=m2n2Sk-1,

and we assume λ2(B)n2πeDet(Pk)1/n with the Gaussian heuristic. It is the best approximation we can use as we do not know the length of the shortest vector in the public key[2]. Therefore, the lattice gap is

δ(Pk,Sk)=(Det(Pk)1/n×2Sk-12πe).

It is a bit different than most schemes as our public key does not represent the same lattice as our private key. The first remark we do when looking at the formula is that the gap increases as det(R) increases, which might give us a good reason to carefully manage Size(det(R)) besides key size considerations.

Here, we present our experimental results for the simulations on computing the root lattice gap (with primes starting from 3, scaling factor 2). From the earlier work of Gama and Nguyen [24], the problem is solvable as soon as the lattice gap is lower than a fraction of the Hermite factor. We observe the evolution of the lattice gap for different numbers of combinations over increasing dimensions, and it appears that increasing the number of combinations has a lower impact as we increase dimensions; thus a high value for det(R) is not a problem as dimensions increase.

As the constants mentioned in Gama and Nguyen’s work [24] depend on the algorithm used and the lattice structure, we scale the curve with factors 0.50 and 0.20. We can observe that, under the pessimistic assumption of a constant of 0.20 (which is not the worst since [24] mentions a factor of 0.18 for BKZ-20), we do not reach the optimal factor of 1.005 (considered by many to be impossible to reach without proper structure in dimension 500, see [24]) even past dimension n=850.

Figure 2

Evolution of the root lattice gap from dimension 225 to 850.

(a) C=1/2{C=1/2}
(a)

C=1/2

(b) C=1/5{C=1/5}
(b)

C=1/5

4.5 IND-CCA security and message space

Suppose the private key has been generated by a diagonal coefficient D and a noise bound μ for a full-rank lattice of dimension; a first suggestion would be to use messages in the space [-M,M]n, where M=D-μ2. This allows us to decrypt a number of bits which would be a multiple of the lattice dimension. However, the scheme does not achieve IND-CCA security that way, and it is advised to sacrifice the number of bits and restrict the message space to achieve IND-CCA security.

To achieve IND-CCA security, one can set the ciphertext to encrypt only a single bit with a technique similar to the one proposed in Regev’s first LWE-based public-key encryption scheme [67], where the decryption is a test whether an integer is closer to 0 or to a certain bound, which, from a lattice-based point of view, just consists of set bounds for a norm on deciphered vectors m (original messages); for all deciphered plaintexts m and m]a,b[, where a>0 and b is within our decryption capacity, if m>a+b2, then return the bit 1 as the message, or 0 otherwise.

4.5.1 Using padding techniques

Alternatively, we can also use techniques which are already used for number theoretical schemes. Suppose our message is composed of bits; then we can apply padding techniques such as OAEP [10] to make the scheme more secure (and its further improvements such as [71]), or more general ones such as REACT [58] or the Fujisaki–Okamoto transformation [21]. Those techniques work assuming the one-wayness of our initial problem as it is done with NTRU. This seems to be the most straightforward method to achieve IND-CCA security in the random oracle model, and we will briefly present the Fujisaki–Okamoto transformation as it was recently suggested by Peikert for his suggestion of lattice-based cryptography for the internet [62].

The Fujisaki–Okamoto transformation [21] is to transform the encryption of the message m to

pkhy[m,c]=pkasy[c,H(c,G(c)sy[m])]G(c)sy[m],

where

  1. pkasy[m,c] is the asymmetric encryption of the indicated message m using the indicated coins c as random bits and the public key pk,

  2. sksy[m] is the symmetric encryption of the indicated message m using the private key sk,

  3. σ is a random string chosen from an appropriate domain,

  4. G,H are hash functions, where G(σ),H(σ) are the hashes of σ by G,H, respectively.

We need to choose a symmetric encryption scheme to apply this transformation, and depending on the symmetric scheme chosen, one might be interested to look at the earlier, simpler and more specialized proposition first given in [20]. The same can be said for the choices of the hash functions, and such considerations are also important if using OAEP or REACT (which, on the other hand, do not require an additional symmetric scheme and seem computationally less complex).

NTRU, on the other hand, uses padding schemes such as NAEP [33, 34] that are specific to NTRU due to its usage of polynomials and cannot be applied to other lattice schemes. We stress that a precise choice of a padding scheme is not trivial, as earlier choices for NTRU have been proven insecure, due to the particular nature of NTRU rather than the padding itself [56, 32].

REACT is also a good candidate for padding, due to its efficiency. The encryption of the message m is transformed to

pk(m;R,r)=pkasy(R;r)G(R)mH(m,R,pkasy(R;r),G(R)m),

where

  1. pkasy(m,c) is the asymmetric encryption of the message m using the coins c as random bits and the public key pk,

  2. R is a random element from the message space,

  3. r is a random element from the random coin space,

  4. G,H are hash functions.

Here both encryption and decryption only require two more hashings compared to the original scheme and do not require an additional symmetric encryption scheme unlike the Fujisaki–Okamoto transformation.

Since we have to use a padding scheme for real life applications and padding schemes are mostly made for binary written messages (XOR operations are almost always involved), we define our message space as [-b,b]n-k, where b=log2(D-μ2)-1 (that way, each cell can be XOR-ed with any binary string and remain in the decryption space), D being the diagonal coefficient and μ the noise bound of the secret key, n the lattice dimension and 0kn the number of dimensions we sacrifice in the message space to add the padding and extra surjections (to make the original scheme pre-padding surjective and not bijective, especially, to assign a space for random coins). Values for D,μ are suggested in the next section.

5 Discussions

5.1 Parameter choices

To achieve a reasonably improved security (from lattice reduction techniques) without drastically increasing the key size, we suggest to use a matrix of dimension at least 400, with a diagonal coefficient of 20 and a noise bound of 1. Suppose we sacrifice half of the dimension for padding; this yields 4 bits per remaining dimension, which will be 800 bits. We suggest using any random family of primes whose total products slightly exceed the size of the determinant of the secret key, and furthermore, whenever possible, we should avoid very small primes to avoid any information potentially recovered by the scaling factor (even if unrealistic). The increase in key size will depend on the size of the random matrix we use to hide the secret lattice (as shown in Section 2). Moreover, taking too big primes will reduce the number of combinations, hence lowering the security in terms of discovering the secret lattice. We then recommend using primes between 541 (the 100th prime) and 2741 (the 400th prime); those are arbitrary choices but offer enough combinations for whatever matrix of such dimension, or even much higher, would need from what we see in the previous tables, and the size of the noise generated is, in our opinion, enough to protect against basis recovery attacks. The scaling factor can be as small as 2. Depending on the security level required (for various applications, as mentioned by NIST [54]), we can let λ>64,80,96,128 as far as the number of combinations 2λ is concerned. We note that intersecting a small random lattice is already improving the security; therefore, even if we do not reach the same average as random matrices, the public key is still more secure.

Intersecting lattices is a technique that can be used with any kind of lattice. This technique may give rise to other useful applications, which remain unknown.

5.2 Alternate secret keys

Our approach is not only limited to a diagonal dominant matrix. As any message generated using Pk is equal to a message generated using HNF(Sk), any decryption process using HNF(Sk) as a secret key remains unchanged. The main problem in our opinion is always how to hide the overlattice (Sk). As an example, using tensor products as secret keys [19] would leave a slightly different issue in hiding det(Sk). Other improvements on GGH type cryptosystems could be compatible with ours as we leave the decryption and message space unchanged; therefore, security improvements may become cumulative (a case-by-case study and adaptation might be necessary). An example of such a possible cumulative improvement to study can be found in [68].

Additionally, our approach is not limited to a perfect HNF either. A lot of properties do indeed arise when intersecting lattices which determinants are not co-prime which could lead to security issues when not kept in mind, as information on the factorization of det(Sk) is leaked (see Appendix A.1). However, if we carefully generate non-perfect HNF matrices on purpose from intersections it might be possible to ensure a reasonable security without increasing the key size too much.

Another idea is to use weaker secret keys. In our experiments, we randomized the occurrence of the noise values in [-1,1]. However, seeing how intersections allow us to hide the secret basis’ structure, we can make it so in a line vector of the secret key (or even in both lines and columns) the number of times a non-zero value is used is limited. For example, what if we set 1 to appear α times and -1 to appear β times, which will leave χ zeroes, where χ=n-1-(α+β)? If we allow a big χ, this will lead to a bigger decryption capacity. We do not know if such a prefixed setting would create visible weaknesses in the result of the intersection, or the overlattices, and how much impact it will have on the root lattice gap.

Another type of weaker secret key is using ideal lattices. Ideal lattices are a powerful tool to compress keys and to enable fully homomorphic encryption [26]. The research development in ideal lattices has been very popular in the last years; hence we are providing some remarks on the intersection of ideal lattices. The advantage of ideal lattices is allowing a stable multiplication and offering very compressed keys. Some interesting properties arise when intersecting ideal lattices (see Appendices A.1 and A.2), but, to the best of our knowledge, there is no method to control the determinant of an ideal lattice, which is how we make intersections secure in our paper. The possibility of reinforcing the security of ideal lattice based schemes with intersections also remains an open question.


Communicated by Tran van Trung


A Appendix

A.1 Arithmetic of HNF basis from intersections

In this section, we present all the proofs and technical details concerning intersections of HNF. We do not focus on the perfect case, as it is just seen as a particular case, but it allows to understand how an intersection of lattices can break the perfectness of a HNF and what phenomenons appear when randomly intersecting lattices successively.

We will start with a few definitions. We consider line vectors with Mi being the i-th line vector and Mi,j being the coefficient in the i-th line and j-th column in the matrix M, and we denote (M) the lattice generated by M. If v is a vector, we denote vi its i-th coefficient.

Definition 14.

We denote Sm(M,(i,j)) the square submatrix of M of size (j-i+1)2 extracted from the h-th lines and columns ihj with 1ijn. We denote Sm(M,(1,i))=Sm(M,i) the square submatrix with only the first i lines and columns.

Definition 15.

Let (A) be a full-rank lattice with A in HNF. We denote i(A) the sublattice of (A) such that i(A) is trivially isomorphic to (Sm(A,i)), i.e., i(A) is generated by the first i vectors of A.

Definition 16.

A vector v is a “standard” vector if it is also a vector of the Id matrix basis (i.e., 1 in one position, 0 in all the others) and “p-standard” if it is a vector of a p×Id matrix, and we say it is the i-th p-standard when the non-zero entry is at the i-th position.

Definition 17.

For a triangular matrix M of dimension n and in, we denote

dg(M,i)=1iMi,i=det(Sm(M,i))andDiag(M,i)={Mj,j,1ji}

Definition 18.

Let M be the basis of an integer lattice of dimension n in HNF form. Then we define by Φ() the number of non-1 values in the diagonal of M (which is also the number of non-standard columns). As the HNF form is unique, we can write Φ(B)=Φ() for any basis B of . We say M is of pseudo-perfect form when Φ(M)=1 and of perfect form if Sm(M,n-1)=Idn-1.

Definition 19.

We say a lattice is prime if it is an integer lattice whose determinant is the power of a prime number and it is pseudo-perfect.

Property 2.

Suppose (C)=(A)(B), all lattices are of dimension n>i, and A,B,C in HNF; then every vector Ci is uniquely determined by Sm(A,i) and Sm(B,i) and C1,1=lcm(A1,1,B1,1). In particular,

(Sm(C,i))=(Sm(A,i))(Sm(B,i)).

Therefore, modifying Sm(A,(i+1,n)) and Sm(B,(i+1,n)) has no influence on Sm(C,i).

Proof.

If M is in HNF, the HNF basis of i(M) is the first i lines of M. Apply this directly to (C)=(A)(B) to obtain the above property. ∎

Property 3.

Let A be the HNF basis of a full-rank lattice of dimension ni1, and denote g=dg(A,i). The i-th g-standard vector always belongs to (A).

Proof.

We know that, for any vector vi(A), we have |Ai,ivi.

Let us put αgAi,i and vαAi. Note that α is divisible by every coefficient in Diag(A,i-1). Then v has g as its head coefficient, and all of its other coefficients are multiples of α.

Let us eliminate vi+1 by subtraction. First set ααAi+1,i+1; then vv-αAi+1. We note that all coefficients of v are still multiples of α. Rinse and repeat for coefficients (vi+2,,vn) until the end result is v=v, i.e., v(A). ∎

Property 4.

Suppose A,B,C are in HNF. If (C)=(A)(B), then

|lcm(Ai,i,Bi,i)Ci,ilcm(dg(A,i),dg(B,i)).

Proof.

Using Property 2, it is sufficient to work on i(C), and we know that Ci=αAi+a=βBi+b with ai-1(A) and bi-1(B), for some α,β. Therefore, Ci,i=αAi,i=βBi,i, hence the left part of the expression.

For the right part, just apply the reasoning of the previous property to the i-th g-standard vector with g=lcm(dg(A,i),dg(B,i)) and find it belongs to (A)(B). ∎

We note that those bounds are reached in practice and are therefore tight. What we will be showing next is how the head coefficients are actually affected by the big non-standard column of the HNF.

Property 5.

Suppose A and B are perfect-form HNF bases of lattices (A) and (B) of full rank n, with a=det(A)=A1,1 and b=det(B)=B1,1. Then (C)=(A)(B) admits a perfect HNF basis C if and only if

for alli,there existsk1<b,k2<asuch thatA1,i+k1aB1,i+k2bmodlcm(a,b)=C1,1.

If the condition is respected, then

C1,i=A1,i+k1a=B1,i+k2bmodC1,1.

Proof.

If the condition is respected for a certain i, then there exists a common vector in both (A) and (B) that have 1 in its i-th position, A1,i+k1a=A1,i+k2b in its first position, and 0 everywhere else. Therefore, it must be representable by the basis C, and since |Ci,ivi,i for all i, perfect form or not, thus enforces Ci,i=1.

Now suppose the condition is not respected for a certain i such that Sm(C,i-1) already has perfect form. Since Sm(C,i-1) has perfect form, then every coefficient that is neither the first nor the i-th one is reduced to 0 by definition of the HNF. If Ci,i was equal to 1, then A being perfect would mean C1,iA1,i(moda) since Ci,i(A) and the same reasoning for B. That would respect the condition, which is contradictory; hence Ci,i1. ∎

Property 6.

Let A,B be two perfect HNF bases of lattices such that det(A)=det(B)=p is a prime number. Then either det(C)=det(𝒜)=p2 and Φ(C)=2 with two p-standard vectors, or A=B.

Proof.

If A=B, then it is obvious. Otherwise, Property 5 tells us it is not possible to have a perfect HNF. Using the same reasoning, the first i such that A1,iB1,i will have Ci as the i-th p-standard vector, as Property 4 leaves us only p as a diagonal coefficient. Since Sm(C,i-1) is a perfect HNF, the only solution for Ci to be a vector of (A)(B) is to have Ci=pAi-A1,iA1=pBi-B1,iB1, i.e., the i-th p-standard vector; since p is prime, there is no lower integer that would make this work.

Now that we have to prove that Sm(C,(i,n)) is a perfect form matrix. For that, in p, we just have to prove that,

for allj]i,n],there existsx,ypsuch thatxAi+Aj=yBi+Bj,

which is always true in our case as it corresponds to finding a solution (x,y) to yBi,1+Bj,1=xAi,1+Aj,1 and yBi,i+Bj,i=xAi,i+Aj,i. ∎

Theorem 2 is a direct consequence of Property 5 (and to a lesser extent of Property 6). Applying the same reasoning on more than two columns, if we carefully choose i<n lattices all with the same prime determinant p, then it is possible to make the intersection of those i lattices contain ip-standard vectors in their HNF basis. For i=n, the HNF of their intersection can be the orthogonal matrix p×Idn. Generally, the more lattices of determinant d (prime or not) we get, the closer we get to d×Idn.

It is actually possible to list all possibilities leading to the result of a prime collision, as we show in this example where p “moves” to the second column (i.e., a2,1b2,1):

([p00a2,110a3,101])([p00b2,110b3,101])=([p000p0c3,1c3,21]),

which leads to c3,1c3,2b2,1+b3,1c3,2a2,1+a3,1modp.

And supposing we have higher dimension n>3, then, for all i[3,n],

ci,1ci,2b2,1+bi,1ci,2a2,1+ai,1modp.

Hence, a prime collision has lots of easily computable solutions, and anybody having to solve this can choose the solution he sees fit (just choose a2,1 and b2,1, p(p-1) possibilities). For the general case (“collision” at column j), just change 2 by j and 3 by j+1. The generalization can go even further with determinants det(A)=px and det(B)=py with x=y. When xy, the result is still predictable but requires a little more work.

Property 7.

The following statements hold.

  1. If a lattice is prime, every possible decomposition into an intersection of prime lattices must include itself.

  2. If a lattice has prime determinant, it has no integer overlattice (except itself).

  3. For any integer lattice with diagonal coefficients prime with each other (in its HNF form), there is a unique decomposition into an intersection of prime lattices with determinants that are prime with each other. (every condition is important as it becomes false otherwise)

The three properties, directly deduced from the previous ones, are important to understand the recovery of overlattices. To obtain a prime lattice decomposition, you just have to use the Chinese remainder theorem on every prime factor.

Property 8.

Suppose (C)=(A)(B), and A,B,C are integer matrices. Then we can recover A,B from C with only the knowledge of Diag(A,n) or Diag(B,n) in polynomial time on det(C) and n.

Proof.

The decomposition into prime lattices allow us to choose which prime lattices are part of A or B. Obtaining the decomposition into prime lattices is done in polynomial time with the Chinese remainder theorem, and then knowledge of the diagonal coefficients allow us to recover exactly A and B. ∎

Note that if gcd(Diag(A,n),Diag(B,n))=1, then the solution is unique.

This recovery assumes the knowledge about the positions of diagonal coefficients. We do not need to consider the case when both determinants are co-prime; however, it can become tricky when determinants are not co-prime and positions are unknown. In that case, we will have to use the results from Property 6. Supposedly, 80 % of random lattices with randomly chosen bounded entries have perfect HNF or are equivalent to one by permutation, and we do want to be as close as possible to the random case (see Appendix A.2); the bigger the primes are, the more likely a random matrix of the same determinant is going to have an perfect form [29].

Furthermore, having an imperfect HNF means we have certain coefficients on the diagonal which potentially reveals some information about the secret key (whether by their value or by their position), and thus having transforming into a perfect HNF allows us to hide that information. Therefore, even if we do not obtain an equivalent perfect HNF for a basis M, minimizing Φ(M) is still useful.

Properties 4 and 5 ensure that if a lattice has perfect HNF, then prime lattices from its decomposition all have perfect HNF. In fact, Property 4 makes it unwise to use non-perfect HNF as secret keys (at least without prior study), as the information would be leaked instantly and cannot be hidden with intersections or permutations as we explain in the next subsection.

Another basis type to consider, besides diagonal dominant matrices for the secret key, are ideal lattices.

Definition 20.

Let Rf=[X]/f be a ring of polynomials over integers, where f is a monic polynomial of degree n, and consider the map Φf:X(i-1)vi, where vi is the i-th standard vector of n, and Xi is the monomial of degree i over Rf. We can then define a non-trivial ring structure over a particular set of sublattices of n by mapping Rf to n via Φ. Suppose we take an ideal of Rf, namely, Rf(p)=p with pRf. We denote (p,f) the lattice ImΦf(Rf(p)).

For any lattice , if there exists p,f such that =(p,f), we say is an ideal lattice.

Since we have an isomorphism of rings between (p,f) and Rf(p), working on one or the other is equivalent. In the literature, we usually see f=Xn-1 or f=Xn+1.

Property 9.

(lcm(p,q)modf,f)(p,f)(q,f).

Proof.

Let r=lcm(p,q)modf. Hence rp and rq; therefore, Φf(r)(p,f) and Φf(r)(q,f); thus (r,f)(p,f)(q,f). ∎

The equality happens quite often in experimentations. Intersecting two ideal lattices with two different quotients bring results which are, in general, unknown to the best of our knowledge.

Property 10.

Let 1,2 be two integer lattices with co-prime determinants and admitting a basis with perfect HNF. Then 12 is an ideal lattice if and only if 1 and 2 are.

Proof.

Recall the perfect HNF of an ideal lattice, which only uses one root and a determinant (one visual representation can be seen in [65, p. 4]). If the HNF of both 1 and 2 respects the root exponentiation structure of ideal lattices, the same goes for 12 as Theorem 2 shows. If not, then the root exponentiation structure in the intersection is not respected either, while being a perfect HNF. ∎

The intersection of an ideal lattice and a random lattice is therefore not an ideal lattice.

A.2 Permutations and perfectness

There is a way to greatly increase the chance to obtain a perfect HNF basis, and it comes with a column permutation. The advantage of using permutations is to be able to obtain perfect HNFs without changing the norms or the orthogonality of any basis. If one needs a perfect HNF, it also drastically increases the chance to get a secret key with perfect HNF rather than discarding it and generating a new one. It is also used to hide various structures, but this is not the main point here.

We note that Tourloupis [74] had a way to select matrices with a perfect HNF with a 99 % chance of success; however, our aim is different here as we are trying to transform a secret key into another one rather than discarding it completely.

Property 11.

If M is a diagonal dominant matrix, then (σ(M)) for σSn still admits a diagonal dominant basis with the same parameters as far as noise bound and diagonal value are concerned.

This is trivial to see if we just permute the lines of the permuted columns on M.

Property 12.

Let M be an integer matrix which admits a perfect HNF. Then if a permutation σSn leaves the first column untouched, HNF(σ(M)) still has perfect form.

What happens is just a permutation of the coefficients in the first column. It allows us to reorder them as much as we see fit, which might lead one day to interesting properties on any type of lattice. More noteworthy is the following property.

Theorem 4.

Let A be an integer matrix. If there exists σSn such that HNF(σ(A)) has perfect form, then there exists a column swap σ=(1i)Sn with i[1,n] such that HNF(σ(A)) has perfect form.

Proof.

Suppose there is such a permutation σ. Then we denote σ(A)=A with HNF(A) being perfect. Now, σ can be decomposed to Xσ, where σ=(1i), i[1,n], and X leaves the first column untouched. Also, X-1 leaves the first column untouched, and therefore X-1(σ(A))=σ(A) also has perfect form. ∎

This reduces the number of combinations to obtain perfect HNFs from n! to 1. The single permutation (1n) is sufficient to check since if (1i) transforms M into a basis M of an equivalent lattice (M) admitting a perfect HNF basis, then (in) transforms M into M′′ still admitting a perfect HNF. However, for hiding a certain type of basis, any element σSn can be used as a part of the secret key.

Also, we can easily identify some automatic failure cases, which allows us to avoid computations of HNFs in guaranteed case of failure.

Property 13.

The following statements hold.

  1. Let A,B,C denote three lattices such that A=BC. Then σ(A)=σ(B)σ(C) for any column permutation σSn.

  2. Let be an imperfect lattice, and let us take any decomposition into prime lattices (as it might not be unique). Then is equivalent by permutation to a perfect lattice if and only if there exists σSn such that every integer overlattice in that decomposition is made perfect by σ, and they all respect towards each other Property 5.

  3. Let M be an integer matrix in HNF which is not perfect. Let i<n be the biggest integer such that Sm(M,(i,n)) has perfect form. Then HNF(σ(M)) for every σ=(1a), a[1,i-1] does not have perfect form.

The following test is made with random matrices with coefficients that vary between -7 and 7. We then transform them into HNF and exclude every matrix which already has a perfect HNF, only keeping the imperfect ones to try conversion on. This is a test with 1000 matrices non-perfect HNF matrices on various dimensions.

Dimension5080100120150180200300
Success rate0.7560.7260.7410.7480.7440.7490.7280.737

Counting the ones that have already a perfect HNF, we believe the probability of a random matrix with bounded entries to have a perfect HNF or being equivalent to one by column permutation raises to be over 80 % (up from at most 40 % without permutation [68]). This is actually incredibly close to the 85 % presence of co-cyclic lattices among all lattices counted by Nguyen and Shparlinski [57] and used by Gama et al. [23] for their average-case to worst-case proof for most randomly chosen lattices.

The following property gives us an important case of non-convertible non-perfect HNFs.

Property 14.

Denote by A,B matrices in perfect Hermite normal form. Let C be the Hermite normal form basis of the lattice (A)B. If C does not have a perfect form (i.e., A and B do not respect Properties 5 and 6 relative to each other), then Φ(σ(C))>1 for any σSn.

This is noticeable by looking at the prime decomposition and looking at the prime collision. The colliding primes will never intersect into a matching lattice, and despite the high success rate of permutations in transforming a non-perfect lattice in non-perfect form, no permutation (acting on the two matrices simultaneously) would change that.

Property 15.

Let M be a perfect HNF basis of an ideal lattice. In general, with σSn, (σ(M)) is not an ideal lattice.

This is because permuting columns change the root exponentiation structure present in the perfect HNF of an ideal lattice basis. This could prove useful to hide ideal lattices structure, but we do not know whether the inverse permutation is easily recoverable or not.

A.3 Generation algorithm and complexity

To make the following easier to read, we introduce the following functions.

  1. HNF(M): given a matrix M, returns its Hermite normal form,

  2. IsCoprime(a,b): returns true if a,b are co-prime, false otherwise,

  3. Prod(S): given a set S, returns the product of all elements of S,

  4. Det(M): returns the determinant of M,

  5. catM1M2: given M1,M2, concatenates them into a new matrix,

  6. Babai(M,v): applies Babai’s nearest plane algorithm to v with the lattice (M). If M is HKZ-reduced, it is incredibly effective, especially, with a diagonal dominant lattice.

The parameters are a family of primes Sp, a scaling factor f, a security parameter λ for the number of combinations, a dimension, and parameters (D,b) for generating the diagonal dominant matrix. Of course, we have to check beforehand that Sp is large enough to meet 2λ combinations but not too big to have a high chance to respect equation (3.2).

Note that, following Theorem 2, computing the HNF basis of the intersection of two full rank n lattices 1,2 with perfect HNF basis of co-prime determinants d1 and d2 has only complexity O(nlog(d1d2)) in time and in memory, as it is nothing more than using the Chinese remainder theorem to reconstruct n integers. We believe this is faster in practice than computing Dual(Dual(1)Dual(2)) to obtain 12 in our particular case.

Algorithm 3 (Generating new GGH keys using diagonal dominant matrices.).

The complexity is mostly the computation of the HNF and Babai’s nearest plane algorithm; the rest are manipulations of integers that are linear in the dimension and polynomial in the determinant (GCD computations, multiplications). Using Micciancio and Warinschi’s algorithm for obtaining HNF [52], the complexity is O(n4polylog(M,n)) arithmetical operations, which can be improved in practice using later works like [63], and Babai’s nearest plane algorithm is also polynomial [4]. Trying to get a perfect HNF can appear to be costly in the while loop, but, in experimentations, we have in average only one retry when using permutations.

This goes in line with the probability of having two random numbers being co-prime which is 6π261% (first solved by Euler in 1735; see [30, Theorem 332, p. 269 in the 4th edition] for proof) and our experimental results with obtaining a perfect HNF from permutations with over 80 % (0.8×0.6=0.48). The probability is slightly higher if we use the concatenated column c as a permutable column, and we might even gain more in efficiency by reinitializing the permutable column c instead of Sk-, even though it does not change the overall complexity much. Another way to heuristically improve speed at the cost of memory in the generation of Pkc is to save the transformation matrix T such that T×Sk-=HNF(Sk-), and using the first of row of T, one can quickly find c such that (Tc)[1] is prime to det(Sk-). In that case, the extra computation due to Pk*[1][1],Pk*[1][2] not being co-prime becomes negligible.

Now we have to explain why this algorithm works and outputs the correct result. The first part is the part of the algorithm which has a note above “ensuring the end result is in perfect form”. This is to ensure that the small square we complete with Bézout coefficients can be reduced in perfect form. If those two columns are not co-prime with det(Sk), then the final result cannot be reduced to a perfect form (as reducing is using linear combinations); therefore, we choose a column we will ensure to be co-prime with det(Sk), and this guarantees the result.

The second part is to explain why the end result is still a diagonal dominant matrix (at least with overwhelming probability). Suppose we have not used any permutation (if we used one, the result is the same according to a property in the previous section), and for simplicity, we denote Pkc[1][2]=|det(Sk-)|=a, Pkc[1][1]=b. Subtracting a vector from the other ones does not change the determinant. Let us reduce l by the vectors of Skc (with Babai’s nearest plane algorithm, which is the final step of the algorithm to compute Sk), and denote that reduced vector l. Because Sk- is diagonal dominant with diagonal coefficient d, reducing the line l with Skc will reduce all its coefficients except the first to integers below d; therefore, l[2]<d. We denote Pkl the square matrix (catlPkc). We know det(Pkl)=det(Pk). Now we look at the computation of det(Pkl) developing over the first row l and naturally obtain det(Pk)=l[1]a-l[2]b. Since a and det(Pk) are positive, l[2] and b have the same sign if and only if l[1] is positive. Now, because of equation (3.2), da<l[1]a-l[2]b<2da; therefore, d<l[1]-l[2]ba<2d, and since |b|<a with overwhelming probability (the opposite has never occurred in experimentations) and |l[2]|<d, this forces l[1] to be positive and reasonably close to [d,2d]. In practice, it seems closer to 2d than d.

References

[1] M. Ajtai, Generating hard instances of lattice problems (extended abstract), Proceedings of the Twenty-eighth Annual ACM Symposium on the Theory of Computing, ACM, New York (1996), 99–108. 10.1145/237814.237838Search in Google Scholar

[2] M. Ajtai and C. Dwork, A public-key cryptosystem with worst-case/average-case equivalence, Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing—STOC ’97, ACM, New York (1999), 284–293. 10.1145/258533.258604Search in Google Scholar

[3] M. R. Albrecht, C. Cid, J.-C. Faugère, R. Fitzpatrick and L. Perret, Algebraic algorithms for lwe problems, ACM Commun. Comput. Algebra 49 (2015), no. 2, 62–62. 10.1145/2815111.2815158Search in Google Scholar

[4] L. Babai, On Lovász’ lattice reduction and the nearest lattice point problem, Combinatorica 6 (1986), no. 1, 1–13. 10.1007/BF02579403Search in Google Scholar

[5] S. Bai and S. D. Galbraith, Lattice decoding attacks on binary LWE, Information Security and Privacy—ACISP 2014, Lecture Notes in Comput. Sci. 8544, Springer, Berlin (2014), 322–337. 10.1007/978-3-319-08344-5_21Search in Google Scholar

[6] J.-C. Bajard, J. Eynard and N. Merkiche, Multi-fault attack detection for RNS cryptographic architecture, IEEE 23nd Symposium on Computer Arithmetic, IEEE Press, Piscataway (2016), 16–23. 10.1109/ARITH.2016.16Search in Google Scholar

[7] J.-C. Bajard and L. Imbert, A full RNS implementation of RSA, IEEE Trans. Comput. 53 (2004), no. 6, 769–774. 10.1109/TC.2004.2Search in Google Scholar

[8] J.-C. Bajard and T. Plantard, Rns bases and conversions, Optical Science and Technology, the SPIE 49th Annual Meeting, SPIE Press, Bellingham (2004), 60–69. 10.1117/12.557891Search in Google Scholar

[9] A. Banerjee, C. Peikert and A. Rosen, Pseudorandom functions and lattices, Advances in Cryptology—EUROCRYPT 2012, Lecture Notes in Comput. Sci. 7237, Springer, Heidelberg (2012), 719–737. 10.1007/978-3-642-29011-4_42Search in Google Scholar

[10] M. Bellare and P. Rogaway, Optimal asymmetric encryption, Advances in Cryptology—EUROCRYPT ’94, Lecture Notes in Comput. Sci. 950, Springer, Berlin (1995), 92–111. 10.1007/BFb0053428Search in Google Scholar

[11] R. A. Brualdi and H. J. Ryser, Combinatorial Matrix Theory, Encyclopedia Math. Appl. 39, Cambridge University, Cambridge, 1991. 10.1017/CBO9781107325708Search in Google Scholar

[12] J. Buchmann, D. Cabarcas, F. Göpfert, A. Hülsing and P. Weiden, Discrete ziggurat: A time-memory trade-off for sampling from a gaussian distribution over the integers, Selected Areas in Cryptography—SAC 2013, Lecture Notes in Comput. Sci. 8282, Springer, Berlin (2013), 402–417. 10.1007/978-3-662-43414-7_20Search in Google Scholar

[13] J. Buchmann, F. Göpfert, R. Player and T. Wunderer, On the hardness of LWE with binary error: Revisiting the hybrid lattice-reduction and meet-in-the-middle attack, Progress in Cryptology—AFRICACRYPT 2016, Lecture Notes in Comput. Sci. 9646, Springer, Cham (2016), 24–43. 10.1007/978-3-319-31517-1_2Search in Google Scholar

[14] Y. Chen and P. Q. Nguyen, BKZ 2.0: better lattice security estimates, Advances in Cryptology—ASIACRYPT 2011, Lecture Notes in Comput. Sci. 7073, Springer, Heidelberg (2011), 1–20. 10.1007/978-3-642-25385-0_1Search in Google Scholar

[15] H. Cohen, A Course in Computational Algebraic Number Theory, Grad. Texts in Math. 138, Springer, Berlin, 1993. 10.1007/978-3-662-02945-9Search in Google Scholar

[16] L. Ducas and P. Q. Nguyen, Faster Gaussian lattice sampling using lazy floating-point arithmetic, Advances in Cryptology—ASIACRYPT 2012, Lecture Notes in Comput. Sci. 7658, Springer, Heidelberg (2012), 415–432. 10.1007/978-3-642-34961-4_26Search in Google Scholar

[17] N. C. Dwarakanath and S. D. Galbraith, Sampling from discrete Gaussians for lattice-based cryptography on a constrained device, Appl. Algebra Engrg. Comm. Comput. 25 (2014), no. 3, 159–180. 10.1007/s00200-014-0218-3Search in Google Scholar

[18] P. Erdős and M. Kac, The Gaussian law of errors in the theory of additive number theoretic functions, Amer. J. Math. 62 (1940), 738–742. 10.2307/2371483Search in Google Scholar

[19] R. Fischlin and J.-P. Seifert, Tensor-based trapdoors for CVP and their application to public key cryptography (extended abstract), Cryptography and Coding, Lecture Notes in Comput. Sci. 1746, Springer, Berlin (1999), 244–257. 10.1007/3-540-46665-7_29Search in Google Scholar

[20] E. Fujisaki and T. Okamoto, Secure integration of asymmetric and symmetric encryption schemes, Advances in Cryptology—CRYPTO’99, Lecture Notes in Comput. Sci. 1666, Springer, Berlin (1999), 537–554. 10.1007/3-540-48405-1_34Search in Google Scholar

[21] E. Fujisaki and T. Okamoto, Secure integration of asymmetric and symmetric encryption schemes, J. Cryptology 26 (2013), no. 1, 80–101. 10.1007/s00145-011-9114-1Search in Google Scholar

[22] N. Gama, A. Becker and A. Joux, Solving shortest and closest vector problems: The decomposition approach, Cryptology ePrint Archive (2013), https://eprint.iacr.org/2013/685.pdf. Search in Google Scholar

[23] N. Gama, M. Izabachène, P. Q. Nguyen and X. Xie, Structural lattice reduction: generalized worst-case to average-case reductions and homomorphic cryptosystems, Advances in Cryptology—EUROCRYPT 2016. Part II, Lecture Notes in Comput. Sci. 9666, Springer, Berlin (2016), 528–558. 10.1007/978-3-662-49896-5_19Search in Google Scholar

[24] N. Gama and P. Q. Nguyen, Predicting lattice reduction, Advances in Cryptology—EUROCRYPT 2008, Lecture Notes in Comput. Sci. 4965, Springer, Berlin (2008), 31–51. 10.1007/978-3-540-78967-3_3Search in Google Scholar

[25] F. Gandino, F. Lamberti, G. Paravati, J.-C. Bajard and P. Montuschi, An algorithmic and architectural study on Montgomery exponentiation in RNS, IEEE Trans. Comput. 61 (2012), no. 8, 1071–1083. 10.1109/TC.2012.84Search in Google Scholar

[26] C. Gentry, A fully homomorphic encryption scheme, PhD thesis, Stanford University, 2009. 10.1145/1536414.1536440Search in Google Scholar

[27] O. Goldreich, S. Goldwasser and S. Halevi, Public-key cryptosystems from lattice reduction problems, Advances in Cryptology—CRYPTO ’97, Lecture Notes in Comput. Sci. 1294, Springer, Berlin (1997), 112–131. 10.1007/BFb0052231Search in Google Scholar

[28] O. Goldreich, S. Goldwasser and S. Halevi, The GGH challenges. Search in Google Scholar

[29] D. Goldstein and A. Mayer, On the equidistribution of Hecke points, Forum Math. 15 (2003), no. 2, 165–189. 10.1515/form.2003.009Search in Google Scholar

[30] G. H. Hardy and E. M. Wright, An Introduction to the Theory of Numbers, Oxford University, London, 1938. Search in Google Scholar

[31] J. Hoffstein, J. Pipher and J. H. Silverman, NTRU: A ring-based public key cryptosystem, Algorithmic Number Theory, Lecture Notes in Comput. Sci. 1423, Springer, Berlin (1998), 267–288. 10.1007/BFb0054868Search in Google Scholar

[32] N. Howgrave-Graham, P. Q. Nguyen, D. Pointcheval, J. Proos, J. H. Silverman, A. Singer and W. Whyte, The impact of decryption failures on the security of NTRU encryption, Advances in Cryptology—CRYPTO 2003, Lecture Notes in Comput. Sci. 2729, Springer, Berlin (2003), 226–246. 10.1007/978-3-540-45146-4_14Search in Google Scholar

[33] N. Howgrave-Graham, J. H. Silverman, A. Singer and W. Whyte, NAEP: Provable security in the presence of decryption failures, IACR Eprint archive (2003), ␣http://eprint.iacr.org/2003/172. Search in Google Scholar

[34] N. Howgrave-Graham, J. H. Silverman and W. Whyte, Choosing parameter sets for NTRUEncrypt with NAEP and SVES-3, Topics in Cryptology—CT-RSA 2005, Lecture Notes in Comput. Sci. 3376, Springer, Berlin (2005), 118–135. 10.1007/978-3-540-30574-3_10Search in Google Scholar

[35] R. Kannan, Minkowski’s convex body theorem and integer programming, Math. Oper. Res. 12 (1987), no. 3, 415–440. 10.1287/moor.12.3.415Search in Google Scholar

[36] R. Kannan and A. Bachem, Polynomial algorithms for computing the Smith and Hermite normal forms of an integer matrix, SIAM J. Comput. 8 (1979), no. 4, 499–507. 10.1137/0208040Search in Google Scholar

[37] S. Kim, On the distribution of lengths of short vectors in a random lattice, Math. Z. 282 (2016), no. 3–4, 1117–1126. 10.1007/s00209-015-1580-ySearch in Google Scholar

[38] P. Kirchner and P.-A. Fouque, An improved BKW algorithm for LWE with applications to cryptography and lattices, Advances in Cryptology—CRYPTO 2015. Part I, Lecture Notes in Comput. Sci. 9215, Springer, Heidelberg (2015), 43–62. 10.1007/978-3-662-47989-6_3Search in Google Scholar

[39] E. Kirshanova, A. May and F. Wiemer, Parallel implementation of BDD enumeration for LWE, Applied Cryptography and Network Security, Lecture Notes in Comput. Sci. 9696, Springer, Cham (2016), 580–591. 10.1007/978-3-319-39555-5_31Search in Google Scholar

[40] P. Klein, Finding the closest lattice vector when it’s unusually close, Proceedings of the Eleventh Annual ACM-SIAM Symposium on Discrete Algorithms, ACM, New York (2000), 937–941. Search in Google Scholar

[41] K. Lauter, H. Chen and K. E. Stange, Attacks on search RLWE, Cryptology ePrint Archive (2015), http://eprint.iacr.org/2015/971. Search in Google Scholar

[42] R. Lindner and C. Peikert, Better key sizes (and attacks) for LWE-based encryption, Topics in Cryptology—CT-RSA 2011, Lecture Notes in Comput. Sci. 6558, Springer, Heidelberg (2011), 319–339. 10.1007/978-3-642-19074-2_21Search in Google Scholar

[43] M. Liu and P. Q. Nguyen, Solving BDD by enumeration: an update, Topics in Cryptology—CT-RSA 2013, Lecture Notes in Comput. Sci. 7779, Springer, Heidelberg (2013), 293–309. 10.1007/978-3-642-36095-4_19Search in Google Scholar

[44] M. Liu, X. Wang, G. Xu and X. Zheng, Shortest lattice vectors in the presence of gaps, IACR Cryptology ePrint Archive (2011), https://eprint.iacr.org/2011/139.pdf. Search in Google Scholar

[45] V. Lyubashevsky, Fiat-shamir with aborts: Applications to lattice and factoring-based signatures, Advances in Cryptology—ASIACRYPT 2009, Lecture Notes in Comput. Sci. 5912, Springer, Berlin (2009), 598–616. 10.1007/978-3-642-10366-7_35Search in Google Scholar

[46] V. Lyubashevsky, Lattice signatures without trapdoors, Advances in Cryptology—EUROCRYPT 2012, Lecture Notes in Comput. Sci. 7237, Springer, Berlin (2012), 738–755. 10.1007/978-3-642-29011-4_43Search in Google Scholar

[47] V. Lyubashevsky, Future directions in lattice cryptography, Public Key Cryptography 2016, invited talk. Search in Google Scholar

[48] V. Lyubashevsky and D. Micciancio, On bounded distance decoding, unique shortest vectors, and the minimum distance problem, Advances in Cryptology—CRYPTO 2009, Lecture Notes in Comput. Sci. 5677, Springer, Berlin (2009), 577–594. 10.1007/978-3-642-03356-8_34Search in Google Scholar

[49] V. Lyubashevsky, C. Peikert and O. Regev, On ideal lattices and learning with errors over rings, J. ACM 60 (2013), no. 6, Article ID 43. 10.1007/978-3-642-13190-5_1Search in Google Scholar

[50] D. Micciancio, Improving lattice based cryptosystems using the Hermite normal form, Cryptography and Lattices, Lecture Notes in Comput. Sci. 2146, Springer, Berlin (2001), 126–145. 10.1007/3-540-44670-2_11Search in Google Scholar

[51] D. Micciancio, Duality in lattice cryptography, Public Key Cryptography 2010, invited talk. 10.1007/978-1-4419-5906-5_417Search in Google Scholar

[52] D. Micciancio and B. Warinschi, A linear space algorithm for computing the hermite normal form, Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation, ACM, New York (2001), 231–236. 10.1145/384101.384133Search in Google Scholar

[53] H. Minkowski, Geometrie der Zahlen, B. G. Teubner, Leipzig, 1896. Search in Google Scholar

[54] D. Moody, Post-quantum cryptography: Nist’s plan for the future, Public Key Cryptography 2016, Invited Talk. Search in Google Scholar

[55] P. Nguyen, Cryptanalysis of the Goldreich–Goldwasser–Halevi cryptosystem from crypto’97, Advances in Cryptology—CRYPTO’ 99, Lecture Notes in Comput. Sci. 1666, Springer, Berlin (1999), 288–304. 10.1007/3-540-48405-1_18Search in Google Scholar

[56] P. Q. Nguyen and D. Pointcheval, Analysis and improvements of NTRU encryption paddings, Advances in Cryptology—CRYPTO 2002, Lecture Notes in Comput. Sci. 2442, Springer, Berlin (2002), 210–225. 10.1007/3-540-45708-9_14Search in Google Scholar

[57] P. Q. Nguyen and I. E. Shparlinski, Counting co-cyclic lattices, preprint (2015), https://arxiv.org/abs/1505.06429. 10.1137/15M103950XSearch in Google Scholar

[58] T. Okamoto and D. Pointcheval, React: Rapid enhanced-security asymmetric cryptosystem transform, Topics in Cryptology—CT-RSA 2001, Lecture Notes in Comput. Sci. 2020, Springer, Berlin (2001), 159–174. 10.1007/3-540-45353-9_13Search in Google Scholar

[59] S.-H. Paeng, B. E. Jung and K.-C. Ha, A lattice based public key cryptosystem using polynomial representations, Public Key Cryptography—PKC 2003, Lecture Notes in Comput. Sci. 2567, Springer, Berlin (2003), 292–308. 10.1007/3-540-36288-6_22Search in Google Scholar

[60] C. Pauderis and A. Storjohann, Computing the invariant structure of integer matrices: Fast algorithms into practice, Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation, ACM, New York (2013), 307–314. 10.1145/2465506.2465955Search in Google Scholar

[61] C. Peikert, An efficient and parallel Gaussian sampler for lattices, Advances in Cryptology—CRYPTO 2010, Lecture Notes in Comput. Sci. 6223, Springer, Berlin (2010), 80–97. 10.1007/978-3-642-14623-7_5Search in Google Scholar

[62] C. Peikert, Lattice cryptography for the internet, Post-Quantum Cryptography, Lecture Notes in Comput. Sci. 8772, Springer, Berlin (2014), 197–219. 10.1007/978-3-319-11659-4_12Search in Google Scholar

[63] C. Pernet and W. Stein, Fast computation of hermite normal forms of random integer matrices, J. Number Theory 130 (2010), no. 7, 1675–1683. 10.1016/j.jnt.2010.01.017Search in Google Scholar

[64] T. Plantard and W. Susilo, Broadcast attacks against lattice-based cryptosystems, Applied Cryptography and Network Security—ACNS 2009, Lecture Notes in Comput. Sci. 5536, Springer, Berlin (2009), 456–472. 10.1007/978-3-642-01957-9_28Search in Google Scholar

[65] T. Plantard, W. Susilo and Z. Zhang, LLL for ideal lattices: Re-evaluation of the security of Gentry–Halevi’s fhe scheme, Des. Codes Cryptogr. 76 (2015), no. 2, 325–344. 10.1007/s10623-014-9957-1Search in Google Scholar

[66] O. Regev, New lattice-based cryptographic constructions, J. ACM 51 (2004), no. 6, 899–942. 10.1145/1039488.1039490Search in Google Scholar

[67] O. Regev, On lattices, learning with errors, random linear codes, and cryptography, J. ACM 56 (2009), no. 6, Article No. 34. 10.1145/1060590.1060603Search in Google Scholar

[68] M. Rose, T. Plantard and W. Susilo, Improving BDD cryptosystems in general lattices, Information Security Practice and Experience, Lecture Notes in Comput. Sci. 6672, Springer, Berlin (2011), 152–167. 10.1007/978-3-642-21031-0_12Search in Google Scholar

[69] C. P. Schnorr, Average time fast svp and cvp algorithms for low density lattices and the factorization of integers, Technical report, Goethe Universität Frankfurt, 2010. Search in Google Scholar

[70] P. W. Shor, Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer, SIAM J. Comput. 26 (1997), no. 5, 1484–1509. 10.1137/S0097539795293172Search in Google Scholar

[71] V. Shoup, Oaep reconsidered, Advances in Cryptology—CRYPTO 2001, Lecture Notes in Comput. Sci. 2139, Springer, Berlin (2001), 239–259. 10.1007/3-540-44647-8_15Search in Google Scholar

[72] N. J. A. Sloane, Encrypting by random rotations, Cryptography—EUROCRYPT’82, Lecture Notes in Comput. Sci. 149, Springer, Berlin (1983), 71–128. 10.1007/3-540-39466-4_6Search in Google Scholar

[73] A. Södergren, On the Poisson distribution of lengths of lattice vectors in a random lattice, Math. Z. 269 (2011), no. 3–4, 945–954. 10.1007/s00209-010-0772-8Search in Google Scholar

[74] V. E. Tourloupis, Hermite normal forms and its cryptographic applications, Master thesis, University of Wollongong, 2013. Search in Google Scholar

[75] P. Weiden, A. Hülsing, D. Cabarcas and J. Buchmann, Instantiating treeless signature schemes, Cryptology ePrint Archive (2013), https://eprint.iacr.org/2013/065.pdf. Search in Google Scholar

[76] NIST, Nist kicks off effort to defend encrypted data from quantum computer threat, 28/04/2016. Search in Google Scholar

Received: 2016-11-21
Revised: 2019-05-25
Accepted: 2019-06-07
Published Online: 2019-07-18
Published in Print: 2019-10-01

© 2019 Walter de Gruyter GmbH, Berlin/Boston

This article is distributed under the terms of the Creative Commons Attribution Non-Commercial License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Downloaded on 26.2.2025 from https://www.degruyter.com/document/doi/10.1515/jmc-2016-0066/html
Scroll to top button