Table of Contents

This post is a grab bag of basic definitions and elementary results related to unstructured lattices. See 1 for a more condensed version of similar topics or 2 for a more detailed and advanced algebraic treatment.

Basis Independent Characterization


A lattice L is a discrete additive subgroup of 𝑛, that is,

  1. L inherits the additive group structure of 𝑛,
  2. L is equipped with a notion of distance, (or equivalently, a inner product ,:L×L), and
  3. there exits a fixed non-zero radius 𝜖 (see Fig. 1), such that the open ball 𝔹(𝑥,𝜖):={𝑦𝑛:𝑥𝑦<𝜖} centered at 𝑥L, contains no other elements of L, i.e., 𝜖>0,𝑥L:𝔹(𝑥,𝜖)L={𝑥}.(1)

Lattices can be defined more broadly as finitely generated modules over an integral domain, embedded into a vector space over its fraction field! But for the purposes of this post, the above limited definition is sufficient. Full generality, however, brings with itself full complexity, which does not always aid in understanding.

Since L is an additive subgroup of 𝑛, translations of L by an arbitrary vector 𝑣𝑛 forms the usual equivalence class of cosets defined by [𝑣]:=𝑣+L={𝑣+𝑥:𝑥L}𝑛/L.

By definition, two arbitrary vectors 𝑥,𝑦𝑛 belong to the same coset, if and only if 𝑥𝑦L. Any set ̂P𝑛 that contains exactly one representative element 𝑣 from each coset [𝑣]𝑛/L is called a strict fundamental domain of L, and is defined as

̂P:=[𝑣]𝑛/L𝑣.(2)

Since the choice of representative 𝑣[𝑣] is arbitrary, ̂P is not uniquely determined. However, 𝑛/L partitions 𝑛 into its cosets, therefore translations of any given ̂P by the lattice vectors tiles the entire 𝑛 without overlap, i.e.,

𝑥L(̂P+𝑥)=𝑛and 𝑥,𝑦L,𝑥𝑦:(̂P+𝑥)(̂P+𝑦)=.

The covolume (sometimes also called volume) is the volume of any of its strict fundamental domains (i.e., a measure of its size). For any translation invariant measure, like the Lebesgue measure, the covolume is independent of the choice of representatives used to define ̂P.

Basis Dependent Characterization


The characterization of a lattice so far has been entirely basis independent. This is ideal for exploring algebraic and topological properties of lattices, however, it’s not very useful for computational purposes. For that, the following basis dependent characterization is more suitable.

(Lattice with basis)

A lattice L of rank 𝑚 and dimension 𝑛 is the set of all possible integer linear combinations of 𝑚 linearly independent (over ) vectors 𝑏1,,𝑏𝑚𝑛 (where 𝑚𝑛), i.e.,

L:={𝑧1𝑏1++𝑧𝑚𝑏𝑚:𝑧𝑖}𝑛.(3)

Since {𝑏𝑖}s are linearly independent, its convenient to treat them as basis vectors of L and represent them as columns of a matrix 𝐁:=⎜ ⎜ ⎜ ⎜||𝑎1𝑎𝑚||⎟ ⎟ ⎟ ⎟𝑛×𝑚.

To emphasize that L is generated by 𝐁, we will use the notation L(𝐁). Furthermore, bold uppercase letters written as 𝐂:={𝑐1,,𝑐𝑚} will be treated both as a set as well as a matrix whose columns have some pre-prescribed ordering.

A few additional definitions are listed below, which should largely be familiar to most readers:

Dimension
The dimension of L𝑛 is the dimension of the ambient vector space 𝑛, which is 𝑛.
Rank
Algebraically, a lattice is also a free -module, and the rank of L is the rank of the corresponding -module. Since the rank of a free module is independent of the choice of its basis, rank of L is well defined and independent of the choice of its basis. When a basis 𝐁𝑛×𝑚 is explicitly given, the rank of L(𝐁) is the number of linearly independent columns of 𝐁.
Full Rank
A lattice whose rank is same as its dimension (that is, 𝑚=𝑛) is called a full rank lattice.
Span
The span of a lattice L(𝐁) is the span of 𝐁 as a -vector space, i.e., span(L(𝐁)):=span(𝐁)={𝐁𝑦:𝑦𝑚}

When do two bases 𝐁1 and 𝐁2 generate the same lattice? The following theorem characterizes this precisely:

(Basis Equivalence)

Let 𝐁1,𝐁2𝑛×𝑚 be two matrices with column rank 𝑚𝑛. Then, 𝐁1 and 𝐁2 generate the same lattice L if and only if there exists an integer matrix 𝐔𝑚×𝑚 such that 𝐁2=𝐁1𝐔anddet(𝐔)=±1.

We first show that if L(𝐁2)=L(𝐁1) then 𝐔𝑚×𝑚 such that det(𝐔)=1 and 𝐁2=𝐁1𝐔.

():

