Lattice Cryptography: Introduction and Open Problems Daniele - - PowerPoint PPT Presentation

lattice cryptography introduction and open problems
SMART_READER_LITE
LIVE PREVIEW

Lattice Cryptography: Introduction and Open Problems Daniele - - PowerPoint PPT Presentation

Lattice Cryptography: Introduction and Open Problems Daniele Micciancio Department of Computer Science and Engineering University of California, San Diego August 2015 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open


slide-1
SLIDE 1

Lattice Cryptography: Introduction and Open Problems

Daniele Micciancio

Department of Computer Science and Engineering University of California, San Diego

August 2015

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 1 / 32

slide-2
SLIDE 2

Point Lattices

The simplest example of lattice is Zn = {(x1, . . . , xn): xi ∈ Z}

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 2 / 32

slide-3
SLIDE 3

Point Lattices

The simplest example of lattice is Zn = {(x1, . . . , xn): xi ∈ Z} Other lattices are obtained by applying a linear transformation B: x = (x1, . . . , xn) → Bx = x1 · b1 + · · · + xn · bn

(1, 0) (0, 1)

B

b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 2 / 32

slide-4
SLIDE 4

Lattice Cryptography

1982 1996 today cryptanalysis crypto design Lenstra, Lenstra, Lovasz (1982) : The “LLL” paper “Factoring Polynomials with Rational Coefficients”

Algorithmic breakthrough Efficient approximate solution of lattice problems Exponential approximation factor, but very good in practice Killer App: Cryptanalysis

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 3 / 32

slide-5
SLIDE 5

Lattice Cryptography

1982 1996 today cryptanalysis crypto design Lenstra, Lenstra, Lovasz (1982) : The “LLL” paper “Factoring Polynomials with Rational Coefficients”

Algorithmic breakthrough Efficient approximate solution of lattice problems Exponential approximation factor, but very good in practice Killer App: Cryptanalysis

Ajtai (1996) : “Generating Hard Instances of Lattice Problems”

Marks the beginning of the modern use of lattices in the design of cryptographic functions

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 3 / 32

slide-6
SLIDE 6

Ajtai’s paper (quotes)

“cryptography . . . generation of a specific instance of a problem in NP which is thought to be difficult”.

“NP-hard problems” “very famous question (e.g., prime factorization).”

“Unfortunately ‘difficult to solve’ means . . . in the worst case” “no guidance about how to create [a hard instance]” “possible solution”

1

“find a set of randomly generated problems”, and

2

“show that if there is an algorithm which [works] with a positive probability, then there is also an algorithm which solves the famous problem in the worst case.”

“In this paper we give such a class of random problems.”

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 4 / 32

slide-7
SLIDE 7

Example: Discrete Logrithm (DLOG)

p: a prime Z∗

p: multiplicative group

g ∈ Z∗

p: generator of (prime order sub-)group G = {gi : i ∈ Z} ⊆ Z∗ p

Input: h = gi mod p

DLOG Problem

Given p, g, h, recover i (modulo q = o(g))

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 5 / 32

slide-8
SLIDE 8

Example: Discrete Logrithm (DLOG)

p: a prime Z∗

p: multiplicative group

g ∈ Z∗

p: generator of (prime order sub-)group G = {gi : i ∈ Z} ⊆ Z∗ p

Input: h = gi mod p

DLOG Problem

Given p, g, h, recover i (modulo q = o(g))

Random Self Reducibility

If you can solve DLOG for random g and h (with some probability), then you can solve it for any g, h in the worst-case.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 5 / 32

slide-9
SLIDE 9

DLOG: Random Self Reducibility (RSR)

1 Given arbitrary g, h Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 6 / 32

slide-10
SLIDE 10

DLOG: Random Self Reducibility (RSR)

1 Given arbitrary g, h 2 Compute g′ = ga and h′ = hab for random a, b ∈ Z∗

q.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 6 / 32

slide-11
SLIDE 11

DLOG: Random Self Reducibility (RSR)

1 Given arbitrary g, h 2 Compute g′ = ga and h′ = hab for random a, b ∈ Z∗

q.

3 Notice:

g ′, h′ ∈ G are (almost) uniformly random h′ = hab = g iab = (g ′)ib

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 6 / 32

slide-12
SLIDE 12

DLOG: Random Self Reducibility (RSR)

1 Given arbitrary g, h 2 Compute g′ = ga and h′ = hab for random a, b ∈ Z∗

q.

3 Notice:

g ′, h′ ∈ G are (almost) uniformly random h′ = hab = g iab = (g ′)ib

4 Find j = DLOG(g′, h′) = ib Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 6 / 32

slide-13
SLIDE 13

DLOG: Random Self Reducibility (RSR)

1 Given arbitrary g, h 2 Compute g′ = ga and h′ = hab for random a, b ∈ Z∗

q.

3 Notice:

g ′, h′ ∈ G are (almost) uniformly random h′ = hab = g iab = (g ′)ib

4 Find j = DLOG(g′, h′) = ib 5 Output j/b (mod q). Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 6 / 32

slide-14
SLIDE 14

DLOG: Random Self Reducibility (RSR)

1 Given arbitrary g, h 2 Compute g′ = ga and h′ = hab for random a, b ∈ Z∗

q.

3 Notice:

g ′, h′ ∈ G are (almost) uniformly random h′ = hab = g iab = (g ′)ib

4 Find j = DLOG(g′, h′) = ib 5 Output j/b (mod q).

Conclusion

We know how to choose g, h ∈ G. But, how do we choose G?

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 6 / 32

slide-15
SLIDE 15

DLOG vs Lattices (1)

Lattice Assumption

The complexity of solving lattice problems in n-dimensional lattices grows superpolynomially (or exponentially) in n.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 7 / 32

slide-16
SLIDE 16

DLOG vs Lattices (1)

Lattice Assumption

The complexity of solving lattice problems in n-dimensional lattices grows superpolynomially (or exponentially) in n. Similarly, one may conjecture that the complexity of DLOG grows superpolynomially in n = log p or n = log |G|.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 7 / 32

slide-17
SLIDE 17

DLOG vs Lattices (1)

Lattice Assumption

The complexity of solving lattice problems in n-dimensional lattices grows superpolynomially (or exponentially) in n. Similarly, one may conjecture that the complexity of DLOG grows superpolynomially in n = log p or n = log |G|. This is not the same:

For any n, there are (exponentially) many primes p. Typically, p is chosen at random among all n-bit primes Assumption is still average-case: DLOG is hard for random p.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 7 / 32

slide-18
SLIDE 18

DLOG vs Lattices (1)

Lattice Assumption

The complexity of solving lattice problems in n-dimensional lattices grows superpolynomially (or exponentially) in n. Similarly, one may conjecture that the complexity of DLOG grows superpolynomially in n = log p or n = log |G|. This is not the same:

For any n, there are (exponentially) many primes p. Typically, p is chosen at random among all n-bit primes Assumption is still average-case: DLOG is hard for random p.

We do not know how to reduce DLOG(Z∗

p) to DLOG(Z∗ q).

RSR provides no guidance on how to choose p.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 7 / 32

slide-19
SLIDE 19

DLOG vs Lattices (2)

Alternative assumption

DLOG(pn) is hard when pn is the smallest prime > 2n. Equivalent to worst-case family of problems (indexed by n) Ad-hoc: problem definition seems rather arbitrary

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 8 / 32

slide-20
SLIDE 20

DLOG vs Lattices (2)

Alternative assumption

DLOG(pn) is hard when pn is the smallest prime > 2n. Equivalent to worst-case family of problems (indexed by n) Ad-hoc: problem definition seems rather arbitrary There is more: Lattice problems in dimension n reduce to lattice problems in dimension m > n: B = ⇒ B O O ∞ No such reduction for DLOG: DLOG(pn)

?

= ⇒ DLOG(pn+1)

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 8 / 32

slide-21
SLIDE 21

DLOG vs Lattices (3)

Other (natural) representations: G = (Z∗

p, ·) ≡ (Zp−1, +)

