Lattices: From Worst-Case, to Average-Case, to Cryptography Chris - - PowerPoint PPT Presentation

lattices from worst case to average case to cryptography
SMART_READER_LITE
LIVE PREVIEW

Lattices: From Worst-Case, to Average-Case, to Cryptography Chris - - PowerPoint PPT Presentation

Lattices: From Worst-Case, to Average-Case, to Cryptography Chris Peikert Georgia Institute of Technology Public Key Cryptography and the Geometry of Numbers 6 May 2010 1 / 16 Talk Agenda 1 Smoothing and discrete Gaussians 2 From worst-case


slide-1
SLIDE 1

Lattices: From Worst-Case, to Average-Case, to Cryptography Chris Peikert

Georgia Institute of Technology Public Key Cryptography and the Geometry of Numbers 6 May 2010

1 / 16

slide-2
SLIDE 2

Talk Agenda

1 Smoothing and discrete Gaussians 2 From worst-case to average-case 3 Basic crypto applications

2 / 16

slide-3
SLIDE 3

Part 1: The Smoothing Parameter and Discrete Gaussians

◮ D. Micciancio, O. Regev (FOCS 2004) “Worst-Case to Average-Case Reductions Based on Gaussian Measures” ◮ C. Gentry, C. Peikert, V. Vaikuntanathan (STOC 2008) “Trapdoors for Hard Lattices and New Cryptographic Constructions”

3 / 16

slide-4
SLIDE 4

The Smoothing Parameter

[AR’04,MR’04]

◮ Gaussian function ρ(x) = e−πx2. Scaled: ρs(x) = ρ(x/s). Primal L Dual L∗ fs(x) ∝ ρs(L + x) ˆ f(w) ∝ ρ1/s(w) for w ∈ L∗

4 / 16

slide-5
SLIDE 5

The Smoothing Parameter

[AR’04,MR’04]

◮ Gaussian function ρ(x) = e−πx2. Scaled: ρs(x) = ρ(x/s). Primal L Dual L∗ fs(x) ∝ ρs(L + x) ˆ f(w) ∝ ρ1/s(w) for w ∈ L∗

4 / 16

slide-6
SLIDE 6

The Smoothing Parameter

[AR’04,MR’04]

◮ Gaussian function ρ(x) = e−πx2. Scaled: ρs(x) = ρ(x/s). Primal L Dual L∗ fs(x) ∝ ρs(L + x) ˆ f(w) ∝ ρ1/s(w) for w ∈ L∗

4 / 16

slide-7
SLIDE 7

The Smoothing Parameter

[AR’04,MR’04]

◮ Gaussian function ρ(x) = e−πx2. Scaled: ρs(x) = ρ(x/s). Primal L Dual L∗ fs(x) ∝ ρs(L + x) ˆ f(w) ∝ ρ1/s(w) for w ∈ L∗

4 / 16

slide-8
SLIDE 8

The Smoothing Parameter

[AR’04,MR’04]

◮ Gaussian function ρ(x) = e−πx2. Scaled: ρs(x) = ρ(x/s). Primal L Dual L∗ fs(x) ∝ ρs(L + x) ˆ f(w) ∝ ρ1/s(w) for w ∈ L∗ Definition: Smoothing Parameter smooth(L) = min s > 0 such that ρ(sL∗ \ {0}) ≤ negl(n)

4 / 16

slide-9
SLIDE 9

The Smoothing Parameter

[AR’04,MR’04]

◮ Gaussian function ρ(x) = e−πx2. Scaled: ρs(x) = ρ(x/s). Primal L Dual L∗ fs(x) ∝ ρs(L + x) ˆ f(w) ∝ ρ1/s(w) for w ∈ L∗ Key Fact For s ≥ smooth(L), every coset has equal∗ mass: ρs(L + x) ≈ ρs(L).

4 / 16

slide-10
SLIDE 10

Smoothing Parameter of Zn

Theorem smooth(Zn) ≤ ω(√log n)

5 / 16

slide-11
SLIDE 11

Smoothing Parameter of Zn

Theorem smooth(Zn) ≤ ω(√log n) Need to show: ρ(sZn \ {0}) ≤ negl when s = ω(√log n).

O

s

5 / 16

slide-12
SLIDE 12

Smoothing Parameter of Zn

Theorem smooth(Zn) ≤ ω(√log n) Need to show: ρ(sZn \ {0}) ≤ negl when s = ω(√log n). Lemma: Tail Bound

