Shortest Vector from Lattice Sieving: a Few Dimensions for Free eo - - PowerPoint PPT Presentation

shortest vector from lattice sieving a few dimensions for
SMART_READER_LITE
LIVE PREVIEW

Shortest Vector from Lattice Sieving: a Few Dimensions for Free eo - - PowerPoint PPT Presentation

Shortest Vector from Lattice Sieving: a Few Dimensions for Free eo Ducas 1 L Cryptology Group, CWI, Amsterdam, The Netherlands EUROCRYPT 2018 Tel Aviv, April 30th 1 Supported by a Veni Innovational Research Grant from NWO (639.021.645). L


slide-1
SLIDE 1

Shortest Vector from Lattice Sieving: a Few Dimensions for Free

L´ eo Ducas1

Cryptology Group, CWI, Amsterdam, The Netherlands

EUROCRYPT 2018 Tel Aviv, April 30th

1Supported by a Veni Innovational Research Grant from NWO (639.021.645). L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 1 / 23

slide-2
SLIDE 2

Two class of Algorithms for SVP

The Shortest Vector Problem

I : The basis B of an n-dimensional lattice L O: A shortest non-zero vector v ∈ L Algorithm Running time Memory Enumeration nn/2e · 2O(n) poly(n) Sieving2 [2.292n+o(n), 2.415n+o(n)] [2.2075n+o(n), 2.292n+o(n)]

The paradox

In theory, Sieving is faster. In pratice it is quite slower.

2Given complexity are heuristic, heavily supported by experiments. L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 2 / 23

slide-3
SLIDE 3

Two class of Algorithms for SVP

The Shortest Vector Problem

I : The basis B of an n-dimensional lattice L O: A shortest non-zero vector v ∈ L Algorithm Running time Memory Enumeration nn/2e · 2O(n) poly(n) Sieving2 [2.292n+o(n), 2.415n+o(n)] [2.2075n+o(n), 2.292n+o(n)]

The paradox

In theory, Sieving is faster. In pratice it is quite slower.

2Given complexity are heuristic, heavily supported by experiments. L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 2 / 23

slide-4
SLIDE 4

Two class of Algorithms for SVP

The Shortest Vector Problem

I : The basis B of an n-dimensional lattice L O: A shortest non-zero vector v ∈ L Algorithm Running time Memory Enumeration nn/2e · 2O(n) poly(n) Sieving2 [2.292n+o(n), 2.415n+o(n)] [2.2075n+o(n), 2.292n+o(n)]

The paradox

In theory, Sieving is faster. In pratice it is quite slower.

2Given complexity are heuristic, heavily supported by experiments. L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 2 / 23

slide-5
SLIDE 5

Many trade-offs

T i m e = S p a c e

N V ' 8 M V ' 1 W L T B ' 1 1 Z P H ' 1 3 B G J ' 1 4 Laa '15 LdW '15 / BL '15 BGJ '15 BDGL16

20.20 n 20.25 n 20.30 n 20.35 n 20.25 n 20.30 n 20.35 n 20.40 n 20.45 n Space complexity Time complexity ◮ Our main contribution can also

be applied to other sieving algorithms.

◮ Implementation limited to the

version of [Micciancio Voulgaris 2010].

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 3 / 23

slide-6
SLIDE 6

Many trade-offs

T i m e = S p a c e

N V ' 8 M V ' 1 W L T B ' 1 1 Z P H ' 1 3 B G J ' 1 4 Laa '15 LdW '15 / BL '15 BGJ '15 BDGL16

20.20 n 20.25 n 20.30 n 20.35 n 20.25 n 20.30 n 20.35 n 20.40 n 20.45 n Space complexity Time complexity

In this work

◮ Our main contribution can also

be applied to other sieving algorithms.

◮ Implementation limited to the

version of [Micciancio Voulgaris 2010].

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 3 / 23

slide-7
SLIDE 7

Results

Heuristic claim, asymptotic

One can solve SVP in dimension n with a call to Sieve in dimension n − d where d = Θ(n/ log n).

Heuristic claim, concrete

One can solve SVP in dimension n making a call to Sieve in dimension i for each i = 1 . . . n − d for d ≈ n · ln(4/3) ln(n/2πe) (d ≈ 15 for n = 80)

Experimental claim: A bogey

A Sieve implem. almost on par with enumeration (within a factor 4 in dims 70–80), with still much room for improvements.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 4 / 23

slide-8
SLIDE 8

Results

Heuristic claim, asymptotic