but “DLOG” in (Zp−1, +) is easy. Other (still natural) groups: G = Z∗

pq

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 9 / 32

slide-22
SLIDE 22

DLOG vs Lattices (3)

Other (natural) representations: G = (Z∗

p, ·) ≡ (Zp−1, +)

but “DLOG” in (Zp−1, +) is easy. Other (still natural) groups: G = Z∗

pq

Question

Assume one of DLOG(Zp) and DLOG(Zp·q) is polynomial time solvable, and one is not. Which group family would you choose?

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 9 / 32

slide-23
SLIDE 23

DLOG vs Lattices (3)

Other (natural) representations: G = (Z∗

p, ·) ≡ (Zp−1, +)

but “DLOG” in (Zp−1, +) is easy. Other (still natural) groups: G = Z∗

pq

Question

Assume one of DLOG(Zp) and DLOG(Zp·q) is polynomial time solvable, and one is not. Which group family would you choose? Chinese Reminder Theorem (CRT): Zpq ≈ Zp × Zq DLOG(Z∗

p) =

⇒ DLOG(Z∗

pq).

Reduction in the other direction requires factoring.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 9 / 32

slide-24
SLIDE 24

Ajtai’s one-way function (SIS)

Parameters: m, n, q ∈ Z Key: A ∈ Zn×m

q

Input: x ∈ {0, 1}m m xT n A Ax

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 10 / 32

slide-25
SLIDE 25

Ajtai’s one-way function (SIS)

Parameters: m, n, q ∈ Z Key: A ∈ Zn×m

q

Input: x ∈ {0, 1}m Output: fA(x) = Ax mod q m xT × n A f Ax

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 10 / 32

slide-26
SLIDE 26

Ajtai’s one-way function (SIS)

Parameters: m, n, q ∈ Z Key: A ∈ Zn×m

q

Input: x ∈ {0, 1}m 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 the worst-case, then fA(x) = Ax mod q is a one-way function. Applications: OWF [A’96], Hashing [GGH’97], Commit [KTX’08], ID schemes [L’08], Signatures [LM’08,GPV’08,. . . ,DDLL’13] . . .

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 10 / 32

slide-27
SLIDE 27

Relation to lattices

The kernel set Λ⊥(A) is a lattice Λ⊥(A) = {z ∈ Zm : Az = 0 (mod q)} Collisions Ax = Ay (mod q) can be represented by a single vector z = x − y ∈ {−1, 0, 1} such that z = x − y

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 11 / 32

slide-28
SLIDE 28

Relation to lattices

The kernel set Λ⊥(A) is a lattice Λ⊥(A) = {z ∈ Zm : Az = 0 (mod q)} Collisions Ax = Ay (mod q) can be represented by a single vector z = x − y ∈ {−1, 0, 1} such that Az = Ax − Ay = 0 mod q

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 11 / 32

slide-29
SLIDE 29

Relation to lattices

The kernel set Λ⊥(A) is a lattice Λ⊥(A) = {z ∈ Zm : Az = 0 (mod q)} Collisions Ax = Ay (mod q) can be represented by a single vector z = x − y ∈ {−1, 0, 1} such that Az = Ax − Ay = 0 mod q Collisions are lattice vectors z ∈ Λ⊥(A) with small norm z∞ = maxi |zi| = 1.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 11 / 32

slide-30
SLIDE 30

Relation to lattices

The kernel set Λ⊥(A) is a lattice Λ⊥(A) = {z ∈ Zm : Az = 0 (mod q)} Collisions Ax = Ay (mod q) can be represented by a single vector z = x − y ∈ {−1, 0, 1} such that Az = Ax − Ay = 0 mod q Collisions are lattice vectors z ∈ Λ⊥(A) with small norm z∞ = maxi |zi| = 1. ... there is a much deeper and interesting relation between breaking fA and lattice problems.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 11 / 32

slide-31
SLIDE 31

Shortest Vector Problem

Definition (Shortest Vector Problem, SVP)

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

b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 12 / 32

slide-32
SLIDE 32