Since L(𝐁2)=L(𝐁1), each column {𝑏1,,𝑏𝑚} of 𝐁2 is also an element of L(𝐁1). Therefore, for every 𝑖-th column of 𝐁2, there exists 𝑢𝑖𝑚, such that 𝑏𝑖=𝐁1𝑢𝑖. If we define 𝐔 to be the matrix whose columns are 𝑢𝑖s, then 𝐔𝑚×𝑚 satisfies the relation: 𝐁2=𝐁1𝐔.

By a similar argument, there exists 𝐕𝑚×𝑚 such that 𝐁1=𝐁2𝐕.

Therefore, 𝐁2=(𝐁2𝐕)𝐔=𝐁2(𝐕𝐔)𝐁2(𝐈𝑚𝐕𝐔)=0, where 𝐈𝑚𝑚×𝑚 is the identity matrix, and 0𝑛 is the all zero vector.

Since columns of 𝐁𝑖s are assumed to be linearly independent, the linear transformation 𝑧𝐁𝑖𝑧 is injective, i.e., 𝐁𝑖𝑧=0𝑧=0. Therefore, 𝐁2(𝐈𝑚𝐕𝐔)=0(𝐈𝑚𝐕𝐔)=0𝐕𝐔=𝐈𝑚.

That means, 𝐔 and 𝐕 are inverses of each other! However, 𝐔 and 𝐕 are both integer matrices, and they can be inverses of each other if and only if det(𝐔)=det(𝐕)=±1.

Conversely, if 𝐔𝑚×𝑛 is such that 𝐁2=𝐁1𝐔 and det(𝐔)=±1, then we need to show that L(𝐁2)=L(𝐁1).

():

Given that 𝐔 is an integer matrix, 𝐔𝑚𝑚. Therefore, L(𝐁2)=𝐁2𝑚=(𝐁1𝐔)𝑚=𝐁1(𝐔𝑚)𝐁1𝑚=L(𝐁1).

Since det(𝐔)=±1, 𝐔 is non-singular and 𝐔1 has integer entries (because 1det(𝐔)=±1). Therefore, using the relation 𝐁1=𝐁2𝐔1 and arguments similar as before, we get L(𝐁1)=𝐁1𝑚=(𝐁2𝐔1)𝑚=𝐁2(𝐔1𝑚)𝐁2𝑚=L(𝐁2).

Since L(𝐁2)L(𝐁1) and L(𝐁1)L(𝐁2)L(𝐁1)=L(𝐁2).

Integer matrices whose inverse also happen to be an integer matrix have a special name:

(Unimodular Matrix)

An integer matrix 𝐔𝑚×𝑚 is called Unimodular if det(𝐔)=±1.

Since the determinant of 𝐔 is ±1, and the (𝑖,𝑗)-th cofactor entry of an integer matrix is always an integer, inverse of 𝐔 exists and has integer entries, that is, 𝐔1𝑚×𝑚. Furthermore, if 𝐔 and 𝐕 are unimodular and have the same dimension, then so is 𝐔𝐕 because det(𝐔𝐕)=det(𝐔)det(𝐕)=±1.

To summarize, unimodular matrices form a group under usual matrix multiplication. This group is called General Linear Group over integers and is denoted by GL𝑚(). Unimodular matrices whose determinant is +1 forms a subgroup of GL𝑚() called the Special Linear Group over integers and is denoted by SL𝑚().

While lattices, in general, are defined over reals, for computational problems, only lattices with integer basis vectors (i.e., 𝐁𝑛×𝑚𝑛×𝑚) are of cryptographic interest. Furthermore, the number of bits needed to represent 𝐁 is assumed to be a fixed polynomial in the dimension 𝑛. This restriction is important for understanding the role of dimension in solving lattice problems. In this post, such lattices are called integral lattices.

⚠️ The definition of integral lattices in this post is different from the standard definition (2, Lecture 2). In the standard literature, integral lattices are defined more broadly and are not restricted to integer valued basis vectors. In fact, the only requirement for a lattice to be integral is that 𝑥,𝑦L:𝑥,𝑦. While the definition used in this post trivially satisfies this definition, its not complete. This discrepancy, however, is of no consequence for computational purposes.

Fundamental Parallelepiped

Rank and dimension are crude invariants of a lattice. A more fine-grained invariant is the covolume of a fundamental parallelepiped, which is defined next.

(Fundamental Parallelepiped)

Given a basis 𝐁:={𝑏1,,𝑏𝑚}𝑛×𝑚, the fundamental parallelepiped P(𝐁) is the set of points in 𝑛 that are generated by taking fractional linear combination of the basis vectors, i.e.,

P(𝐁):={𝑡1𝑏1++𝑡𝑚𝑏𝑚:0𝑡𝑖<1;𝑡𝑖}.(4)

The covolume (also called determinant or just volume) of L(𝐁) is the volume of the fundamental parallelepiped P(𝐁), which can be computed from the Gram matrix 𝐁𝐁 as:

covol(L)=covol(P(𝐁))=𝐁𝐁>0.(5)
Same lattice with different bases and distinctly shaped parallelepiped.

