152
The Mathematics of Lattices Daniele Micciancio January 2020 Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 1 / 43

The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Mathematics of Lattices

Daniele Micciancio

January 2020

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 1 / 43

Page 2: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Outline

1 Point Lattices and Lattice Parameters

2 Computational ProblemsCoding Theory

3 The Dual Lattice

4 Q-ary Lattices and Cryptography

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 2 / 43

Page 3: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

1 Point Lattices and Lattice Parameters

2 Computational ProblemsCoding Theory

3 The Dual Lattice

4 Q-ary Lattices and Cryptography

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 3 / 43

Page 4: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

(Point) Lattices

Traditional area of mathematics

Lagrange Gauss Minkowski

Key to many algorithmic applications

Cryptanalysis (e.g., breaking low-exponent RSA)Coding Theory (e.g., wireless communications)Optimization (e.g., Integer Programming with fixed number ofvariables)Cryptography (e.g., Cryptographic functions from worst-casecomplexity assumptions, Fully Homomorphic Encryption)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 4 / 43

Page 5: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

(Point) Lattices

Traditional area of mathematics

Lagrange Gauss Minkowski

Key to many algorithmic applications

Cryptanalysis (e.g., breaking low-exponent RSA)Coding Theory (e.g., wireless communications)Optimization (e.g., Integer Programming with fixed number ofvariables)Cryptography (e.g., Cryptographic functions from worst-casecomplexity assumptions, Fully Homomorphic Encryption)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 4 / 43

Page 6: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattice Cryptography: a Timeline

1982: LLL basis reduction algorithm

Traditional use of lattice algorithms as a cryptanalytic tool

1996: Ajtai’s connection

Relates average-case and worst-case complexity of lattice problemsApplication to one-way functions and collision resistant hashing

2002: Average-case/worst-case connection for structured lattices.Key to efficient lattice cryptography.

2005: (Quantum) Hardness of Learning With Errors (Regev)

Similar to Ajtai’s connection, but for injective functionsWide cryptographic applicability: PKE, IBE, ABE, FHE.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 5 / 43

Page 7: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattices: Definition

e1e2

The simplest lattice in n-dimensionalspace is the integer lattice

Λ = Zn

b1

b2

Other lattices are obtained byapplying a linear transformation

Λ = BZn (B ∈ Rd×n)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 6 / 43

Page 8: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattices: Definition

e1e2

The simplest lattice in n-dimensionalspace is the integer lattice

Λ = Zn

b1

b2

Other lattices are obtained byapplying a linear transformation

Λ = BZn (B ∈ Rd×n)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 6 / 43

Page 9: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattices and Bases

A lattice is the set of all integer linear combinations of (linearlyindependent) basis vectors B = b1, . . . ,bn ⊂ Rn:

L =n∑

i=1

bi · Z

= Bx : x ∈ Zn

The same lattice has many bases

L =n∑

i=1

ci · Z

Definition (Lattice)

A discrete additive subgroup of Rn

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 7 / 43

Page 10: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattices and Bases

A lattice is the set of all integer linear combinations of (linearlyindependent) basis vectors B = b1, . . . ,bn ⊂ Rn:

L =n∑

i=1

bi · Z = Bx : x ∈ Zn

The same lattice has many bases

L =n∑

i=1

ci · Z

Definition (Lattice)

A discrete additive subgroup of Rn

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 7 / 43

Page 11: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattices and Bases

A lattice is the set of all integer linear combinations of (linearlyindependent) basis vectors B = b1, . . . ,bn ⊂ Rn:

L =n∑

i=1

bi · Z = Bx : x ∈ Zn

The same lattice has many bases

L =n∑

i=1

ci · Z

Definition (Lattice)

A discrete additive subgroup of Rn

c1

c2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 7 / 43

Page 12: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Lattices and Bases

A lattice is the set of all integer linear combinations of (linearlyindependent) basis vectors B = b1, . . . ,bn ⊂ Rn:

L =n∑

i=1

bi · Z = Bx : x ∈ Zn

The same lattice has many bases

L =n∑

i=1

ci · Z

Definition (Lattice)

A discrete additive subgroup of Rn

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 7 / 43

Page 13: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Determinant

Definition (Determinant)

det(L) = volume of the fundamental region P =∑

i bi · [0, 1)

Different bases define different fundamentalregions

All fundamental regions have the samevolume

The determinant of a lattice can beefficiently computed from any basis.

P b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 8 / 43

Page 14: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Determinant

Definition (Determinant)

det(L) = volume of the fundamental region P =∑

i bi · [0, 1)

Different bases define different fundamentalregions

All fundamental regions have the samevolume

The determinant of a lattice can beefficiently computed from any basis.

P b1

b2

c1

c2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 8 / 43

Page 15: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Determinant

Definition (Determinant)

det(L) = volume of the fundamental region P =∑

i bi · [0, 1)

Different bases define different fundamentalregions

All fundamental regions have the samevolume

The determinant of a lattice can beefficiently computed from any basis.

P b1

b2

c1

c2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 8 / 43

Page 16: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Determinant

Definition (Determinant)

det(L) = volume of the fundamental region P =∑

i bi · [0, 1)

Different bases define different fundamentalregions

All fundamental regions have the samevolume

The determinant of a lattice can beefficiently computed from any basis.

P b1

b2

c1

c2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 8 / 43

Page 17: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Density estimates

Definition (Centered Fundamental Parallelepiped)

P =∑

i bi · [−1/2, 1/2)

vol(P(B)) = det(L)

x + P(B) | x ∈ L partitions Rn

For all sufficiently large S ⊆ Rn

