Using Discrete Gaussian Sampling Divesh Aggarwal National - - PowerPoint PPT Presentation

โ–ถ
using discrete gaussian sampling
SMART_READER_LITE
LIVE PREVIEW

Using Discrete Gaussian Sampling Divesh Aggarwal National - - PowerPoint PPT Presentation

Solving SVP and CVP in 2 Time Using Discrete Gaussian Sampling Divesh Aggarwal National University of Singapore (NUS) Daniel Dadush Centrum Wiskunde en Informatica (CWI) Oded Regev Noah Stephens-Davidowitz New York University (NYU)


slide-1
SLIDE 1

Solving SVP and CVP in 2๐‘œ Time Using Discrete Gaussian Sampling

Divesh Aggarwal

National University of Singapore (NUS)

Daniel Dadush

Centrum Wiskunde en Informatica (CWI)

Oded Regev Noah Stephens-Davidowitz

New York University (NYU)

slide-2
SLIDE 2

A lattice โ„’ โІ โ„๐‘œ is all integral combinations of some basis B = ๐‘1, โ€ฆ , ๐‘๐‘œ . โ„’(๐ถ) denotes lattice generated by ๐ถ.

โ„’

๐‘1 ๐‘2

Lattices

slide-3
SLIDE 3

Act I: The Shortest Vector Problem

slide-4
SLIDE 4

Shortest Vector Problem (SVP)

Given: Lattice basis ๐ถ ๐œ— โ„š๐‘œร—๐‘œ. Goal: Compute shortest non-zero vector in โ„’(๐ถ).

โ„’

๐‘ง

slide-5
SLIDE 5

Shortest Vector Problem (SVP)

๐œ‡1 โ„’ = length of shortest non-zero vector

โ„’

๐‘ง

๐œ‡1 โ„’

slide-6
SLIDE 6

Algorithms for SVP

Time Space

[Kan86,HS07,MW15]

(Enumeration)

๐‘œ๐‘ƒ(๐‘œ) poly ๐‘œ

[AKS01]

(Sieving)

2๐‘ƒ(๐‘œ) 2๐‘ƒ(๐‘œ)

[NV08, PS09, MV10a, โ€ฆ]

22.465๐‘œ+๐‘(๐‘œ) 21.233๐‘œ+๐‘(๐‘œ)

[MV10b]

(Voronoi cell, deterministic, CVP)

22๐‘œ+๐‘(๐‘œ) 2๐‘œ+๐‘(๐‘œ)

[ADRS15]

2๐‘œ+๐‘(๐‘œ) 2๐‘œ+๐‘(๐‘œ)

slide-7
SLIDE 7

Our Algorithm

slide-8
SLIDE 8

Gaussian Distribution

slide-9
SLIDE 9

Gaussian Distribution

slide-10
SLIDE 10

Discrete Gaussian Distribution

slide-11
SLIDE 11

Discrete Gaussian Distribution

slide-12
SLIDE 12

Discrete Gaussian Distribution

slide-13
SLIDE 13

Discrete Gaussian Distribution

slide-14
SLIDE 14

Discrete Gaussian Distribution

slide-15
SLIDE 15

Discrete Gaussian Distribution

slide-16
SLIDE 16

Discrete Gaussian Distribution

slide-17
SLIDE 17

Discrete Gaussian Distribution

slide-18
SLIDE 18

shortest vector!

If we can obtain โ€œenoughโ€ samples from the discrete Gaussian with the โ€œrightโ€ (small) parameter, then we can solve SVP.

Discrete Gaussian Distribution

slide-19
SLIDE 19

We need at most 1.38๐‘œ vectors with ๐‘ก โ‰ˆ ๐œ‡1 โ„’ / ๐‘œ [KL78]. (uses bounds on the kissing number) ๐ธโ„’,๐‘ก is very well-studied for very high parameters, ๐‘ก โ‰ฟ ๐œ‡๐‘œ(โ„’), i.e. above the โ€œsmoothing parameterโ€ of the lattice. [Kle00, GPV08] show how to sample in this regime in polynomial time. (Previously could not do much better, even in exponential time.)