[Banaszczyk’95]

For any lattice L, ρ(L \ ) ≤ 2 exp(−πs2) · ρ(L)

O

s

5 / 16

slide-13
SLIDE 13

Smoothing Parameter of Zn

Theorem smooth(Zn) ≤ ω(√log n) Need to show: ρ(sZn \ {0}) ≤ negl when s = ω(√log n). Lemma: Tail Bound

[Banaszczyk’95]

For any lattice L, ρ(L \ ) ≤ 2 exp(−πs2) · ρ(L)

O

s

5 / 16

slide-14
SLIDE 14

Smoothing Parameter of Zn

Theorem smooth(Zn) ≤ ω(√log n) Need to show: ρ(sZn \ {0}) ≤ negl when s = ω(√log n). Lemma: Tail Bound

[Banaszczyk’95]

For any lattice L, ρ(L \ ) ≤ 2 exp(−πs2) · ρ(L) By union bound, p := ρ(sZn \ {0}) = ρ(sZn \ ) ≤ n · negl · ρ(sZn) = negl · (1 + p).

  • O

s

5 / 16

slide-15
SLIDE 15

Smoothing Parameter of Any Lattice

[MR’04,GPV’08]

◮ Gram-Schmidt orthogonalization B. (Note: B := maxi bi ≤ maxi bi) Primal L Dual L∗

  • b1 = b1

b2

  • b2

6 / 16

slide-16
SLIDE 16

Smoothing Parameter of Any Lattice

[MR’04,GPV’08]

◮ Gram-Schmidt orthogonalization B. (Note: B := maxi bi ≤ maxi bi) Theorem Let B be any basis of L. Then smooth(L) ≤ B · ω(√log n). Primal L Dual L∗

  • b1 = b1

b2

  • b2

6 / 16

slide-17
SLIDE 17

Smoothing Parameter of Any Lattice

[MR’04,GPV’08]

◮ Gram-Schmidt orthogonalization B. (Note: B := maxi bi ≤ maxi bi) Theorem Let B be any basis of L. Then smooth(L) ≤ B · ω(√log n). ◮ Dual basis: b∗

i , bj = δij. (GSO in reverse.)

Primal L Dual L∗

  • b1 = b1

b2

  • b2

b∗

1

  • b∗

2 = b∗ 2

  • b∗

1

6 / 16

slide-18
SLIDE 18

Smoothing Parameter of Any Lattice

[MR’04,GPV’08]

◮ Gram-Schmidt orthogonalization B. (Note: B := maxi bi ≤ maxi bi) Theorem Let B be any basis of L. Then smooth(L) ≤ B · ω(√log n). ◮ Dual basis: b∗

i , bj = δij. (GSO in reverse.)

Fact: b∗

i = 1/

bi Primal L Dual L∗

  • b1 = b1

b2

  • b2

b∗

1

  • b∗

2 = b∗ 2

  • b∗

1

6 / 16

slide-19
SLIDE 19

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

7 / 16

slide-20
SLIDE 20

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

1 x belongs to uniform∗ coset L + c

[∀c, ρs(L + c) ≈ ρs(L)]

7 / 16

slide-21
SLIDE 21

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

1 x belongs to uniform∗ coset L + c

[∀c, ρs(L + c) ≈ ρs(L)]

2 Given c, conditional distrib of x ∈ L + c is:

DL+c,s(x) ∝ ρs(x).

7 / 16

slide-22
SLIDE 22

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

1 x belongs to uniform∗ coset L + c

[∀c, ρs(L + c) ≈ ρs(L)]

2 Given c, conditional distrib of x ∈ L + c is:

DL+c,s(x) ∝ ρs(x). Gaussian-like Properties

1 High probability tail bounds: for x ∼ DL+c,s,

x ≤ s · √n for unit u, |x, u| ≤ s · ω(

  • log n)

7 / 16

slide-23
SLIDE 23

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

1 x belongs to uniform∗ coset L + c

[∀c, ρs(L + c) ≈ ρs(L)]

2 Given c, conditional distrib of x ∈ L + c is:

DL+c,s(x) ∝ ρs(x). Gaussian-like Properties

1 High probability tail bounds: for x ∼ DL+c,s,

x ≤ s · √n for unit u, |x, u| ≤ s · ω(

  • log n)

2 Additive: if x ∼ DL+c,s and y ∼ DL+d,t, then x + y ∼ DL+c+d,√ s2+t2