|S ∩ L| ≈ vol(S)/ det(L)

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 9 / 43

Page 18: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minimum Distance and Successive Minima

Minimum distance

λ1 = minx,y∈L,x6=y

‖x− y‖

= minx∈L,x6=0

‖x‖

Successive minima (i = 1, . . . , n)

λi = minr : dim span(B(r) ∩ L) ≥ i

Examples

Zn: λ1 = λ2 = . . . = λn = 1Always: λ1 ≤ λ2 ≤ . . . ≤ λn

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 10 / 43

Page 19: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minimum Distance and Successive Minima

Minimum distance

λ1 = minx,y∈L,x6=y

‖x− y‖

= minx∈L,x6=0

‖x‖

Successive minima (i = 1, . . . , n)

λi = minr : dim span(B(r) ∩ L) ≥ i

Examples

Zn: λ1 = λ2 = . . . = λn = 1Always: λ1 ≤ λ2 ≤ . . . ≤ λn

λ1

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 10 / 43

Page 20: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minimum Distance and Successive Minima

Minimum distance

λ1 = minx,y∈L,x6=y

‖x− y‖

= minx∈L,x6=0

‖x‖

Successive minima (i = 1, . . . , n)

λi = minr : dim span(B(r) ∩ L) ≥ i

Examples

Zn: λ1 = λ2 = . . . = λn = 1Always: λ1 ≤ λ2 ≤ . . . ≤ λn

λ1

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 10 / 43

Page 21: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minimum Distance and Successive Minima

Minimum distance

λ1 = minx,y∈L,x6=y

‖x− y‖

= minx∈L,x6=0

‖x‖

Successive minima (i = 1, . . . , n)

λi = minr : dim span(B(r) ∩ L) ≥ i

Examples

Zn: λ1 = λ2 = . . . = λn = 1Always: λ1 ≤ λ2 ≤ . . . ≤ λn

λ1

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 10 / 43

Page 22: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minimum Distance and Successive Minima

Minimum distance

λ1 = minx,y∈L,x6=y

‖x− y‖

= minx∈L,x6=0

‖x‖

Successive minima (i = 1, . . . , n)

λi = minr : dim span(B(r) ∩ L) ≥ i

Examples

Zn: λ1 = λ2 = . . . = λn = 1Always: λ1 ≤ λ2 ≤ . . . ≤ λn

λ1λ2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 10 / 43

Page 23: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minimum Distance and Successive Minima

Minimum distance

λ1 = minx,y∈L,x6=y

‖x− y‖

= minx∈L,x6=0

‖x‖

Successive minima (i = 1, . . . , n)

λi = minr : dim span(B(r) ∩ L) ≥ i

Examples

Zn: λ1 = λ2 = . . . = λn = 1Always: λ1 ≤ λ2 ≤ . . . ≤ λn

λ1λ2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 10 / 43

Page 24: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Distance Function and Covering Radius

Distance function

µ(t,L) = minx∈L‖t− x‖

Covering radius

µ(L) = maxt∈span(L)

µ(t,L)

Spheres of radius µ(L) centered around alllattice points cover the whole space

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 11 / 43

Page 25: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Distance Function and Covering Radius

Distance function

µ(t,L) = minx∈L‖t− x‖

Covering radius

µ(L) = maxt∈span(L)

µ(t,L)

Spheres of radius µ(L) centered around alllattice points cover the whole space

t

µ

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 11 / 43

Page 26: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Distance Function and Covering Radius

Distance function

µ(t,L) = minx∈L‖t− x‖

Covering radius

µ(L) = maxt∈span(L)

µ(t,L)

Spheres of radius µ(L) centered around alllattice points cover the whole space

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 11 / 43

Page 27: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Distance Function and Covering Radius

Distance function

µ(t,L) = minx∈L‖t− x‖

Covering radius

µ(L) = maxt∈span(L)

µ(t,L)

Spheres of radius µ(L) centered around alllattice points cover the whole space

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 11 / 43

Page 28: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Distance Function and Covering Radius

Distance function

µ(t,L) = minx∈L‖t− x‖

Covering radius

µ(L) = maxt∈span(L)

µ(t,L)

Spheres of radius µ(L) centered around alllattice points cover the whole space

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 11 / 43

Page 29: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . .

add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 30: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point

. . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 31: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until

. . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 32: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until

. . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 33: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until

. . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 34: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 35: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 36: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 37: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 38: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 39: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Smoothing a lattice

Consider an arbitrary lattice, and . . . add noiseto each lattice point . . . more noise, and moreand more, until . . . we reach an almost uni-form distribution

How much noise is needed?

At most ‖r‖ ≤ (log n) ·√nλn

Best done using Gaussian noise r of width

|ri | ≈ ηε ≤ (log n)λn.

ηε: the “smoothing parameter” of a lattice[MR04].

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 12 / 43

Page 40: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s convex body theorem

Theorem (Convex Body)

Let C ⊂ Rn be a symmetric convex body. If vol(C ) > 2n, then C containsa nonzero integer vector

C = B−1[−r , r ]n has volumedet(B)−1(2r)n = 2n

C contains x ∈ Zn \ 0BC = [−r , r ]n contains Bx

λ1(L) ≤√nr =

√n det(L)1/n

C

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 13 / 43

Page 41: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s convex body theorem

Theorem (Convex Body)

Let C ⊂ Rn be a symmetric convex body. If vol(C ) > 2n, then C containsa nonzero integer vector

Let L = BZn and r = det(L)1/n. Then,

C = B−1[−r , r ]n has volumedet(B)−1(2r)n = 2n

C contains x ∈ Zn \ 0BC = [−r , r ]n contains Bx