In Fig. 1, the region shaded in green is the fundamental parallelepiped associated with the basis vectors 𝐁1:={𝑎1,𝑎2}. Similarly, the region shaded in purple is also the fundamental parallelepiped, albeit associated with 𝐁2:={𝑏1,𝑏2}. So, even though a lattice is independent of its basis, the shape of a fundamental parallelepiped is not.

However, in spite of this superficial difference, the fundamental parallelepiped for any basis 𝐁 has two remarkable properties:

  1. P(𝐁) does not contain any non-zero lattice point, and
  2. The covolume of L is independent of the choice of the basis.

The next two lemmas make these observations precise:

Let L be a lattice of rank 𝑚 and let 𝐂:={𝑐1,,𝑐𝑚:𝑐𝑖L} be 𝑚 linearly independent elements of L. Then, 𝐂 forms a basis of L, if and only if P(𝐂)L={0}.

(): If 𝐂 is a basis of LP(𝐁)L={0}.

By definition, P(𝐂) is the -span of columns of 𝐂 restricted to the half-open set [0,1). The only integer in this half-open set is 0, therefore, P(𝐂)L={𝐂0}={0}.

(): If 𝐂L and P(𝐂)L={0}𝐂 is a basis of L.

Since the rank of L is 𝑚, and 𝑐1,,𝑐𝑚 are linearly independent, each lattice vector 𝑥L can be trivially written as an -linear combination of 𝑐𝑖s, that is: 𝑥L,𝑟1,,𝑟𝑚:𝑥=𝑟1𝑐1++𝑟𝑚𝑐𝑚. Given that 𝑟𝑖s are real, they can be written as sum of integral and fractional parts as: 𝑟𝑖=𝑟𝑖+𝑟𝑖 where 𝑟𝑖 and 𝑟𝑖:=𝑟𝑖𝑟𝑖[0,1)𝑛𝑛. Therefore, 𝑥=𝑚𝑖=1(𝑟𝑖+𝑟𝑖)𝑐𝑖=𝑚𝑖=1𝑟𝑖𝑐𝑖+𝑚𝑖=1𝑟𝑖𝑐𝑖 and 𝑥(𝑚𝑖=1𝑟𝑖𝑐𝑖)=(𝑚𝑖=1𝑟𝑖𝑐𝑖)P(𝐂).

By assumption, each 𝑐𝑖 is an element of L, which means (𝑥𝑚𝑖=1𝑟𝑖𝑐𝑖)L. On the other hand, the right hand side of equation above is an element of P(𝐂). But by assumption, P(𝐂)L={0}, so the equality can only hold if 𝑥𝑚𝑖=1𝑟𝑖𝑐𝑖=0.

Therefore, each 𝑟𝑖 must be an integer and every 𝑥 can be written as an integer linear combination of columns of 𝐂. In short, 𝐂 is a basis of L.

Note: For the previous lemma to hold, it’s crucial that 𝑐𝑖s are a priori known to be elements of L. If 𝐂 is any arbitrary linearly independent set in 𝑛 that satisfies P(𝐂)L={0}, then such a 𝐂 will not form a basis of L.

The most remarkable property of a fundamental parallelepiped is that its covolume is independent of the choice of the basis.

(Volume Invariance)

The covolume of a lattice L is independent of the choice of its basis. That is, if 𝐁1,𝐁2𝑛×𝑚 are two different bases of L, then covol(P(𝐁1))=covol(P(𝐁2)).

Since 𝐁1 and 𝐁2 both generate L, by the Basis Equivalence Theorem, there exists 𝐔𝑚×𝑚 with det(𝑈)=1 such that 𝐁1=𝐁2𝐔. Therefore, det(𝐁1𝐁1)=det(𝐔𝐁2𝐁2𝐔)=det(𝐔)det(𝐁2𝐁2)det(𝐔))=det(𝐁2𝐁2) and covol(P(𝐁1))=covol(P(𝐁2)).

Notice that by construction, the fundamental parallelepiped P(𝐁) is also a strict fundamental domain ̂P (2) whose the coset representatives form a connected convex set. P(𝐁) is connected because the half-open unit interval [0,1) is connected. It’s convex because if 𝑥 and 𝑦 are elements of P(𝐁), then 𝑡[0,1]:𝑡𝑥+(1𝑡)𝑦P(𝐁).

Length of Lattice Vectors


Since lattice points form a repeated pattern in 𝑛, each lattice vector 𝑥L can be collected into an 𝑛-dimensional spherical shell, where each shell contains vectors of the same length. Let S𝑗L denote the 𝑗-th shell and 𝜈𝑗 be its radius. Assuming the index 𝑗 is chosen such that 𝜈0=0 and 𝜈𝑗1<𝜈𝑗 then, the following strict ordering of 𝜈𝑗s is a lattice invariant:

𝜈0<<𝜈𝑗1<𝜈𝑗<𝜈𝑗+1<<.

For all lattices, S0={0} and is called the trivial or zero shell and S𝑗 for 𝑗>0 is called non-trivial or non-zero shell.

