+ All Categories
Home > Documents > Lattice-Based Cryptography: Mathematical and Computational...

Lattice-Based Cryptography: Mathematical and Computational...

Date post: 16-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
80
Lattice-Based Cryptography: Mathematical and Computational Background Chris Peikert Georgia Institute of Technology crypt@b-it 2013 1 / 18
Transcript
Page 1: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography:Mathematical and Computational Background

Chris PeikertGeorgia Institute of Technology

crypt@b-it 2013

1 / 18

Page 2: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org)

2 / 18

Page 3: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org)

2 / 18

Page 4: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org) 2 / 18

Page 5: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org) 2 / 18

Page 6: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org) 2 / 18

Page 7: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org) 2 / 18

Page 8: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattice-Based Cryptography

N=p · q

y =gx mod p

me mod N

e(ga, gb)

=⇒

Why?

I Simple description and implementation

I Efficient: linear, highly parallel operations

I Resists quantum attacks (so far)

I Security from worst-case assumptions [Ajtai96,. . . ]

I Solutions to “holy grail” crypto problems [Gentry09,. . . ]

(Images courtesy xkcd.org) 2 / 18

Page 9: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Part 1:

Mathematical Background

Coming up:

1 Definitions: lattice, basis, determinant, cosets, successive minima, . . .

2 Two simple bounds on the minimum distance.

3 / 18

Page 10: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

4 / 18

Page 11: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

4 / 18

Page 12: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

4 / 18

Page 13: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

−3 −2 −1 0 1 2 3

4 / 18

Page 14: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

−3 −2 −1 0 1 2 3

4 / 18

Page 15: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

O

4 / 18

Page 16: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Lattices

I Lattice L of dimension n: a discrete additive subgroup of Rn.

Additive subgroup: 0 ∈ L, and x,y ∈ L =⇒ −x, x + y ∈ L.

Discrete: for all x ∈ L, exists ε > 0 s.t. L ∩ Ball(x, ε) = {x}.

Lattices Not lattices

{0}, Z ⊂ R Q ⊂ R

2Z, cZ for any c ∈ R 2Z + 1 = {odd x ∈ Z}

Zn ⊂ Rn Z +√

2Z

O

4 / 18

Page 17: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

This Week: Only Full-Rank Integer Lattices

I Integer lattice: L ⊆ Zn. (Essentially equivalent to rational lattice, by scaling.)

I Full-rank lattice: span(L) = Rn.

Equivalently, L has a set of n linearly independent vectors.

Full rank Not full rank

cZn, c 6= 0 {0}

(1, 1) · Z + (−1, 1) · Z (1, 1) · Z

5 / 18

Page 18: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

This Week: Only Full-Rank Integer Lattices

I Integer lattice: L ⊆ Zn. (Essentially equivalent to rational lattice, by scaling.)

I Full-rank lattice: span(L) = Rn.

Equivalently, L has a set of n linearly independent vectors.

Full rank Not full rank

cZn, c 6= 0 {0}

(1, 1) · Z + (−1, 1) · Z (1, 1) · Z

5 / 18

Page 19: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

This Week: Only Full-Rank Integer Lattices

I Integer lattice: L ⊆ Zn. (Essentially equivalent to rational lattice, by scaling.)

I Full-rank lattice: span(L) = Rn.

Equivalently, L has a set of n linearly independent vectors.

Full rank Not full rank

cZn, c 6= 0 {0}

(1, 1) · Z + (−1, 1) · Z (1, 1) · Z

5 / 18

Page 20: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

This Week: Only Full-Rank Integer Lattices

I Integer lattice: L ⊆ Zn. (Essentially equivalent to rational lattice, by scaling.)

I Full-rank lattice: span(L) = Rn.

Equivalently, L has a set of n linearly independent vectors.

Full rank Not full rank

cZn, c 6= 0 {0}

(1, 1) · Z + (−1, 1) · Z (1, 1) · Z

5 / 18

Page 21: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

This Week: Only Full-Rank Integer Lattices

I Integer lattice: L ⊆ Zn. (Essentially equivalent to rational lattice, by scaling.)