Discrete Gaussian Distribution

slide-20
SLIDE 20

Easy Hard

Can we use samples from the LHS to get samples from the RHS?

Our goal

[Kle00, GPV08]

Discrete Gaussian Distribution

slide-21
SLIDE 21

= 2

Discrete Gaussian Distribution

slide-22
SLIDE 22

= ? 2

Discrete Gaussian Distribution

slide-23
SLIDE 23

Discrete Gaussian Distribution

slide-24
SLIDE 24

What if we condition on the result being in the lattice? Progress! Unfortunately, this requires us to throw out a lot of vectors. We only keep one from every โ‰ˆ 2๐‘œ vectors each time we do this, leading to a very slow algorithm!

Converting Gaussian Vectors

slide-25
SLIDE 25

+ = 2

Converting Gaussian Vectors

slide-26
SLIDE 26

+ = 2 ?

Converting Gaussian Vectors

slide-27
SLIDE 27

Converting Gaussian Vectors

slide-28
SLIDE 28

What about the average of two discrete Gaussian vectors conditioned on the result being in the lattice?

Converting Gaussian Vectors

slide-29
SLIDE 29

When do we have ?

We have ๐‘ง1 + ๐‘ง2 2 โˆˆ โ„’ if and only if ๐‘ง1, ๐‘ง2 are in the same coset of 2โ„’ . (Note that there are 2๐‘œ cosets)

Converting Gaussian Vectors

slide-30
SLIDE 30

What about the average of two discrete Gaussian vectors conditioned on the result being in the lattice?

Converting Gaussian Vectors

slide-31
SLIDE 31

What about the average of two discrete Gaussian vectors conditioned on the result being in the lattice?

Converting Gaussian Vectors

โ„’ ร— โ„’ โ„’โ€  = { ๐‘ง1, ๐‘ง2 โˆถ ๐‘ง1 โ‰ก ๐‘ง2 mod 2โ„’ }

slide-32
SLIDE 32

avg ๐‘ง1, ๐‘ง2 = (๐‘ง1+๐‘ง2

2

, ๐‘ง1โˆ’๐‘ง2

2

)

What about the average of two discrete Gaussian vectors conditioned on the result being in the lattice?

Converting Gaussian Vectors

slide-33
SLIDE 33

avg โ„’โ€ 

What about the average of two discrete Gaussian vectors conditioned on the result being in the lattice?

Converting Gaussian Vectors

= โ„’ ร— โ„’

slide-34
SLIDE 34

๐‘ง1, ๐‘ง2 โˆผ ๐ธโ„’โ€ ,๐‘ก โ‡’ avg ๐‘ง1, ๐‘ง2 โˆผ ๐ธโ„’ร—โ„’,

๐‘ก 2

Progress!

Converting Gaussian Vectors

avg โ„’โ€  = โ„’ ร— โ„’ avg ๐‘ง1, ๐‘ง2 =

๐‘ง1+๐‘ง2 2

, ๐‘ง1โˆ’๐‘ง2

2

= (y1, ๐‘ง2) 2

If we sample ๐‘ง1, ๐‘ง2~๐ธโ„’,๐‘ก, then their average will be distributed as ๐ธโ„’,

๐‘ก 2,

if we condition on the result being in the lattice.

slide-35
SLIDE 35

Pr

๐‘ง1,๐‘ง2~๐ธโ„’,๐‘ก ๐‘ง1+๐‘ง2 2

= ๐‘ง | ๐‘ง1+๐‘ง2

2

โˆˆ โ„’ Pr ๐ธโ„’,๐‘ก โˆˆ ๐’…

2

Pr

๐‘ง1,๐‘ง2~๐ธ2โ„’+๐’…,๐‘ก ๐‘ง1+๐‘ง2 2

= ๐‘ง

โˆ ๐’…โˆˆโ„’(mod 2โ„’)

Stitching a Discrete Gaussian Together

Generating a single ๐‘ฌ๐“œ,