λ1(L) ≤√nr =

√n det(L)1/n

C

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 13 / 43

Page 42: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s convex body theorem

Theorem (Convex Body)

Let C ⊂ Rn be a symmetric convex body. If vol(C ) > 2n, then C containsa nonzero integer vector

Let L = BZn and r = det(L)1/n. Then,

C = B−1[−r , r ]n has volumedet(B)−1(2r)n = 2n

C contains x ∈ Zn \ 0BC = [−r , r ]n contains Bx

λ1(L) ≤√nr =

√n det(L)1/n

C

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 13 / 43

Page 43: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s convex body theorem

Theorem (Convex Body)

Let C ⊂ Rn be a symmetric convex body. If vol(C ) > 2n, then C containsa nonzero integer vector

Let L = BZn and r = det(L)1/n. Then,

C = B−1[−r , r ]n has volumedet(B)−1(2r)n = 2n

C contains x ∈ Zn \ 0

BC = [−r , r ]n contains Bx

λ1(L) ≤√nr =

√n det(L)1/n

C

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 13 / 43

Page 44: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s convex body theorem

Theorem (Convex Body)

Let C ⊂ Rn be a symmetric convex body. If vol(C ) > 2n, then C containsa nonzero integer vector

Let L = BZn and r = det(L)1/n. Then,

C = B−1[−r , r ]n has volumedet(B)−1(2r)n = 2n

C contains x ∈ Zn \ 0BC = [−r , r ]n contains Bx

λ1(L) ≤√nr =

√n det(L)1/n

C

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 13 / 43

Page 45: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s convex body theorem

Theorem (Convex Body)

Let C ⊂ Rn be a symmetric convex body. If vol(C ) > 2n, then C containsa nonzero integer vector

Let L = BZn and r = det(L)1/n. Then,

C = B−1[−r , r ]n has volumedet(B)−1(2r)n = 2n

C contains x ∈ Zn \ 0BC = [−r , r ]n contains Bx

λ1(L) ≤√nr =

√n det(L)1/n

C

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 13 / 43

Page 46: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Point Lattices and Lattice Parameters

Minkowski’s second theorem

Theorem (Minkowski)

λ1(L) ≤

(∏i

λi (L)

)1/n

≤√n det(L)1/n

For Zn, λ1 = (∏

i λi )1/n = 1 is smaller than Minkowski’s bound by

√n

λ1(L) can be arbitrarily smaller than Minkowski’s bound

(∏

i λi (L))1/n is never smaller than Minkowski’s bound by more than√n

Can you find lattices with (∏

i λi (L))1/n ≥ Ω(√n) det(L)1/n within a

constant from Minkowski’s bound?

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 14 / 43

Page 47: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

1 Point Lattices and Lattice Parameters

2 Computational ProblemsCoding Theory

3 The Dual Lattice

4 Q-ary Lattices and Cryptography

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 15 / 43

Page 48: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Vector Problem

Definition (Shortest Vector Problem, SVP)

Given a lattice L(B), find a (nonzero) lattice vector Bx (with x ∈ Zk) oflength (at most) ‖Bx‖ ≤ λ1

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 16 / 43

Page 49: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Vector Problem

Definition (Shortest Vector Problem, SVP)

Given a lattice L(B), find a (nonzero) lattice vector Bx (with x ∈ Zk) oflength (at most) ‖Bx‖ ≤ λ1

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 16 / 43

Page 50: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Vector Problem

Definition (Shortest Vector Problem, SVP)

Given a lattice L(B), find a (nonzero) lattice vector Bx (with x ∈ Zk) oflength (at most) ‖Bx‖ ≤ λ1

b1

b2

λ1

Bx = 5b1 − 2b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 16 / 43

Page 51: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Vector Problem

Definition (Shortest Vector Problem, SVPγ)

Given a lattice L(B), find a (nonzero) lattice vector Bx (with x ∈ Zk) oflength (at most) ‖Bx‖ ≤ γλ1

2λ1

b1

b2

λ1

Bx = 5b1 − 2b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 16 / 43

Page 52: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Closest Vector Problem

Definition (Closest Vector Problem, CVP)

Given a lattice L(B) and a target point t, find a lattice vector Bx withindistance ‖Bx− t‖ ≤ µ from the target

t

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 17 / 43

Page 53: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Closest Vector Problem

Definition (Closest Vector Problem, CVP)

Given a lattice L(B) and a target point t, find a lattice vector Bx withindistance ‖Bx− t‖ ≤ µ from the target

t

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 17 / 43

Page 54: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Closest Vector Problem

Definition (Closest Vector Problem, CVP)

Given a lattice L(B) and a target point t, find a lattice vector Bx withindistance ‖Bx− t‖ ≤ µ from the target

b1

b2

Bx

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 17 / 43

Page 55: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Closest Vector Problem

Definition (Closest Vector Problem, CVPγ)

Given a lattice L(B) and a target point t, find a lattice vector Bx withindistance ‖Bx− t‖ ≤ γµ from the target

tµ 2µ

b1

b2

Bx

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 17 / 43

Page 56: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVP)

Given a lattice L(B), find n linearly independent lattice vectorsBx1, . . . ,Bxn of length (at most) maxi ‖Bxi‖ ≤ λn

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 18 / 43

Page 57: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVP)

Given a lattice L(B), find n linearly independent lattice vectorsBx1, . . . ,Bxn of length (at most) maxi ‖Bxi‖ ≤ λn

b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 18 / 43

Page 58: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVP)

Given a lattice L(B), find n linearly independent lattice vectorsBx1, . . . ,Bxn of length (at most) maxi ‖Bxi‖ ≤ λn

b1

b2

Bx1

λ2

Bx2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 18 / 43

Page 59: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVPγ)

Given a lattice L(B), find n linearly independent lattice vectorsBx1, . . . ,Bxn of length (at most) maxi ‖Bxi‖ ≤ γλn

2λ2

b1

b2

Bx1

λ2

Bx2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 18 / 43

Page 60: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Coding theory

Problem

Reliable transmission of information over noisy channels

m

Sender wants to trasmit a message m

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 19 / 43

Page 61: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Coding theory

Problem

Reliable transmission of information over noisy channels

mBx

encode

The sender encodes m as a lattice point Bx and transmits it over a noisychannel (e.g., multiantenna system)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 19 / 43

Page 62: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Coding theory

Problem

Reliable transmission of information over noisy channels

m tBx

encode

Recepient receives a perturbed lattice point t = Bx + e, where e is a smallerror vector

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 19 / 43

Page 63: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Coding theory

Problem

Reliable transmission of information over noisy channels

m tBx

encode m = CVP(B, t)

Recepient recovers the original message m by finding the lattice point Bxclosest to the target t.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 19 / 43

Page 64: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Coding theory

Problem

Reliable transmission of information over noisy channels

m tBx

encode m = CVP(B, t)

CVP Decoding algorithm

SVP Evaluating error correction radius λ1/2

SIVP Related to distortion in vector quantization

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 19 / 43

Page 65: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Special Versions of CVP

Definition (Closest Vector Problem (CVP))

Given (L, t, d), with µ(t,L) ≤ d , find a lattice point within distance dfrom t.

If d is arbitrary, then one can find the closest lattice vector by binarysearch on d .

Bounded Distance Decoding (BDD): If d < λ1(L)/2, then there is atmost one solution. Solution is the closest lattice vector.

Absolute Distance Decoding (ADD): If d ≥ µ(L), then there is alwaysat least one solution. Solution may not be closest lattice vector.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 20 / 43

Page 66: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Relations among lattice problems

SIVP ≈ ADD [MG’01]

SVP ≤ CVP [GMSS’99]

SIVP ≤ CVP [M’08]

BDD . SIVP

CVP . SVP [L’87]

GapSVP ≈ GapSIVP[LLS’91,B’93]

GapSVP . BDD [LM’09]

GapSVP GapSIVP BDD

SIVP ADD

SVP CVP

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 21 / 43

Page 67: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Relations among lattice problems

SIVP ≈ ADD [MG’01]

SVP ≤ CVP [GMSS’99]

SIVP ≤ CVP [M’08]

BDD . SIVP

CVP . SVP [L’87]

GapSVP ≈ GapSIVP[LLS’91,B’93]

GapSVP . BDD [LM’09]

GapSVP GapSIVP BDD

SIVP ADD

SVP CVP

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 21 / 43

Page 68: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

ADD reduces to SIVP

ADD input: L and arbitrary t

Compute short vectors V = SIVP(L)

Use V to find a lattice vector within distance∑i12‖vi‖ ≤ (n/2)λn ≤ nµ from t

Px

t

v1

v2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 22 / 43

Page 69: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bteRounding solves CVP whenever Λ has an orthogonal basis

b1

b2

Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 70: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bte

Rounding solves CVP whenever Λ has an orthogonal basis

b1

b2

Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 71: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bteRounding solves CVP whenever Λ has an orthogonal basis

b1

b2

Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 72: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bteRounding solves CVP whenever Λ has an orthogonal basis

b1

b2

Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 73: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bteRounding solves CVP whenever Λ has an orthogonal basis

b1

b2

Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 74: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bteRounding solves CVP whenever Λ has an orthogonal basis

b1

b2

2b2 − b1Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 75: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Geometry of Lattices

Geometry is a powerful tool to attack combinatorial problems

LP/SDP relaxation + randomized roundingLattices: reduce Subset-Sum to CVP

CVP can be easy: e.g., if Λ = Zn, then CVP(Λ, t) = bteRounding solves CVP whenever Λ has an orthogonal basis

b1

b2

2b2 − b1Not all lattices have anorthogonal basis

E.g. “exagonal” lattice

b1 ⊥ (2b2 − b1)

But they only generate asublattice

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 23 / 43

Page 76: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Size Reduction

b2

b1

t

b1: (short) lattice vector

t: arbitrary point

Can make t shorter by adding ±b1Repeat until t is shortest

Remarks

t− t′ ∈ Λ

Key step in [LLL’82] basis reductionalgorithm

Technique is used in most other latticealgorithms

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 24 / 43

Page 77: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Size Reduction

b2

b1

tt′

b1: (short) lattice vector

t: arbitrary point

Can make t shorter by adding ±b1Repeat until t is shortest

Remarks

t− t′ ∈ Λ

Key step in [LLL’82] basis reductionalgorithm

Technique is used in most other latticealgorithms

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 24 / 43

Page 78: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Size Reduction

b2

b1

tt′

b1: (short) lattice vector

t: arbitrary point

Can make t shorter by adding ±b1Repeat until t is shortest

Remarks

t− t′ ∈ Λ

Key step in [LLL’82] basis reductionalgorithm

Technique is used in most other latticealgorithms

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 24 / 43

Page 79: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b1

b2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 80: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b∗1

b2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 81: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b∗1

b2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 82: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b∗1

b2b∗2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 83: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b∗1

b2b∗2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 84: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b∗1

b2b∗2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 85: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Gram-Schmidt Orthogonalized Basis

Definition (Gram-Schmidt)

Basis B = [b1, . . . ,bn]

b∗i ∈ bi + [b1, . . . ,bi−1]Ri−1

b∗i ⊥ b1, . . . ,bi−1b∗1

b2b∗2

B∗ is an orthogonal basis for the vector space BRn

B∗ is not a lattice basis for BZn

Still, B∗ is useful to evaluate the quality of lattice basis B

det(Λ) =∏i

‖b∗i ‖ ≤∏i

‖bi‖ (Hadamard)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 25 / 43

Page 86: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

b∗1

b2b∗2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 87: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

b∗1

b2b∗2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 88: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

b∗1

b2b∗2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 89: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 90: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 91: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 92: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 93: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Computational Problems Coding Theory

Lattice rounding

B∗[0, 1]n is also a fundamentalregion for Λ

Any t can be efficiently roundedto v ∈ Λ

‖t− v‖ ≤ 12

√∑i ‖b∗i ‖2

v solves CVP when‖t− v‖ ≤ min ‖b∗i ‖/2

Lemma (Nearest Plane Algorithm [Babai 1986])

Rounding w.r.t B∗ approximates CVP within√n · maxi ‖b∗i ‖

mini ‖b∗i ‖

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 26 / 43

Page 94: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

1 Point Lattices and Lattice Parameters

2 Computational ProblemsCoding Theory

3 The Dual Lattice

4 Q-ary Lattices and Cryptography

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 27 / 43

Page 95: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

The Dual Lattice

A vector space over R is a set of vectors V with

a vector addition operation x + y ∈ Va scalar multiplication a · x ∈ V

The dual of a vector space V is the set V ∨ = Hom(V ,R) of linearfunctions φ : V → R, typically represented as vectors x ∈ V , whereφx(y) = 〈x, y〉The dual of a lattice Λ is defined similarly as the set of linearfunctions φx : Λ→ Z represented as vectors x ∈ span(Λ).

Definition (Dual lattice)

The dual of a lattice Λ is the set of all vectors x ∈ span(Λ) such that〈x, v〉 ∈ Z for all v ∈ Λ

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 28 / 43

Page 96: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨

= Zn

Rotating (RΛ)∨

= R(Λ∨)

Scaling (q · Λ)∨

= 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 97: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨

= R(Λ∨)

Scaling (q · Λ)∨

= 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 98: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨

= R(Λ∨)

Scaling (q · Λ)∨

= 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 99: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨

= 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 100: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨

= 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 101: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨ = 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 102: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨ = 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 103: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨ = 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 104: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨ = 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 105: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨ = 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Z

but x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 106: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Dual lattice: Examples

0

Integer lattice (Zn)∨ = Zn

Rotating (RΛ)∨ = R(Λ∨)

Scaling (q · Λ)∨ = 1q · Λ

Properties of dual:

Λ1 ⊆ Λ2 ⇐⇒ Λ∨1 ⊇ Λ∨2(Λ∨)∨ = Λ

Operations on x ∈ Λ andy ∈ Λ∨:

〈x, y〉 ∈ Zbut x + y has no geometricmeaning

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 29 / 43

Page 107: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Lattice Layers

0

Each dual vector v ∈ L∨,partitions the lattice L intolayers orthogonal to v

Li = x ∈ L | x · v = i

Layers are at distance 1/‖v‖µ(L) ≥ 1

2‖v‖

If λ1(L∨) is small, then µ(L) islarge.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 30 / 43

Page 108: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Lattice Layers

0

Each dual vector v ∈ L∨,partitions the lattice L intolayers orthogonal to v

Li = x ∈ L | x · v = i

Layers are at distance 1/‖v‖

µ(L) ≥ 12‖v‖

If λ1(L∨) is small, then µ(L) islarge.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 30 / 43

Page 109: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Lattice Layers

0

Each dual vector v ∈ L∨,partitions the lattice L intolayers orthogonal to v

Li = x ∈ L | x · v = i

Layers are at distance 1/‖v‖µ(L) ≥ 1

2‖v‖

If λ1(L∨) is small, then µ(L) islarge.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 30 / 43

Page 110: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Lattice Layers

0

Each dual vector v ∈ L∨,partitions the lattice L intolayers orthogonal to v

Li = x ∈ L | x · v = i

Layers are at distance 1/‖v‖µ(L) ≥ 1

2‖v‖

If λ1(L∨) is small, then µ(L) islarge.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 30 / 43

Page 111: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Transference Theorems

Theorem (Banaszczyk)

For any lattice L1 ≤ 2λ1(L) · µ(L∨) ≤ n.

Theorem (Banaszczyk)

For every i ,1 ≤ λi (L) · λn−i+1(L∨) ≤ n.

Approximating λ1(L) within a factor n is in NP ∩ coNP

Same is true for λi , . . . , λn and µ.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 31 / 43

Page 112: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

BDD reduces to SIVP

BDD input: t close to L

Compute V = SIVP(L∨)

For each vi ∈ L∨, find the layerLi = x | x · vi = ci closest to t

Output L1 ∩ L2 ∩ · · · ∩ Ln

Output is correct as long as

µ(t,L) ≤ λ12n≤ 1

2λ∨n≤ 1

2‖vi‖

0 t

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 32 / 43

Page 113: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

BDD reduces to SIVP

BDD input: t close to LCompute V = SIVP(L∨)

For each vi ∈ L∨, find the layerLi = x | x · vi = ci closest to t

Output L1 ∩ L2 ∩ · · · ∩ Ln

Output is correct as long as

µ(t,L) ≤ λ12n≤ 1

2λ∨n≤ 1

2‖vi‖

0 t

vi

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 32 / 43

Page 114: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

BDD reduces to SIVP