I Full-rank lattice: span(L) = Rn.

Equivalently, L has a set of n linearly independent vectors.

Full rank Not full rank

cZn, c 6= 0 {0}

(1, 1) · Z + (−1, 1) · Z (1, 1) · Z

5 / 18

Page 22: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Representing Lattices: Bases

I Basis of L: ordered set (i.e., matrix) B = (b1,b2, . . . ,bn) s.t.

L = L(B)∆= B · Zn =

{ n∑i=1

cibi : ci ∈ Z}.

The bi must be linearly ind., because span(L) = span(B) = Rn.

I The fundamental parallelepiped of basis B is P(B) = B ·[−1

2 ,12

)n.

It tiles space: Rn =⋃v∈L

(v + P(B)).

I A basis is not unique: BU is also a basis iff U ∈ Zn×n,det(U) = ±1.

O

b1

b2

6 / 18

Page 23: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Representing Lattices: Bases

I Basis of L: ordered set (i.e., matrix) B = (b1,b2, . . . ,bn) s.t.

L = L(B)∆= B · Zn =

{ n∑i=1

cibi : ci ∈ Z}.

The bi must be linearly ind., because span(L) = span(B) = Rn.

I The fundamental parallelepiped of basis B is P(B) = B ·[−1

2 ,12

)n.

It tiles space: Rn =⋃v∈L

(v + P(B)).

I A basis is not unique: BU is also a basis iff U ∈ Zn×n, det(U) = ±1.

O

b1

b2

6 / 18

Page 24: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Representing Lattices: Bases

I Basis of L: ordered set (i.e., matrix) B = (b1,b2, . . . ,bn) s.t.

L = L(B)∆= B · Zn =

{ n∑i=1

cibi : ci ∈ Z}.

The bi must be linearly ind., because span(L) = span(B) = Rn.

I The fundamental parallelepiped of basis B is P(B) = B ·[−1

2 ,12

)n.

It tiles space: Rn =⋃v∈L

(v + P(B)).

I A basis is not unique: BU is also a basis iff U ∈ Zn×n,det(U) = ±1.

O

b1

b2

6 / 18

Page 25: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Representing Lattices: Bases

I Basis of L: ordered set (i.e., matrix) B = (b1,b2, . . . ,bn) s.t.

L = L(B)∆= B · Zn =

{ n∑i=1

cibi : ci ∈ Z}.

The bi must be linearly ind., because span(L) = span(B) = Rn.

I The fundamental parallelepiped of basis B is P(B) = B ·[−1

2 ,12

)n.

It tiles space: Rn =⋃v∈L

(v + P(B)).

I A basis is not unique: BU is also a basis iff U ∈ Zn×n, det(U) = ±1.

O

b1

b2

6 / 18

Page 26: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 27: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 28: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 29: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 30: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 31: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 32: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 33: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 34: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

7 / 18

Page 35: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 36: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 37: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Cosets and Determinant

I Quotient group Zn/L consists of cosets v +L: “shifts” of the lattice.

Recall: v1 + L = v2 + L iff v1 − v2 ∈ L.

I Determinant det(L)∆= |Zn/L| = |det(B)| = vol(P(B)), any basis B.

I For any basis B and v ∈ Rn, (v + L) ∩ P(B) = {v̄}.Write v̄ = v mod B, the “distinguished representative” of v + L.

v

7 / 18

Page 38: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Successive Minima

I The minimum distance of L is

λ1(L)∆= min

0 6=v∈L‖v‖ = min

distinct x,y∈L‖x− y‖.

I More generally, the ith successive minimum (i = 1, . . . , n) is

λi(L)∆= min{r : L contains i linearly ind. vectors of length ≤ r}= min{r : dim(span(L ∩ B(r))) ≥ i}.

λ1

b1

b2

8 / 18

Page 39: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Successive Minima

I The minimum distance of L is

λ1(L)∆= min

0 6=v∈L‖v‖ = min

distinct x,y∈L‖x− y‖.

I More generally, the ith successive minimum (i = 1, . . . , n) is

