sieve enumerate slice and lift
play

Sieve, Enumerate, Slice, and Lift: Hybrid Lattice Algorithms for SVP - PowerPoint PPT Presentation

Sieve, Enumerate, Slice, and Lift: Hybrid Lattice Algorithms for SVP via CVPP Emmanouil Doulgerakis, Thijs Laarhoven, and Benne de Weger Technische Universiteit Eindhoven July 2020 AfricaCrypt 2020, Cairo, Egypt Outline Introduction 1


  1. Sieve, Enumerate, Slice, and Lift: Hybrid Lattice Algorithms for SVP via CVPP Emmanouil Doulgerakis, Thijs Laarhoven, and Benne de Weger Technische Universiteit Eindhoven July 2020 AfricaCrypt 2020, Cairo, Egypt

  2. Outline Introduction 1 Enumeration 2 The slicer algorithms 3 Hybrid algorithms 4 AfricaCrypt 2020 1

  3. Outline Introduction 1 Enumeration 2 The slicer algorithms 3 Hybrid algorithms 4 AfricaCrypt 2020 1

  4. What is a lattice? Definition A lattice L is a discrete additive subgroup of R n . AfricaCrypt 2020 2

  5. What is a lattice? Definition A lattice L is a discrete additive subgroup of R n . AfricaCrypt 2020 2

  6. What is a lattice? A lattice is an infinite grid of points in the n -dimensional space. AfricaCrypt 2020 3

  7. What is a lattice? A lattice: The set of all integer linear combinations of some basis B where B = { b 1 , . . . , b n } ⊂ R n . b 2 b 1 O AfricaCrypt 2020 3

  8. What is a lattice? A lattice: The set of all integer linear combinations of some basis B where B = { b 1 , . . . , b n } ⊂ R n . A lattice has many bases. b 2 b 4 b 3 b 1 O AfricaCrypt 2020 3

  9. The Shortest Vector Problem (SVP) Shortest Vector Problem (SVP) Given an arbitrary basis for L , find a shortest non-zero vector s in L i.e. � s � = min v ∈L\{ 0 } � v � . We denote λ 1 ( L ) = min v ∈L\{ 0 } � v � . b 2 b 1 s O AfricaCrypt 2020 4

  10. The Closest Vector Problem (CVP) Closest Vector Problem (CVP) Given an arbitrary basis for L and a target vector t , find the closest lattice vector v in L such that � t − v � = d ( t , L ). b 2 b 1 t AfricaCrypt 2020 5

  11. The Closest Vector Problem (CVP) Closest Vector Problem (CVP) Given an arbitrary basis for L and a target vector t , find the closest lattice vector v in L such that � t − v � = d ( t , L ). b 2 b 1 t v AfricaCrypt 2020 5

  12. The Approximate Closest Vector Problem (CVP κ ) Approximate Closest Vector Problem (CVP κ ) Given an arbitrary basis for L , a target vector t and an approximation factor κ ≥ 1, find a lattice vector v in L such that � t − v � ≤ κ d ( t , L ). b 2 b 1 t AfricaCrypt 2020 6

  13. The Closest Vector Problem with Pre-processing (CVPP) The CVPP variant Given an arbitrary basis for L , compute some pre-processing data such that when later given a target vector t , it will be ”easy” to solve the CVP for t . b 2 t v b 1 AfricaCrypt 2020 7

  14. Outline Introduction 1 Enumeration 2 The slicer algorithms 3 Hybrid algorithms 4 AfricaCrypt 2020 8

  15. Solving SVP Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). AfricaCrypt 2020 9

  16. Solving SVP Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). As s ∈ L then ∃ x 1 , . . . , x n ∈ Z such that s = x 1 b 1 + · · · + x n b n . AfricaCrypt 2020 9

  17. Solving SVP Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). As s ∈ L then ∃ x 1 , . . . , x n ∈ Z such that s = x 1 b 1 + · · · + x n b n . We know that λ 1 ( L ) ≤ � b 1 � . Enumeration explores all the choices of the x i such that � x 1 b 1 + · · · + x n b n � ≤ � b 1 � . AfricaCrypt 2020 9

  18. Enumeration tree (example) root 0 b n − 1 0 1 ( − 1 , − 1)(0 , − 1) ( − 1 , 0) (0 , 0) (1 , 0) (0 , 1) (1 , 1) b n − 1 . ( − 1 , 1 , 0)(0 , 1 , 0) (1 , 1 , 0) . . . . . b 1 AfricaCrypt 2020 10

  19. Enumeration costs in small depth Lemma (Costs of enumeration HS07) Let B be a strongly reduced basis of a lattice. Then the number of nodes E k at depth k = o ( n ) , k = n 1 − o (1) , satisfies: E k = n k / 2+ o ( k ) . Enumerating all these nodes can be done in time T enum and space S enum , with: T enum = E k · n O (1) , S enum = n O (1) . AfricaCrypt 2020 11

  20. Outline Introduction 1 Enumeration 2 The slicer algorithms 3 Hybrid algorithms 4 AfricaCrypt 2020 12

  21. Solving CVP(P) We have t ∈ t + L and t ′ = t − s so t ′ ∈ t + L as well... It suffices to find t ′ . b 2 t ′ b 1 t O s AfricaCrypt 2020 13

  22. The iterative slicer (ideal case) Create a list L ⊆ L . Keep reducing t by the vectors r in the list L until the result cannot be reduced any more. Then we have found t ′ . r 2 r 1 r 3 t ′ t r 6 r 4 O s r 5 AfricaCrypt 2020 14

  23. The iterative slicer (ideal case) Create a list L ⊆ L . Keep reducing t by the vectors r in the list L until the result cannot be reduced any more. Then we have found t ′ . r 2 r 1 r 3 t O − 4 r 1 AfricaCrypt 2020 15

  24. The iterative slicer (ideal case) Create a list L ⊆ L . Keep reducing t by the vectors r in the list L until the result cannot be reduced any more. Then we have found t ′ . r 2 r 1 r 3 t O +3 r 2 AfricaCrypt 2020 15

  25. The iterative slicer (ideal case) Create a list L ⊆ L . Keep reducing t by the vectors r in the list L until the result cannot be reduced any more. Then we have found t ′ . r 2 r 1 r 3 − 2 r 1 t O AfricaCrypt 2020 15

  26. The iterative slicer (ideal case) Create a list L ⊆ L . Keep reducing t by the vectors r in the list L until the result cannot be reduced any more. Then we have found t ′ . r 2 r 1 r 3 + r 3 t ′ t O AfricaCrypt 2020 15

  27. The iterative slicer (in practice) Computing t ′ correctly depends on the list L . Computing “the proper” list L is too costly. We can use approximations instead. r 1 r 2 r 3 r 4 t AfricaCrypt 2020 16

  28. The iterative slicer (in practice) Computing t ′ correctly depends on the list L . Computing “the proper” list L is too costly. We can use approximations instead. Disadvantage: We might get a wrong t ′ . r 1 r 2 r 3 r 4 t AfricaCrypt 2020 16

  29. The randomized slicer Create a list L of lattice vectors (e.g. by running a sieving algorithm). r 1 r 2 r 3 r 4 t AfricaCrypt 2020 17

  30. The randomized slicer Create a list L of lattice vectors (e.g. by running a sieving algorithm). Randomize t sufficiently many times (as t i ) and reduce it. t 3 t 2 r 1 r 2 t 4 r 3 r 4 t 1 t 5 AfricaCrypt 2020 17

  31. The randomized slicer Create a list L of lattice vectors (e.g. by running a sieving algorithm). Randomize t sufficiently many times (as t i ) and reduce it. Keep the shortest t ′ i found as t ′ . t 3 t 2 t 4 t 1 t 5 AfricaCrypt 2020 17

  32. The randomized slicer algorithm AfricaCrypt 2020 18

  33. Costs of preprocessing Lemma (Costs of lattice sieving BDGL16) Given a basis B of a lattice L , the LDSieve heuristically returns a list L ⊂ L containing the (4 / 3) n / 2+ o ( n ) shortest lattice vectors, in time T sieve and space S sieve with: T sieve = (3 / 2) n / 2+ o ( n ) , S sieve = (4 / 3) n / 2+ o ( n ) . With the LDSieve we can therefore solve SVP with the above complexities. AfricaCrypt 2020 19

  34. Costs of the randomized slicer Lemma (single target DLW20) Given a list of the (4 / 3) n / 2+ o ( n ) shortest vectors of a lattice L and a target t ∈ R n , the randomized slicer solves CVP for t in time T slice and space S slice , with: T slice = 2 ζ n + o ( n ) , S slice = (4 / 3) n / 2+ o ( n ) . In our case ζ = 0 . 2639 . . . AfricaCrypt 2020 20

  35. Costs of the randomized slicer Lemma (many targets DLW20) Given a list of the (4 / 3) n / 2+ o ( n ) shortest vectors of a lattice L and a batch of N ≥ (13 / 12) n / 2+ o ( n ) target vectors t 1 , . . . , t N ∈ R n , the batched randomized slicer solves CVP for all targets t i in total time T slice and space S slice , with: T slice = N · (18 / 13) n / 2+ o ( n ) , S slice = (4 / 3) n / 2+ o ( n ) . AfricaCrypt 2020 21

  36. Outline Introduction 1 Enumeration 2 The slicer algorithms 3 Hybrid algorithms 4 AfricaCrypt 2020 22

  37. Solving SVP via CVPP (Part 1) Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). AfricaCrypt 2020 23

  38. Solving SVP via CVPP (Part 1) Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). Choose 0 ≤ k ≤ n and split B as B = B bot ∪ B top where B bot := { b 1 , . . . , b n − k } and B top := { b n − k +1 , . . . , b n } . AfricaCrypt 2020 23

  39. Solving SVP via CVPP (Part 1) Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). Choose 0 ≤ k ≤ n and split B as B = B bot ∪ B top where B bot := { b 1 , . . . , b n − k } and B top := { b n − k +1 , . . . , b n } . This partitions the lattice as L = L bot ⊕ L top where L bot := L ( B bot ) and L top := L ( B top ). AfricaCrypt 2020 23

  40. Solving SVP via CVPP (Part 1) Let L be a lattice with basis B = { b 1 , . . . , b n } ⊂ R n . Question: Find s in L with � s � = λ 1 ( L ). Choose 0 ≤ k ≤ n and split B as B = B bot ∪ B top where B bot := { b 1 , . . . , b n − k } and B top := { b n − k +1 , . . . , b n } . This partitions the lattice as L = L bot ⊕ L top where L bot := L ( B bot ) and L top := L ( B top ). As s ∈ L then ∃ x 1 , . . . , x n ∈ Z such that s = x 1 b 1 + · · · + x n b n . AfricaCrypt 2020 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend