Random Sampling Revisited: Lattice Enumeration with Discrete - - PowerPoint PPT Presentation

random sampling revisited lattice enumeration with
SMART_READER_LITE
LIVE PREVIEW

Random Sampling Revisited: Lattice Enumeration with Discrete - - PowerPoint PPT Presentation

Random Sampling Revisited: Lattice Enumeration with Discrete Pruning Yoshinori Aono Phong Nguy n Summary Motivation Lattices, Enumeration and Pruning Enumeration with Discrete Pruning Motivation Context Needs: convincing


slide-1
SLIDE 1

Random Sampling Revisited: Lattice Enumeration with Discrete Pruning

Yoshinori Aono Phong Nguyễn

slide-2
SLIDE 2

Summary

Motivation Lattices, Enumeration and Pruning Enumeration with Discrete Pruning

slide-3
SLIDE 3

Motivation

slide-4
SLIDE 4

Context

Needs: convincing security estimates for lattice- based cryptosystems. Sanity check: lattice challenges.

slide-5
SLIDE 5

Context

Needs: convincing security estimates for lattice- based cryptosystems. Sanity check: lattice challenges.

Pruned enumeration with BKZ

slide-6
SLIDE 6

What Happened?

The largest SVP records [KaTe,KaFu] use significant power (≈RSA-768) and a « secret » algorithm: partial description in [FuKa15]. The main tool is an improved variant of Schnorr’ s Random Sampling [Sc03]: not well-understood.

slide-7
SLIDE 7

Our Results

Revisit Schnorr’ s Random Sampling [Sc03] and variants [BuLu06,FuKa15,DZW15]. Geometric description/generalization First sound analysis: previously, gap between analyses and experiments. Optimal parameters. Unify Random Sampling and an older algorithm: pruned enumeration [ScEu94,ScHo95,GNR10]

slide-8
SLIDE 8

Background

slide-9
SLIDE 9

What is a Lattice?

A lattice is a discrete subgroup of Rⁿ, or the set L(b1,...,bd) of all linear combinations ∑xibi where xi∈Z, and the bi’ s are linearly independent.

O

2 2 2 2 1 1 1 1 1

slide-10
SLIDE 10

Hard Lattice Problems

Input: a lattice L and an n-dim ball C. Output: decide if L∩C is non-trivial, and find a point when applicable. Two settings Approx: L∩C has many points. Ex: SIS and ISIS. Unique: only one non-trivial point. Ex: BDD.

slide-11
SLIDE 11

Enumeration

The simplest method to solve hard lattice problems, going back to the 70s. Input: a lattice L and a small ball S⊆Rn s.t. #(L∩S) is « small ». Output: All points in L∩S. Drawback: running-time typically superexponential, much larger than #(L∩S).

slide-12
SLIDE 12

Enumeration Insight

Key ideas: Projections never increase norms: if ||v||≤R, then ||π(v)||≤R. Using nice subspaces, π(lattice) is a lower-dim lattice. Enumeration is a depth-first search of a gigantic tree, whose running time depends

  • n the quality of the basis.
slide-13
SLIDE 13

Speeding Up Enumeration by Pruning

slide-14
SLIDE 14

Speeding Up Enumeration

Assume that we do not need all L∩S: Can we make enumeration faster if we only need to find one vector?

slide-15
SLIDE 15

Enumeration with Pruning [ScEu94,ScHo95,GNR10]

Input: a lattice L, a ball S⊆Rn and a pruning set P⊆Rn. Output: All points in L∩S∩P=(L∩P)∩S. Pros: Enumerating L∩S∩P can be much faster than L∩S. Cons: Maybe L∩S∩P ⊆ {0}.

slide-16
SLIDE 16

Analyzing Pruned Enumeration [GNR10] Framework

Enumerating L∩S∩P is deterministic, but: The set P is randomized: it depends on a (random) reduced basis. The success probability is Pr(L∩S∩P ⊈ {0}). #(L∩S∩P) « should be » ≈vol(S∩P)/covol(L) (Gaussian heuristic).

slide-17
SLIDE 17

Extreme Pruning [GNR10]

Repeat until success Generate P by reducing a “random” basis. Enumerate(L∩S∩P) Can be much faster than enumeration, even if Pr(L∩S∩P ⊈ {0}) is tiny.

slide-18
SLIDE 18

Two Kinds of Pruning

Cylinder Pruning ([GNR10] generalizing [ScEu94,ScHo95]): P is a cylinder intersection. Discrete Pruning (today): P is a union of cells, in practice a union of many boxes.

slide-19
SLIDE 19

Enumeration with Discrete Pruning

slide-20
SLIDE 20

Insight

Previous analyses of Random Sampling studied the distribution of certain lattice points (based on encodings): tricky! New point of view: it’ s actually about partitioning the n-dim space. Description Analysis

slide-21
SLIDE 21

Lattice Partitions

Any partition of Rn=∪t∈T C(t) into countably many cells s.t.: cells are disjoint: C(i)∩C(j) = ∅ each cell can be « opened » : it contains one and only one lattice point, which can be found efficiently. Given a tag t∈T, one can compute L∩C(t).

slide-22
SLIDE 22

Intuitively

Enum(L∩C(t)) ≃ Egg opening

slide-23
SLIDE 23

Lattice Enumeration with Discrete Pruning

Repeat until success Select P=∪t∈U C(t) for some finite U⊆T. Enumerate(L∩S∩P) by enumerating all C(t)∩L where t∈U. Each iteration takes #U poly-time operations and succeeds with Pr(L∩S∩P⊈{0}). We need to calculate vol(S∩P)=∑t∈Uvol(S∩C(t)). Time(Enum(L∩P)) « linear » in #(L∩P).

slide-24
SLIDE 24

Issues

Which lattice partition? How to compute vol(S∩C(t))? To deduce vol(S∩P)=∑t∈U vol(S∩C(t)) How to select the set U of tags? We’ d like the ones maximizing vol(S∩C(t)): different from [Sc03,FK15].

slide-25
SLIDE 25

A) Which Lattice Partitions?

Lattice partitions from fundamental domains: T=Zn. Lattice partitions using boxes Babai’ s partition, implicit in [DZW15]: T=Zn. The natural partition, implicit in [FK15]: T=Nn.

slide-26
SLIDE 26

Trivial Lattice Partitions

T=Zn. Cell opening: matrix/vector product.

slide-27
SLIDE 27

Box Partitions in Dimension 1

Babai’ s partition: T=Z The natural partition: T=N

1 2

  • 1
  • 2
  • 2
  • 1

1 2 1 1 2 2 3 3 4 4

slide-28
SLIDE 28

We can generalize with projections. Let b1,…,bn∈Rm. Its Gram-Schmidt Orthogonalization is b*1,…,b*n ∈Rm: b*1 = b1 b*i = component of bi orthogonal to b1,…,bi-1.

Dimension n

slide-29
SLIDE 29

Babai’s partition

T=Zn and C(t) = tB*+ {Σi xib*i s.t. -1/2≤xi<1/2}. Cell opening: Babai’ s algorithm [Ba86].

slide-30
SLIDE 30

Babai’s partition

slide-31
SLIDE 31

The « Natural » Partition

T=Nn and C((t1,…,tn)) is {Σixib*i s.t. -(tj+1)/2<xj≤-tj/2 or tj/2<xj≤(tj+1)/2} Cell opening: variant of Babai’ s algorithm.

slide-32
SLIDE 32

B) Intersection Volumes

To estimate the success probability, we need to approximate vol(S∩C(t)) for many t’ s where: S is a ball C(t) is a box, or a union of symmetric boxes.

slide-33
SLIDE 33

Ball-Box Intersections

Let S=unit-ball and H=∏i [αi,βi] be a box. Compute vol(S∩H).

We give:

Asymptotic formula for balanced boxes using the Central Limit Theorem. Two infinite-series formulas by generalizing [CoTi1997] (Fourier analysis). Practical method using [Hosono81]’ s Fast Inverse Laplace Transform.

slide-34
SLIDE 34

Application: [Schnorr03] vs [FK15]

Distribution of vol(S∩C(i)): [FK15] cells have larger intersection volume.

slide-35
SLIDE 35

C) Which Cells?

The computation of vol(S∩C(t)) is too « slow » to find the cells with largest vol(S∩C(t)). But it is easy to find the cells C(t) minimizing Ex∈C(t)(||x||2): orthogonal enumeration. Almost the same cells! The largest-volume cells Ex∈C(t)(||x||2)

slide-36
SLIDE 36

Success probability by Statistical Inference

The computation of vol(S∩C(t)) is too « slow » to approximate ∑t∈Uvol(S∩C(t)). So we ``select’’ a few thousands cells and… extrapolate! Errors ≤ 1% in practice. Sound success probabilities for discrete pruning.

slide-37
SLIDE 37

Discrete Pruning vs Cylinder Pruning

Discrete pruning is faster when: Small number of tags High dimension Weakly-reduced bases Benefits Easy to parallelize Easy generation of parameters

slide-38
SLIDE 38

Optimizing the Basis

The basis should try to maximize vol(S∩C(t)), which may be the same as minimizing Ex∈C(t)(||x||2). This suggests to minimize ∑j||bj*||2. The best bases for discrete pruning may not be the best bases for cylinder pruning.

slide-39
SLIDE 39

Conclusion

slide-40
SLIDE 40

Conclusion

We unify Schnorr’ s algorithms [ScEu94] and [Sc03]: view random sampling as some pruned enumeration, and [GNR10]-analyze it under only the Gaussian heuristic. Boxes instead of cylinder intersections.

slide-41
SLIDE 41

Conclusion

New tools Computing volumes of ball/box intersections Approximating a sum of many volumes « Optimal » parameters for discrete pruning

slide-42
SLIDE 42

Open Problems

Asymptotically, what is the best form

  • f pruning?

Adapt blockwise reduction to discrete pruning What is the best reduction algorithm for discrete pruning?

slide-43
SLIDE 43

Thank you for your attention... Any question(s)? http://eprint.iacr.org/2017/155