The Generalized Sieve Kernel

Size: px
Start display at page:

Download "The Generalized Sieve Kernel"

Transcription

1 The Generalized Sieve Kernel The Algorithmic Ant and the Sandpile Léo Ducas 1 Based on joint work in progress with M. Albrecht, E. Postlethwaite, G. Herold, E. Kirshanova, M. Stevens Cryptology Group, CWI, Amsterdam, The Netherlands Lattice Coding Crypto Meeting London, Sept Supported by a Veni Innovational Research Grant from NWO ( ). Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

2 T h`e A l g o r i t h m i`c A n t `a n`dffl t h`e S`a n`d p i l e Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

3 O n`c e u p`o nffl `affl tˇi m`e... Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

4 O n`c e u p`o nffl `affl tˇi m`e t h`eˇr`e wˆa s `a nffl `a n t. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

5 O n`c e u p`o nffl `affl tˇi m`e t h`eˇr`e wˆa s `a nffl `a n t. xor a bit 7,b jr z,bc_nneg ld hl,0 xor a sbc hl,bc push hl pop bc ld a,1 A nffl `ãl g o r i t h m i`c `a n t. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

6 T h`e Q u`e e nffl `o f `a n tṡ sfi u m m`o n`e dffl t h`e `ãl g o r i t h m i`c `a n t, Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

7 T h`e Q u`e e nffl `o f `a n tṡ sfi u m m`o n`e dffl t h`e `ãl g o r i t h m i`c `a n t, S`e e t h i s sfi`a n`dffl p i l e. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

8 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

9 I wˆa n t i t f l åt! Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

10 x100 L`oˆo k i n`g `c l oşfi`eˇrffl `åt t h`e S`a n`d p i l e, t h`e `ãl g o r i t h m i`c `a n t p`o n`d`eˇr s. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

11 O n`e `gˇr`a i nffl `åt t h`e tˇi m`e, I sfi h`ãl l p u l l t h`e sfi`a n`dffl `d`o w n h i l l. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

12 O n`e `gˇr`a i nffl `åt t h`e tˇi m`e, I sfi h`ãl l p u l l t h`e sfi`a n`dffl `d`o w n h i l l. S`o h`o p`e dffl t h`e `a n t. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

13 B u t t h`e sfi`a n`d p i l e i s w h i m sfi i`c ãl, `e àc hffl `e x c a vˆåtˇi`o nffl i s `affl p u zˇz l e `o f i tṡ `o w nffl. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

14 B u t t h`e sfi`a n`d p i l e i s w h i m sfi i`c ãl, `e àc hffl `e x c a vˆåtˇi`o nffl i s `affl p u zˇz l e `o f i tṡ `o w nffl. x100 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

15 B u t t h`e sfi`a n`d p i l e i s w h i m sfi i`c ãl, `e àc hffl `e x c a vˆåtˇi`o nffl i s `affl p u zˇz l e `o f i tṡ `o w nffl. x100 C`o lˇu m n s `år`e tˇi`e dffl i nffl m yṡfi t eˇr i`o u s wˆa yṡ: t o p u sfi hffl `o n`e `d`o w nffl, `o n`e m u sfi t fˇi n`dffl t h`e r i`g h t `c o m b i n`åtˇi`o nffl. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