One can solve SVP in dimension n with a call to Sieve in dimension n − d where d = Θ(n/ log n).

Heuristic claim, concrete

One can solve SVP in dimension n making a call to Sieve in dimension i for each i = 1 . . . n − d for d ≈ n · ln(4/3) ln(n/2πe) (d ≈ 15 for n = 80)

Experimental claim: A bogey

A Sieve implem. almost on par with enumeration (within a factor 4 in dims 70–80), with still much room for improvements.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 4 / 23

slide-9
SLIDE 9

Results

Heuristic claim, asymptotic

One can solve SVP in dimension n with a call to Sieve in dimension n − d where d = Θ(n/ log n).

Heuristic claim, concrete

One can solve SVP in dimension n making a call to Sieve in dimension i for each i = 1 . . . n − d for d ≈ n · ln(4/3) ln(n/2πe) (d ≈ 15 for n = 80)

Experimental claim: A bogey

A Sieve implem. almost on par with enumeration (within a factor 4 in dims 70–80), with still much room for improvements.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 4 / 23

slide-10
SLIDE 10

Table of Contents

1 Dimensions for free 2 Implementation and performances

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 5 / 23

slide-11
SLIDE 11

Table of Contents

1 Dimensions for free 2 Implementation and performances

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 6 / 23

slide-12
SLIDE 12

Sieving

Algorithm 1 Sieve(L) L ← a set of N random vectors from L where N ≈ (4/3)n/2. while ∃(v, w) ∈ L2 such that v − w < v do v ← v − w end while return L The above runs in heuristic time (4/3)n+o(n). Many concrete and asymptotic improvements: [Nguyen Vidick 2008, Micciancio Voulgaris 2010, Laarhoven 2015, Becker Gamma Joux 2015, Becker D. Gamma Laarhoven 2015, . . . ].

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 7 / 23

slide-13
SLIDE 13

Sieving

Algorithm 2 Sieve(L) L ← a set of N random vectors from L where N ≈ (4/3)n/2. while ∃(v, w) ∈ L2 such that v − w < v do v ← v − w end while return L The above runs in heuristic time (4/3)n+o(n). Many concrete and asymptotic improvements: [Nguyen Vidick 2008, Micciancio Voulgaris 2010, Laarhoven 2015, Becker Gamma Joux 2015, Becker D. Gamma Laarhoven 2015, . . . ].

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 7 / 23

slide-14
SLIDE 14

More than SVP

Note that Sieve returns N ≈ (4/3)n short vectors, not just a shortest vector.

Definition (Gaussian Heuristic: Expected length of the shortest vector)

gh(L) =

  • n/2πe · vol(L)1/n.

Observation (heuristic & experimental)

The output of Sieve contains almost all vectors of length ≤

  • 4/3 · gh(L):

L := Sieve(L) =

  • x ∈ L s.t. x ≤
  • 4/3 · gh(L)
  • .

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 8 / 23

slide-15
SLIDE 15

Sieve then Lift

Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d)

◮ Set L′ = L(b1, . . . , bd)

“left part of L”, dim=d

◮ Set L′′ = π⊥

L′(L)

“right part of L”, dim=n − d

◮ Compute L = Sieve(L′′) ◮ Hope that π⊥

L′(s) ∈ L

(1)

◮ Lift all v ∈ L from L′′ to L and take the shortest (Babai alg.)

Pessimistic prediction for (1)

gh(L) ≤

  • 4/3 · gh(Ld).

Optimistic prediction for (1)

  • n − d

n ·gh(L) ≤

  • 4/3·gh(Ld).

Similar to linear pruning for enum.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 9 / 23

slide-16
SLIDE 16

Sieve then Lift

Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d)

◮ Set L′ = L(b1, . . . , bd)

“left part of L”, dim=d

◮ Set L′′ = π⊥

L′(L)

“right part of L”, dim=n − d

◮ Compute L = Sieve(L′′) ◮ Hope that π⊥

L′(s) ∈ L

(1)

◮ Lift all v ∈ L from L′′ to L and take the shortest (Babai alg.)

Pessimistic prediction for (1)

gh(L) ≤

  • 4/3 · gh(Ld).

Optimistic prediction for (1)

  • n − d

n ·gh(L) ≤

  • 4/3·gh(Ld).

Similar to linear pruning for enum.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 9 / 23

slide-17
SLIDE 17

Sieve then Lift

Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d)

◮ Set L′ = L(b1, . . . , bd)

“left part of L”, dim=d

◮ Set L′′ = π⊥

L′(L)