7 / 16

slide-24
SLIDE 24

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

1 x belongs to uniform∗ coset L + c

[∀c, ρs(L + c) ≈ ρs(L)]

2 Given c, conditional distrib of x ∈ L + c is:

DL+c,s(x) ∝ ρs(x). Gaussian-like Properties

1 High probability tail bounds: for x ∼ DL+c,s,

x ≤ s · √n for unit u, |x, u| ≤ s · ω(

  • log n)

2 Additive: if x ∼ DL+c,s and y ∼ DL+d,t, then x + y ∼ DL+c+d,√ s2+t2 3 Unpredictable: min-entropy ≥ n

7 / 16

slide-25
SLIDE 25

Discrete Gaussians over Lattices

Suppose x ∼ Gauss(s) for s ≥ smooth(L).

1 x belongs to uniform∗ coset L + c

[∀c, ρs(L + c) ≈ ρs(L)]

2 Given c, conditional distrib of x ∈ L + c is:

DL+c,s(x) ∝ ρs(x). Gaussian-like Properties

1 High probability tail bounds: for x ∼ DL+c,s,

x ≤ s · √n for unit u, |x, u| ≤ s · ω(

  • log n)

2 Additive: if x ∼ DL+c,s and y ∼ DL+d,t, then x + y ∼ DL+c+d,√ s2+t2 3 Unpredictable: min-entropy ≥ n 4 Many more . . .

7 / 16

slide-26
SLIDE 26

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B 8 / 16

slide-27
SLIDE 27

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B

◮ “Nearest-plane” algorithm w/ randomized rounding [Babai’86,Klein’00]

c b1 b2 8 / 16

slide-28
SLIDE 28

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B

◮ “Nearest-plane” algorithm w/ randomized rounding [Babai’86,Klein’00]

c b1 b2 8 / 16

slide-29
SLIDE 29

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B

◮ “Nearest-plane” algorithm w/ randomized rounding [Babai’86,Klein’00]

c b1 b2 8 / 16

slide-30
SLIDE 30

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B

◮ “Nearest-plane” algorithm w/ randomized rounding [Babai’86,Klein’00]

c b1 b2 8 / 16

slide-31
SLIDE 31

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B

◮ “Nearest-plane” algorithm w/ randomized rounding [Babai’86,Klein’00]

c b1 b2

◮ Proof: by smoothing, DL−c,s(plane) depends only on dist(c, plane)

8 / 16

slide-32
SLIDE 32

Sampling a Discrete Gaussian

[GPV’08,P’10]

◮ Given basis B and c ∈ Rn, efficiently sample DL−c,s for s ≥ B

⋆ Output distribution is ‘oblivious’ to input basis B

◮ “Nearest-plane” algorithm w/ randomized rounding [Babai’86,Klein’00]

c b1 b2

◮ Proof: by smoothing, DL−c,s(plane) depends only on dist(c, plane) ◮ [P’10]: More efficient, parallel algorithm for s ≥ σ1(B) (≈ B, often)

8 / 16

slide-33
SLIDE 33

Part 2: From Worst-Case to Average-Case & Basic Crypto Applications

◮ M. Ajtai (STOC 1996) “Generating Hard Instances of Lattice Problems” ◮ [MR’04, GPV’08] ◮ O. Regev (STOC 2005) “On Lattices, Learning with Errors, Random Linear Codes, and Cryptography” ◮ C. Peikert (STOC 2009) “Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem”

9 / 16

slide-34
SLIDE 34

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

  | a1 |     | a2 |   · · ·   | am |   ∈ Zn

q

10 / 16

slide-35
SLIDE 35

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

◮ Goal: find nontrivial z1, . . . , zm ∈ {0, ±1} such that: z1 ·   | a1 |   + z2 ·   | a2 |   + · · · + zm ·   | am |   =   | |   ∈ Zn

q

10 / 16

slide-36
SLIDE 36

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · A · · ·  

  • m

   z     = 0 ∈ Zn

q

10 / 16

slide-37
SLIDE 37

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · A · · ·  

  • m

   z     = 0 ∈ Zn

q

◮ For m > n lg q, ∃ x = x′ ∈ {0, 1}m s.t. Ax = Ax′ ⇒ x − x′ is a soln

10 / 16

slide-38
SLIDE 38

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

◮ Goal: find nontrivial z ∈ {0, ±1}m such that:  · · · A · · ·  

  • m

   z     = 0 ∈ Zn