λi(L)∆= min{r : L contains i linearly ind. vectors of length ≤ r}= min{r : dim(span(L ∩ B(r))) ≥ i}.

λ1

λ2

b1

b2

8 / 18

Page 40: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Gram-Schmidt Orthogonalization and Lower Bounding λ1

I The GSO (or QR decomposition) of basis B is:

B = QR = Q ·

‖b̃1‖ ? ?

‖b̃2‖ ?...

. . .

‖b̃n‖

, Q orthonormal

I Facts: P(B̃) = B̃ · [−12 ,

12)n is a fund. region; det(L) =

∏ni=1‖b̃i‖.

I Fact: λ1(L) ≥ mini‖b̃i‖.

Proof: consider Bc = Q(Rc) for c ∈ Zn.

b̃1 = b1

b2

b̃2

9 / 18

Page 41: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Gram-Schmidt Orthogonalization and Lower Bounding λ1

I The GSO (or QR decomposition) of basis B is:

B = QR = Q ·

‖b̃1‖ ? ?

‖b̃2‖ ?...

. . .

‖b̃n‖

, Q orthonormal

I Facts: P(B̃) = B̃ · [−12 ,

12)n is a fund. region; det(L) =

∏ni=1‖b̃i‖.

I Fact: λ1(L) ≥ mini‖b̃i‖.

Proof: consider Bc = Q(Rc) for c ∈ Zn.

b̃1 = b1

b2

b̃2

9 / 18

Page 42: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Gram-Schmidt Orthogonalization and Lower Bounding λ1

I The GSO (or QR decomposition) of basis B is:

B = QR = Q ·

‖b̃1‖ ? ?

‖b̃2‖ ?...

. . .

‖b̃n‖

, Q orthonormal

I Facts: P(B̃) = B̃ · [−12 ,

12)n is a fund. region; det(L) =

∏ni=1‖b̃i‖.

I Fact: λ1(L) ≥ mini‖b̃i‖.

Proof: consider Bc = Q(Rc) for c ∈ Zn.

b̃1 = b1

b2

b̃2

9 / 18

Page 43: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Gram-Schmidt Orthogonalization and Lower Bounding λ1

I The GSO (or QR decomposition) of basis B is:

B = QR = Q ·

‖b̃1‖ ? ?

‖b̃2‖ ?...

. . .

‖b̃n‖

, Q orthonormal

I Facts: P(B̃) = B̃ · [−12 ,

12)n is a fund. region; det(L) =

∏ni=1‖b̃i‖.

I Fact: λ1(L) ≥ mini‖b̃i‖. Proof: consider Bc = Q(Rc) for c ∈ Zn.

b̃1 = b1

b2

b̃2

9 / 18

Page 44: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Upper Bounding λ1: Minkowski’s Theorem

TheoremI Any convex, centrally symmetric body S of volume > 2n · det(L)

contains a nonzero lattice point.

I Corollary: λ1(L) ≤√n · det(L)1/n.

Proof of Theorem

1 Let S′ = S/2, so vol(S′) > det(L).

2 By pigeonhole argument, ∃ distinct x,y ∈ S′ s.t. x− y ∈ L.

3 Now 2x,−2y ∈ S by central symmetry, so x− y ∈ S by convexity.

Proof of Corollary

1 Ball of radius >√n · det(L)1/n is convex and centrally symmetric.

2 It contains a cube of side length > 2 det(L)1/n, which has volume> 2n · det(L).

10 / 18

Page 45: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Upper Bounding λ1: Minkowski’s Theorem

TheoremI Any convex, centrally symmetric body S of volume > 2n · det(L)

contains a nonzero lattice point.

I Corollary: λ1(L) ≤√n · det(L)1/n.

Proof of Theorem

1 Let S′ = S/2, so vol(S′) > det(L).

2 By pigeonhole argument, ∃ distinct x,y ∈ S′ s.t. x− y ∈ L.

3 Now 2x,−2y ∈ S by central symmetry, so x− y ∈ S by convexity.

Proof of Corollary

1 Ball of radius >√n · det(L)1/n is convex and centrally symmetric.

2 It contains a cube of side length > 2 det(L)1/n, which has volume> 2n · det(L).