๐’• ๐Ÿ‘ sample:

  • 1. Sample ๐’… โˆˆ โ„’ (๐‘›๐‘๐‘’ 2โ„’) with probability โˆ Pr Dโ„’,๐‘ก โˆˆ ๐’…

2.

  • 2. Output (๐‘

1 + ๐‘ 2)/2 where ๐‘ 1, ๐‘ 2 โˆผ ๐ธ2โ„’+๐’…,๐‘ก.

slide-36
SLIDE 36

Discrete Gaussian Combiner

Input: ๐‘

1, โ€ฆ , ๐‘ ๐‘ iid ๐ธโ„’,๐‘ก samples (๐‘ โ‰ˆ 2๐‘œ)

  • 1. โ€œBucketโ€ samples according to their coset (mod 2โ„’).
  • 2. Repeat many times:
  • 1. Sample coset ๐’… with probability โˆ Pr Dโ„’,๐‘ก โˆˆ ๐’…

2.

  • 2. Output (๐‘

๐‘— + ๐‘ ๐‘˜)/2, for ๐‘ ๐‘—, ๐‘ ๐‘˜ โˆˆ ๐’….

  • 3. Remove ๐‘

๐‘—, ๐‘ ๐‘˜ from list.

Donโ€™t have access to this distribution!

slide-37
SLIDE 37

Rejection Sampling

Achieving โˆ ๐๐ฌ ๐‘ฌ๐“œ,๐’• โˆˆ ๐’…

๐Ÿ‘:

First Pass: Sample ๐’… โˆผ ๐ธโ„’,๐‘ก (mod 2โ„’). Accept ๐’… with probability Pr[๐ธโ„’,๐‘ก โˆˆ ๐’…] o/w reject. Implementation: Sample ๐‘

1 โˆผ ๐ธโ„’,๐‘ก and let ๐’… be ๐‘ 1 (mod 2โ„’).

Sample ๐‘

2 โˆผ ๐ธโ„’,๐‘ก.

Output ๐’… if ๐‘

1 โ‰ก ๐‘ 2 (mod 2โ„’).

Same as trivial strategy!

slide-38
SLIDE 38

Rejection Sampling

Achieving โˆ ๐๐ฌ ๐‘ฌ๐“œ,๐’• โˆˆ ๐’…

๐Ÿ‘:

Second Try: Sample ๐’… โˆผ ๐ธโ„’,๐‘ก (mod 2โ„’). Accept ๐’… with probability

Pr ๐ธโ„’,๐‘กโˆˆ๐’… ๐‘žmax

  • /w reject,

where ๐‘žmax = max

๐’„โˆˆโ„’(mod 2โ„’) Pr[๐ธโ„’,๐‘ก โˆˆ ๐’„]

Implementation: ???

slide-39
SLIDE 39

Discrete Gaussian Combiner

Input: ๐‘

1, โ€ฆ , ๐‘ ๐‘ iid ๐ธโ„’,๐‘ก samples (๐‘ โ‰ˆ 2๐‘œ)

Use first ๐‘/6 samples to estimate ๐‘žmax.

๐Ÿ โ€ฆ ๐‘๐‘žmax/3

โ„’(๐‘›๐‘๐‘’ 2โ„’) 2๐‘œ buckets # samples in each bucket

First 1 ๐‘žmax samples Last 1 ๐‘žmax samples โ‹ฏ

slide-40
SLIDE 40

Discrete Gaussian Combiner

Input: ๐‘

1, โ€ฆ , ๐‘ ๐‘ iid ๐ธโ„’,๐‘ก samples (๐‘ โ‰ˆ 2๐‘œ)

  • 1. Compute ๐‘žmax and bucket counts (previous slide).
  • 2. For ๐‘— ranging over last ๐‘/6 samples:
  • 1. Let ๐’… = ๐‘

๐‘— (๐‘›๐‘๐‘’ 2โ„’).

  • 2. Find first unused bucket count ๐‘™๐’… for coset ๐’….
  • 3. With probability min {1,

๐‘™๐’… ๐‘œ๐‘ƒ(1)},

  • utput (๐‘

๐‘— + ๐‘ ๐‘˜)/2