BDD input: t close to LCompute V = SIVP(L∨)

For each vi ∈ L∨, find the layerLi = x | x · vi = ci closest to t

Output L1 ∩ L2 ∩ · · · ∩ Ln

Output is correct as long as

µ(t,L) ≤ λ12n≤ 1

2λ∨n≤ 1

2‖vi‖

0 t

vi

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 32 / 43

Page 115: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

BDD reduces to SIVP

BDD input: t close to LCompute V = SIVP(L∨)

For each vi ∈ L∨, find the layerLi = x | x · vi = ci closest to t

Output L1 ∩ L2 ∩ · · · ∩ Ln

Output is correct as long as

µ(t,L) ≤ λ12n≤ 1

2λ∨n≤ 1

2‖vi‖

0 t

vi

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 32 / 43

Page 116: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

BDD reduces to SIVP

BDD input: t close to LCompute V = SIVP(L∨)

For each vi ∈ L∨, find the layerLi = x | x · vi = ci closest to t

Output L1 ∩ L2 ∩ · · · ∩ Ln

Output is correct as long as

µ(t,L) ≤ λ12n≤ 1

2λ∨n≤ 1

2‖vi‖

0 t

vi

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 32 / 43

Page 117: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/LElements of Rn/L are cosets t + LAny fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/Lt + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 118: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/LElements of Rn/L are cosets t + LAny fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/Lt + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 119: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/L

Elements of Rn/L are cosets t + LAny fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/Lt + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 120: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/LElements of Rn/L are cosets t + L

Any fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/Lt + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 121: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/LElements of Rn/L are cosets t + LAny fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/Lt + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 122: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/LElements of Rn/L are cosets t + LAny fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/L

t + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

c1

c2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 123: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

Working modulo a lattice

Definition (Fundamental Region of a lattice)

P ⊂ Rn: P + x | x ∈ L is a partition of Rn.

(L,+) is a subgroup of (Rn,+)

One can form the quotien group Rn/LElements of Rn/L are cosets t + LAny fundamental region P gives a set ofstandard representatives

P =∑

i bi · [0, 1) ≡ Rn/Lt + L is uniquely identified by

(B∨)t (mod 1)

P b1

b2

c1

c2

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 33 / 43

Page 124: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

CVP and lattice cosets

0

tev

Lattice Λ, target t

CVP: Find v such that e = t− vis shortest possible

t′ = t + Bx

v = v′ − Bx

Definition

CVP (coset formulation) Given alattice coset t + L, find the(approximately) shortest element oft + L.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 34 / 43

Page 125: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

CVP and lattice cosets

0

teve

v

Lattice Λ, target t

CVP: Find v such that e = t− vis shortest possible

t′ = t + Bx

v = v′ − Bx

Definition

CVP (coset formulation) Given alattice coset t + L, find the(approximately) shortest element oft + L.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 34 / 43

Page 126: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

CVP and lattice cosets

0

tev

Bx

ev

Lattice Λ, target t

CVP: Find v such that e = t− vis shortest possible

t′ = t + Bx

v = v′ − Bx

Definition

CVP (coset formulation) Given alattice coset t + L, find the(approximately) shortest element oft + L.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 34 / 43

Page 127: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

CVP and lattice cosets

0

tev

Bx

t′

ev

Lattice Λ, target t

CVP: Find v such that e = t− vis shortest possible

t′ = t + Bx

v = v′ − Bx

Definition

CVP (coset formulation) Given alattice coset t + L, find the(approximately) shortest element oft + L.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 34 / 43

Page 128: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

CVP and lattice cosets

0

tev

Bx

t′

v’

eve

Lattice Λ, target t

CVP: Find v such that e = t− vis shortest possible

t′ = t + Bx

v = v′ − Bx

Definition

CVP (coset formulation) Given alattice coset t + L, find the(approximately) shortest element oft + L.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 34 / 43

Page 129: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

The Dual Lattice

CVP and lattice cosets

0

tev

Bx

t′

v’

eve

Lattice Λ, target t

CVP: Find v such that e = t− vis shortest possible

t′ = t + Bx

v = v′ − Bx

Definition

CVP (coset formulation) Given alattice coset t + L, find the(approximately) shortest element oft + L.

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 34 / 43

Page 130: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

1 Point Lattices and Lattice Parameters

2 Computational ProblemsCoding Theory

3 The Dual Lattice

4 Q-ary Lattices and Cryptography

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 35 / 43

Page 131: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Random lattices in Cryptography

0

Cryptography typically uses (random) lattices Λsuch that

Λ ⊆ Zd is an integer latticeqZd ⊆ Λ is periodic modulo a small integer q.

Cryptographic functions based on q-ary latticesinvolve only arithmetic modulo q.

Definition (q-ary lattice)

Λ is a q-ary lattice if qZn ⊆ Λ ⊆ Zn

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 36 / 43

Page 132: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Examples of q-ary lattices

Examples (for any A ∈ Zn×dq )

Λq(A) = x | x mod q ∈ ATZnq ⊆ Zd

Λ⊥q (A) = x | Ax = 0 mod q ⊆ Zd

Theorem

For any lattice Λ the following conditions are equivalent:

qZd ⊆ Λ ⊆ Zd

Λ = Λq(A) for some A

Λ = Λ⊥q (A) for some A

For any fixed A, the lattices Λq(A) and Λ⊥q (A) are different

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 37 / 43

Page 133: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Examples of q-ary lattices

Examples (for any A ∈ Zn×dq )

Λq(A) = x | x mod q ∈ ATZnq ⊆ Zd

Λ⊥q (A) = x | Ax = 0 mod q ⊆ Zd

Theorem