10 / 18

Page 46: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Upper Bounding λ1: Minkowski’s Theorem

TheoremI Any convex, centrally symmetric body S of volume > 2n · det(L)

contains a nonzero lattice point.

I Corollary: λ1(L) ≤√n · det(L)1/n.

Proof of Theorem

1 Let S′ = S/2, so vol(S′) > det(L).

2 By pigeonhole argument, ∃ distinct x,y ∈ S′ s.t. x− y ∈ L.

3 Now 2x,−2y ∈ S by central symmetry, so x− y ∈ S by convexity.

Proof of Corollary

1 Ball of radius >√n · det(L)1/n is convex and centrally symmetric.

2 It contains a cube of side length > 2 det(L)1/n, which has volume> 2n · det(L).

10 / 18

Page 47: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Upper Bounding λ1: Minkowski’s Theorem

TheoremI Any convex, centrally symmetric body S of volume > 2n · det(L)

contains a nonzero lattice point.

I Corollary: λ1(L) ≤√n · det(L)1/n.

Proof of Theorem

1 Let S′ = S/2, so vol(S′) > det(L).

2 By pigeonhole argument, ∃ distinct x,y ∈ S′ s.t. x− y ∈ L.

3 Now 2x,−2y ∈ S by central symmetry, so x− y ∈ S by convexity.

Proof of Corollary

1 Ball of radius >√n · det(L)1/n is convex and centrally symmetric.

2 It contains a cube of side length > 2 det(L)1/n, which has volume> 2n · det(L).

10 / 18

Page 48: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Upper Bounding λ1: Minkowski’s Theorem

TheoremI Any convex, centrally symmetric body S of volume > 2n · det(L)

contains a nonzero lattice point.

I Corollary: λ1(L) ≤√n · det(L)1/n.

Proof of Theorem

1 Let S′ = S/2, so vol(S′) > det(L).

2 By pigeonhole argument, ∃ distinct x,y ∈ S′ s.t. x− y ∈ L.

3 Now 2x,−2y ∈ S by central symmetry, so x− y ∈ S by convexity.

Proof of Corollary

1 Ball of radius >√n · det(L)1/n is convex and centrally symmetric.

2 It contains a cube of side length > 2 det(L)1/n, which has volume> 2n · det(L).

10 / 18

Page 49: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Upper Bounding λ1: Minkowski’s Theorem

TheoremI Any convex, centrally symmetric body S of volume > 2n · det(L)

contains a nonzero lattice point.

I Corollary: λ1(L) ≤√n · det(L)1/n.

Proof of Theorem

1 Let S′ = S/2, so vol(S′) > det(L).

2 By pigeonhole argument, ∃ distinct x,y ∈ S′ s.t. x− y ∈ L.

3 Now 2x,−2y ∈ S by central symmetry, so x− y ∈ S by convexity.

Proof of Corollary

1 Ball of radius >√n · det(L)1/n is convex and centrally symmetric.

2 It contains a cube of side length > 2 det(L)1/n, which has volume> 2n · det(L).

10 / 18

Page 50: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Part 2:

Computational Background

I Lattices are a source of many seemingly hard problems:

SVP, CVP, uSVP, SIVP, BDD, CRP, DGS, . . . & decision variants.

I We’ll focus on the two most relevant to cryptography: the

(approximate) Shortest Vector Problem (SVPγ and GapSVPγ) and

Bounded-Distance Decoding (BDD) problem.

1 They admit worst-case/average-case reductions (to SIS and LWE).

2 Essentially all crypto schemes are based on versions of these problems.

11 / 18

Page 51: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Part 2:

Computational Background

I Lattices are a source of many seemingly hard problems:

SVP, CVP, uSVP, SIVP, BDD, CRP, DGS, . . . & decision variants.

I We’ll focus on the two most relevant to cryptography: the

(approximate) Shortest Vector Problem (SVPγ and GapSVPγ) and

Bounded-Distance Decoding (BDD) problem.

1 They admit worst-case/average-case reductions (to SIS and LWE).

2 Essentially all crypto schemes are based on versions of these problems.