Shortest Vector Problem

Definition (Shortest Vector Problem, SVP)

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

b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 12 / 32

slide-33
SLIDE 33

Shortest Vector Problem

Definition (Shortest Vector Problem, SVP)

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

b1 b2 λ1 Bx = 5b1 − 2b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 12 / 32

slide-34
SLIDE 34

Shortest Vector Problem

Definition (Shortest Vector Problem, SVPγ)

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

2λ1 b1 b2 λ1 Bx = 5b1 − 2b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 12 / 32

slide-35
SLIDE 35

Closest Vector Problem

Definition (Closest Vector Problem, CVP)

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

t b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 13 / 32

slide-36
SLIDE 36

Closest Vector Problem

Definition (Closest Vector Problem, CVP)

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

t b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 13 / 32

slide-37
SLIDE 37

Closest Vector Problem

Definition (Closest Vector Problem, CVP)

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

t µ b1 b2 Bx Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 13 / 32

slide-38
SLIDE 38

Closest Vector Problem

Definition (Closest Vector Problem, CVPγ)

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

t µ 2µ b1 b2 Bx Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 13 / 32

slide-39
SLIDE 39

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVP)

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

b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 14 / 32

slide-40
SLIDE 40

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVP)

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

b1 b2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 14 / 32

slide-41
SLIDE 41

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVP)

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

b1 b2 Bx1 λ2 Bx2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 14 / 32

slide-42
SLIDE 42

Shortest Independent Vectors Problem

Definition (Shortest Independent Vectors Problem, SIVPγ)

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

2λ2 b1 b2 Bx1 λ2 Bx2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 14 / 32

slide-43
SLIDE 43

Minimum Distance and Successive Minima

Minimum distance λ1 = min

x,y∈L,x=y x − y

= min

x∈L,x=0 x

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 15 / 32

slide-44
SLIDE 44

Minimum Distance and Successive Minima

Minimum distance λ1 = min

x,y∈L,x=y x − y

= min

x∈L,x=0 x

λ1 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 15 / 32

slide-45
SLIDE 45

Minimum Distance and Successive Minima

Minimum distance λ1 = min

x,y∈L,x=y x − y

= min

x∈L,x=0 x

Successive minima (i = 1, . . . , n) λi = min{r : dim span(B(r) ∩ L) ≥ i}

λ1 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 15 / 32

slide-46
SLIDE 46

Minimum Distance and Successive Minima

Minimum distance λ1 = min

x,y∈L,x=y x − y

= min

x∈L,x=0 x

Successive minima (i = 1, . . . , n) λi = min{r : dim span(B(r) ∩ L) ≥ i}

λ1 λ2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 15 / 32

slide-47
SLIDE 47

Minimum Distance and Successive Minima

Minimum distance λ1 = min

x,y∈L,x=y x − y

= min

x∈L,x=0 x

Successive minima (i = 1, . . . , n) λi = min{r : dim span(B(r) ∩ L) ≥ i} Examples

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

λ1 λ2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 15 / 32

slide-48
SLIDE 48

Blurring a lattice

Consider a lattice Λ, and

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-49
SLIDE 49

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-50
SLIDE 50

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-51
SLIDE 51

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-52
SLIDE 52

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered.

How much noise is needed?

r ≤ √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-53
SLIDE 53

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered. Increase the noise until the space is uniformly covered.

How much noise is needed?

r ≤ √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-54
SLIDE 54

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered. Increase the noise until the space is uniformly covered.

How much noise is needed?

r ≤ √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-55
SLIDE 55

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered. Increase the noise until the space is uniformly covered.

How much noise is needed?

r ≤ √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-56
SLIDE 56

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered. Increase the noise until the space is uniformly covered.

How much noise is needed?

r ≤ √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-57
SLIDE 57

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered. Increase the noise until the space is uniformly covered.

How much noise is needed? [MR]

r ≤ (log n) · √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. a ∈ Rn/Λ is uniformly distributed. v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-58
SLIDE 58

Blurring a lattice