“right part of L”, dim=n − d

◮ Compute L = Sieve(L′′) ◮ Hope that π⊥

L′(s) ∈ L

(1)

◮ Lift all v ∈ L from L′′ to L and take the shortest (Babai alg.)

Pessimistic prediction for (1)

gh(L) ≤

  • 4/3 · gh(Ld).

Optimistic prediction for (1)

  • n − d

n ·gh(L) ≤

  • 4/3·gh(Ld).

Similar to linear pruning for enum.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 9 / 23

slide-18
SLIDE 18

Sieve then Lift

Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d)

◮ Set L′ = L(b1, . . . , bd)

“left part of L”, dim=d

◮ Set L′′ = π⊥

L′(L)

“right part of L”, dim=n − d

◮ Compute L = Sieve(L′′) ◮ Hope that π⊥

L′(s) ∈ L

(1)

◮ Lift all v ∈ L from L′′ to L and take the shortest (Babai alg.)

Pessimistic prediction for (1)

gh(L) ≤

  • 4/3 · gh(Ld).

Optimistic prediction for (1)

  • n − d

n ·gh(L) ≤

  • 4/3·gh(Ld).

Similar to linear pruning for enum.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 9 / 23

slide-19
SLIDE 19

With BKZ pre-processing

◮ To ensure (1), we need the basis to be as reduced as possible ◮ We can easily afford BKZ preprocessing with block-size b = n/2 ◮ Using simple BKZ models3 we can predict gh(L) and gh(L′)

Heuristic claim

SubSieve(L, d) algorithm will successfully find the shortest vector of L for some d = Θ(n/ ln n). ⇒ Improve time & memory by a sub-exponential factor 2Θ(n/ log n)

3The Geometric Series Assumption L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 10 / 23

slide-20
SLIDE 20

With BKZ pre-processing

◮ To ensure (1), we need the basis to be as reduced as possible ◮ We can easily afford BKZ preprocessing with block-size b = n/2 ◮ Using simple BKZ models3 we can predict gh(L) and gh(L′)

Heuristic claim

SubSieve(L, d) algorithm will successfully find the shortest vector of L for some d = Θ(n/ ln n). ⇒ Improve time & memory by a sub-exponential factor 2Θ(n/ log n)

3The Geometric Series Assumption L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 10 / 23

slide-21
SLIDE 21

Quasi-HKZ preprocessing

Idea: Attempt stronger pre-processing. Algorithm 3 SubSieve+(L, d) L ← Sieve(L′′) L = {LiftL′′→L(v) for v ∈ L} for j = 0 . . . n/2 − 1 do vj = arg mins∈L π(v0...vj−1)⊥(s) end for return (v0 . . . vn/2−1)

◮ Insert (v0 . . . vn/2−1) as the new b1 . . . bn/2 ◮ Repeat SubSieve+(L, d) for d = n − 1, n − 2, . . . , dmin ◮ Hope that iteration dmin + 1 provided a quasi-HKZ basis.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 11 / 23

slide-22
SLIDE 22

Concrete prediction with quasi-HKZ preprocessing

Pessimistic prediction for (1)

d ≈ n ln 4/3 ln(n/2π)

Optimistic prediction for (1)

d ≈ n ln 4/3 ln(n/2πe)

50 100 150 200 250 n 5 10 15 20 25

d

pessimistic simulation pessimistic approximation

  • ptimistic simulation
  • ptimistic approximation

Figure: Predictions of the maximal successful choice of dmin.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 12 / 23

slide-23
SLIDE 23

Table of Contents

1 Dimensions for free 2 Implementation and performances

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 13 / 23

slide-24
SLIDE 24

Baseline Implementation (V0)

Re-implemented GaussSieve [Micciancio Voulgaris 2010]

◮ No gaussian sampling

◮ Initial sphericity of L doesn’t seem to matter ◮ Initial vectors can be made much shorter ⇒ speed-up

◮ Prevent collisions using a hash table ◮ Terminate when the ball

√ 4/3 · gh(L) is half-saturated

◮ Sort only periodically

◮ Can use faster data-structures

◮ Vectors represented in bases B and GramSchmidt(B)

◮ Required to work in projected-sublattices

◮ Kernel in c++, control in python

◮ Calls to fpylll to maintain B and GramSchmidt(B) L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 14 / 23

slide-25
SLIDE 25

Baseline Implementation (V0)

Re-implemented GaussSieve [Micciancio Voulgaris 2010]

◮ No gaussian sampling