q

◮ For m > n lg q, ∃ x = x′ ∈ {0, 1}m s.t. Ax = Ax′ ⇒ x − x′ is a soln ◮ Solutions form a ‘q-ary’ integer lattice: L⊥(A) = {z ∈ Zm : Az = 0} ⊆ Zm

O (0, q) (q, 0) 10 / 16

slide-39
SLIDE 39

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

◮ Goal: find nontrivial ‘short’ z ∈ Zm such that:  · · · A · · ·  

  • m

   z     = 0 ∈ Zn

q

◮ For m > n lg q, ∃ x = x′ ∈ {0, 1}m s.t. Ax = Ax′ ⇒ x − x′ is a soln ◮ Solutions form a ‘q-ary’ integer lattice: L⊥(A) = {z ∈ Zm : Az = 0} ⊆ Zm ◮ Relaxation: length bound β > √n lg q

O (0, q) (q, 0) 10 / 16

slide-40
SLIDE 40

‘Short Integer Solution’ (SIS) Problem

[Ajtai’96]

◮ Given: uniform a1, . . . , am ∈ Zn

q

◮ Goal: find nontrivial ‘short’ z ∈ Zm such that:  · · · A · · ·  

  • m

   z     = 0 ∈ Zn

q

◮ For m > n lg q, ∃ x = x′ ∈ {0, 1}m s.t. Ax = Ax′ ⇒ x − x′ is a soln ◮ Solutions form a ‘q-ary’ integer lattice: L⊥(A) = {z ∈ Zm : Az = 0} ⊆ Zm ◮ Relaxation: length bound β > √n lg q ◮ Syndrome u = Ax ↔ coset L⊥ + x

O (0, q) (q, 0) x 10 / 16

slide-41
SLIDE 41

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

11 / 16

slide-42
SLIDE 42

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

[Leftover hash lemma: (A, u = fA(Um)) is uniform∗.]

11 / 16

slide-43
SLIDE 43

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

[Leftover hash lemma: (A, u = fA(Um)) is uniform∗.]

◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . .

11 / 16

slide-44
SLIDE 44

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

[Leftover hash lemma: (A, u = fA(Um)) is uniform∗.]

◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . . . . . yields SIS solution z = x − x′ ∈ {0, ±1}m.

11 / 16

slide-45
SLIDE 45

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

[Leftover hash lemma: (A, u = fA(Um)) is uniform∗.]

◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . . . . . yields SIS solution z = x − x′ ∈ {0, ±1}m. Lattice-Centric Variant ◮ Domain Zm ∩ Ball(s√m), input x ∼ DZm,s

x 11 / 16

slide-46
SLIDE 46

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

[Leftover hash lemma: (A, u = fA(Um)) is uniform∗.]

◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . . . . . yields SIS solution z = x − x′ ∈ {0, ±1}m. Lattice-Centric Variant ◮ Domain Zm ∩ Ball(s√m), input x ∼ DZm,s ◮ Syndrome u = fA(x) specifies uniform∗ coset of L⊥(A)

x 11 / 16

slide-47
SLIDE 47

Application: One-Way / Collision-Resistant Hash

◮ Let m > n lg q. Define fA : {0, 1}m → Zn

q as

fA(x) = Ax.

[Leftover hash lemma: (A, u = fA(Um)) is uniform∗.]

◮ Collision x, x′ ∈ {0, 1}m where Ax = Ax′ . . . . . . yields SIS solution z = x − x′ ∈ {0, ±1}m. Lattice-Centric Variant ◮ Domain Zm ∩ Ball(s√m), input x ∼ DZm,s ◮ Syndrome u = fA(x) specifies uniform∗ coset of L⊥(A) ◮ Tomorrow: fA admits natural trapdoor inversion algorithm. . .

x 11 / 16

slide-48
SLIDE 48

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob)

12 / 16

slide-49
SLIDE 49

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob) Proof (simplified for q = 2β√n) Given basis B of any L, where s = B ≥ q · smooth(L):

12 / 16

slide-50
SLIDE 50

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob) Proof (simplified for q = 2β√n) Given basis B of any L, where s = B ≥ q · smooth(L):

1 Sample A: for i = 1 to m:

⋆ Draw yi ∼ DL,s using sampling algorithm

[s = B]

⋆ Map yi ∈ L/qL

to ai = B−1yi ∈ Zn

q

