Skip to content
Table of Contents

In complexity theory, we say a problem is hard if it it hard for the worst-case instance; while in cryptography, a problem is deemed hard only if it is hard for the average-case instance (i.e., for all but a negligible fraction of instances).

Basics ​

Lattice ​

Definition of a Lattice

Let Rm be the m-dimensional Euclidean (inner product) space. A lattice in Rm is the set

L(b1,...,bn)={∑i=1nzibi∣zi∈Z}

of all integer linear combinations of the basis vectors b1,...,bn, where n≤m is the rank of the lattice, and m is the dimension of the lattice.

Domain of Lattice and Vector Space

Note that the vector (Euclidean) space is defined over field R, but the lattice itself is defined over the integers Z. I think this is a fundamental difference between lattice and general subspace. Because lattice is discrete, it is only restricted to "integer span" of the basis vectors, whereas subspace is defined over the entire field R and can take arbitrary linear combinations of the basis vectors, which makes it continuous.


Representation of a Lattice

There are many different ways to represent a lattice, depending on the choice of basis vectors. For example, in 2-dimensional space R2, a lattice can have different bases that generate the same set of points.

One BasisAnother Basis
A latticeA different basis

Where the left image shows a lattice generated by basis,

b1=(12),b2=(1−1)

and the right image shows a lattice generated by another basis,

b1′=b1+b2=(21),b2′=2b1+b2=(33)

We see that, the (intersection) points of the two lattices coincide, meaning that both bases generate the same set of lattice points in R2.

Why do different bases generate the same lattice?

One question here : is there any relationships between these bases that generate the same lattice? The answer is yes, if they are related by a unimodular transformation, i.e., an integer matrix with determinant ±1. That is,

B′=UB,where U∈Zn×n and det(U)=±1.


We have already noticed that a lattice is defined over the integers Z which is discrete, whereas the Euclidean space is defined over the field R which is continuous. Recall that in linear algebra, the span(B) is independent of the choice of basis B, meaning that any basis that generates the same subspace will have the same span. For lattices, different bases can also generate the same lattice.

Fact 1.1 - Span of Lattice Bases

If B and B′ generate the same lattice, then span(B)=span(B′).

Proof

To show span(B)=span(B′), we need to prove two inclusions:

  1. span(B′)⊆span(B)
  2. span(B)⊆span(B′)

Regarding (1), since B′=BU where U is invertible, basis B′ is a linear combination of the columns of B, meaning that any linear combination of the columns of B′ can also be expressed as a linear combination of the columns of B. Therefore, span(B′)⊆span(B).

Regarding (2), since B=B′U−1 where U is invertible, basis B is a linear combination of the columns of B′, meaning that any linear combination of the columns of B can also be expressed as a linear combination of the columns of B′. Therefore, span(B)⊆span(B′).

Completing the proof.


Clearly, we see :

  1. In this case, lattice L(B) and vector space span(B) are closely related, but they are not the same. The lattice consists of discrete points, while the vector space contains all linear combinations of the basis vectors with real coefficients .

  2. Any set of n linearly independent vectors from lattice L(B) forms a basis for vector space span(B). But this set does not necessarily generate the entire lattice L(B).

    For example, two vectors from a lattice Λ=L(b1,b2),

    b1′=b1+b1=[2,1]⊤b2′=b1−b2=[0,3]⊤

    are independent, they are surely able to form a basis for vector space span(b1,b2)=span(Λ). But they cannot generate the lattice Λ since b1=12(b1′+b2′), not an integer combination of b1′ and b2′.

NOTE

So what is the characteristic of vectors that can form a lattice basis? How to remove the non-integer linear combinations from consideration?

Fact 1.2 - Valid Lattice Basis

Given a lattice L(B) with basis B=[b1,...,bn], and n linearly independent lattice vectors,

B′=[b1′,...,bn′],bi′∈L(B)

We define

P(B′)={∑i=1nxibi′:0≤xi<1}

as the half-open parallelepiped generated by the basis B′. Note that the coefficients xi are restricted to the interval [0,1), which ensures that each point in P(B′) is uniquely represented. Then B′ is a lattice basis if and only if P(B′) does not contain any lattice vector (points) other than the zero vector (origin point).

Half-open parallelepiped


NOTE

If B′ is not a lattice basis for L(B), i.e., L(B′)≠L(B). Since it is still linearly independent, so it also generates a lattice L(B′) which is different from L(B). But, what is the relationship between L(B) and L(B′)?

Fact 1.3 - Sublattice

Sublattice is an natural concept after half-open parallelepiped, if there are lattice points from L(B) in the half-open parallelepiped, which implies a inclusion relationship :

L(B′)⊆L(B).

If L(B′)⊊L(B), then we call L(B′) a proper sublattice of L(B).


NOTE

As we know the lattice basis vector is defined over R. For the convenience of computation, we often consider lattice basis vectors over Z, i.e., integer lattice basis vectors.

Fact 1.4 - Lattice as a Subgroup

It is obvious that a lattice L(B) has property of addition closure and contains the zero vector, i.e.,

0∈L(B),and∀u,v∈L(B),u+v∈L(B).

Moreover, for any u∈L(B), its additive inverse −u is also in L(B). Therefore, a lattice L(B) forms a subgroup of the additive group (Rn,+).


Determinant ​

Definition of Determinant of a Lattice

The determinant of a lattice L(B), denoted as det(L(B)), geometrically is the volume of the fundamental parallelepiped generated by the basis B, i.e.,

det(L(B))=Vol(P(B)).

Furthermore, the determinant of a lattice is independent of the choice of basis. That is, if B and B′ are two different bases of the same lattice L(B), L(B)=L(B′), then

det(L(B))=det(L(B′)).

Intuitively, the determinant is the shaded area of the fundamental parallelepiped generated by the basis B shown in the figures above.

A natural question is how to compute the determinant of a lattice given one basis? There are two solutions for this.

Gram-Schmidt Process

The natural way is to :

  1. compute the orthogonal basis B∗=(b1∗,...,bn∗) corresponding to the given basis B=(b1,...,bn) using the Gram-Schmidt process.
  2. take the product of the norms of the orthogonal basis vectors to obtain the determinant:det(L(B))=∏i=1n∥bi∗∥,where bi∗ are the Gram-Schmidt orthogonalized vectors of the basis B.

Take the figure 1.1 as an example, after applying the Gram-Schmidt process to the basis vectors, we obtain :

b1∗=b1b2∗=b2−⟨b2,b1∗⟩⟨b1∗,b1∗⟩b1∗

where ⟨b1∗,b2∗⟩=0. Even though the "shaded" area is a parallelogram, after being orthogonalized, it is a rectangle with area equal to the product of two orthogonal edges which corresponds to the product of the norms of the orthogonalized vectors.


NOTE

By Gram-Schmidt orthogonalization, we can obtain a orthogonal basis B∗ from any given basis B, if B is a lattice basis, i.e., B∈L(B). It is obvious that some orthogonal basis vector bi∗ might not be in the lattice space anymore, i.e., b∗∉L(B), since the coefficients ⟨bi,bj∗⟩⟨bj∗,bj∗⟩ might not be an integer.

orthogonal basis

We see that B∗=(b1∗,b2∗) is not a lattice basis since one point from L(B) does lie in L(B∗), which implies that L(B∗)≠L(B).


Determinant of Lattice Basis Matrix

In linear algebra, we know that, if B=(b1,...,bn) is a basis of span(B), then the determinant of the matrix formed by the basis vectors is equal to the product of the norms of the Gram-Schmidt orthogonalized vectors and a sign factor:

det(B)=(−1)σ⋅∏i=1n∥bi∗∥

If B is a lattice basis, then the determinant of the lattice L(B) is equal to the absolute value of the determinant of the basis matrix:

det(L(B))=∏i=1n∥bi∗∥=|det(B)|=BTB

This is an alternative way to compute the determinant of a lattice given its basis, instead of computing every orthogonal vectors sequentially.


Successive Minima ​

Let L(B) be a lattice generated by the basis B with rank n. The i-th successive minimum λi(L(B)) is defined as:

λi(L(B))=inf{r>0:dim⁡(span(L(B)∩B(0,r)))≥i}

Intuitively, the i-th successive minimum represents the smallest radius of a ball centered at the origin that contains at least i linearly independent lattice vectors.

More specially, when i=1, the first successive minimum λ1(L(B)) corresponds to the length of the shortest non-zero lattice vector in L(B) :

λ1(L(B))=min{∥v∥:v∈L(B)∖{0}}

NOTE

The successive minima λi(L(B)) is independent of the choice of the lattice basis B, but the orthogonal basis obtained from Gram-Schmidt orthogonalization does have a relationship with the first successive minimum λ1(L(B)).


Fact 1.5 - First Successive Minimum as an Upper Norm Bound of Lattice Basis

Let B a lattice basis, and let B∗ be the corresponding Gram-Schmidt orthogonalized basis. Then, the first successive minimum λ1(L(B)) provides an upper bound for the norms of the vectors in B∗:

minj∥bj∗∥≤λ1(L(B)),∀i=1,...,n
Proof

For simplicity, we only consider a basis of a two-dimensional lattice, i.e., B=(b1,b2). The Gram-Schmidt orthogonalized basis is B∗=(b1∗,b2∗). By definition, we have:

b1∗=b1,b2∗=b2−⟨b2,b1∗⟩∥b1∗∥2b1∗

Suppose any non-zero lattice vector v=c1b1+c2b2 where c1,c2∈Z. Since span(b1∗,b2∗)=span(b1,b2), any lattice vector can also be expressed as a linear combination of the Gram-Schmidt orthogonalized basis vectors:

v=c1b1∗+c2⋅(b2∗+⟨b2,b1∗⟩∥b1∗∥2b1∗)=(c1+c2⟨b2,b1∗⟩∥b1∗∥2)b1∗+c2b2∗

Two cases involved:

(a) If c2≠0, v's component perpendicular to orthogonal basis vector b1∗ is given by:

v⊥b1∗=c2b2∗

thus we have ∥v∥≥∥v⊥b1∗∥=|c2|∥b2∗∥≥∥b2∗∥.

(b) If c2=0, v is parallel to b1∗, thus we have ∥v∥≥∥v⊥b2∗∥=|c1|∥b1∗∥≥∥b1∗∥.

This implies for any non-zero lattice vector v, we have:

∥v∥≥b1∗ or ∥v∥≥b2∗

which is equivalent with

∥v∥≥minj∥bj∗∥

More specially, for the first successive minimum λ1(L(B)) which is the smallest non-zero lattice vector norm, we have:

λ1(L(B))≥minj∥bj∗∥

Minkowski's Theorem ​

Blichfeldt's Theorem

Let Λ be a lattice, and let S⊂span(Λ) be a measurable set with volume vol(S)>det(Λ). Then, there exist two distinct points x,y∈S such that x−y∈Λ.

Blichfeldt Theorem

Proof

Let Λ=2Z be the lattice of even integers on x-axis, and P(Λ)=[0,2) is a fundamental parallelepiped of the lattice (with only one basis vector 2). Consider a measurable set S=[0,3)⊆span(Λ)=R, which ensures vol(S)=3>det(Λ)=2, then we need to show that exists x,y∈[0,3) such that x−y∈Λ.


Note that lattice Λ is a set of discrete even points on x-axis, and S is real interval on x-axis. A few facts on this :

  1. The entire vector space R=span(Λ) is partitioned into disjoint translates of the fundamental parallelepiped P(Λ), i.e., Λ+P(Λ)=R :

    R=span(Λ)=⋃x∈Λ(x+P(Λ))=[0,2)∪[2,4)∪[4,6)∪…
  2. The projections on these disjoint translates of the fundamental parallelepiped cover the entire set S. That is,

    S=⋃x∈Λ(S∩(x+P(Λ)))

    In our example, S=S0+S2=[0,2)+[2,3).

  3. vol(S)>det(Λ) ensures that there exist at least two points in S that differ by a lattice vector, we can use the pigeonhole principle to guarantee this. In our example,

    vol(S)=vol(S0)+vol(S2)=2+1=3>det(Λ)=2

    Therefore, there must exist two points x∈S0 and y∈S2 such that x−y∈Λ. For instance, x=0.5∈S0 and y=2.5∈S2, then x−y=−2∈Λ.


Convex Body Theorem

For any lattice Λ of rank n and any convex set S⊂span(Λ) symmetric about the origin, if vol(S)>2ndet(Λ), then S contains a non-zero lattice point of Λ.

Convex Body Theorem

Proof

Consider another set S′={x∈Rn∣2x∈S}, whose volume :

vol(S′)=12nvol(S)

Since vol(S)>2ndet(Λ), it follows that

vol(S′)=12nvol(S)>det(Λ)

By Blichfeldt's Theorem, there exist two distinct points x,y∈S′ such that x−y∈Λ. Since S′ is a scaled version of S, we have 2x,2y∈S. Since S is symmetric, then −2x,−2y∈S, and since S is also convex, so the mid-point 2x+(−2y)2=x−y∈S. Therefore, S contains a non-zero lattice point of Λ.