◮ Initial sphericity of L doesn’t seem to matter ◮ Initial vectors can be made much shorter ⇒ speed-up

◮ Prevent collisions using a hash table ◮ Terminate when the ball

√ 4/3 · gh(L) is half-saturated

◮ Sort only periodically

◮ Can use faster data-structures

◮ Vectors represented in bases B and GramSchmidt(B)

◮ Required to work in projected-sublattices

◮ Kernel in c++, control in python

◮ Calls to fpylll to maintain B and GramSchmidt(B) L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 14 / 23

slide-26
SLIDE 26

Baseline Implementation (V0)

Re-implemented GaussSieve [Micciancio Voulgaris 2010]

◮ No gaussian sampling

◮ Initial sphericity of L doesn’t seem to matter ◮ Initial vectors can be made much shorter ⇒ speed-up

◮ Prevent collisions using a hash table ◮ Terminate when the ball

√ 4/3 · gh(L) is half-saturated

◮ Sort only periodically

◮ Can use faster data-structures

◮ Vectors represented in bases B and GramSchmidt(B)

◮ Required to work in projected-sublattices

◮ Kernel in c++, control in python

◮ Calls to fpylll to maintain B and GramSchmidt(B) L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 14 / 23

slide-27
SLIDE 27

Baseline Implementation (V0)

Re-implemented GaussSieve [Micciancio Voulgaris 2010]

◮ No gaussian sampling

◮ Initial sphericity of L doesn’t seem to matter ◮ Initial vectors can be made much shorter ⇒ speed-up

◮ Prevent collisions using a hash table ◮ Terminate when the ball

√ 4/3 · gh(L) is half-saturated

◮ Sort only periodically

◮ Can use faster data-structures

◮ Vectors represented in bases B and GramSchmidt(B)

◮ Required to work in projected-sublattices

◮ Kernel in c++, control in python

◮ Calls to fpylll to maintain B and GramSchmidt(B) L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 14 / 23

slide-28
SLIDE 28

Baseline Implementation (V0)

Re-implemented GaussSieve [Micciancio Voulgaris 2010]

◮ No gaussian sampling

◮ Initial sphericity of L doesn’t seem to matter ◮ Initial vectors can be made much shorter ⇒ speed-up

◮ Prevent collisions using a hash table ◮ Terminate when the ball

√ 4/3 · gh(L) is half-saturated

◮ Sort only periodically

◮ Can use faster data-structures

◮ Vectors represented in bases B and GramSchmidt(B)

◮ Required to work in projected-sublattices

◮ Kernel in c++, control in python

◮ Calls to fpylll to maintain B and GramSchmidt(B) L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 14 / 23

slide-29
SLIDE 29

XOR-POPCNT trick (V0 → V1)

Already used in Sieving [Fitzpatrick et al. 2015]. More generally know as SimHash [Charikar 2002]. Idea: Pre-filter pairs (v, w) ∈ L with a fast compressed test.

◮ Choose a spherical code C = {c1 . . . ck} ⊂ Sn and a threshold t ≤ k/2 ◮ Precompute compressions ˜

v = Sign(v) ∈ {0, 1}k

◮ Only test v ± w ≤ v if

|HammingWeight(v ⊕ w) − k/2| ≥ t.

◮ Asymptotic speed-up Θ(n/ log n) ? ◮ In practice, k = 128 (2 words), t = 18: about 10 cycles per pairs.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 15 / 23

slide-30
SLIDE 30

Progressive Sieving (V1 → V2)

Concurrently and independetly invented in [Mariano Laarhoven 2018]. Idea: Increase the dimension progressively.

◮ Recursively, Sieve in the lattice L(b1, . . . bn−1) ◮ Start the sieve in dimension n with many short-ish vectors ◮ Fresh vector get reduced much faster thanks to this initial pool.

Refer to [Mariano Laarhoven 2018] for a full analysis of this trick.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 16 / 23

slide-31
SLIDE 31

Dimensions for Free (V2 → V3)

◮ Apply the quasi-HKZ preprocessing strategy ◮ Do not force the choice of dmin ◮ Simply increase d until the shortest vector is found.

60 62 64 66 68 70 72 74 76 78 80 82

n

6 7 8 9 10 11 12 13 14 15 16 17 18 19

d

pessimistic simulation pessimistic approximation

  • ptimistic simulation
  • ptimistic approximation

Experimental average

Figure: Predictions experiments for dmin.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 17 / 23

slide-32
SLIDE 32

Performances

40 50 60 70 80

n

100 101 102 103