Given this setup, there are three natural computational questions one can ask. (See also the aside on bounds of S𝑗.)

  1. Given an index 𝑗, and a lattice L(𝐁) specified by an integral basis 𝐁𝑛×𝑚, find an element of S𝑗. For example, when 𝑗=0 it’s trivial to find an element of S0, since S0={0}. But what about finding an element of S1 or S13? Does the difficulty depend upon the index 𝑗? Does it depend on the choice of 𝐁?
  2. Given 𝑗 and L(𝐁) as before, compute the value of 𝜈𝑗. Here, the problem is not to explicitly find a lattice vector but to only compute the radius 𝜈𝑗. Indeed, if one can find an element 𝑥S𝑗, then one can trivially compute 𝜈𝑗=𝑥. However, there might be other “short cuts” that directly computes 𝜈𝑗 without ever explicitly finding an element of S𝑗.
  3. Given a lattice vector 𝑥L(𝐁) find its position 𝑗 in the partial order, i.e., find 𝑗 such that 𝑥=𝜈𝑗.

When the rank of L is large, solving any of these three problems is computationally challenging. Cryptographically, however, the most relevant problem is to find an element of S1 — which is also called the shortest vector problem. Surprisingly, it is not only hard to find a non-zero shortest vector, but also hard to find even an “approximately short” vector in L.

The next few subsections make these notions precise.

In the rest of this post, as is the case in general literature, shortest vector will always mean shortest non-zero vector.

Shortest Vector Problem

The Shortest Vector Problem (SVP) is one of the most important computational problem in lattice based cryptography. It corresponds to finding an element of S1, given some arbitrary basis 𝐁 of the lattice.

(Search-SVP)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
Output
A non-zero 𝑥L such that 𝑦L{0}:𝑥𝑦.

As usual, there’s an optimization version and a decisional version of this problem which are listed below:

(Opt-SVP)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
Output
The length of the shortest non-zero vector 𝜈1.

Note: If the distance is measured in 𝑝 norm, then the output is allowed to be 𝜈𝑝1 instead of 𝜈1.

(Decisional-SVP)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
A distance threshold 𝑟.
Output
Yes if 𝜈1<𝑟 and No otherwise

Intuitively, it seems that solving SVP should be easy because one of the basis vectors must be the shortest vector. After all, non-zero positive or negative integer multiples of each basis vector can only increase it length, so its linear combination should also just increase the length. This intuition, however, is incorrect! In fact, something quite the opposite it true: For every given lattice L, there exists a basis that’s arbitrarily long. The following theorem makes this precise.

(Unbounded Basis Length)

Let L(𝐁)𝑛×𝑚 be a rank-𝑚 lattice, where 𝑚2. Let 𝜅 be an arbitrary positive constant. Then, there exists a basis 𝐂:={𝑐1,,𝑐𝑚} such that

L(𝐂)=L(𝐁)and𝑖{1,,𝑚}:𝑐𝑖>𝜅.

Note: This result fails for rank-1 lattices. To avoid repetition, the rank of L is assumed to be at least two in the proof. Also, 𝑒𝑗 denotes the 𝑗-th standard basis in the proof. The significance of 𝑒𝑗 stems from the fact that it acts as column selector from a matrix. For example, if 𝐀𝑝×𝑞 and 𝐁𝑞×𝑟 are two compatible matrices and 𝐂=𝐀𝐁 then the 𝑗-th column of 𝐂:={𝑐𝑗} can be expressed as

𝑐𝑗:=𝐀𝐁𝑒𝑗=𝐀(𝐁𝑒𝑗).

Recall from the Basis Equivalence Theorem that two bases 𝐁,𝐂𝑛×𝑚 generate the same lattice L if and only if there exists a unimodular matrix 𝐔GL𝑚()𝑚×𝑚 such that 𝐂=𝐁𝐔 and det(𝐔)=±1. To prove that every L has an arbitrarily large basis 𝐂:={𝑐𝑗} where 𝑐𝑗>𝜅 for all 𝑗, we will explicitly construct 𝐔 such that 𝐂=𝐁𝐔 and 𝑐𝑗>𝜅.

We first analyze how 𝐁 affects the length of vectors in L. Let 𝐆=𝐁𝐁 be the Gram matrix of 𝐁, then

𝑥0𝑚:𝐁𝑥2=𝑥𝐁𝐁𝑥=𝑥𝐆𝑥>0.

Therefore 𝐆 is symmetric positive definite and all its eigenvalues are real and positive 5. Let 𝜆min>0 be the smallest eigenvalue of 𝐆 and let 𝜎:=𝜆min0. By Rayleigh quotients inequality 6 7

𝑥𝐆𝑥𝜆min𝑥2𝐁𝑥𝜎𝑥,(6)

therefore, to find 𝐂 whose columns have norm larger than 𝜅, it suffices to find a unimodular matrix 𝐔SL𝑚() such that

𝑗{1,,𝑚}:𝐔𝑒𝑗𝜅𝜎

because then