Consider a lattice Λ, and add noise to each lattice point until the entire space is covered. Increase the noise until the space is uniformly covered.

How much noise is needed? [MR]

r ≤ (log n) · √n · λn/2 Each point in a ∈ Rn can be written a = v + r where v ∈ L and r ≈ √nλn. a ∈ Rn/Λ is uniformly distributed. Think of Rn ≈ 1

qΛ [GPV’07]

v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a v r a

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 16 / 32

slide-59
SLIDE 59

Average-case hardness (sketch)

Generate random points ai = vi + ri ∈ 1

qΛ, where

vi ∈ Λ is a random lattice point ri is a random error vector of length ri ≈ √nλn

A = [a1, . . . , am] ≈ 1

qΛm ≡ Zn×m q

Assume we can find a short lattice vector z ∈ Zm Az = 0

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 17 / 32

slide-60
SLIDE 60

Average-case hardness (sketch)

Generate random points ai = vi + ri ∈ 1

qΛ, where

vi ∈ Λ is a random lattice point ri is a random error vector of length ri ≈ √nλn

A = [a1, . . . , am] ≈ 1

qΛm ≡ Zn×m q

Assume we can find a short lattice vector z ∈ Zm

  • (vi + ri)zi =
  • aizi = Az = 0

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 17 / 32

slide-61
SLIDE 61

Average-case hardness (sketch)

Generate random points ai = vi + ri ∈ 1

qΛ, where

vi ∈ Λ is a random lattice point ri is a random error vector of length ri ≈ √nλn

A = [a1, . . . , am] ≈ 1

qΛm ≡ Zn×m q

Assume we can find a short lattice vector z ∈ Zm

  • (vi + ri)zi =
  • aizi = Az = 0

Rearranging the terms yields a lattice vector

  • vizi = −
  • rizi
  • f length at most rizi ≈ √m · max ri ≈ n · λn

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 17 / 32

slide-62
SLIDE 62

Shortcomings of Ajtai’s function

Expressivity: Ajtai’s proof requires m > n log q The function fA : {0, 1}m → Zn

q is not injective

Enough for one-way functions, collision resistant hashing, some digital siguatures, commitments, identification, etc. . . . but (public key) encryption seem to require stronger assumptions. 1996: Ajtai-Dwork cryptosystem, based on the “unique” Shortest Vector Problem. Efficiency: The matrix/key A ∈ Zn×m

q

requires Ω(n2) storage (and computation) 1996: NTRU Cryptosystem, efficient, but not supported by security proof from worst-case lattice problems.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 18 / 32

slide-63
SLIDE 63

Learning with errors (LWE)

A ∈ Zm×n

q

, s ∈ Zn

q, e ∈ Em.

gA(s ) = As mod q n sT × m A g b

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 19 / 32

slide-64
SLIDE 64

Learning with errors (LWE)

A ∈ Zm×n

q

, s ∈ Zn

q, e ∈ Em.

gA(s; e) = As + e mod q Learning with Errors: Given A and gA(s, e), recover s. n sT × m A + e g b

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 19 / 32

slide-65
SLIDE 65

Learning with errors (LWE)

A ∈ Zm×n

q

, s ∈ Zn

q, e ∈ Em.

gA(s; e) = As + e mod q Learning with Errors: Given A and gA(s, e), recover s.

Theorem (Regev’05)

The function gA(s, e) is hard to invert on the average, assuming SIVP is hard to approximate in the worst-case even for quantum computers. n sT × m A + e g b

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 19 / 32

slide-66
SLIDE 66

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β x

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-67
SLIDE 67

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β Output: fL(x) = x mod L x fL x b1 b2

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-68
SLIDE 68

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β Output: fL(x) = x mod L β < λ1/2: fL is injective fL b1 b2

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-69
SLIDE 69

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β Output: fL(x) = x mod L β < λ1/2: fL is injective β > λ1/2: fL is not injective fL b1 b2

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-70
SLIDE 70

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β Output: fL(x) = x mod L β < λ1/2: fL is injective β > λ1/2: fL is not injective β ≥ µ: fL is surjective fL b1 b2

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-71
SLIDE 71

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β Output: fL(x) = x mod L β < λ1/2: fL is injective β > λ1/2: fL is not injective β ≥ µ: fL is surjective β ≫ µ: fL(x) is almost uniform fL b1 b2

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-72
SLIDE 72