T (sec. )

Fit V0: 20. 489n − 21. 6 Fit V1: 20. 505n − 24. 6 Fit V2: 20. 470n − 24. 8 Fit V3: 20. 396n − 23. 6 Fit Enum: 20. 0683n · lnn − 17. 9 V0 (Sieve) V1 (Sieve) V2 (Sieve) V3 (SubSieve) fplll's Pruned Enum.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 18 / 23

slide-33
SLIDE 33

Comparison to other Sieving implementation

Algorithms V0 V1 V2 V3 [MV10] [FBB+14] [ML17] [HK17] Features XOR-POPCNT trick x x x x pogressive sieving x x SubSieve x LSH (more mem.) x tuple (less mem.) x Dimension Running times n = 60 227s 49s 8s 0.9s 464s 79s 13s 1080s n = 70

  • 276s

10s 23933s 4500s 250s 33000s n = 80

  • 234s
  • 4320s

94700s CPU freq. (GHz) 3.6 3.6 3.6 3.6 4.0 4.0 2.3 2.3

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 19 / 23

slide-34
SLIDE 34

Summary

Sieving vs. Sieving

◮ Exploit all outputs of Sieve ⇒ Dimensions for Free ◮ Our implementation is 10x faster than all previous Sieving ◮ It does not use LSH techniques: further speed-up expected

Sieving vs. Enumeration

◮ Only a factor 4x slower than Enum for dimensions 70–80 ◮ Guesstimates a cross-over at dim ≈ 90 with further improvements

(LSH/LSF, fine-tuning, vectorization, . . . ) To be continued. . .

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 20 / 23

slide-35
SLIDE 35

Summary

Sieving vs. Sieving

◮ Exploit all outputs of Sieve ⇒ Dimensions for Free ◮ Our implementation is 10x faster than all previous Sieving ◮ It does not use LSH techniques: further speed-up expected

Sieving vs. Enumeration

◮ Only a factor 4x slower than Enum for dimensions 70–80 ◮ Guesstimates a cross-over at dim ≈ 90 with further improvements

(LSH/LSF, fine-tuning, vectorization, . . . ) To be continued. . .

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 20 / 23

slide-36
SLIDE 36

Summary

Sieving vs. Sieving

◮ Exploit all outputs of Sieve ⇒ Dimensions for Free ◮ Our implementation is 10x faster than all previous Sieving ◮ It does not use LSH techniques: further speed-up expected

Sieving vs. Enumeration

◮ Only a factor 4x slower than Enum for dimensions 70–80 ◮ Guesstimates a cross-over at dim ≈ 90 with further improvements

(LSH/LSF, fine-tuning, vectorization, . . . ) To be continued. . .

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 20 / 23

slide-37
SLIDE 37

Thanks !

Question ?

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 21 / 23

slide-38
SLIDE 38

Simple Sieving in the Area-Time Model

A claim of P. Kirchner4

A simple Sieving algorithm (e.g. NV) can be implemented with A = 2.2075n+o(n) and T = 2.2075n+o(n). The circuit is easy to re-invent, using shift registers:

◮ No long wires: no speed-of-light delays ! ◮ Essentially 1-dimensional

v → v → v → v →· · ·→ v → v ր | | | | | ↓ |

  • v

տ | | | | | ↓ v ← v ← v ← v ←· · ·← v ← v

4https://groups.google.com/forum/#!msg/cryptanalytic-algorithms/

BoSRL0uHIjM/wAkZQlwRAgAJ

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 22 / 23

slide-39
SLIDE 39

Advanced Sieving in the Area-Time Model

Conjecture / Open Question

There exist a sieving circuit with: A = 2.2075n+o(n) and T ≤ 2.142n+o(n).

Hint

◮ [Becker Gama Joux 2015] with only on level of filtration ◮ 3 or 4 layers of 2-dimensions should suffice. ◮ Keep shift-registers not fully saturated, for easier on-the-fly insertion.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 23 / 23

slide-40
SLIDE 40

Advanced Sieving in the Area-Time Model

Conjecture / Open Question

There exist a sieving circuit with: A = 2.2075n+o(n) and T ≤ 2.142n+o(n).

Hint

◮ [Becker Gama Joux 2015] with only on level of filtration ◮ 3 or 4 layers of 2-dimensions should suffice. ◮ Keep shift-registers not fully saturated, for easier on-the-fly insertion.

L´ eo Ducas (CWI, Amsterdam) SVP from Sieving: a Few Dims for Free 30 April 2018 23 / 23