𝑐𝑗=𝐂𝑒𝑗=𝐁𝐔𝑒𝑗=𝐁(𝐔𝑒𝑗)𝜎𝐔𝑒𝑗𝜎𝜅𝜎=𝜅

where the highlighted inequality follows from (6).

To find such a 𝐔, consider the following matrix:

𝐀:=⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜1111121111211112⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟𝑚×𝑚.

Notice that det(𝐀)=1, because subtracting the first row of 𝐀 from all the other rows of 𝐀 results in 1 in the diagonal and 0 every where else in the lower triangle. Therefore, 𝐀SL𝑚() and for all 𝑡>0, 𝐀𝑡SL𝑚(). Furthermore, since each entry of 𝐀 is positive and non-zero, each entry of 𝐀𝑡 is also positive and non-zero.

If 𝑥={𝑥𝑖:𝑥𝑖>0}𝑚 is a vector with only non-zero positive entries and 𝛼=min𝑗{𝑥𝑗}>0, then a lower bound on the 𝑖-th entry 𝑦𝑖 of the vector 𝑦:=𝐀𝑥 can be established as follows:

𝑦𝑖=𝑚𝑗=1𝑎𝑖,𝑗𝑥𝑗𝑚𝑗=1𝑥𝑗𝑚𝑗=1𝛼=𝑚𝛼.(7)

Since columns of 𝐀 are non-zero and positive, by induction on 𝑡, each (𝑖,𝑗)-th entry of 𝐀𝑡 must therefore be greater than 𝑚𝑡1 (𝑡1). (To see this, let 𝑥 denote the 𝑗-th column of 𝐀𝑡1 in (7). By induction hypothesis at step 𝑡1(𝑡>1), every entry of the 𝑗-th column of 𝐀𝑡1 is greater than 𝑚𝑡2 and 𝛼=𝑚𝑡2. Therefore, every entry of the vector 𝐀(𝐀𝑡1𝑒𝑗) must be at least 𝑚𝑚𝑡2=𝑚𝑡1, again by (7). But 𝐀(𝐀𝑡1𝑒𝑗)=𝐀𝑡𝑒𝑗, which is the 𝑗-th column of 𝐀𝑡. Therefore, every (𝑖,𝑗)-th entry of 𝐀𝑡 must be at least 𝑚𝑡1.)

To find 𝐔, it suffices to find a value of 𝑡1, say 𝜏, such that

𝑚𝜏>𝜅𝜎𝜏>log(𝜅𝜎+12)log(𝑚)

and defining 𝐔=𝐀𝜏+1 ensures that 𝐂:=𝐁𝐔 is a basis of L(𝐁) and 𝑖{1,,𝑚}:𝑐𝑖>𝜅.

This theorem justifies the earlier remark that for computational problems, the input 𝐁 to the SVP-solver must have its size (in bits) bounded by 𝗉𝗈𝗅𝗒(𝑛).

Shortest Independent Vector Problem

The shortest vector only provides “one dimensional” information about the density or sparsity of a lattice. Computationally, it’s equally interesting to know how dense the lattice is in each dimension. For example, consider the rank-2 lattice generated by the basis matrix

𝐁:=(1002100).

The shortest vector in this lattice is (1,0) and the next 22100 short vectors (i.e., elements of S2,,S21001) lie on the same line in the direction of (1,0). While S1 provides crucial information about this lattice, the rest of S𝑗s up to S21001 are practically of no use.

Successive Minima

To get information about the density of the lattice in other directions, its useful to compute the length across linearly independent vectors. The successive minima of a lattice is an invariant that measures the length of shortest linearly independent vectors in the lattice. It’s denoted by 𝜆𝑖 (where 𝜆1=𝜈1) and defined as follows:

(Successive Minima)

Let L𝑛 be a lattice of dimension 𝑛 and rank 𝑚. Let ――𝔹(0,𝑟):={𝑥:𝑥𝑟}𝑛 denote a closed sphere of radius 𝑟 centered at 0.

For 𝑖{1,,𝑚}, the 𝑖-th successive minima is defined as 𝜆𝑖(L):=inf{𝑟:dim(span(L――𝔹(0,𝑟)))𝑖}

In words: 𝜆𝑖 is the smallest radius of a ball that contains at least 𝑖 linearly independent lattice vectors.

In the previous example, 𝜆1=𝜈1=1 and 𝜆2=2100. Notice that 𝜆2 is distinct from the shell radius 𝜈2. It’s not until shell S2100 that one encounters two linearly independent vectors!

There are interesting existential lower and upper bounds on the length of successive minima. I’ll cover them in some future post.

Computational Problems

We are now ready to define the search and optimization versions of Shortest Independent Vector Problem (SIVP):

(Opt-SIVP)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
Output
Successive minima 𝜆1,,𝜆𝑛 of L.

Note: If the distance is measured in 𝑝 norm, the output is allowed to be 𝜆𝑝𝑖 instead of 𝜆𝑖s.

A potential decisional version is not mentioned here because it’s primarily interesting in the approximation algorithm setting.

Approximately Optimal Solutions and Gap Problems