where ๐‘

๐‘˜ is any sample contributing to ๐‘™๐’….

slide-41
SLIDE 41

How Many Vectors Do We Get?

May drop to ๐‘ 2

๐‘œ 2 after a single step!

๐‘ โ‰” # input vectors # output vectors โ‰ˆ ๐‘ โ‹…

๐’… Pr ๐ธโ„’,๐‘กโˆˆ๐’…

2

max

๐’„

Pr[๐ธโ„’,๐‘กโˆˆ๐’„]

Worst case bound: probability is at least 1 |support|.

slide-42
SLIDE 42

How Many Vectors Do We Get?

๐œ๐‘ก โ„’ โ‰” ๐‘งโˆˆโ„’ ๐‘“โˆ’

๐‘ง ๐‘ก 2

slide-43
SLIDE 43

How Many Vectors Do We Get?

๐œ๐‘ก โ„’ โ‰” ๐‘งโˆˆโ„’ ๐‘“โˆ’

๐‘ง ๐‘ก 2

max

๐’…

๐œ๐‘ก(2โ„’ + ๐) = ๐œ๐‘ก(2โ„’)

slide-44
SLIDE 44

Setting ๐‘ โ‰ˆ 2๐‘œ gives

Recall that we only need 1.38๐‘œ samples to solve SVP!

How Many Vectors Do We Get?

๐œ๐‘ก โ„’ โ‰ค 2

๐‘œ 2๐œ ๐‘ก 2(โ„’)

slide-45
SLIDE 45

Key Estimates

Poisson summation formula: โ€œniceโ€ function ๐‘” ๐‘งโˆˆโ„’ ๐‘” ๐‘ง + ๐ฎ =

1 det(โ„’) ๐‘ฆโˆˆโ„’โˆ—

๐‘” ๐‘ฆ ๐‘“2๐œŒ๐‘—โŒฉ๐‘ฆ,๐ฎโŒช Plug in ๐‘“โˆ’๐œŒ

๐‘ฆ ๐‘ก 2:

๐œ๐‘ก โ„’ + ๐ฎ =

๐‘ก๐‘œ det(โ„’) ๐‘ฆโˆˆโ„’โˆ— ๐‘“โˆ’๐œŒ ๐‘ก๐‘ฆ 2 ๐‘“2๐œŒ๐‘—โŒฉ๐‘ฆ,๐ฎโŒช

๐œ๐‘ก โ„’ =

๐‘ก๐‘œ det(โ„’) ๐œ 1 ๐‘ก(โ„’โˆ—)

slide-46
SLIDE 46

Key Estimates

๐œ๐‘ก โ„’ + ๐ฎ =

๐‘ก๐‘œ det(โ„’) ๐‘ฆโˆˆโ„’โˆ— ๐‘“โˆ’๐œŒ ๐‘ก๐‘ฆ 2 ๐‘“2๐œŒ๐‘—โŒฉ๐‘ฆ,๐ฎโŒช

๐œ๐‘ก โ„’ =

๐‘ก๐‘œ det(โ„’) ๐œ 1 ๐‘ก(โ„’โˆ—)

Corollary 1: max

๐ฎ

๐œ๐‘ก โ„’ + ๐ฎ = ๐œ๐‘ก(โ„’) Corollary 2: ๐œ๐›ฝ๐‘ก โ„’ โ‰ค ๐›ฝ๐‘œ๐œ๐‘ก(โ„’) for ๐›ฝ โ‰ฅ 1.

slide-47
SLIDE 47

Final Algorithm

1. Use GPV to get โ‰ˆ 2๐‘œ samples from ๐ธโ„’,๐‘ก with ๐‘ก โ‰ซ ๐œ‡1(โ„’).

  • 2. Run the (โ€œsquaringโ€) discrete Gaussian combiner on the result

repeatedly.

  • 3. Output โ‰ˆ 2๐‘œ/2 samples from ๐ธโ„’,๐‘ก with ๐‘ก โ‰ˆ