[uniform: s ≥ smooth(qL)]

12 / 16

slide-51
SLIDE 51

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob) Proof (simplified for q = 2β√n) Given basis B of any L, where s = B ≥ q · smooth(L):

1 Sample A: for i = 1 to m:

⋆ Draw yi ∼ DL,s using sampling algorithm ⋆ Map yi ∈ L/qL

to ai = B−1yi ∈ Zn

q

2 Solve SIS on A: get nonzero z ∈ Zm s.t. Az = 0 ∈ Zn q and z ≤ β.

12 / 16

slide-52
SLIDE 52

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob) Proof (simplified for q = 2β√n) Given basis B of any L, where s = B ≥ q · smooth(L):

1 Sample A: for i = 1 to m:

⋆ Draw yi ∼ DL,s using sampling algorithm ⋆ Map yi ∈ L/qL

to ai = B−1yi ∈ Zn

q

2 Solve SIS on A: get nonzero z ∈ Zm s.t. Az = 0 ∈ Zn q and z ≤ β. 3 Combine yi’s: let x = Yz ∈ qL. Also, x = 0 and x ≤ sβ√n

(w/hp).

12 / 16

slide-53
SLIDE 53

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob) Proof (simplified for q = 2β√n) Given basis B of any L, where s = B ≥ q · smooth(L):

1 Sample A: for i = 1 to m:

⋆ Draw yi ∼ DL,s using sampling algorithm ⋆ Map yi ∈ L/qL

to ai = B−1yi ∈ Zn

q

2 Solve SIS on A: get nonzero z ∈ Zm s.t. Az = 0 ∈ Zn q and z ≤ β. 3 Combine yi’s: let x = Yz ∈ qL. Also, x = 0 and x ≤ sβ√n

(w/hp).

⇒ So x/q ∈ L and x/q ≤ s/2. Shorter!

12 / 16

slide-54
SLIDE 54

Worst-Case Hardness of SIS

Theorem [Ajtai’96,. . . ,MR’04,GPV’08] For q ≥ 2β√n, solving SIS w/ length bound β (w/ non-negl prob) ⇓ Solving 2β√n-GapSVP , -SIVP , . . . on any n-dim lattice (w/ high prob) Proof (simplified for q = 2β√n) Given basis B of any L, where s = B ≥ q · smooth(L):

1 Sample A: for i = 1 to m:

⋆ Draw yi ∼ DL,s using sampling algorithm ⋆ Map yi ∈ L/qL

to ai = B−1yi ∈ Zn

q

2 Solve SIS on A: get nonzero z ∈ Zm s.t. Az = 0 ∈ Zn q and z ≤ β. 3 Combine yi’s: let x = Yz ∈ qL. Also, x = 0 and x ≤ sβ√n

(w/hp).

⇒ So x/q ∈ L and x/q ≤ s/2. Shorter! Get a shorter basis B′ ≤ s/2. Wash, rinse, repeat. . .

12 / 16

slide-55
SLIDE 55

‘Learning With Errors’ (LWE) Problem

[Regev’05]

◮ Generalizes ‘learning parity with noise’ to larger moduli q

13 / 16

slide-56
SLIDE 56

‘Learning With Errors’ (LWE) Problem

[Regev’05]

◮ Generalizes ‘learning parity with noise’ to larger moduli q ◮ Search: find s ∈ Zn

q, given ‘noisy random inner products’

a1 , b1 = a1 , s + e1 a2 , b2 = a2 , s + e2 . . .

error α · q ≥ 2√n

13 / 16

slide-57
SLIDE 57

‘Learning With Errors’ (LWE) Problem

[Regev’05]

◮ Generalizes ‘learning parity with noise’ to larger moduli q ◮ Search: find s ∈ Zn

q, given ‘noisy random inner products’

m            . . . At . . .     ,     . . . b . . .     = Ats + e

error α · q ≥ 2√n

13 / 16

slide-58
SLIDE 58

‘Learning With Errors’ (LWE) Problem

[Regev’05]

◮ Generalizes ‘learning parity with noise’ to larger moduli q ◮ Search: find s ∈ Zn

q, given ‘noisy random inner products’

m            . . . At . . .     ,     . . . b . . .     = Ats + e

error α · q ≥ 2√n

◮ Decision: distinguish (A , b) from uniform (A , b)

13 / 16

slide-59
SLIDE 59

‘Learning With Errors’ (LWE) Problem

[Regev’05]