11 / 18

Page 52: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Part 2:

Computational Background

I Lattices are a source of many seemingly hard problems:

SVP, CVP, uSVP, SIVP, BDD, CRP, DGS, . . . & decision variants.

I We’ll focus on the two most relevant to cryptography: the

(approximate) Shortest Vector Problem (SVPγ and GapSVPγ) and

Bounded-Distance Decoding (BDD) problem.

1 They admit worst-case/average-case reductions (to SIS and LWE).

2 Essentially all crypto schemes are based on versions of these problems.

11 / 18

Page 53: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Part 2:

Computational Background

I Lattices are a source of many seemingly hard problems:

SVP, CVP, uSVP, SIVP, BDD, CRP, DGS, . . . & decision variants.

I We’ll focus on the two most relevant to cryptography: the

(approximate) Shortest Vector Problem (SVPγ and GapSVPγ) and

Bounded-Distance Decoding (BDD) problem.

1 They admit worst-case/average-case reductions (to SIS and LWE).

2 Essentially all crypto schemes are based on versions of these problems.

11 / 18

Page 54: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Shortest Vector Problem: SVPγ and GapSVPγApproximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).

Decision: given basis B and real d, decide between

λ1(L) ≤ d versus λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Recall: mini‖b̃i‖ ≤ λ1 ≤

√n · det(L)1/n, but these are often very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

12 / 18

Page 55: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Shortest Vector Problem: SVPγ and GapSVPγApproximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).

Decision: given basis B and real d, decide between

λ1(L) ≤ d versus λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Recall: mini‖b̃i‖ ≤ λ1 ≤

√n · det(L)1/n, but these are often very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

12 / 18

Page 56: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Shortest Vector Problem: SVPγ and GapSVPγApproximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).

Decision: given basis B and real d, decide between

λ1(L) ≤ d versus λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Recall: mini‖b̃i‖ ≤ λ1 ≤

√n · det(L)1/n, but these are often very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

12 / 18

Page 57: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Shortest Vector Problem: SVPγ and GapSVPγApproximation problems with factor γ = γ(n):

Search: given basis B, find nonzero v ∈ L s.t. ‖v‖ ≤ γ · λ1(L).

Decision: given basis B and real d, decide between

λ1(L) ≤ d versus λ1(L) > γ · d.

Clearly GapSVPγ ≤ SVPγ , but the reverse direction is open!

Recall: mini‖b̃i‖ ≤ λ1 ≤

√n · det(L)1/n, but these are often very loose.

γ · λ1

b1

b2

λ1

γdd

b1

b2

12 / 18

Page 58: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Complexity of GapSVP

I Clearly, (Gap)SVPγ can only get easier as γ increases.

γ = 2(logn)1−ε

NP-hard∗

[Ajtai’98,. . . ]

√n

∈ NP ∩ coNP[GG’98,AR’05]

n

crypto[Ajtai’96,. . . ]

2∼n

SVP ∈ P[LLL’82,Schnorr’87]

I For γ = poly(n), best algorithm is 2n time & space [AKS’01,MV’10,. . . ]

I For γ = 2k, best algorithm takes ≈ 2n/k time [Schnorr’87,. . . ]

E.g., γ = 2√n appears to be ≈ 2

√n-hard.

13 / 18

Page 59: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Complexity of GapSVP

I Clearly, (Gap)SVPγ can only get easier as γ increases.

γ = 2(logn)1−ε

NP-hard∗

[Ajtai’98,. . . ]

√n

∈ NP ∩ coNP[GG’98,AR’05]

n

crypto[Ajtai’96,. . . ]

2∼n

SVP ∈ P[LLL’82,Schnorr’87]

I For γ = poly(n), best algorithm is 2n time & space [AKS’01,MV’10,. . . ]

I For γ = 2k, best algorithm takes ≈ 2n/k time [Schnorr’87,. . . ]

E.g., γ = 2√n appears to be ≈ 2

√n-hard.

13 / 18

Page 60: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Complexity of GapSVP

I Clearly, (Gap)SVPγ can only get easier as γ increases.