๐œ‡1(โ„’) ๐‘œ.

  • 4. We can then simply output a shortest non-zero vector from our

samples. SVPSolver(โ„’)

slide-48
SLIDE 48

Act II: The Closest Vector Problem

slide-49
SLIDE 49

dist(๐ฎ, โ„’) ๐‘ง

Closest Vector Problem (CVP)

Given: Lattice basis ๐ถ ๐œ— โ„š๐‘œร—๐‘œ, target ๐ฎ ๐œ— โ„š๐‘œ. Goal: Compute ๐‘ง ๐œ— โ„’(๐ถ) minimizing ๐ฎ โˆ’ ๐‘ง .

โ„’

๐ฎ

slide-50
SLIDE 50

CVP seems to be the harder problem: there is a dimension preserving reduction from SVP to CVP [GMSS99].

Closest Vector Problem (CVP)

slide-51
SLIDE 51

Time CVP? Deterministic? [Kan86,HS07,MW15] (Enumeration)

๐‘œ๐‘ƒ(๐‘œ)

Yes Yes [AKS02, BN09, HPS11, โ€ฆ] (Sieving)

2๐‘ƒ(๐‘œ)

Approximate No [MV10b] (Voronoi cell)

22๐‘œ+๐‘(๐‘œ)

Yes Yes [ADRS15] (Discrete Gaussian)

2๐‘œ+๐‘(๐‘œ)

Approximate No [ADS15]

2๐‘œ+๐‘(๐‘œ)

Yes No

Algorithms for CVP

slide-52
SLIDE 52

Disclaimer

The algorithm is quite complicated, so the following is a over-simplified high level sketch.

slide-53
SLIDE 53

The Discrete Gaussian Distribution

slide-54
SLIDE 54

The Discrete Gaussian Distribution

slide-55
SLIDE 55

The Discrete Gaussian Distribution

slide-56
SLIDE 56

The Discrete Gaussian Distribution

slide-57
SLIDE 57

The Discrete Gaussian Distribution

slide-58
SLIDE 58

The Discrete Gaussian Distribution

slide-59
SLIDE 59

The Discrete Gaussian Distribution

slide-60
SLIDE 60

The Discrete Gaussian Distribution

closest vectors!

slide-61
SLIDE 61

The Discrete Gaussian Distribution

CVP trivially reduces to sampling from the discrete Gaussian distribution ๐ธโ„’,๐ฎ,๐‘ก for a small enough parameter ๐‘ก.

slide-62
SLIDE 62

โ€œRotationโ€ Identity Generalizes

Great! So, we just need to run the squaring combiner and weโ€™re done! Right!?

slide-63
SLIDE 63
  • The [GPV08] sampler does work for sampling shifted ๐ธโ„’,๐ฎ,๐‘ก,

but given basis ๐‘1, โ€ฆ ๐‘๐‘œ for โ„’, it requires ๐‘ก โ‰ณ max

๐‘—

๐‘๐‘— .

  • When ๐ฎ = 0, we can just throw out ๐‘๐‘— , with ๐‘๐‘—

โ‰ซ ๐‘ก, effectively setting these coordinates to 0.

  • When ๐ฎ โ‰  0, we may not be able to do this.
  • So, we must initialize with ๐‘ก โ‰ณ dist(๐ฎ, โ„’).

Even if apply the combiner ๐‘œ times, we can

  • nly sample at ๐‘ก โ‰ˆ 2โˆ’๐‘œdist(๐ฎ, โ„’).

Initialization Issues

slide-64
SLIDE 64

Going from ๐‘ก โ†’ ๐‘ก 2: Centered (๐ฎ = 0):

๐œ

๐‘ก 2 โ„’ 2

๐œ๐‘ก โ„’ ๐œ

๐‘ก 2(โ„’)

General ๐ฎ:

๐œ

๐‘ก 2(โ„’)๐œ ๐‘ก 2(โ„’โˆ’๐ฎ)

๐œ๐‘ก โ„’ max

๐’…โˆˆโ„’/2โ„’ ๐œ๐‘ก(๐’…โˆ’๐ฎ)