16 U n sfi u r`e h`o w t o p r`oˆc e e dffl,? Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

17 U n sfi u r`e h`o w t o p r`oˆc e e dffl, T h`e `a n t `c ãl lṡ `affl `c o m p u t eˇrffl sfi`cˇi`e n tˇi sfi t. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

18 L`eˇt s b r`e a kffl t h i s `āp`år t. Figure: Annie Easley (NASA / NACA) 1 From Lattices to Sandpiles 2 Finding a grain of sand: Progress on SVP from Sieving 3 Flattening the Pile: Progress on lattice reduction from Sieving Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

19 From Lattices to Sandpiles Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

20 Lattices! y b2 x b1 Definition A lattice L is a discrete subgroup of a finite-dimensional Euclidean vector space. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

21 Bases of a Lattice b 2 b 2 b 1 b 1 Good Basis G of L Bad Basis B of L G B : easy (randomization); B G : hard (LLL, BKZ, Lattice Sieve...). Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

22 An important invariant: the Volume For any two bases G, B of the same lattice Λ: det(gg t ) = det(bb t ). We can therefore define: vol(λ) = det(gg t ). Geometrically: the volume of any fundamental domain of Λ. Let G be the Gram-Schmidt Orthogonalization of G G is not a basis of Λ, nevertheless: vol(λ) = det(g G t ) = gi. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

23 An important invariant: the Volume For any two bases G, B of the same lattice Λ: det(gg t ) = det(bb t ). We can therefore define: vol(λ) = det(gg t ). Geometrically: the volume of any fundamental domain of Λ. Let G be the Gram-Schmidt Orthogonalization of G G is not a basis of Λ, nevertheless: vol(λ) = det(g G t ) = gi. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

24 What is a Good basis Recall that, independently of the basis G it holds that: vol(λ) = gi. Therefore, it is somehow equivalent that max i gi is small min i gi is large κ(g) = max i gi / min i gi is small Good basis max b i min b i Bad basis max b i min b i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

25 What is a Good basis Recall that, independently of the basis G it holds that: vol(λ) = gi. Therefore, it is somehow equivalent that max i gi is small min i gi is large κ(g) = max i gi / min i gi is small Good basis max b i min b i Bad basis max b i min b i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

26 What is a Good basis Recall that, independently of the basis G it holds that: vol(λ) = gi. Therefore, it is somehow equivalent that max i gi is small min i gi is large κ(g) = max i gi / min i gi is small Good basis max b i min b i Bad basis max b i min b i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

27 Bases and Fundamental Domains Each basis defines a parallelepipedic tiling. v t t v Round off Algorithm [Lenstra, Babai]: Given a target t Find s v L at the center the tile. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

28 Bases and Fundamental Domains Each basis defines a parallelepipedic tiling. v t t v Round off Algorithm [Lenstra, Babai]: Given a target t Find s v L at the center the tile. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

29 Bases and Fundamental Domains Each basis defines a parallelepipedic tiling. v t t v Round off Algorithm [Lenstra, Babai]: Given a target t Find s v L at the center the tile. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

30 Round off Algorithm t B 1 t B RoundOff Algorithm [Lenstra,Babai]: Use B to switch to the lattice Z n ( B 1 ) round each coordinate (square tiling) switch back to L ( B) t = B 1 t; v = t ; v = B v Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

31 Round off Algorithm t B 1 t B RoundOff Algorithm [Lenstra,Babai]: Use B to switch to the lattice Z n ( B 1 ) round each coordinate (square tiling) switch back to L ( B) t = B 1 t; v = t ; v = B v Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

32 Round off Algorithm t B 1 v t B RoundOff Algorithm [Lenstra,Babai]: Use B to switch to the lattice Z n ( B 1 ) round each coordinate (square tiling) switch back to L ( B) t = B 1 t; v = t ; v = B v Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

33 Round off Algorithm v t B 1 v t B RoundOff Algorithm [Lenstra,Babai]: Use B to switch to the lattice Z n ( B 1 ) round each coordinate (square tiling) switch back to L ( B) t = B 1 t; v = t ; v = B v Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

34 Nearest-Plane Algorithm There is a better algorithm (NearestPlane) based on Gram-Schmidt Orth. B of a basis B: Decoding radius with G Decoding radius with B Worst-case distance: 1 2 b i 2 (Approx-CVP) Correct decoding of t = v + e where v Λ if (BDD) e 1 2 min b i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

35 Profile of a Basis Good basis max b i min b i Bad basis max b i min b i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

36 Profile of a Basis Good basis max b i min b i Bad basis max b i min b i log bi* i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

37 Profile of a Basis Good basis max b i min b i Bad basis max b i min b i log bi* Good basis Flat profile i Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

38 Local Modification B = T * Q Local blocks [i : j] of T correspond to a projected sublattice L [i:j] We can work locally: modify this block, affecting only b i... b j Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

39 Local Modification B = T * Q Local blocks [i : j] of T correspond to a projected sublattice L [i:j] We can work locally: modify this block, affecting only b i... b j Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

40 Local Modification B = T * Q Local blocks [i : j] of T correspond to a projected sublattice L [i:j] We can work locally: modify this block, affecting only b i... b j x100 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

41 Local Improvement Find the shortest vector v of the projected sublattice L [i:j] `affl p u zˇz l e `o f i tṡ `o w nffl. t h`e r i`g h t `c o m b i n`åtˇi`o nffl. Construct a unimodular matrix U such that T [i:j] U = [v,,,... ]. Apply U (locally). The new b i = v got shorter! The other b i+1,..., b j will change as well Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

42 Local Improvement Find the shortest vector v of the projected sublattice L [i:j] `affl p u zˇz l e `o f i tṡ `o w nffl. t h`e r i`g h t `c o m b i n`åtˇi`o nffl. Construct a unimodular matrix U such that T [i:j] U = [v,,,... ]. Apply U (locally). The new b i = v got shorter! The other b i+1,..., b j will change as well Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

43 Local Improvement Find the shortest vector v of the projected sublattice L [i:j] `affl p u zˇz l e `o f i tṡ `o w nffl. t h`e r i`g h t `c o m b i n`åtˇi`o nffl. Construct a unimodular matrix U such that T [i:j] U = [v,,,... ]. Apply U (locally). The new b i = v got shorter! The other b i+1,..., b j will change as well x100 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

44 Lattice reduction (e.g. BKZ-b) b: Blocksize Run the local improvements for consecutive blocks: [1 : b], [2 : b + 1], [3 : b + 2],..., [n b : n], [n b + 1 : n],... [n 1 : n] This is called a tour. Repeat tours until satisfication (or convergence). Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

45 Lattice reduction (e.g. BKZ-b) b: Blocksize Run the local improvements for consecutive blocks: [1 : b], [2 : b + 1], [3 : b + 2],..., [n b : n], [n b + 1 : n],... [n 1 : n] This is called a tour. Repeat tours until satisfication (or convergence). Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

46 BKZ in action Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

47 T h`a n k s f o rffl t h`e l e cˇtˇu r`e, b u t... xor a bit 7,b jr z,bc_nneg ld hl,0 xor a sbc hl,bc push hl pop bc ld a,1 h`o w sfi h`o u l dffl I sfi`o l vfle t h`oşfi`e SVP p u zˇz l eṡ? Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

48 T h`a n k s f o rffl t h`e l e cˇtˇu r`e, b u t... xor a bit 7,b jr z,bc_nneg ld hl,0 xor a sbc hl,bc push hl pop bc ld a,1 h`o w sfi h`o u l dffl I sfi`o l vfle t h`oşfi`e SVP p u zˇz l eṡ? Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

49 Shortest Vector from Lattice Sieving: a Few Dimensions for Free 2 2 EUROCRYPT 2018 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

50 Two classes 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 n n/2e 2 O(n) poly(n) Sieving 3 [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 a lot slower. 3 Given complexities are heuristic, heavily supported by experiments. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

51 Two classes 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 n n/2e 2 O(n) poly(n) Sieving 3 [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 a lot slower. 3 Given complexities are heuristic, heavily supported by experiments. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

52 Two classes 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 n n/2e 2 O(n) poly(n) Sieving 3 [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 a lot slower. 3 Given complexities are heuristic, heavily supported by experiments. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

53 Many trade-offs Time complexity n n n n NV '08 MV '10 BDGL16 BGJ '15 WLTB '11 LdW '15 / BL '15 ZPH '13 BGJ '14 Laa '15 Time =Space n n n n n Space complexity Our main contribution can also be applied to other sieving algorithms. Implementation limited to the version of [Micciancio Voulgaris 2010]. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

54 Many trade-offs Time complexity n In this work n n n NV '08 MV '10 BDGL16 BGJ '15 WLTB '11 LdW '15 / BL '15 ZPH '13 BGJ '14 Laa '15 Time =Space n n n n n Space complexity Our main contribution can also be applied to other sieving algorithms. Implementation limited to the version of [Micciancio Voulgaris 2010]. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

55 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 = 2... 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), still with room for many improvements. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

56 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 = 2... 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), still with room for many improvements. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

57 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 = 2... 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), still with room for many improvements. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

58 Sieving Algorithm 1 Sieve(L) L a set of N random vectors from L where N (4/3) n/2. while (v, w) L 2 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

59 Sieving Algorithm 2 Sieve(L) L a set of N random vectors from L where N (4/3) n/2. while (v, w) L 2 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

60 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

61 Sieve then Lift Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d) Set L = L(b 1,..., b d ) Set L = π L (L) Compute L = Sieve(L ) left part of L, dim=d right part of L, dim=n d Hope that πl (s) L (1) Lift all v L from L to L and take the shortest (Babai alg.) Pessimistic prediction for (1) Optimistic prediction for (1) gh(l) 4/3 gh(l ). n d gh(l) 4/3 gh(l ). n Similar to linear pruning for enum. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

62 Sieve then Lift Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d) Set L = L(b 1,..., b d ) Set L = π L (L) Compute L = Sieve(L ) left part of L, dim=d right part of L, dim=n d Hope that πl (s) L (1) Lift all v L from L to L and take the shortest (Babai alg.) Pessimistic prediction for (1) Optimistic prediction for (1) gh(l) 4/3 gh(l ). n d gh(l) 4/3 gh(l ). n Similar to linear pruning for enum. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

63 Sieve then Lift Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d) Set L = L(b 1,..., b d ) Set L = π L (L) Compute L = Sieve(L ) left part of L, dim=d right part of L, dim=n d Hope that πl (s) L (1) Lift all v L from L to L and take the shortest (Babai alg.) Pessimistic prediction for (1) Optimistic prediction for (1) gh(l) 4/3 gh(l ). n d gh(l) 4/3 gh(l ). n Similar to linear pruning for enum. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

64 Sieve then Lift Main idea: Sieve in a projected sub-lattice, and lift all candidate solutions. SubSieve(L, d) Set L = L(b 1,..., b d ) Set L = π L (L) Compute L = Sieve(L ) left part of L, dim=d right part of L, dim=n d Hope that πl (s) L (1) Lift all v L from L to L and take the shortest (Babai alg.) Pessimistic prediction for (1) Optimistic prediction for (1) gh(l) 4/3 gh(l ). n d gh(l) 4/3 gh(l ). n Similar to linear pruning for enum. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

65 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 models 4 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) 4 The Geometric Series Assumption Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

66 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 models 4 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) 4 The Geometric Series Assumption Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

67 Quasi-HKZ preprocessing Idea: Attempt stronger pre-processing. Algorithm 3 SubSieve + (L, d) L Sieve(L ) L = {Lift L L(v) for v L} for j = 0... n/2 1 do v j = arg min s L π (v0...v j 1 ) (s) end for return (v 0... v n/2 1 ) Insert (v 0... v n/2 1 ) as the new b 1... b n/2 Repeat SubSieve + (L, d) for d = n 1, n 2,..., d min Hope that iteration d min + 1 provided a quasi-hkz basis. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

68 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) d pessimistic simulation pessimistic approximation optimistic simulation optimistic approximation n Figure: Predictions of the maximal successful choice of d min. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

69 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

70 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

71 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

72 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

73 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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

74 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 = {c 1... c k } S n and a threshold t k/2 Precompute compressions ṽ = Sign( v, c i ) {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éo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

75 Progressive Sieving (V1 V2) Concurrently and independetly invented in [Mariano Laarhoven 2018]. Idea: Increase the dimension progressively. Recursively, Sieve in the lattice L(b 1,... b n 1 ) Start the sieve in dimension n with many short-ish vectors Fresh vectors get reduced much faster thanks to this initial pool. Refer to [Mariano Laarhoven 2018] for a full analysis of this trick. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

76 Dimensions for Free (V2 V3) Apply the quasi-hkz preprocessing strategy Do not force the choice of d min Simply increase d until the shortest vector is found. d pessimistic simulation pessimistic approximation optimistic simulation optimistic approximation Experimental average n Figure: Predictions experiments for d min. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

77 Performances T (sec. ) n Fit V0: n Fit V1: n Fit V2: n Fit V3: Fit Enum: 2 V0 (Sieve) V1 (Sieve) V2 (Sieve) V3 (SubSieve) fplll's Pruned Enum n lnn Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59 n

78 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.) tuple (less mem.) x x Dimension Running times n = s 49s 8s 0.9s 464s 79s 13s 1080s n = s 10s 23933s 4500s 250s 33000s n = s s 94700s CPU freq. (GHz) Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

79 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 Guesstimates a cross-over at dim 90 with further improvements (LSH/LSF, fine-tuning, vectorization,... ) Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

80 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 Guesstimates a cross-over at dim 90 with further improvements (LSH/LSF, fine-tuning, vectorization,... ) Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

81 A l l t h`åt wˆo r kffl f o rffl `affl sfi i n`g l e `gˇr`åi nffl `o f sfi`a n`d! xor a bit 7,b jr z,bc_nneg ld hl,0 xor a sbc hl,bc push hl pop bc ld a,1 M u sfi t I r`eṗ`e åt `ãl l `o f t h i s f o rffl `e àc hffl `gˇr`åi nffl? Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

