The Generalized Sieve Kernel
|
|
- Edward Houston
- 5 years ago
- Views:
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 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 informationShortest 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 informationAlgorithmic 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 informationSieving 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 informationTuple 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 informationCSE 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 informationSolving 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 informationFinding 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 informationBKZ 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 informationFinding 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 informationShort 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 informationA 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 informationSieving 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 informationDimension-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 informationPractical 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 informationLecture 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 informationSpeeding-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 informationLattice-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 informationOrthogonalized 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 informationSolving 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 informationCSE 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 informationProxy 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 informationCOS 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 informationAnalyzing 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 information1 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 informationMeasuring, 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 informationTuple 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 informationCentrum 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 informationDIMACS 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 informationSolving 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 informationarxiv: 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 informationEnumeration. 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 informationAlgorithms 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 informationShort 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 informationShortest 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 informationGauss 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 informationOn 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 informationProgressive 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 informationComputational 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 informationSieving 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 informationLattice 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 informationLattice 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 informationComputational 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 informationSolving 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 informationSome 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 informationAttacks 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 informationEstimation 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 informationBackground: 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 informationOn 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 informationThe 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 informationRing-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 informationOn 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 information47-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 informationLattices. 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 informationLattices 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 informationand 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 informationRecovering 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 informationEstimation 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 informationRevisiting 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 informationSolving 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 informationCSE 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 informationFinding 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 informationSolving 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 informationCSC 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 informationPredicting 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 informationLattice 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 informationDwork 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 informationSieving 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 informationOn 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 informationPredicting 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 informationFrom 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 informationStatistical 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 informationCryptanalysis 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 informationOpen 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 informationNew 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 informationLattice 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 informationHKZ 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 informationAttacks 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 informationPseudorandomness 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 informationShortest 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 informationPractical, 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 informationIntroduction 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 informationNumerical 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 informationAn 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 informationLattice 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 informationBALANCED 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 informationOn 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 informationWeaknesses 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 informationPractical, 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 informationFault 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 informationShort 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 informationCreating 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 informationLattice 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 informationPolynomial 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 informationRé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 informationSolving 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 informationThe 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 informationInteger 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 informationPractical 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 informationUNIVERSITY 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