By observing the figure above, we can see that :

  1. The symmetric convex S=B(0,ndet(Λ)1/n) be a balll of radius ndet(Λ)1/n centered at the origin.
  2. vol(S)>2ndet(Λ) always holds because it contains an n-dimensional hypercube with edges of length 2det(Λ)1/n. So vol(S) always exceeds (2det(Λ)1/n)n=2ndet(Λ).
  3. By Minkowski's theorem there exists a non-zero lattice point in S, that is v∈L(B)∖{0}, and ∥v∥<ndet(Λ)1/n. Therefore, the shortest nonzero lattice has length :λ1(Λ)≤∥v∥<ndet(Λ)1/n

By now, we have established an upper bound on the length of the shortest nonzero lattice vector in terms of the determinant of the lattice and the dimension.


Minkowski's Second Theorem

For any rank n lattice L(B), the successive minima (in the l2 norm) λ1,...,λn satisfy :

(∏inλi)1/n<ndet(L(B))1/n

Minkowski's Second Theorem

Proof Logic

The equivalence of the goal is :

∏inλi<(n)ndet(L(B))

we will prove it by contradiction. We assume that

∏inλi≥(n)ndet(L(B))

then we need to find a contradiction after some inductions.


As shown in above figure, for simplicity we consider n=2, a lattice Λ=L(B) with basis B=(b1,b2) where ∥b1∥≤∥b2∥, and successive minima λ1=∥b1∥,λ2=∥b2∥.

Let S⊆span(L(B)) be an open (real) circle with unit radius in the real space of span(Λ). Define a transformation that scale the horizontal axis of circle S by a factor λ1, and the vertical axis by a factor λ2. Then we obtain an ellipse T(S):

T((x,y))=(λ1x,λ2y),(x,y)∈S

If we can find a non-zero lattice point whose length is less than λ2=∥b2∥ inside the ellipse T(S), then it would contradict the definition of successive minima. This is the key idea behind our proof.


It is clear that their volumn is scaled by the product of the scaling factors along each axis:

vol(T(S))=λ1⋅λ2⋅vol(S)

(In 2D, the volume corresponds to the area of the ellipse, vol(T(S))=πλ1λ2 and vol(S)=π). By our assumption, λ1⋅λ2≥(2)2det(L(B))=2det(L(B)), and vol(S)=π>2, we have:

vol(T(S))>(2vol(S))⋅det(L(B))>22det(L(B))

Since the ellipse T(S) is convex and symmetric with respect to the origin, all conditions of Minkowski's convex body theorem are satisfied, by Minkowski's convex body theorem, the ellipse T(S) must contain a non-zero lattice point of L(B). For example, the point ts∈T(S) is a lattice point, and it is scaled by T from point s∈S.


Let s=(x,y), then ts=(λ1x,λ2y), then we have :

|∥ts∥2=∥(λ1x,λ2y)∥2=(λ1x)2+(λ2y)2

By successive minima, λ1≤λ2 and the length of s is at most 1 (since s lies on the unit circle), we have :

∥ts∥2=(λ1x)2+(λ2y)2≤λ22(x2+y2)<λ22

Thus ∥ts∥<λ2 breaks the successive minima condition, leading to a contradiction.


Computational Problems ​

Asymptotic Tightness of Minkowski's Bound

Minkowski's bound is asymptotically tight in worst case.

That means for some lattice, the actual λ1 is propotional to the Minkowski's bound by some factor 0<c<1:

λ1≈c⋅ndet(L)1/n

In this case, when n grows, the Minkowski's bound also grows, and the actual λ1 grows proportionally, but by a smaller factor c. But the ratio between the actual λ1 and the Minkowski's bound remains unchanged.

Same Lattice Problems ​

The problem of finding a lattice vector of length λ1 is known as the Shortest Vector Problem (SVP).


Given a lattice vector t, finding a nonzero lattice vector such that ∥v−t∥ is minimized is known as the Closest Vector Problem (CVP).


Approximate SVP

Given a basis B∈Zm×n, find a nonzero lattice vector Bx where x∈Zn∖{0}, such that ∥Bx∥≤γ⋅∥By∥ for any other nonzero lattice vector By.


Approximate CVP

Given a basis B∈Zm×n and a target vector t∈Rm, find a lattice vector Bx where x∈Zn, such that ∥Bx−t∥≤γ⋅∥By−t∥ for any other lattice vector By.


Published with GitHub Pages.