◮ Generalizes ‘learning parity with noise’ to larger moduli q ◮ Search: find s ∈ Zn

q, given ‘noisy random inner products’

m            . . . At . . .     ,     . . . b . . .     = Ats + e

error α · q ≥ 2√n

◮ Decision: distinguish (A , b) from uniform (A , b) Known Hardness of LWE ◮ Decision = Search for ‘very smooth’ q

[BFKL ’93,Regev’05,P’09]

13 / 16

slide-60
SLIDE 60

‘Learning With Errors’ (LWE) Problem

[Regev’05]

◮ Generalizes ‘learning parity with noise’ to larger moduli q ◮ Search: find s ∈ Zn

q, given ‘noisy random inner products’

m            . . . At . . .     ,     . . . b . . .     = Ats + e

error α · q ≥ 2√n

◮ Decision: distinguish (A , b) from uniform (A , b) Known Hardness of LWE ◮ Decision = Search for ‘very smooth’ q

[BFKL ’93,Regev’05,P’09]

◮ Search = (n/α)-approx lattice problems:

⋆ GapSVP & SIVP under quantum reduction.

[Regev’05]

⋆ GapSVP & variants under classical reduction.

[P’09]

(For large enough q.)

13 / 16

slide-61
SLIDE 61

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

(Images courtesy xkcd.org) 14 / 16

slide-62
SLIDE 62

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

A, u = Ax

(public key) (Images courtesy xkcd.org) 14 / 16

slide-63
SLIDE 63

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

A, u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’) (Images courtesy xkcd.org) 14 / 16

slide-64
SLIDE 64

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

A, u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

b′ + bit · ⌊ q

2⌋

b′ = u, s + e′

(key / ‘pad’) (Images courtesy xkcd.org) 14 / 16

slide-65
SLIDE 65

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

A, u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

x, b ≈ xtAts = u, s ≈ b′ b′ + bit · ⌊ q

2⌋

b′ = u, s + e′

(key / ‘pad’) (Images courtesy xkcd.org) 14 / 16

slide-66
SLIDE 66

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

A, u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

x, b ≈ xtAts = u, s ≈ b′ b′ + bit · ⌊ q

2⌋

b′ = u, s + e′

(key / ‘pad’)

? (A, u, b, b′)

(Images courtesy xkcd.org) 14 / 16

slide-67
SLIDE 67

Application: Public-Key Encryption

x ∈ {0, 1}m s ∈ Zn

q

A, u = Ax

(public key)

b = Ats + e

(ciphertext ‘preamble’)

x, b ≈ xtAts = u, s ≈ b′ b′ + bit · ⌊ q

2⌋

b′ = u, s + e′

(key / ‘pad’)

? (A, u, b, b′)

(Images courtesy xkcd.org) 14 / 16

slide-68
SLIDE 68

Improved Efficiency

A x1, x2, . . . s

15 / 16

slide-69
SLIDE 69

Improved Efficiency

A x1, x2, . . . s {ui = Axi}

(public key) 15 / 16

slide-70
SLIDE 70

Improved Efficiency

A x1, x2, . . . s {ui = Axi}

(public key)

b = Ats + e

(‘preamble’)

xi, b ≈ b′

i

{b′

i + biti · ⌊ q 2⌋}

b′

i = ui, s + e′ i

(‘pad’) 15 / 16

slide-71
SLIDE 71

Improved Efficiency

A x1, x2, . . . s {ui = Axi}

(public key)

b = Ats + e

(‘preamble’)

xi, b ≈ b′

i

{b′

i + biti · ⌊ q 2⌋}

b′

i = ui, s + e′ i

(‘pad’)

◮ Tomorrow: some surprising enhancements to this scheme. . .

15 / 16

slide-72
SLIDE 72

Parting Words

1 Discrete Gaussians on lattices are central objects in complexity

and cryptography.

16 / 16

slide-73
SLIDE 73

Parting Words

1 Discrete Gaussians on lattices are central objects in complexity

and cryptography.

2 SIS and LWE are the central hard cryptographic problems.

⋆ They can be interpreted as both combinatorial and

(average-case) lattice problems.

16 / 16

slide-74
SLIDE 74

Parting Words

1 Discrete Gaussians on lattices are central objects in complexity

and cryptography.

2 SIS and LWE are the central hard cryptographic problems.

⋆ They can be interpreted as both combinatorial and

(average-case) lattice problems.

Thanks!

16 / 16