SIS/LWE as CVP

Candidate OWF

Key: a hard lattice L Input: x, x ≤ β Output: fL(x) = x mod L β < λ1/2: fL is injective β > λ1/2: fL is not injective β ≥ µ: fL is surjective β ≫ µ: fL(x) is almost uniform

Question

Are these functions cryptographically hard to invert? fL b1 b2

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 20 / 32

slide-73
SLIDE 73

Special Versions of CVP

Definition (Closest Vector Problem (CVP))

Given (L, t, d), with µ(t, L) ≤ d, find a lattice point within distance d from t. If d is arbitrary, then one can find the closest lattice vector by binary search on d. Bounded Distance Decoding (BDD): If d < λ1(L)/2, then there is at most one solution. Solution is the closest lattice vector. Absolute Distance Decoding (ADD): If d ≥ ρ(L), then there is always at least one solution. Solution may not be closest lattice vector.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 21 / 32

slide-74
SLIDE 74

Computational problems on random lattices

Ajtai’s class of random lattices an their duals: A ∈ Zn×m Λ⊥

q (A)

= {x ∈ Zm : Ax = 0 mod q} Λq(A) = ATZn + qZm Inverting Ajtai’s function Ax = b Solution x always exist, but it is hard to find Average case version of ADD on random Λ⊥

q (A)

Solving LWE sA + x = b For small enough x, solution is unique Average case version of BDD on random dual lattice Λq(A).

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 22 / 32

slide-75
SLIDE 75

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

  • i

1 2vi ≤ (n/2)λn ≤ nρ from t

P x t

v1 v2 Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 23 / 32

slide-76
SLIDE 76

BDD reduces to SIVP

BDD input: t close to L t

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 24 / 32

slide-77
SLIDE 77

BDD reduces to SIVP

BDD input: t close to L Compute V = SIVP(L∗) t vi

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 24 / 32

slide-78
SLIDE 78

BDD reduces to SIVP

BDD input: t close to L Compute V = SIVP(L∗) For each vi ∈ L∗, find the layer Li = {x | x · vi = ci} closest to t t vi

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 24 / 32

slide-79
SLIDE 79

BDD reduces to SIVP

BDD input: t close to L Compute V = SIVP(L∗) For each vi ∈ L∗, find the layer Li = {x | x · vi = ci} closest to t Output L1 ∩ L2 ∩ · · · ∩ Ln t vi

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 24 / 32

slide-80
SLIDE 80

BDD reduces to SIVP

BDD input: t close to L Compute V = SIVP(L∗) For each vi ∈ L∗, find the layer Li = {x | x · vi = ci} closest to t Output L1 ∩ L2 ∩ · · · ∩ Ln Output is correct as long as µ(t, L) ≤ λ1 2n ≤ 1 2λ∗

n

≤ 1 2vi t vi

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 24 / 32

slide-81
SLIDE 81

Special Versions of SVP and SIVP

GapSVP: compute (or approximate) the value λ1 without necessarily finding a short vector GapSIVP: compute (or approximate) the value λn without necessarily finding short linearly independent vectors Transference Theorem λ1 ≈ 1/λ∗

n: GapSVP can be (approximately)

solved by solving GapSIVP in the dual lattice, and vice versa

Problems

Exercise: Computing λ1 (or λn) exactly is as hard as SVP (or SIVP) Open Problem: Reduce approximate SVP (or SIVP) to approximate GapSVP (or GapSIVP)

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 25 / 32

slide-82
SLIDE 82

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) Lattice Cryptography: Introduction and Open Problems August 2015 26 / 32

slide-83
SLIDE 83

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) Lattice Cryptography: Introduction and Open Problems August 2015 26 / 32

slide-84
SLIDE 84

Open Problems