For any lattice Λ the following conditions are equivalent:

qZd ⊆ Λ ⊆ Zd

Λ = Λq(A) for some A

Λ = Λ⊥q (A) for some A

For any fixed A, the lattices Λq(A) and Λ⊥q (A) are different

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 37 / 43

Page 134: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Duality of q-ary lattices

For any fixed A, the lattices Λq(A) and Λ⊥q (A) are different

For any A ∈ Zn×dq there is a A′ ∈ Zk×d

q such that Λq(A) = Λ⊥q (A′).

For any A′ ∈ Zk×dq there is a A ∈ Zn×d

q such that Λq(A) = Λ⊥q (A′).

The q-ary lattices associated to A are dual (up to scaling)

Λq(A)∨ =1

qΛ⊥q (A)

Λ⊥q (A)∨ =1

qΛq(A)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 38 / 43

Page 135: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s one-way function (SIS)

Parameters: m, n, q ∈ ZKey: A ∈ Zn×m

q

Input: x ∈ 0, 1m

Output: fA(x) = Ax mod q

m

xT

×

n A

f

Ax

Theorem (A’96)

For m > n lg q, if lattice problems (SIVP) are hard to approximate in theworst-case, then fA(x) = Ax mod q is a one-way function.

Applications: OWF [A’96], Hashing [GGH’97], Commit [KTX’08], IDschemes [L’08], Signatures [LM’08,GPV’08,. . . ,DDLL’13] . . .

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 39 / 43

Page 136: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s one-way function (SIS)

Parameters: m, n, q ∈ ZKey: A ∈ Zn×m

q

Input: x ∈ 0, 1m

Output: fA(x) = Ax mod q

m

xT

×

n Af

Ax

Theorem (A’96)

For m > n lg q, if lattice problems (SIVP) are hard to approximate in theworst-case, then fA(x) = Ax mod q is a one-way function.

Applications: OWF [A’96], Hashing [GGH’97], Commit [KTX’08], IDschemes [L’08], Signatures [LM’08,GPV’08,. . . ,DDLL’13] . . .

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 39 / 43

Page 137: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s one-way function (SIS)

Parameters: m, n, q ∈ ZKey: A ∈ Zn×m

q

Input: x ∈ 0, 1m

Output: fA(x) = Ax mod q

m

xT

×

n Af

Ax

Theorem (A’96)

For m > n lg q, if lattice problems (SIVP) are hard to approximate in theworst-case, then fA(x) = Ax mod q is a one-way function.

Applications: OWF [A’96], Hashing [GGH’97], Commit [KTX’08], IDschemes [L’08], Signatures [LM’08,GPV’08,. . . ,DDLL’13] . . .

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 39 / 43

Page 138: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s function and q-ary lattices

fA(x) = Ax mod q, where x is short

The q-ary lattice Λ⊥q (A) is the kernel of fA

Finding collisions fA(x) = fA(y) is equivalent to finding short vectorsx− y ∈ Λ⊥q (A)

The output of fA(x) is the syndrome of x

Inverting fA(x) is the same as CVP in its syndrome decodingformulation with lattice Λ⊥q (A) and target t ∈ x + Λ⊥q (A)

For fA to be a compression function, x is longer than 12λ1(Λ⊥q (A))

Remark

SIS ≡ Approximate ADD (Absolute Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 40 / 43

Page 139: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s function and q-ary lattices

fA(x) = Ax mod q, where x is short

The q-ary lattice Λ⊥q (A) is the kernel of fA

Finding collisions fA(x) = fA(y) is equivalent to finding short vectorsx− y ∈ Λ⊥q (A)

The output of fA(x) is the syndrome of x

Inverting fA(x) is the same as CVP in its syndrome decodingformulation with lattice Λ⊥q (A) and target t ∈ x + Λ⊥q (A)

For fA to be a compression function, x is longer than 12λ1(Λ⊥q (A))

Remark

SIS ≡ Approximate ADD (Absolute Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 40 / 43

Page 140: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s function and q-ary lattices

fA(x) = Ax mod q, where x is short

The q-ary lattice Λ⊥q (A) is the kernel of fA

Finding collisions fA(x) = fA(y) is equivalent to finding short vectorsx− y ∈ Λ⊥q (A)

The output of fA(x) is the syndrome of x

Inverting fA(x) is the same as CVP in its syndrome decodingformulation with lattice Λ⊥q (A) and target t ∈ x + Λ⊥q (A)

For fA to be a compression function, x is longer than 12λ1(Λ⊥q (A))

Remark

SIS ≡ Approximate ADD (Absolute Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 40 / 43

Page 141: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s function and q-ary lattices

fA(x) = Ax mod q, where x is short

The q-ary lattice Λ⊥q (A) is the kernel of fA

Finding collisions fA(x) = fA(y) is equivalent to finding short vectorsx− y ∈ Λ⊥q (A)

The output of fA(x) is the syndrome of x

Inverting fA(x) is the same as CVP in its syndrome decodingformulation with lattice Λ⊥q (A) and target t ∈ x + Λ⊥q (A)

For fA to be a compression function, x is longer than 12λ1(Λ⊥q (A))

Remark

SIS ≡ Approximate ADD (Absolute Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 40 / 43

Page 142: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s function and q-ary lattices

fA(x) = Ax mod q, where x is short

The q-ary lattice Λ⊥q (A) is the kernel of fA

Finding collisions fA(x) = fA(y) is equivalent to finding short vectorsx− y ∈ Λ⊥q (A)

The output of fA(x) is the syndrome of x

Inverting fA(x) is the same as CVP in its syndrome decodingformulation with lattice Λ⊥q (A) and target t ∈ x + Λ⊥q (A)

For fA to be a compression function, x is longer than 12λ1(Λ⊥q (A))

Remark

SIS ≡ Approximate ADD (Absolute Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 40 / 43

Page 143: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Ajtai’s function and q-ary lattices

fA(x) = Ax mod q, where x is short

The q-ary lattice Λ⊥q (A) is the kernel of fA

Finding collisions fA(x) = fA(y) is equivalent to finding short vectorsx− y ∈ Λ⊥q (A)

The output of fA(x) is the syndrome of x

Inverting fA(x) is the same as CVP in its syndrome decodingformulation with lattice Λ⊥q (A) and target t ∈ x + Λ⊥q (A)

For fA to be a compression function, x is longer than 12λ1(Λ⊥q (A))

Remark

SIS ≡ Approximate ADD (Absolute Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 40 / 43

Page 144: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Regev’s Learning With Errors (LWE)

A ∈ Zm×kq , s ∈ Zk

q , e ∈ Em.

gA(s

; e

) = As

+ e

mod q

Learning with Errors: Given Aand gA(s, e), recover s.

Theorem (R’05)

The function gA(s, e) is hard toinvert on the average, assumingSIVP is hard to approximate in theworst-case.

k

sT

×

m A

+ e

gb

Applications: CPA PKE [R’05], CCA PKE [PW’08], (H)IBE[GPV’08,CHKP’10,ABB’10], FHE [. . . ,B’12,AP’13,GSW’13], . . .

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 41 / 43

Page 145: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Regev’s Learning With Errors (LWE)

A ∈ Zm×kq , s ∈ Zk

q , e ∈ Em.

gA(s; e) = As + e mod q

Learning with Errors: Given Aand gA(s, e), recover s.

Theorem (R’05)

The function gA(s, e) is hard toinvert on the average, assumingSIVP is hard to approximate in theworst-case.

k

sT

×

m A + eg

b

Applications: CPA PKE [R’05], CCA PKE [PW’08], (H)IBE[GPV’08,CHKP’10,ABB’10], FHE [. . . ,B’12,AP’13,GSW’13], . . .

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 41 / 43

Page 146: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Regev’s Learning With Errors (LWE)

A ∈ Zm×kq , s ∈ Zk

q , e ∈ Em.

gA(s; e) = As + e mod q

Learning with Errors: Given Aand gA(s, e), recover s.

Theorem (R’05)

The function gA(s, e) is hard toinvert on the average, assumingSIVP is hard to approximate in theworst-case.

k

sT

×

m A + eg

b

Applications: CPA PKE [R’05], CCA PKE [PW’08], (H)IBE[GPV’08,CHKP’10,ABB’10], FHE [. . . ,B’12,AP’13,GSW’13], . . .

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 41 / 43

Page 147: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

LWE and q-ary lattices

Learning with errors:

Input: A ∈ Zm×nq and As+e, where e is small and s is arbitrary

Output: s, e

If e = 0, then As+e = As ∈ Λ(At)

Same as CVP in random q-ary lattice Λ(At) with random targett = As+e

Usually e is shorter than 12λ1(Λ(AT )), and e is uniquely determined

Remark

LWE ≡ Approximate BDD (Bounded Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 42 / 43

Page 148: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

LWE and q-ary lattices

Learning with errors:

Input: A ∈ Zm×nq and As+e, where e is small and s is arbitrary

Output: s, e

If e = 0, then As+e = As ∈ Λ(At)

Same as CVP in random q-ary lattice Λ(At) with random targett = As+e

Usually e is shorter than 12λ1(Λ(AT )), and e is uniquely determined

Remark

LWE ≡ Approximate BDD (Bounded Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 42 / 43

Page 149: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

LWE and q-ary lattices

Learning with errors:

Input: A ∈ Zm×nq and As+e, where e is small and s is arbitrary

Output: s, e

If e = 0, then As+e = As ∈ Λ(At)

Same as CVP in random q-ary lattice Λ(At) with random targett = As+e

Usually e is shorter than 12λ1(Λ(AT )), and e is uniquely determined

Remark

LWE ≡ Approximate BDD (Bounded Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 42 / 43

Page 150: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

LWE and q-ary lattices

Learning with errors:

Input: A ∈ Zm×nq and As+e, where e is small and s is arbitrary

Output: s, e

If e = 0, then As+e = As ∈ Λ(At)

Same as CVP in random q-ary lattice Λ(At) with random targett = As+e

Usually e is shorter than 12λ1(Λ(AT )), and e is uniquely determined

Remark

LWE ≡ Approximate BDD (Bounded Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 42 / 43

Page 151: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

LWE and q-ary lattices

Learning with errors:

Input: A ∈ Zm×nq and As+e, where e is small and s is arbitrary

Output: s, e

If e = 0, then As+e = As ∈ Λ(At)

Same as CVP in random q-ary lattice Λ(At) with random targett = As+e

Usually e is shorter than 12λ1(Λ(AT )), and e is uniquely determined

Remark

LWE ≡ Approximate BDD (Bounded Distance Decoding)

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 42 / 43

Page 152: The Mathematics of Lattices · 2020-02-07 · Point Lattices and Lattice Parameters (Point) Lattices Traditional area of mathematics Lagrange Gauss Minkowski Key to many algorithmic

Q-ary Lattices and Cryptography

Much more ...

Not covered in this introduction:

Gaussian measures and harmonic analysis

Lattices from Algebraic Number Theory

Other norms

Sphere packings

Average-case to Worst-case connection

Daniele Micciancio (UCSD) The Mathematics of Lattices Jan 2020 43 / 43