γ = 2(logn)1−ε

NP-hard∗

[Ajtai’98,. . . ]

√n

∈ NP ∩ coNP[GG’98,AR’05]

n

crypto[Ajtai’96,. . . ]

2∼n

SVP ∈ P[LLL’82,Schnorr’87]

I For γ = poly(n), best algorithm is 2n time & space [AKS’01,MV’10,. . . ]

I For γ = 2k, best algorithm takes ≈ 2n/k time [Schnorr’87,. . . ]

E.g., γ = 2√n appears to be ≈ 2

√n-hard.

13 / 18

Page 61: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Complexity of GapSVP

I Clearly, (Gap)SVPγ can only get easier as γ increases.

γ = 2(logn)1−ε

NP-hard∗

[Ajtai’98,. . . ]

√n

∈ NP ∩ coNP[GG’98,AR’05]

n

crypto[Ajtai’96,. . . ]

2∼n

SVP ∈ P[LLL’82,Schnorr’87]

I For γ = poly(n), best algorithm is 2n time & space [AKS’01,MV’10,. . . ]

I For γ = 2k, best algorithm takes ≈ 2n/k time [Schnorr’87,. . . ]

E.g., γ = 2√n appears to be ≈ 2

√n-hard.

13 / 18

Page 62: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

14 / 18

Page 63: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

14 / 18

Page 64: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

b1

b2

b̃2

14 / 18

Page 65: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

b1b2

b̃2

14 / 18

Page 66: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

b1b2

b̃2

14 / 18

Page 67: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

b1

b̃2b2

14 / 18

Page 68: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

Claim 1: At end, ‖b̃2‖2 ≥ 12‖b̃1‖2 (as desired).

Proof: At end, 34‖b1‖2 ≤ ‖b2‖2 ≤ ‖b̃2‖2 + 1

4‖b1‖2.

Claim 2: Algorithm terminates after poly(|B|) many iterations.

Proof: Define Φ(B) = ‖b̃1‖2 · ‖b̃2‖ = ‖b1‖ · det(L).

When we swap, Φ decreases by >√

32 factor.

It starts as 2poly(|B|) and cannot go below 1.

LLL in n dimensions: do similar loop on all adjacent pairs bi,bi+1.

14 / 18

Page 69: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

Claim 1: At end, ‖b̃2‖2 ≥ 12‖b̃1‖2 (as desired).

Proof: At end, 34‖b1‖2 ≤ ‖b2‖2 ≤ ‖b̃2‖2 + 1

4‖b1‖2.

Claim 2: Algorithm terminates after poly(|B|) many iterations.

Proof: Define Φ(B) = ‖b̃1‖2 · ‖b̃2‖ = ‖b1‖ · det(L).

When we swap, Φ decreases by >√

32 factor.

It starts as 2poly(|B|) and cannot go below 1.

LLL in n dimensions: do similar loop on all adjacent pairs bi,bi+1.

14 / 18

Page 70: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

An Algorithm for SVP2(n−1)/2 [LLL’82]

I Key idea: manipulate basis to ensure ‖b̃i+1‖2 ≥ 12‖b̃i‖

2, for all i.

This implies ‖b1‖ ≤ 2(n−1)/2 ·mini‖b̃i‖ ≤ 2(n−1)/2 · λ1(L).

In two dimensions: given basis B = (b1,b2),

1 Let b2 ← b2 − c · b1 for the c ∈ Z s.t. b2 ∈ b̃2 + [−12 ,

12) · b1.

2 If ‖b2‖2 < 34‖b1‖2, swap b1 ↔ b2 and loop. Else end.

Claim 1: At end, ‖b̃2‖2 ≥ 12‖b̃1‖2 (as desired).

Proof: At end, 34‖b1‖2 ≤ ‖b2‖2 ≤ ‖b̃2‖2 + 1

4‖b1‖2.

Claim 2: Algorithm terminates after poly(|B|) many iterations.

Proof: Define Φ(B) = ‖b̃1‖2 · ‖b̃2‖ = ‖b1‖ · det(L).

When we swap, Φ decreases by >√

32 factor.