No obvious โ€œmagical cancelationโ€.

Combiner Loss Factor

slide-65
SLIDE 65

Combiner Loss Factor

Theorem: Combiner loss going from ๐‘ก โ†’ ๐‘ก๐‘™ โ‰” ๐‘ก2โˆ’๐‘™/2 is no worse than

2โˆ’๐‘œ max

๐’…โˆˆโ„’/2โ„’ Pr[๐ธโ„’,๐ฎ,๐‘ก๐‘™โˆˆ๐’…].

If we start with 2๐‘œ+๐‘(๐‘œ) samples, we always โ€œseeโ€ the heaviest coset at each stage.

slide-66
SLIDE 66

Exact vs Approximate CVP

Shell of approx closest vectors Sphere of closest vectors

Can have arbitrarily many approximate closest vector for any ๐›ฟ > 1 !!

slide-67
SLIDE 67

We Need Small Parameters

The reduction from CVP to DGS needs ๐‘ก โ‰ช ๐œ‡1 โ„’ , but we can only handle ๐‘ก โ‰ˆ 2โˆ’๐‘œ โ‹… dist(๐ฎ, โ„’).

For such parameters, we obtain approximate solutions with unreasonably good approximation factor ๐›ฟ โ‰ˆ 1 + 2โˆ’๐‘œ, but not exact solutions.

slide-68
SLIDE 68

๐ฎ

Hope for exact CVP

For ๐›ฟ โ‰พ 1 + 1/๐‘œ, ๐›ฟ-approximate closest vectors lie lower dimensional subspaces.

โ„’ 2 lattice subspaces

To apply recursion, need to identify them and show that there are not too many. 2๐‘œ+๐‘(๐‘œ) time โ‰” at most 2 sub-problems per dimension!

slide-69
SLIDE 69

Clusters

Claim: There are at most 2๐‘œ exact closest vectors. Sphere containing the closest vectors Must lie in different cosets of โ„’/2โ„’.

slide-70
SLIDE 70

Clusters

Claim: The approximate closest vectors are contained in 2๐‘œ ``clustersโ€™โ€™ of small diameter. Shell containing the approximate closest vectors Sphere containing the closest vectors ๐’— ๐’˜

slide-71
SLIDE 71

Clusters

Claim: 1 + ๐œ—2 approx. CVP sols ๐‘ฃ and ๐‘ค. ๐‘ค โˆ’ ๐‘ฃ โˆˆ 2โ„’ implies ๐‘ค โˆ’ ๐‘ฃ โ‰ค 2๐œ— โ‹… dist(๐ฎ, โ„’). ๐’— ๐’˜

๐‘’ 1 + ๐œ—2 โ‹… ๐‘’

slide-72
SLIDE 72

Clusters

Claim: 1 + ๐œ—2 approx. CVP sols ๐‘ฃ and ๐‘ค. ๐‘ค โˆ’ ๐‘ฃ โˆˆ 2โ„’ implies ๐‘ค โˆ’ ๐‘ฃ โ‰ค 2๐œ— โ‹… dist(๐ฎ, โ„’). ๐‘ค โˆ’ ๐‘ฃ 2 = 2 ๐‘ค โˆ’ ๐ฎ 2 + 2 ๐‘ฃ โˆ’ ๐ฎ 2 โˆ’4 ๐‘ค + ๐‘ฃ 2 โˆ’ ๐ฎ 2 โ‰ค 4 1 + ๐œ—2 โ‹… dist ๐ฎ, โ„’ 2 โˆ’4 โ‹… dist ๐ฎ, โ„’ 2 = 4๐œ—2 โ‹… dist ๐ฎ, โ„’ 2

slide-73
SLIDE 73

Taking advantage of clusters