82 A l l t h`åt wˆo r kffl f o rffl `affl sfi i n`g l e `gˇr`åi nffl `o f sfi`a n`d! xor a bit 7,b jr z,bc_nneg ld hl,0 xor a sbc hl,bc push hl pop bc ld a,1 M u sfi t I r`eṗ`e åt `ãl l `o f t h i s f o rffl `e àc hffl `gˇr`åi nffl? Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

83 H u mffl. L`eˇt m`e t h i n kffl. M`a y bfle wfle `d`o nffl t n`e e dffl t o r`eṗ`e åt `ãl l `o f t h i s... Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

84 H u mffl. L`eˇt m`e t h i n kffl. M`a y bfle wfle `d`o nffl t n`e e dffl t o r`eṗ`e åt `ãl l `o f t h i s... Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

85 The Generalized Sieve Kernel (G6K, pronounced /ζe.si.ka/) 5 5 Work in Progress with M. Albrecht, E. Postlethwaite, G. Herold, E. Kirshanova, M. Stevens Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

86 1st design principle: Go Green! Idea: Recycle vectors between overlapping blocks. Rather than an function serving as an SVP oracle, design a stateful machine that takes advantages of the overlapping instances. In other words: A nffl A l g o r i t h m i`c A n t `o nffl `affl S`a n`d p i l e, `c år r yˇi n`g `affl bˆàg `o f vfle cˇt o r s `o nffl i tṡ bˆàc kffl. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

87 1st design principle: Go Green! Idea: Recycle vectors between overlapping blocks. Rather than an function serving as an SVP oracle, design a stateful machine that takes advantages of the overlapping instances. In other words: A nffl A l g o r i t h m i`c A n t `o nffl `affl S`a n`d p i l e, `c år r yˇi n`g `affl bˆàg `o f vfle cˇt o r s `o nffl i tṡ bˆàc kffl. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

88 Moving with a bag of vectors Relations between the projected sublattices: L = L [1:n] L [1:n 1]... L [1:2]... L [1:1] π π π L [2:n] L [2:n 1]... L [2:2]. L [n 1:n] L [n 1:n 1] π L [n:n] π can be inverted in many ways. Choose π 1 to be the Babai lift: the shortest of all possible lifts. All maps, π 1, π preserve shortness somewhat Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

89 Moving with a bag of vectors Relations between the projected sublattices: L = L [1:n] L [1:n 1]... L [1:2]... L [1:1] π π π L [2:n] L [2:n 1]... L [2:2]. L [n 1:n] L [n 1:n 1] π L [n:n] π can be inverted in many ways. Choose π 1 to be the Babai lift: the shortest of all possible lifts. All maps, π 1, π preserve shortness somewhat Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

90 Moving with a bag of vectors Relations between the projected sublattices: L = L [1:n] L [1:n 1]... L [1:2]... L [1:1] π π π L [2:n] L [2:n 1]... L [2:2]. L [n 1:n] L [n 1:n 1] π L [n:n] π can be inverted in many ways. Choose π 1 to be the Babai lift: the shortest of all possible lifts. All maps, π 1, π preserve shortness somewhat Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

91 Moving with a bag of vectors L = L [1:n] L [1:n 1]... L [1:2] L [1:1] π π π L [2:n] L [2:n 1]... L [2:2].. L [n 1:n] L [n 1:n 1] π L [n:n] Change of context/block [l:r] : transform the vectors in the bag Extend-Right : Shrink-Left : π 1 Extend-Left : π (do nothing) (Babai lift) (project) Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

92 2nd design principle: be flexible BKZ theory use exact-svp for each block consecutively, but maybe we re better off making different choices. Maintain a cadidate for insertion at each position Decide where to insert after sieving Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

93 3rd design principle: seize opportunities Algorithm 4 Sieve(L) L a set of N random vectors from L where N (4/3) n/2. while (v, w) L 2 such that v w < v do v v w end while return L Even if v w v, it could be worth considering the lifts of v w. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

94 The abstract machine State: A lattice basis B Positions 0 l l r d. [l : r] the sieving context, and [l : r] the lifting context. A database db of N vectors in L [l:r] (preferably short). Insertion candidates c l,..., c l where c i L [i:r] or c i =. Instructions: Sieve (S): make vector shorter, improve insertion candidates Extend Right, Shrink Left, Extend Left (ER, SL, EL): change the sieve-context, updating the database Insert (I): update the basis and the database Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

95 The ideal BKZ with G6K BKZ can be written very simply: Repeat {S; I; ER; } When starting the second Sieve, vectors are already quite short No need to restart progressive sieving from the beginning. The ER bug. It turns out that ER is not very compatible with our fastest sieve implementation. Somehow, the Sieve gets stuck in a subspace. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

96 The ideal BKZ with G6K BKZ can be written very simply: Repeat {S; I; ER; } When starting the second Sieve, vectors are already quite short No need to restart progressive sieving from the beginning. The ER bug. It turns out that ER is not very compatible with our fastest sieve implementation. Somehow, the Sieve gets stuck in a subspace. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

97 Pump Before: SubSieve f : Reset 0,f,f, (ER, S) d f, I 0, I 1,..., I d f. No issues with EL Progressive-Sieving toward the left instead. Can now Sieve again after insertion Can now insert the best candidate rather than a pre-chosen one Pump l,l,r,s : Reset l,r,r, pump-up {}}{ (EL, S) r l, pump-down {}}{ (I, S) r l. Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

98 WorkOut Workout: Pumps of increasing strength WorkOut κ,β,f,f +,s : Pump κ,κ+β f +,κ+β,s, Pump κ,κ+β 2f +,κ+β,s, Pump κ,κ+β 3f +,κ+β,s,... Pump κ,κ+f,κ+β,s, Termination condition can vary (e.g. fixed number of dims for free, or reached satisfying shortest vector) steps size of pump strength is not necessarly 1 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

99 Pump and Jump Block is left somewhat reduced by the pump in the previous block: no need for a full workout. Many short vectors inserted, little improvement left around here: directly Jump far away. PumpnJumpBKZ β,f,j : Pump 0,f,β, Pump j,j+f,j+β, Pump 2j,2j+f,2j+β,... Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

100 Implementation 3 layers c++: multi-threaded heavy duty operation (Sieve, db updates) cython: middleware, basis maintainance python: control, tuning, and monitoring Several Sieve inside: Standard Gauss-Sieve (mono-threaded) Mem = 2.208n+o(n), Time = 2.415n+o(n) Becker-Gama-Joux with 1 level of filtration (multi-threaded) k-sieve k = 2, 3 (multi-threaded) Mem = 2.208n+o(n), Time = 2.349n+o(n) Mem = 2.208n+o(n), Time = 2.349n+o(n) Mem = 2.189n+o(n), Time = 2.372n+o(n) Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

101 Performances: Exact-SVP time (core-hours) Time in seconds for exact-svp 10 3 BKZ+pruned enum (fplll) G6K WorkOut dim About 4 extra dims for free Cross-over with enum at dim 70 Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

102 Records: SVP-challenges time (core-hours) SVP-challenges 10 6 BKZ+pruned enum RSR/discrete pruning G6K WorkOut dim Solved challenges up to dim 155, with 80 cores in 14 days About 400x faster than previous records Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

103 Records: LWE-challenges Red: solved (prior) Blue: solved (ours) Green: unsolved. New cost-balancing trick improving upon the prediction of [AGVW17] Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

104 Stay tuned Paper to be finalized Implementation will be made open-source Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

105 Thanks!? Léo Ducas (CWI, Amsterdam) G6K or, the Alg. Ant and the Sandpile 24 Sept / 59

The Generalized Sieve Kernel

The Generalized Sieve Kernel The Generalized Sieve Kernel The Algorithmic Ant and the Sandpile Léo Ducas 1 Based on joint work in progress with M. Albrecht, E. Postlethwaite, M. Stevens Cryptology Group, CWI, Amsterdam, The Netherlands

More information

Shortest Vector from Lattice Sieving: a Few Dimensions for Free

Shortest Vector from Lattice Sieving: a Few Dimensions for Free Shortest Vector from Lattice Sieving: a Few Dimensions for Free Léo Ducas Cryptology Group, CWI, Amsterdam, The Netherlands Abstract. Asymptotically, the best known algorithms for solving the Shortest

More information

Algorithmic Geometry of Numbers: LLL and BKZ

Algorithmic Geometry of Numbers: LLL and BKZ Algorithmic Geometry of Numbers: LLL and BKZ Léo Ducas CWI, Amsterdam, The Netherlands HEAT Summer-School on FHE and MLM Léo Ducas (CWI, Amsterdam) LLL and BKZ HEAT, October 2015 1 / 28 A gift from Johannes

More information

Sieving for Shortest Vectors in Ideal Lattices:

Sieving for Shortest Vectors in Ideal Lattices: Sieving for Shortest Vectors in Ideal Lattices: a Practical Perspective Joppe W. Bos Microsoft Research LACAL@RISC Seminar on Cryptologic Algorithms CWI, Amsterdam, Netherlands Joint work with Michael

More information

Tuple Lattice Sieving

Tuple Lattice Sieving Tuple Lattice Sieving Shi Bai, Thijs Laarhoven and Damien Stehlé IBM Research Zurich and ENS de Lyon August 29th 2016 S. Bai, T. Laarhoven & D. Stehlé Tuple Lattice Sieving 29/08/2016 1/25 Main result

More information

CSE 206A: Lattice Algorithms and Applications Spring Basis Reduction. Instructor: Daniele Micciancio

CSE 206A: Lattice Algorithms and Applications Spring Basis Reduction. Instructor: Daniele Micciancio CSE 206A: Lattice Algorithms and Applications Spring 2014 Basis Reduction Instructor: Daniele Micciancio UCSD CSE No efficient algorithm is known to find the shortest vector in a lattice (in arbitrary

More information

Solving shortest and closest vector problems: The decomposition approach

Solving shortest and closest vector problems: The decomposition approach Solving shortest and closest vector problems: The decomposition approach Anja Becker 1, Nicolas Gama 2, and Antoine Joux 3 1 EPFL, École Polytechnique Fédérale de Lausanne, Switzerland 2 UVSQ, Université

More information

Finding shortest lattice vectors faster using quantum search

Finding shortest lattice vectors faster using quantum search Finding shortest lattice vectors faster using quantum search Thijs Laarhoven Michele Mosca Joop van de Pol Abstract By applying a quantum search algorithm to various heuristic and provable sieve algorithms

More information

BKZ 2.0: Better Lattice Security Estimates

BKZ 2.0: Better Lattice Security Estimates BKZ 2.0: Better Lattice Security Estimates Yuanmi Chen and Phong Q. Nguyen 1 ENS, Dept. Informatique, 45 rue d Ulm, 75005 Paris, France. http://www.eleves.ens.fr/home/ychen/ 2 INRIA and ENS, Dept. Informatique,

More information

Finding shortest lattice vectors faster using quantum search

Finding shortest lattice vectors faster using quantum search Des. Codes Cryptogr. (2015) 77:375 400 DOI 10.1007/s10623-015-0067-5 Finding shortest lattice vectors faster using quantum search Thijs Laarhoven 1 Michele Mosca 2,3,4 Joop van de Pol 5 Received: 15 October

More information

Short generators without quantum computers: the case of multiquadratics

Short generators without quantum computers: the case of multiquadratics Short generators without quantum computers: the case of multiquadratics Daniel J. Bernstein University of Illinois at Chicago 31 July 2017 https://multiquad.cr.yp.to Joint work with: Jens Bauch & Henry

More information

A Fast Phase-Based Enumeration Algorithm for SVP Challenge through y-sparse Representations of Short Lattice Vectors

A Fast Phase-Based Enumeration Algorithm for SVP Challenge through y-sparse Representations of Short Lattice Vectors A Fast Phase-Based Enumeration Algorithm for SVP Challenge through y-sparse Representations of Short Lattice Vectors Dan Ding 1, Guizhen Zhu 2, Yang Yu 1, Zhongxiang Zheng 1 1 Department of Computer Science

More information

Sieving for shortest vectors in lattices using angular locality-sensitive hashing

Sieving for shortest vectors in lattices using angular locality-sensitive hashing Sieving for shortest vectors in lattices using angular locality-sensitive hashing Thijs Laarhoven Department of Mathematics and Computer Science Eindhoven University of Technology, Eindhoven, The Netherlands

More information

Dimension-Preserving Reductions Between Lattice Problems

Dimension-Preserving Reductions Between Lattice Problems Dimension-Preserving Reductions Between Lattice Problems Noah Stephens-Davidowitz Courant Institute of Mathematical Sciences, New York University. noahsd@cs.nyu.edu Last updated September 6, 2016. Abstract

More information

Practical Analysis of Key Recovery Attack against Search-LWE Problem

Practical Analysis of Key Recovery Attack against Search-LWE Problem Practical Analysis of Key Recovery Attack against Search-LWE Problem The 11 th International Workshop on Security, Sep. 13 th 2016 Momonari Kudo, Junpei Yamaguchi, Yang Guo and Masaya Yasuda 1 Graduate

More information

Lecture 5: CVP and Babai s Algorithm

Lecture 5: CVP and Babai s Algorithm NYU, Fall 2016 Lattices Mini Course Lecture 5: CVP and Babai s Algorithm Lecturer: Noah Stephens-Davidowitz 51 The Closest Vector Problem 511 Inhomogeneous linear equations Recall that, in our first lecture,

More information

Speeding-up lattice sieving without increasing the memory, using sub-quadratic nearest neighbor search

Speeding-up lattice sieving without increasing the memory, using sub-quadratic nearest neighbor search Speeding-up lattice sieving without increasing the memory, using sub-quadratic nearest neighbor search Anja Becker 1, Nicolas Gama, and Antoine Joux 3,4 1 EPFL, Lausanne, Switzerland UVSQ, Versailles,

More information

Lattice-Based Cryptography: Mathematical and Computational Background. Chris Peikert Georgia Institute of Technology.

Lattice-Based Cryptography: Mathematical and Computational Background. Chris Peikert Georgia Institute of Technology. Lattice-Based Cryptography: Mathematical and Computational Background Chris Peikert Georgia Institute of Technology crypt@b-it 2013 1 / 18 Lattice-Based Cryptography y = g x mod p m e mod N e(g a, g b

More information

Orthogonalized Lattice Enumeration for Solving SVP

Orthogonalized Lattice Enumeration for Solving SVP Orthogonalized Lattice Enumeration for Solving SVP Zhongxiang Zheng 1, Xiaoyun Wang 2, Guangwu Xu 3, Yang Yu 1 1 Department of Computer Science and Technology,Tsinghua University, Beijing 100084, China,

More information

Solving All Lattice Problems in Deterministic Single Exponential Time

Solving All Lattice Problems in Deterministic Single Exponential Time Solving All Lattice Problems in Deterministic Single Exponential Time (Joint work with P. Voulgaris, STOC 2010) UCSD March 22, 2011 Lattices Traditional area of mathematics Bridge between number theory

More information

CSE 206A: Lattice Algorithms and Applications Spring Basic Algorithms. Instructor: Daniele Micciancio

CSE 206A: Lattice Algorithms and Applications Spring Basic Algorithms. Instructor: Daniele Micciancio CSE 206A: Lattice Algorithms and Applications Spring 2014 Basic Algorithms Instructor: Daniele Micciancio UCSD CSE We have already seen an algorithm to compute the Gram-Schmidt orthogonalization of a lattice

More information

Proxy Re-Encryption in a Stronger Security Model Extended from CT-RSA2012

Proxy Re-Encryption in a Stronger Security Model Extended from CT-RSA2012 Proxy Re-Encryption in a Stronger Security Model Extended from CT-RSA2012 Manh Ha Nguyen Tokyo Institute of Technology Toshiyuki Isshiki 1,2 and Keisuke Tanaka 2 1 NEC Corporation 2 Tokyo Institute of

More information

COS 598D - Lattices. scribe: Srdjan Krstic

COS 598D - Lattices. scribe: Srdjan Krstic COS 598D - Lattices scribe: Srdjan Krstic Introduction In the first part we will give a brief introduction to lattices and their relevance in some topics in computer science. Then we show some specific

More information

Analyzing Blockwise Lattice Algorithms using Dynamical Systems

Analyzing Blockwise Lattice Algorithms using Dynamical Systems Analyzing Blockwise Lattice Algorithms using Dynamical Systems Guillaume Hanrot, Xavier Pujol, Damien Stehlé ENS Lyon, LIP (CNRS ENSL INRIA UCBL - ULyon) Analyzing Blockwise Lattice Algorithms using Dynamical

More information

1 Shortest Vector Problem

1 Shortest Vector Problem Lattices in Cryptography University of Michigan, Fall 25 Lecture 2 SVP, Gram-Schmidt, LLL Instructor: Chris Peikert Scribe: Hank Carter Shortest Vector Problem Last time we defined the minimum distance

More information

Measuring, simulating and exploiting the head concavity phenomenon in BKZ

Measuring, simulating and exploiting the head concavity phenomenon in BKZ Measuring, simulating and exploiting the head concavity phenomenon in BKZ Shi Bai 1, Damien Stehlé 2, and Weiqiang Wen 2 1 Department of Mathematical Sciences, Florida Atlantic University. Boca Raton.

More information

Tuple Lattice Sieving

Tuple Lattice Sieving Tuple Lattice Sieving Shi Bai 1, Thijs Laarhoven 2, and Damien Stehlé 1 1 ENS de Lyon, Laboratoire LIP, U. Lyon, CNRS, ENSL, INRIA, UCBL, Lyon, France shi.bai@ens-lyon.fr, damien.stehle@ens-lyon.fr 2 IBM

More information

Centrum Wiskunde & Informatica, Amsterdam, The Netherlands

Centrum Wiskunde & Informatica, Amsterdam, The Netherlands Logarithmic Lattices Léo Ducas Centrum Wiskunde & Informatica, Amsterdam, The Netherlands Workshop: Computational Challenges in the Theory of Lattices ICERM, Brown University, Providence, RI, USA, April

More information

DIMACS Workshop on Parallelism: A 2020 Vision Lattice Basis Reduction and Multi-Core

DIMACS Workshop on Parallelism: A 2020 Vision Lattice Basis Reduction and Multi-Core DIMACS Workshop on Parallelism: A 2020 Vision Lattice Basis Reduction and Multi-Core Werner Backes and Susanne Wetzel Stevens Institute of Technology 29th March 2011 Work supported through NSF Grant DUE

More information

Solving BDD by Enumeration: An Update

Solving BDD by Enumeration: An Update Solving BDD by Enumeration: An Update Mingjie Liu, Phong Q. Nguyen To cite this version: Mingjie Liu, Phong Q. Nguyen. Solving BDD by Enumeration: An Update. Ed Dawson. CT-RSA 2013 - The Cryptographers

More information

arxiv: v1 [cs.cr] 16 Jul 2016

arxiv: v1 [cs.cr] 16 Jul 2016 Sieving for closest lattice vectors (with preprocessing) Thijs Laarhoven IBM Research Rüschlikon, Switzerland mail@thijs.com arxiv:1607.04789v1 [cs.cr] 16 Jul 2016 Abstract. Lattice-based cryptography

More information

Enumeration. Phong Nguyễn

Enumeration. Phong Nguyễn Enumeration Phong Nguyễn http://www.di.ens.fr/~pnguyen March 2017 References Joint work with: Yoshinori Aono, published at EUROCRYPT 2017: «Random Sampling Revisited: Lattice Enumeration with Discrete

More information

Algorithms for ray class groups and Hilbert class fields

Algorithms for ray class groups and Hilbert class fields (Quantum) Algorithms for ray class groups and Hilbert class fields Sean Hallgren joint with Kirsten Eisentraeger Penn State 1 Quantum Algorithms Quantum algorithms for number theoretic problems: Factoring

More information

Short generators without quantum computers: the case of multiquadratics

Short generators without quantum computers: the case of multiquadratics Short generators without quantum computers: the case of multiquadratics Daniel J. Bernstein & Christine van Vredendaal University of Illinois at Chicago Technische Universiteit Eindhoven 19 January 2017

More information

Shortest Lattice Vector Enumeration on Graphics Cards

Shortest Lattice Vector Enumeration on Graphics Cards Shortest Lattice Vector Enumeration on Graphics Cards Jens Hermans 1 Michael Schneider 2 Fréderik Vercauteren 1 Johannes Buchmann 2 Bart Preneel 1 1 K.U.Leuven 2 TU Darmstadt SHARCS - 10 September 2009

More information

Gauss Sieve on GPUs. Shang-Yi Yang 1, Po-Chun Kuo 1, Bo-Yin Yang 2, and Chen-Mou Cheng 1

Gauss Sieve on GPUs. Shang-Yi Yang 1, Po-Chun Kuo 1, Bo-Yin Yang 2, and Chen-Mou Cheng 1 Gauss Sieve on GPUs Shang-Yi Yang 1, Po-Chun Kuo 1, Bo-Yin Yang 2, and Chen-Mou Cheng 1 1 Department of Electrical Engineering, National Taiwan University, Taipei, Taiwan {ilway25,kbj,doug}@crypto.tw 2

More information

On the Asymptotic Complexity of Solving LWE

On the Asymptotic Complexity of Solving LWE On the Asymptotic Complexity of Solving LWE Gottfried Herold, Elena Kirshanova, and Alexander May Horst Görtz Institute for IT-Security Faculty of Mathematics Ruhr University Bochum, Germany elena.kirshanova@rub.de

More information

Progressive lattice sieving

Progressive lattice sieving Progressive lattice sieving Thijs Laarhoven and Artur Mariano t s tt t s PQCrypto 2018, Fort Lauderdale (FL), USA (April 10, 2018) Lattices What is a lattice? Lattices What is a lattice? b 1 b 2 Lattices

More information

Computational algebraic number theory tackles lattice-based cryptography

Computational algebraic number theory tackles lattice-based cryptography Computational algebraic number theory tackles lattice-based cryptography Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Moving to the left Moving to the right

More information

Sieving for Shortest Vectors in Ideal Lattices: a Practical Perspective

Sieving for Shortest Vectors in Ideal Lattices: a Practical Perspective Sieving for Shortest Vectors in Ideal Lattices: a Practical Perspective Joppe W. Bos 1, Michael Naehrig 2, and Joop van de Pol 3 1 NXP Semiconductors, Leuven, Belgium joppe.bos@nxp.com 2 Microsoft Research,

More information

Lattice Reduction Attacks on HE Schemes. Martin R. Albrecht 15/03/2018

Lattice Reduction Attacks on HE Schemes. Martin R. Albrecht 15/03/2018 Lattice Reduction Attacks on HE Schemes Martin R. Albrecht 15/03/2018 Learning with Errors The Learning with Errors (LWE) problem was defined by Oded Regev. 1 Given (A, c) with uniform A Z m n q, uniform

More information

Lattice Reduction Algorithms: Theory and Practice

Lattice Reduction Algorithms: Theory and Practice Lattice Reduction Algorithms: Theory and Practice Phong Q. Nguyen INRIA and ENS, Département d informatique, 45 rue d Ulm, 75005 Paris, France http://www.di.ens.fr/~pnguyen/ Abstract. Lattice reduction

More information

Computational algebraic number theory tackles lattice-based cryptography

Computational algebraic number theory tackles lattice-based cryptography Computational algebraic number theory tackles lattice-based cryptography Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Moving to the left Moving to the right

More information

Solving Hard Lattice Problems and the Security of Lattice-Based Cryptosystems

Solving Hard Lattice Problems and the Security of Lattice-Based Cryptosystems Solving Hard Lattice Problems and the Security of Lattice-Based Cryptosystems Thijs Laarhoven Joop van de Pol Benne de Weger September 10, 2012 Abstract This paper is a tutorial introduction to the present

More information

Some Sieving Algorithms for Lattice Problems

Some Sieving Algorithms for Lattice Problems Foundations of Software Technology and Theoretical Computer Science (Bangalore) 2008. Editors: R. Hariharan, M. Mukund, V. Vinay; pp - Some Sieving Algorithms for Lattice Problems V. Arvind and Pushkar

More information

Attacks on LWE. Martin R. Albrecht Oxford Lattice School

Attacks on LWE. Martin R. Albrecht Oxford Lattice School Attacks on LWE Martin R. Albrecht Oxford Lattice School Outline BKZ Refresher LWE Dual Lattice Attack Primal Lattice Attack (usvp Version) BKZ Refresher BKZ Input basis is LLL reduced, the first block

More information

Estimation of the Hardness of the Learning with Errors Problem with a Given Number of Samples

Estimation of the Hardness of the Learning with Errors Problem with a Given Number of Samples Estimation of the Hardness of the Learning with Errors Problem with a Given Number of Samples Abschätzung der Schwierigkeit des Learning with Errors Problem mit gegebener fester Anzahl von Samples Master-Thesis

More information

Background: Lattices and the Learning-with-Errors problem

Background: Lattices and the Learning-with-Errors problem Background: Lattices and the Learning-with-Errors problem China Summer School on Lattices and Cryptography, June 2014 Starting Point: Linear Equations Easy to solve a linear system of equations A s = b

More information

On Bounded Distance Decoding, Unique Shortest Vectors, and the Minimum Distance Problem

On Bounded Distance Decoding, Unique Shortest Vectors, and the Minimum Distance Problem On Bounded Distance Decoding, Unique Shortest Vectors, and the Minimum Distance Problem Vadim Lyubashevsky Daniele Micciancio To appear at Crypto 2009 Lattices Lattice: A discrete subgroup of R n Group

More information

The Shortest Vector Problem (Lattice Reduction Algorithms)

The Shortest Vector Problem (Lattice Reduction Algorithms) The Shortest Vector Problem (Lattice Reduction Algorithms) Approximation Algorithms by V. Vazirani, Chapter 27 - Problem statement, general discussion - Lattices: brief introduction - The Gauss algorithm

More information

Ring-LWE security in the case of FHE

Ring-LWE security in the case of FHE Chair of Naval Cyber Defense 5 July 2016 Workshop HEAT Paris Why worry? Which algorithm performs best depends on the concrete parameters considered. For small n, DEC may be favourable. For large n, BKW

More information

On the concrete hardness of Learning with Errors

On the concrete hardness of Learning with Errors On the concrete hardness of Learning with Errors Martin R. Albrecht 1, Rachel Player 1, and Sam Scott 1 Information Security Group, Royal Holloway, University of London Abstract. The Learning with Errors

More information

47-831: Advanced Integer Programming Lecturer: Amitabh Basu Lecture 2 Date: 03/18/2010

47-831: Advanced Integer Programming Lecturer: Amitabh Basu Lecture 2 Date: 03/18/2010 47-831: Advanced Integer Programming Lecturer: Amitabh Basu Lecture Date: 03/18/010 We saw in the previous lecture that a lattice Λ can have many bases. In fact, if Λ is a lattice of a subspace L with

More information

Lattices. A Lattice is a discrete subgroup of the additive group of n-dimensional space R n.

Lattices. A Lattice is a discrete subgroup of the additive group of n-dimensional space R n. Lattices A Lattice is a discrete subgroup of the additive group of n-dimensional space R n. Lattices have many uses in cryptography. They may be used to define cryptosystems and to break other ciphers.

More information

Lattices that Admit Logarithmic Worst-Case to Average-Case Connection Factors

Lattices that Admit Logarithmic Worst-Case to Average-Case Connection Factors 1 / 15 Lattices that Admit Logarithmic Worst-Case to Average-Case Connection Factors Chris Peikert 1 Alon Rosen 2 1 SRI International 2 Harvard SEAS IDC Herzliya STOC 2007 2 / 15 Worst-case versus average-case

More information

and the polynomial-time Turing p reduction from approximate CVP to SVP given in [10], the present authors obtained a n=2-approximation algorithm that

and the polynomial-time Turing p reduction from approximate CVP to SVP given in [10], the present authors obtained a n=2-approximation algorithm that Sampling short lattice vectors and the closest lattice vector problem Miklos Ajtai Ravi Kumar D. Sivakumar IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120. fajtai, ravi, sivag@almaden.ibm.com

More information

Recovering Short Generators of Principal Ideals in Cyclotomic Rings

Recovering Short Generators of Principal Ideals in Cyclotomic Rings Recovering Short Generators of Principal Ideals in Cyclotomic Rings Ronald Cramer Chris Peikert Léo Ducas Oded Regev University of Leiden, The Netherlands CWI, Amsterdam, The Netherlands University of

More information

Estimation of the Success Probability of Random Sampling by the Gram-Charlier Approximation

Estimation of the Success Probability of Random Sampling by the Gram-Charlier Approximation Estimation of the Success Probability of Random Sampling by the Gram-Charlier Approximation Yoshitatsu Matsuda 1, Tadanori Teruya, and Kenji Kashiwabara 1 1 Department of General Systems Studies, Graduate

More information

Revisiting Lattice Attacks on overstretched NTRU parameters

Revisiting Lattice Attacks on overstretched NTRU parameters Revisiting Lattice Attacks on overstretched NTRU parameters P. Kirchner & P-A. Fouque Université de Rennes 1, France EUROCRYPT 2017 05/01/17 1 Plan 1. Background on NTRU and Previous Attacks 2. A New Subring

More information

Solving LWE with BKW

Solving LWE with BKW Martin R. Albrecht 1 Jean-Charles Faugére 2,3 1,4 Ludovic Perret 2,3 ISG, Royal Holloway, University of London INRIA CNRS IIS, Academia Sinica, Taipei, Taiwan PKC 2014, Buenos Aires, Argentina, 28th March

More information

CSE 206A: Lattice Algorithms and Applications Winter The dual lattice. Instructor: Daniele Micciancio

CSE 206A: Lattice Algorithms and Applications Winter The dual lattice. Instructor: Daniele Micciancio CSE 206A: Lattice Algorithms and Applications Winter 2016 The dual lattice Instructor: Daniele Micciancio UCSD CSE 1 Dual Lattice and Dual Basis Definition 1 The dual of a lattice Λ is the set ˆΛ of all

More information

Finding Short Generators of Ideals, and Implications for Cryptography. Chris Peikert University of Michigan

Finding Short Generators of Ideals, and Implications for Cryptography. Chris Peikert University of Michigan Finding Short Generators of Ideals, and Implications for Cryptography Chris Peikert University of Michigan ANTS XII 29 August 2016 Based on work with Ronald Cramer, Léo Ducas, and Oded Regev 1 / 20 Lattice-Based

More information

Solving the Closest Vector Problem in 2 n Time The Discrete Gaussian Strikes Again!

Solving the Closest Vector Problem in 2 n Time The Discrete Gaussian Strikes Again! Solving the Closest Vector Problem in n Time The Discrete Gaussian Strikes Again! Divesh Aggarwal Divesh.Aggarwal@epfl.ch Daniel Dadush dadush@cwi.nl Noah Stephens-Davidowitz noahsd@cs.nyu.edu Abstract

More information

CSC 2414 Lattices in Computer Science September 27, Lecture 4. An Efficient Algorithm for Integer Programming in constant dimensions

CSC 2414 Lattices in Computer Science September 27, Lecture 4. An Efficient Algorithm for Integer Programming in constant dimensions CSC 2414 Lattices in Computer Science September 27, 2011 Lecture 4 Lecturer: Vinod Vaikuntanathan Scribe: Wesley George Topics covered this lecture: SV P CV P Approximating CVP: Babai s Nearest Plane Algorithm

More information

Predicting Lattice Reduction

Predicting Lattice Reduction Predicting Lattice Reduction Nicolas Gama and Phong Q. Nguyen École normale supérieure/cnrs/inria, 45 rue d Ulm, 75005 Paris, France nicolas.gama@ens.fr http://www.di.ens.fr/~pnguyen Abstract. Despite

More information

Lattice Reduction for Modular Knapsack

Lattice Reduction for Modular Knapsack Lattice Reduction for Modular Knapsack Thomas Plantard, Willy Susilo, and Zhenfei Zhang Centre for Computer and Information Security Research School of Computer Science & Software Engineering (SCSSE) University

More information

Dwork 97/07, Regev Lyubashvsky-Micciancio. Micciancio 09. PKE from worst-case. usvp. Relations between worst-case usvp,, BDD, GapSVP

Dwork 97/07, Regev Lyubashvsky-Micciancio. Micciancio 09. PKE from worst-case. usvp. Relations between worst-case usvp,, BDD, GapSVP The unique-svp World 1. Ajtai-Dwork Dwork 97/07, Regev 03 PKE from worst-case usvp 2. Lyubashvsky-Micciancio Micciancio 09 Shai Halevi, IBM, July 2009 Relations between worst-case usvp,, BDD, GapSVP Many

More information

Sieving for Shortest Vectors in Ideal Lattices

Sieving for Shortest Vectors in Ideal Lattices Sieving for Shortest Vectors in Ideal Lattices Michael Schneider Technische Universität Darmstadt, Germany mischnei@cdc.informatik.tu-darmstadt.de Abstract. Lattice based cryptography is gaining more and

More information

On Approximating the Covering Radius and Finding Dense Lattice Subspaces

On Approximating the Covering Radius and Finding Dense Lattice Subspaces On Approximating the Covering Radius and Finding Dense Lattice Subspaces Daniel Dadush Centrum Wiskunde & Informatica (CWI) ICERM April 2018 Outline 1. Integer Programming and the Kannan-Lovász (KL) Conjecture.

More information

Predicting Lattice Reduction

Predicting Lattice Reduction Predicting Lattice Reduction Nicolas Gama and Phong Q. Nguyen École normale supérieure/cnrs/inria, 45 rue d Ulm, 75005 Paris, France nicolas.gama@ens.fr http://www.di.ens.fr/~pnguyen Abstract. Despite

More information

From the Shortest Vector Problem to the Dihedral Hidden Subgroup Problem

From the Shortest Vector Problem to the Dihedral Hidden Subgroup Problem From the Shortest Vector Problem to the Dihedral Hidden Subgroup Problem Curtis Bright December 9, 011 Abstract In Quantum Computation and Lattice Problems [11] Oded Regev presented the first known connection

More information

Statistical Machine Translation. Part III: Search Problem. Complexity issues. DP beam-search: with single and multi-stacks

Statistical Machine Translation. Part III: Search Problem. Complexity issues. DP beam-search: with single and multi-stacks Statistical Machine Translation Marcello Federico FBK-irst Trento, Italy Galileo Galilei PhD School - University of Pisa Pisa, 7-19 May 008 Part III: Search Problem 1 Complexity issues A search: with single

More information

Cryptanalysis of Achterbahn

Cryptanalysis of Achterbahn Cryptanalysis of Achterbahn Thomas Johansson 1, Willi Meier 2, and Frédéric Muller 3 1 Department of Information Technology, Lund University P.O. Box 118, 221 00 Lund, Sweden thomas@it.lth.se 2 FH Aargau,

More information

Open problems in lattice-based cryptography

Open problems in lattice-based cryptography University of Auckland, New Zealand Plan Goal: Highlight some hot topics in cryptography, and good targets for mathematical cryptanalysis. Approximate GCD Homomorphic encryption NTRU and Ring-LWE Multi-linear

More information

New Attacks on the Concatenation and XOR Hash Combiners

New Attacks on the Concatenation and XOR Hash Combiners New Attacks on the Concatenation and XOR Hash Combiners Itai Dinur Department of Computer Science, Ben-Gurion University, Israel Abstract. We study the security of the concatenation combiner H 1(M) H 2(M)

More information

Lattice Basis Reduction and the LLL Algorithm

Lattice Basis Reduction and the LLL Algorithm Lattice Basis Reduction and the LLL Algorithm Curtis Bright May 21, 2009 1 2 Point Lattices A point lattice is a discrete additive subgroup of R n. A basis for a lattice L R n is a set of linearly independent

More information

HKZ and Minkowski Reduction Algorithms for Lattice-Reduction-Aided MIMO Detection

HKZ and Minkowski Reduction Algorithms for Lattice-Reduction-Aided MIMO Detection IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 60, NO. 11, NOVEMBER 2012 5963 HKZ and Minkowski Reduction Algorithms for Lattice-Reduction-Aided MIMO Detection Wen Zhang, Sanzheng Qiao, and Yimin Wei Abstract

More information

Attacks on the AJPS Mersenne-based Cryptosystem

Attacks on the AJPS Mersenne-based Cryptosystem Attacks on the AJPS Mersenne-based Cryptosystem Koen de Boer 1, Léo Ducas 1, Stacey Jeffery 1,, and Ronald de Wolf 1,,3 1 CWI, Amsterdam QuSoft 3 University of Amsterdam Abstract. Aggarwal, Joux, Prakash

More information

Pseudorandomness of Ring-LWE for Any Ring and Modulus. Chris Peikert University of Michigan

Pseudorandomness of Ring-LWE for Any Ring and Modulus. Chris Peikert University of Michigan Pseudorandomness of Ring-LWE for Any Ring and Modulus Chris Peikert University of Michigan Oded Regev Noah Stephens-Davidowitz (to appear, STOC 17) 10 March 2017 1 / 14 Lattice-Based Cryptography y = g

More information

Shortest Vector Problem (1982; Lenstra, Lenstra, Lovasz)

Shortest Vector Problem (1982; Lenstra, Lenstra, Lovasz) Shortest Vector Problem (1982; Lenstra, Lenstra, Lovasz) Daniele Micciancio, University of California at San Diego, www.cs.ucsd.edu/ daniele entry editor: Sanjeev Khanna INDEX TERMS: Point lattices. Algorithmic

More information

Practical, Predictable Lattice Basis Reduction

Practical, Predictable Lattice Basis Reduction Practical, Predictable Lattice Basis Reduction Daniele Micciancio and Michael Walter University of California, San Diego {miwalter,daniele}@eng.ucsd.edu Abstract. Lattice reduction algorithms are notoriously

More information

Introduction to Quantum Safe Cryptography. ENISA September 2018

Introduction to Quantum Safe Cryptography. ENISA September 2018 Introduction to Quantum Safe Cryptography ENISA September 2018 Introduction This talk will introduce the mathematical background of the most popular PQC primitives Code-based Lattice-based Multivariate

More information

Numerical Methods I Non-Square and Sparse Linear Systems

Numerical Methods I Non-Square and Sparse Linear Systems Numerical Methods I Non-Square and Sparse Linear Systems Aleksandar Donev Courant Institute, NYU 1 donev@courant.nyu.edu 1 MATH-GA 2011.003 / CSCI-GA 2945.003, Fall 2014 September 25th, 2014 A. Donev (Courant

More information

An Efficient Optimal Algorithm for Integer-Forcing Linear MIMO Receivers Design

An Efficient Optimal Algorithm for Integer-Forcing Linear MIMO Receivers Design An Efficient Optimal Algorithm for Integer-Forcing Linear MIMO Receivers Design Jinming Wen, Lanping Li, Xiaohu Tang, Wai Ho Mow, and Chintha Tellambura Department of Electrical and Computer Engineering,

More information

Lattice Reduction of Modular, Convolution, and NTRU Lattices

Lattice Reduction of Modular, Convolution, and NTRU Lattices Summer School on Computational Number Theory and Applications to Cryptography Laramie, Wyoming, June 19 July 7, 2006 Lattice Reduction of Modular, Convolution, and NTRU Lattices Project suggested by Joe

More information

BALANCED INTEGER SOLUTIONS OF LINEAR EQUATIONS

BALANCED INTEGER SOLUTIONS OF LINEAR EQUATIONS BALANCED INTEGER SOLUTIONS OF LINEAR EQUATIONS KONSTANTINOS A. DRAZIOTIS Abstract. We use lattice based methods in order to get an integer solution of the linear equation a x + +a nx n = a 0, which satisfies

More information

On the smallest ratio problem of lattice bases

On the smallest ratio problem of lattice bases On the smallest ratio problem of lattice bases Jianwei Li KLMM, Academy of Mathematics and Systems Science, The Chinese Academy of Sciences, Beijing 0090, China lijianwei05@amss.ac.cn Abstract Let (b,...,

More information

Weaknesses in Ring-LWE

Weaknesses in Ring-LWE Weaknesses in Ring-LWE joint with (Yara Elias, Kristin E. Lauter, and Ekin Ozman) and (Hao Chen and Kristin E. Lauter) ECC, September 29th, 2015 Lattice-Based Cryptography Post-quantum cryptography Ajtai-Dwork:

More information

Practical, Predictable Lattice Basis Reduction

Practical, Predictable Lattice Basis Reduction Practical, Predictable Lattice Basis Reduction Daniele Micciancio UCSD daniele@eng.ucsd.edu Michael Walter UCSD miwalter@eng.ucsd.edu Abstract Lattice reduction algorithms are notoriously hard to predict,

More information

Fault Attacks Against Lattice-Based Signatures

Fault Attacks Against Lattice-Based Signatures Fault Attacks Against Lattice-Based Signatures T. Espitau P-A. Fouque B. Gérard M. Tibouchi Lip6, Sorbonne Universités, Paris August 12, 2016 SAC 16 1 Towards postquantum cryptography Quantum computers

More information

Short generators without quantum computers: the case of multiquadratics

Short generators without quantum computers: the case of multiquadratics Short generators without quantum computers: the case of multiquadratics Christine van Vredendaal Technische Universiteit Eindhoven 1 May 2017 Joint work with: Jens Bauch & Daniel J. Bernstein & Henry de

More information

Creating a Challenge for Ideal Lattices

Creating a Challenge for Ideal Lattices Creating a Challenge for Ideal Lattices Thomas Plantard 1 and Michael Schneider 2 1 University of Wollongong, Australia thomaspl@uow.edu.au 2 Technische Universität Darmstadt, Germany mischnei@cdc.informatik.tu-darmstadt.de

More information

Lattice reduction for modular knapsack

Lattice reduction for modular knapsack University of Wollongong Research Online Faculty of Engineering and Information Sciences - Papers: Part A Faculty of Engineering and Information Sciences 2013 Lattice reduction for modular knapsack Thomas

More information

Polynomial Selection Using Lattices

Polynomial Selection Using Lattices Polynomial Selection Using Lattices Mathias Herrmann Alexander May Maike Ritzenhofen Horst Görtz Institute for IT-Security Faculty of Mathematics Ruhr-University Bochum Factoring 2009 September 12 th Intro

More information

Réduction de réseau et cryptologie.

Réduction de réseau et cryptologie. Réduction de réseau et cryptologie Séminaire CCA Nicolas Gama Ensicaen 8 janvier 2010 Nicolas Gama (Ensicaen) Réduction de réseau et cryptologie 8 janvier 2010 1 / 54 Outline 1 Example of lattice problems

More information

Solving the Shortest Lattice Vector Problem in Time n

Solving the Shortest Lattice Vector Problem in Time n Solving the Shortest Lattice Vector Problem in Time.465n Xavier Pujol 1 and Damien Stehlé 1 Université de Lyon, Laboratoire LIP, CNRS-ENSL-INRIA-UCBL, 46 Allée d Italie, 69364 Lyon Cedex 07, France CNRS,

More information

The complexity of factoring univariate polynomials over the rationals

The complexity of factoring univariate polynomials over the rationals The complexity of factoring univariate polynomials over the rationals Mark van Hoeij Florida State University ISSAC 2013 June 26, 2013 Papers [Zassenhaus 1969]. Usually fast, but can be exp-time. [LLL

More information

Integer Factorization using lattices

Integer Factorization using lattices Integer Factorization using lattices Antonio Vera INRIA Nancy/CARAMEL team/anr CADO/ANR LAREDA Workshop Lattice Algorithmics - CIRM - February 2010 Plan Introduction Plan Introduction Outline of the algorithm

More information

Practical Analysis of Key Recovery Attack against Search-LWE Problem

Practical Analysis of Key Recovery Attack against Search-LWE Problem Practical Analysis of Key Recovery Attack against Search-LWE Problem IMI Cryptography Seminar 28 th June, 2016 Speaker* : Momonari Kuo Grauate School of Mathematics, Kyushu University * This work is a

More information

UNIVERSITY OF CONNECTICUT. CSE (15626) & ECE (15284) Secure Computation and Storage: Spring 2016.

UNIVERSITY OF CONNECTICUT. CSE (15626) & ECE (15284) Secure Computation and Storage: Spring 2016. Department of Electrical and Computing Engineering UNIVERSITY OF CONNECTICUT CSE 5095-004 (15626) & ECE 6095-006 (15284) Secure Computation and Storage: Spring 2016 Oral Exam: Theory There are three problem

More information