It starts as 2poly(|B|) and cannot go below 1.

LLL in n dimensions: do similar loop on all adjacent pairs bi,bi+1.14 / 18

Page 71: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Related: Shortest Independent Vectors Problem (SIVPγ)

I Given basis B, find lin. ind. v1, . . . ,vn ∈ L s.t. ‖vi‖ ≤ γ · λn(L).

I LLL algorithm also solves SIVP2(n−1)/2 .

I We know GapSVPγ ≤ SIVPγ , but the reverse direction is open!

γ · λ2

λ1

λ2

b1

b2

15 / 18

Page 72: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Related: Shortest Independent Vectors Problem (SIVPγ)

I Given basis B, find lin. ind. v1, . . . ,vn ∈ L s.t. ‖vi‖ ≤ γ · λn(L).

I LLL algorithm also solves SIVP2(n−1)/2 .

I We know GapSVPγ ≤ SIVPγ , but the reverse direction is open!

γ · λ2

λ1

λ2

b1

b2

15 / 18

Page 73: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Related: Shortest Independent Vectors Problem (SIVPγ)

I Given basis B, find lin. ind. v1, . . . ,vn ∈ L s.t. ‖vi‖ ≤ γ · λn(L).

I LLL algorithm also solves SIVP2(n−1)/2 .

I We know GapSVPγ ≤ SIVPγ , but the reverse direction is open!

γ · λ2

λ1

λ2

b1

b2

15 / 18

Page 74: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Equivalently, given coset t + L 3 e s.t. ‖e‖ ≤ d, find e.

Decision: given basis B, coset t + L, and real d, decide between

dist(0, t + L) ≤ d versus > γ · d.

tb1

b2

16 / 18

Page 75: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Equivalently, given coset t + L 3 e s.t. ‖e‖ ≤ d, find e.

Decision: given basis B, coset t + L, and real d, decide between

dist(0, t + L) ≤ d versus > γ · d.

t + L

e

b1

b2

16 / 18

Page 76: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Equivalently, given coset t + L 3 e s.t. ‖e‖ ≤ d, find e.

Decision: given basis B, coset t + L, and real d, decide between

dist(0, t + L) ≤ d versus > γ · d.

t + L

b1

b2

16 / 18

Page 77: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Bounded-Distance Decoding (BDD)

Search: given basis B, point t, and real d < λ1/2 s.t. dist(t,L) ≤ d,find the (unique) v ∈ L closest to t.

Equivalently, given coset t + L 3 e s.t. ‖e‖ ≤ d, find e.

Decision: given basis B, coset t + L, and real d, decide between

dist(0, t + L) ≤ d versus > γ · d.

t + L

b1

b2

16 / 18

Page 78: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Algorithms for BDD [Babai’86]

“Round off:” Using a “good” basis B, output e = t mod B.

Works if Ball(d) ⊆ P(B): radius d = mini‖b⊥i ‖/2.

“Nearest plane:” Output e = t mod B̃. Proceeds iteratively.

Works if Ball(d) ⊆ P(B̃): radius d = mini‖b̃i‖/2.

b1

b2b⊥1

b⊥2

17 / 18

Page 79: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Algorithms for BDD [Babai’86]

“Round off:” Using a “good” basis B, output e = t mod B.

Works if Ball(d) ⊆ P(B): radius d = mini‖b⊥i ‖/2.

“Nearest plane:” Output e = t mod B̃. Proceeds iteratively.

Works if Ball(d) ⊆ P(B̃): radius d = mini‖b̃i‖/2.

b1

b2

b̃2

17 / 18

Page 80: Lattice-Based Cryptography: Mathematical and Computational …web.eecs.umich.edu/~cpeikert/pubs/slides-abit1.pdf · Lattice-Based Cryptography N = p q y = g x d p me d N e(ga;gb)

Wrapping Up

I Now you know (almost) everything you need to know about lattices(to do cryptography, at least).

I We’ve covered a lot: do the exercises to reinforce your understanding!

I Tomorrow: the cryptographic problems SIS and LWE (as SVP andBDD variants), and some basic applications.

18 / 18


Recommended