โ€œnearly orthogonalโ€ basis ๐‘1, โ€ฆ , ๐‘๐‘œ of โ„’ (lengths in approx. non-decreasing order) 1 + 2โˆ’๐‘œ approx CVP sols ๐‘ง1, โ€ฆ , ๐‘ง๐‘‚ for ๐ฎ. ๐‘ง๐‘˜ = ๐‘— ๐‘๐‘—,๐‘˜๐‘๐‘— โˆ€๐‘˜ Theorem: โˆƒ๐‘™ such that last ๐‘™ coefficients { ๐‘๐‘œโˆ’๐‘™+1,๐‘˜, โ€ฆ , ๐‘๐‘œ,๐‘˜ : ๐‘˜ โˆˆ ๐‘‚ } come from set of size โ‰ˆ 2๐‘™.

Recurse on these!

slide-74
SLIDE 74

Taking advantage of clusters

Assume: orthogonal lattice โ„’ โ„’ = { ๐‘ฆ1๐‘1, โ€ฆ , ๐‘ฆ๐‘œ๐‘๐‘œ : ๐‘ฆ โˆˆ โ„ค๐‘œ} (0 โ‰ค ๐‘1 โ‰ค โ‹ฏ โ‰ค ๐‘๐‘œ) 1 + ๐œ—2 approx CVP sols ๐‘ง1, โ€ฆ , ๐‘ง๐‘‚ for ๐ฎ. ๐‘ง๐‘˜ = (๐‘1,๐‘˜๐‘1, โ€ฆ , ๐‘๐‘œ,๐‘˜๐‘

๐‘˜) โˆ€๐‘˜

Claim: If ๐‘ง๐‘  โˆ’ ๐‘ง๐‘ก โˆˆ 2โ„’ and ๐‘๐‘œโˆ’๐‘™+1 > ๐‘œ๐œ—๐‘๐‘œ then ๐‘๐‘œโˆ’๐‘™+1,๐‘ , โ€ฆ , ๐‘๐‘œ,๐‘  = (๐‘๐‘œโˆ’๐‘™+1,๐‘ก, โ€ฆ , ๐‘๐‘œ,๐‘ก)

For ๐œ— = 2โˆ’๐‘œ, all coordinates are fixed by parity unless there are exponential gaps in basis vector lengths. But such gaps can existโ€ฆ.

slide-75
SLIDE 75

Taking advantage of clusters

Claim: If ๐‘ง๐‘  โˆ’ ๐‘ง๐‘ก โˆˆ 2โ„’ and ๐‘๐‘œโˆ’๐‘™+1 โ‰ฅ ๐‘œ๐œ—๐‘๐‘œ

  • 1. dist ๐ฎ, โ„’ โ‰ค

1 2

๐‘— ๐‘๐‘—

2 โ‰ค ๐‘œ 2 ๐‘๐‘œ

  • 2. ๐‘ง๐‘  โˆ’ ๐‘ง๐‘ก

โ‰ค 2 ๐œ— dist ๐ฎ, โ„’ โ‰ค ๐‘œ ๐œ— ๐‘๐‘œ < ๐‘๐‘œโˆ’๐‘™+1 If ๐‘ง๐‘ , ๐‘ง๐‘ก differ on any coordinate ๐‘— โˆˆ {๐‘œ โˆ’ ๐‘™ + 1, โ€ฆ , ๐‘œ} their difference would have norm at least ๐‘๐‘œโˆ’๐‘™+1.

This shows we have at most 2๐‘œ clusters each of which is ๐‘œ โˆ’ ๐‘™ dimensional, but we need 2๐‘™ clusters!!!

slide-76
SLIDE 76

Exploiting gaps in basis lengths

Idea: Only match parity on โ€œhigh order bitsโ€. ๐‘1 ๐‘2 ๐‘3 ๐‘4 โ€ฆ ๐‘๐‘œโˆ’๐‘™+1 โ€ฆ ๐‘๐‘œ

slide-77
SLIDE 77

Exploiting gaps in basis lengths

Idea: Only match parity on โ€œhigh order bitsโ€. ๐‘1 ๐‘2 ๐‘3 ๐‘4 โ€ฆ ๐‘๐‘œโˆ’๐‘™+1 โ€ฆ ๐‘๐‘œ

Gap

Parity of last ๐‘™ coefficients determines these coefficients exactly.

slide-78
SLIDE 78