Does the ability to approximate λ1 helps in solving SVP? Does the ability to approximate λn helps in solving SIVP? Is there a reduction from CVP/SVP to SIVP?

Yes, for the exact version of the problems [M. 08] Open for approximation version

Is there a classical (nonquantum) reduction from SIVP/ADD to GapSVP/BDD?

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 27 / 32

slide-85
SLIDE 85

Efficient Lattice Cryptography from Structured Lattices

Idea

Use structured matrix A = [A(1) | . . . | A(m/n)] where A(i) ∈ Zn×n

q

is circulant A(i) =       a(i)

1

a(i)

n

· · · a(i)

2

a(i)

2

a(i)

1

· · · a(i)

3

. . . . . . ... . . . a(i)

n

a(i)

n−1

· · · a(i)

1

      “Generalized Compact Knapsacks and Efficient One-Way Functions” (Micciancio, FOCS 2002) Efficient version of Ajtai’s connection:

O(n log n) space and time complexity Provable security: guidance on how to choose random instances.

Theorem

“CyclicSIS” is hard to invert on average, assuming the worst-case hardness

  • f lattice problems over “cyclic” lattices.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 28 / 32

slide-86
SLIDE 86

Ideal Lattices and Algebraic number theory

Isomorphism: Acyc ↔ Z[X]/(X n − 1) Cyclic SIS: fa1,...,ak(u1, . . . , uk) =

  • i

ai(X) · ui(X) (mod X n − 1) where ai, ui ∈ R = Z[X]/(X n − 1). More generally, use R = Z[X]/p(X) for some monic polynomial p(X) ∈ Z[X] If p(X) is irreducible, then finding collisions to fa for random a is as hard as solving lattice problems in the worst case in ideal lattices Can set R to the ring of integers of K = Q[X]/p(X).

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 29 / 32

slide-87
SLIDE 87

How to choose p(X)/R?

RingSIS (Lyubashevsky, PhD Thesis, UCSD 2008) define fa(u) =

i ai(X) · ui(X)

Notice: no reduction modulo p(X)! If fa(u) = fa(u′) in Z[X], then fa(u) = fa(u′) (mod p(X)). Conclusion: breaking f is at least as hard as solving lattices problems in ideal lattices for any p(X).

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 30 / 32

slide-88
SLIDE 88

How to choose p(X)/R?

RingSIS (Lyubashevsky, PhD Thesis, UCSD 2008) define fa(u) =

i ai(X) · ui(X)

Notice: no reduction modulo p(X)! If fa(u) = fa(u′) in Z[X], then fa(u) = fa(u′) (mod p(X)). Conclusion: breaking f is at least as hard as solving lattices problems in ideal lattices for any p(X). RingLWE: Most applications require not only hardness of inverting fa, but also pseudorandomness of output fa(u) [Lyubashevsky,Peikert,Regev’10]: For cyclotomic p(X), hardness of inverting fa implies pseudorandomness of fa(u). [Lauter’15] constructs polynomial rings where inverting fa is conceivably hard, but fa(u) is easily distinguished from random.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 30 / 32

slide-89
SLIDE 89

Classical Hardness of LWE

[P’09, BLPRS’13] There is a classical reduction from GapSVP to LWE when q = 2O(n), or LWE dimension d = O(n2) Open Problems Is there a more efficient reduction from GapSVP to LWE? Is there a classical reduction from SIVP to LWE? Is there a reduction from SVP/SIVP to LWE on ideal lattices?

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 31 / 32

slide-90
SLIDE 90

More Open Problems – Tonight 7:30pm

Bring your own open problems to share! Send email to daniele@cs.ucsd.edu with estimated time for scheduling. . . . or, just talk to me over lunch or coffee break.

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 32 / 32

slide-91
SLIDE 91

More Open Problems – Tonight 7:30pm

Bring your own open problems to share! Send email to daniele@cs.ucsd.edu with estimated time for scheduling. . . . or, just talk to me over lunch or coffee break.

Thank you!

Daniele Micciancio (UCSD) Lattice Cryptography: Introduction and Open Problems August 2015 32 / 32