Both Search-SVP and Search-SIVP are known to be 𝖭𝖯-hard. (Search-SVP under randomized reductions 8!) In cryptography, however, approximate solutions to an otherwise computationally hard problem can be just as effective in breaking the cryptosystem as an exact solution. It’s therefore just as important to consider approximate solutions as it is to consider exact solutions.

To understand this, consider the familiar example of factoring. There is no known polynomial time algorithm to factor 𝑁=𝑝𝑞. But suppose there were a polynomial time heuristic algorithm which on input 𝑁 were to output an integer 𝑟, which was approximately equal to 𝑝+𝑞. That is, the output 𝑟 came with the guarantee that

𝑟<𝑝+𝑞<𝛼𝑟;𝛼>1

for a large fraction of integers. Essentially, 𝛼 measures how well the heuristic algorithm can approximate 𝑝+𝑞 when it works. Can such an algorithm be useful for breaking RSA cryptosystem?

The answer to this, of course, depends upon 𝛼. If the value of 𝛼 is a polynomial in the bit-length of 𝑁, i.e., 𝛼𝗉𝗈𝗅𝗒(log2𝑁), then one can enumerate all integers 𝑖 in the range 𝑟 and 𝛼𝑟 in polynomial time and check if Δ:=𝑖24𝑁 is a perfect square. If Δ turns out to be perfect square, then 𝑁 can be trivially factored. Such a heuristic algorithm will be devastating to RSA like cryptosystems if the heuristics works on a large fraction of log2(𝑁)-bit integers!

On the other hand, if 𝛼𝗉𝗈𝗅𝗒(log2𝑁) then one cannot possibly enumerate all values of 𝑖{𝑟,,𝛼𝑟} in polynomial time and this specific line of attack will not be fruitful. However, RSA people should still sleep with their one eye open, because nothing rules out the existence of another heuristic algorithm which on input 𝑁, approximates the value of some function 𝑓(𝑝,𝑞), where the knowledge of 𝑓(𝑝,𝑞) could speed up factoring.

In short, for cryptographic purposes, it’s not enough that finding an exact solution is infeasible, but it’s equally important that the problem be hard to approximate in polynomial time! But what does an approximate solution to SVP and SIVP actually mean? It’s defined (somewhat informally) below:

(𝛾-approximate solutions)

Let 𝑎L𝑛 be a shortest non-zero vector in L. A 𝛾-approximate solutions to SVP consist of those lattice vectors 𝑥L which are at most 𝛾 times longer than the optimal 𝜆1=𝑎, that is

SVP𝛾:={𝑥:𝑥L{0}and𝑥𝛾(𝑛)𝜆1}

where 𝛾(𝑛)1 is called the approximation factor of the algorithm. Similarly, a set of linearly independent lattice vectors {𝑥1,,𝑥𝑛}L is a 𝛾-approximate solution to SIVP if

𝑖{1,,𝑛}:𝑥𝑖𝛾(𝑛)𝜆𝑛,

where 𝜆𝑛 is the 𝑛-th successive minima.

𝛾 measures how well an approximation algorithm performs compared to the optimal. Its value is a property of the algorithm itself and is independent of any lattice instance L(𝐁). We will use 𝛾(𝑛) to emphasize how well the approximation algorithm performs as a function of the lattice dimension.

(Complexity of SVP𝛾)

Depending upon the approximation factor 𝛾(𝑛), the difficulty of solving SVP𝛾 spans across a wide range of complexity classes — from 𝖭𝖯-hard when 𝛾𝑂(1), to 𝖭𝖯𝖼𝗈𝖭𝖯 when 𝛾𝗉𝗈𝗅𝗒(𝑛), to 𝖯 when 𝛾𝑂(2𝑛) (due to LLL). All these results will be proved in a series of future post.

The next two sections formally state the search, and decisional versions of these approximation problems.

𝛾-approximate Shortest Vector Problems

As before, let 𝛾(𝑛)1 be an approximation factor and let 𝜆1=𝜈1 be the length of the shortest non-zero vector. The search version of the approximation problem is called SVP𝛾 and is defined as follows:

(Approx-SVP𝛾)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
Output
A non-zero 𝑥L such that 𝑦L{0}:1𝛾(𝑛)𝑥𝑦, or equivalently, 𝑥L0 such that 𝑥𝛾(𝑛)𝜆1.

The decisional version of Approx-SVP𝛾 is called GapSVP𝛾. GapSVP𝛾 asks for an algorithm to distinguish between two types of lattices:

  • lattices whose shortest vectors are shorter than a threshold 𝑟, and
  • lattices whose shortest vectors are longer than 𝛾(𝑛)𝑟

In those cases, where the shortest vector 𝜆1 happens to fall between 𝑟 and 𝛾𝑟, the algorithm is allowed to output anything — including different outputs even for the same input, or not terminate at all! More formally, GapSVP𝛾 if defined as follows:

(GapSVP𝛾)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
A distance threshold value 𝑟.
Output
Yes if 𝜆1𝑟,
No if 𝜆1>𝛾(𝑛)𝑟,
Undefined, otherwise.