Exploiting gaps in basis lengths

Idea: Only match parity on โ€œhigh order bitsโ€. ๐‘1 ๐‘2 ๐‘3 ๐‘4 โ€ฆ ๐‘๐‘œโˆ’๐‘™+1 โ€ฆ ๐‘๐‘œ

Gap

Idea: Can round first ๐‘œ โˆ’ ๐‘™ coefficients to desired parity without increasing distance to ๐ฎ by much.

slide-79
SLIDE 79

Exploiting gaps in basis lengths

๐‘1 ๐‘2 ๐‘3 โ€ฆ โ€ฆ โ€ฆ ๐‘๐‘œโˆ’1 ๐‘๐‘œ What if there are no large gaps?

slide-80
SLIDE 80

Exploiting gaps in basis lengths

Idea: Again only match parity on last ๐‘™ bits. ๐‘1 ๐‘2 ๐‘3 โ€ฆ ๐‘๐‘œโˆ’๐‘š+1 โ€ฆ ๐‘๐‘œ

Gap

๐‘๐‘œโˆ’๐‘™+1 Mostly determined Completely determined Can guarantee ๐‘™ is large in this case.

slide-81
SLIDE 81

High Level Algorithm

Input: ๐‘œ-dimensional lattice โ„’ and target ๐ฎ. Output: Closest lattice vectors in โ„’ to ๐ฎ. 1. Compute short basis ๐ถ of โ„’, and number ๐‘™ of โ€œhigh order coordinatesโ€.

  • 2. Get many 1 + 2โˆ’๐‘œ approx. closest vectors via DGS.
  • 3. Group them according to last ๐‘™ coordinates with

respect to ๐ถ and recurse on each group .

slide-82
SLIDE 82

Complexity Sketch

Initialization: (one shot 2๐‘œ+๐‘(๐‘œ) time) Compute short basis ๐ถ of โ„’, and number ๐‘™ of โ€œhigh

  • rder coordinatesโ€ (can compute for each rec. level).

Per level work: (2๐‘œ+๐‘(๐‘œ) time) Sample many approx. closest vectors via DGS. Recursion: (โ‰ˆ 2๐‘™ subproblems of dim. ๐‘œ โˆ’ ๐‘™) Group them according to last ๐‘™ coordinates with respect to ๐ถ and recurse. Total runtime: 2๐‘œ+๐‘(๐‘œ)

slide-83
SLIDE 83

Key Challenges

Runtime: 1. Getting many DGS samples at low parameters.

  • 2. Show last ๐’ coeffs โ‰ˆ determined by their parity.
  • 3. Deal with โ‰ˆ ๐Ÿ‘๐’ subproblems in recursion analysis.

Correctness: Show that we hit last ๐’ coeffs of an exact closest vector with high probability.

slide-84
SLIDE 84

Summary of Results

Discussed in this talk

  • 2๐‘œ+๐‘(๐‘œ) algorithm for SVP and CVP.
  • How to sample 2

๐‘œ 2 vectors from ๐ธโ„’,๐‘ก for any ๐‘ก in time 2๐‘œ+๐‘(๐‘œ)

Additional results from this work

  • 2

๐‘œ 2+๐‘(๐‘œ) -time algorithm for sampling 2๐‘œ/2 vectors above

smoothing.

  • 1.93-GapSVP.
  • . 422-BDD.

Recent work

  • Sampling from DGS reduces to SVP. [Ste16]

(not equivalence because the reduction in the other direction requires 1.38๐‘œ ๐ธโ„’,๐‘ก samples.)

slide-85
SLIDE 85
  • Other uses for discrete Gaussian sampling at arbitrary

parameters?

  • Faster discrete centered Gaussian sampling?
  • Strong lower bounds for CVP/SVP assuming SETH (or

something similar)?

  • Deterministic / Las Vegas algorithms with same complexity?

Open Questions/Future Work

โ„’ ๐‘ค1 ๐‘ค6 ๐‘ค5 ๐‘ค4 ๐‘ค3 ๐‘ค2

slide-86
SLIDE 86

Thanks!