𝛾-approximate Shortest Independent Vector Problems

The approximate and gap versions of SIVP are defined analogously to SVP. Recall that 𝜆𝑖 denotes the 𝑖-th successive minima of linearly independent vectors in L.

(Approx-SIVP𝛾)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
Output
𝑛 linearly independent vectors {𝑥1,,𝑥1}L such that 𝑖{1,,𝑛}:𝑥𝑖𝛾(𝑛)𝜆𝑛.

The GapSIVP𝛾 problem asks to distinguish between the following two cases:

  • lattices whose 𝑛-th successive minima is smaller than a threshold 𝑟, and
  • lattices whose 𝑛-th successive minima is longer than 𝛾(𝑛)𝑟.

More formally,

(GapSIVP𝛾)
Input
A non-singular basis matrix 𝐁𝑛×𝑛 representing a full-rank integral lattice L.
A distance threshold value 𝑟.
Output
Yes if 𝜆𝑛𝑟,
No if 𝜆𝑛>𝛾(𝑛)𝑟,
Undefined, otherwise.

Equivalence of definitions


Finally, the following theorem states and proves that the basis-independent and basis-dependent definitions of a lattice are equivalent:

(-span of {𝑏1,,𝑏𝑚} Discrete Subgroup of 𝑛)

A subset L𝑛 is a discrete subgroup of 𝑛 if and only if there exist 𝑚 linearly independent vectors 𝐁:={𝑏1,,𝑏𝑚} (where 0<𝑚𝑛) such that L is the set of all integer linear combinations of 𝑏𝑖s.

Recall from (1) that a set L𝑛 is discrete if there exists a ball 𝔹(𝑥,𝜖)𝑛 of radius 𝜖>0, such that 𝑥L:𝔹(𝑥,𝜖)L={𝑥}.

We first prove that given any arbitrary matrix 𝐁𝑛×𝑚 of column-rank 𝑚, it’s -span is a subgroup of 𝑛 that happens to be discrete.

(): -span of 𝐁 Discrete Subgroup:

The -span of 𝐁 is clearly a subgroup of 𝑛 because for any 𝑧1,𝑧2𝑚, 𝐁𝑧1𝐁>𝑧2=𝐁(𝑧1𝑧2)𝐁𝑚.

To show discreteness, given 𝐁, we will compute a radius 𝜖 such that for any 𝑥𝐁𝑚, the ball 𝔹(𝑥,𝜖) contains no other element of 𝐁𝑚 apart from 𝑥.

Let 𝑥=𝐁𝑢 and 𝑦=𝐁𝑣 be two distinct lattice points in 𝑛 for some 𝑢,𝑣𝑚, and let 𝑧:=𝑢𝑣. Since 𝑥 and 𝑦 are distinct, 𝑧0. The distance between 𝑥 and 𝑦 is 𝑥𝑦=𝐁(𝑢𝑣)=𝐁𝑧>0. We will prove that this distance has a lower bound.

Consider the action of the linear transformation 𝜏:𝑎𝐁𝑎 restricted to the unit sphere 𝑆𝑚1:={𝑎𝑚:𝑎=1}. Let 𝑇:=𝐁𝑆𝑚1𝑛 and let 𝜖 be the length of the smallest vector in 𝑇, that is 𝜖=>min𝑎=1𝐁𝑎.

This minimum is well defined because the unit sphere 𝑆𝑚1 is compact, and the map 𝑎𝐁𝑎 is continuous. (NOTE: 𝑎 is an element of 𝑚 not 𝑚.) Furthermore, since columns of 𝐁 are linearly independent, 𝜏 is injective and maps non-zero elements of 𝑚 to non-zero elements of 𝑛. Since 0𝑆𝑚1, 0𝑇 and therefore 𝜖>0.

Back to lattices. In order to prove that for distinct lattice points 𝑥 and 𝑦, 𝑥𝑦=𝐁𝑧>0, notice that 𝑧𝑚 is non-zero. Therefore, 𝑧 can be written as a scaling of a unit vector 𝑢𝑆𝑚1 as 𝑧=𝑧𝑢 where 𝑢=𝑧𝑧𝑚. Therefore, 𝐁𝑧=𝐁(𝑧𝑢)=>𝑧𝐁𝑢𝑧>𝜖𝜖>0 where we have used the two inequalities:

  • 𝑎𝑆𝑚1:𝐵𝑎𝜖, and
  • the minimum norm of a non-zero integer vector 𝑧𝑚 is 1.

Therefore, a ball of radius 𝜖=𝜖2 around 𝑥𝐁𝑚 cannot contain any other lattice point since its smaller than the shorted distance between any two distinct lattice point.

Next we prove the converse.

(): If L is Discrete Subgroup of 𝑛 A basis 𝐁 of L exists

Let L𝑛 be a discrete subgroup of 𝑛 and let 𝑉:=𝗌𝗉𝖺𝗇(L) be the subspace of 𝑛 spanned by L. Let dim𝑉:=𝑚𝑛. We need to show that there exists a set of linearly independent vectors 𝑏1,,𝑏𝑚𝑛 such that L=𝑏1++𝑏𝑚.

Choose 𝑚 arbitrary linearly independent vectors 𝐂:={𝑐1,,𝑐𝑚:𝑐𝑖L} and consider the following set

𝐿:=𝑐1++𝑐𝑚.

Since 𝐿 is the set of all integer linear combinations of 𝑐𝑖s, 𝐿 is a lattice. Futhermore, 𝑐𝑖s were chosen from L, therefore 𝐿 is a subset of L and therefore a subgroup of L because is closed under addition.

Using a standard result in topology 9, it can be shown that if 𝐻 is some discrete subgroup of 𝑛 and 𝑆𝑛 is some compact set, then 𝐻𝑆 is finite. (This result only holds if 𝐻 is a discrete subgroup and not just a discrete subset.) Consider the fundamental parallelepiped P(𝐂) of 𝐿. This set is bounded (every element of P(𝐂) falls within an 𝑛-dimensional sphere of radius 𝑟𝐂:=𝑚𝑖=0𝑐𝑖, centered at 0) and it’s closure ――――P(𝐂) is compact. Therefore L――――P(𝐂) is finite, and hence LP(𝐂) is finite.

Let 𝑥L be an arbitrary element, then there exist real numbers 𝑟1,,𝑟𝑚 such that 𝑥=𝑖𝑟𝑖𝑐𝑖. Let 𝑟𝑖=𝑟𝑖+𝑟𝑖, then 𝑥=𝑖𝑟𝑖𝑐𝑖+𝑖𝑟𝑖𝑐𝑖𝑥𝑖𝑟𝑖𝑐𝑖=𝑖𝑟𝑖𝑐𝑖. Since 𝑖𝑟𝑖𝑐𝑖 is an element of 𝐿, which is a subgroup of L implies 𝑥𝑖𝑟𝑖𝑐𝑖 is also and element of L. However, by definition 𝑖𝑟𝑖𝑐𝑖 is an element of the fundamental parallelepiped P(𝐂). Therefore 𝑥𝑖𝑟𝑖𝑐𝑖 is an element of both L and P(𝐂), that is an element of LP(𝐂). Therefore, L=𝑝LP(𝐂)𝐿+𝑝 and 𝐿 has a finite index in L. Since L is torsion free, by the structure theorem of finitely generated abelian group, L is a free finitely generated group, and there must exist elements 𝑏1,,𝑏𝑠𝑛 such that L=𝑏1++𝑏𝑠. But 𝐿 has rank 𝑚, therefore 𝑠𝑚. On the other hand, the dimension of span(L) is 𝑚, therefore 𝑠𝑚𝑠=𝑚. Therefore L is a lattice of rank 𝑚.

For the basis-free definition to be equivalent to the basis-dependent definition, it’s crucial that {𝑏𝑖}s are linearly independent over and not just . That is, not every free -module of is a lattice — the geometry is important.

To see why, consider the set {1,2}. This set is linearly independent over because 𝛼,𝛽:𝛼+𝛽2=0𝛼=𝛽=0.

On the other hand, for all 𝜖>0, there exists 𝛾,𝛿 such that 0<|(𝛾+𝛿2)(𝛼+𝛽2)|<𝜖. (One can prove this claim using Dirichlet’s approximation theorem.) Therefore, even though {1,2} is linearly independent over , it does not generate a lattice in .

  1. J. Y. Cai, “Some Recent Progress on the Complexity of Lattice Problems,” in Electronic Colloquium on Computational Complexity, Report No. 6 (1999). 

  2. N. D. Elkies, “Rational Lattices and their Theta Functions,” Harvard Math 272y: Rational Lattices and their Theta Functions, Fall 2019 lecture notes 2

  3. H. Iwaniec and E. Kowalski, “Analytic Number Theory,” Colloquium Publications of American Mathematical Society, 2004.  2

  4. M. Jenssen, F. Joos, and W. Perkins, “On kissing numbers and spherical codes in high dimensions,” in Advances in Mathematics, 335, (2018), 307-321 2

  5. G. Strang, “Positive Definite Matrices and Minima,” in MIT OCW Lecture Notes on Linear Algebra, Lecture 21, Fall 2011

  6. J. Kelner and A. Wibisono, “Courant-Fischer and Rayleigh Quotients,” in MIT OCW Lecture Notes on Algorithmist’s Toolkit, Lecture 03, Fall 2009

  7. D. Coppersmith, J. Hoffman, and U. G. Rothblum, “Inequalities of Rayleigh Quotients and Bounds on the Spectral Radius of Nonnegative Symmetric Matrices,” in Linear Algebra and its Applications, 263:201-220 (1997), Elsevier Science Inc. 

  8. M. Ajtai, “The Shortest Vector Problem in 2 is 𝖭𝖯-hard for randomized reductions,” (extended abstract). In STOC, pages 10–19. 1998. 

  9. J. Munkres, “Topology a first course,” Web Access