solving all lattice problems in deterministic single
play

Solving All Lattice Problems in Deterministic Single Exponential - PowerPoint PPT Presentation

Solving All Lattice Problems in Deterministic Single Exponential Time Daniele Micciancio (Joint work with P. Voulgaris, STOC 2010) UCSD March 22, 2011 CVP in deterministic 2 O ( n ) time Daniele Micciancio Lattices Traditional area of


  1. Solving All Lattice Problems in Deterministic Single Exponential Time Daniele Micciancio (Joint work with P. Voulgaris, STOC 2010) UCSD March 22, 2011 CVP in deterministic 2 O ( n ) time Daniele Micciancio

  2. Lattices Traditional area of mathematics Bridge between number theory and geometry Studied by Lagrange, Gauss, ..., Minkowski, ... Key to many algorithmic applications Cryptanalysis, Coding Theory, Integer Programming Foundation of Lattice based Cryptography Exponentially hard to break, even by quantum adversary Asymptotically fast and easily parallelizable cryptographic functions Secure based on conjectured hardness of worst-case problems Extremely versatile: CPA/CCA encryption, digital signature, . . . group and ring signatures, threshold cryptography, IBE, . . . , HIBE, . . . , FHE, . . . CVP in deterministic 2 O ( n ) time Daniele Micciancio

  3. Outline Introduction Lattices 1 Lattice Problems Algorithmic Techniques New Algorithm 2 Overview Voronoi Cell CVPP Algorithm Final Remarks and Open Problems 3 CVP in deterministic 2 O ( n ) time Daniele Micciancio

  4. Point Lattices A lattice is the set of all integer linear combinations of (linearly independent) basis vectors B = { � b 1 , . . . , � b n } ⊂ R n : n � c 2 � � x ∈ Z n } Λ = b i · Z = { B � x : � c 1 � i =1 � b 2 The same lattice has many bases 0 � b 1 n � Λ = � c i · Z i =1 Definition (Lattice) Discrete additive subgroup of R n CVP in deterministic 2 O ( n ) time Daniele Micciancio

  5. Shortest Vector Problem (SVP) Definition (SVP) � Given a lattice L ( B ), find a b 2 (nonzero) lattice vector B � x (with x ∈ Z k ) of minimal length � B � � x � � b 1 � b 2 Input: A lattice basis B Output: A shortest nonzero � 0 b 1 vector � s ∈ Λ The problem is hard when dimension n is high and basis is skewed Shortest vector can be much shorter than basis vectors CVP in deterministic 2 O ( n ) time Daniele Micciancio

  6. Shortest Independent Vectors Problem (SIVP) Definition (SIVP) � Given a lattice L ( B ), find n b 2 linearly independent lattice vectors � s 1 , . . . , � s n of minimal � length max i � � s i � b 1 � b 2 Input: A lattice basis B � 0 b 1 Output: n shortest linearly independent lattice vectors � s 1 , . . . ,� s n ∈ Λ The problem is hard when dimension n is high and basis is skewed CVP in deterministic 2 O ( n ) time Daniele Micciancio

  7. Closest Vector Point (CVP) Inhomogeneous version of SVP Definition (CVP) � c Given a lattice L ( B ) and a target � t point � t , find a lattice vector B � x which minimizes the distance x − � � B � t � Input: A lattice Λ( B ), 0 and a target vector � t Output: A closest lattice point � c ∈ Λ NP-hard [vEB’81], even for fixed lattice [M’01] CVP in deterministic 2 O ( n ) time Daniele Micciancio

  8. Lattice problems, Cryptography, Algorithms Approximating SVP, SIVP, CVP Best known polynomial time algorithm only find poor (2 ω ( n / log n ) ) approximations Lattice based cryptography is based on the conjectured hardness of finding good ( n O (1) ) approximate solutions Solving SVP, SIVP, CVP exactly NP-hard: no subexponential time solution is expected Best known exact algorithms run in exponential time 2 Ω( n ) Applications of exact SVP, SIVP, CVP Some applications involve low dimensional lattices Efficient approximation algorithms are based on exact solution of small dimensional subproblems How fast we we solve SVP, SIVP, CVP? (E.g., 2 n / 2 < 2 100 · n < n n ) CVP in deterministic 2 O ( n ) time Daniele Micciancio

  9. Complexity of SVP, SIVP, CVP Efficient (dimension preserving) reductions SVP, SIVP ≤ CVP [GMSS’99, M’08] Fastest previous algorithm SVP,SIVP,CVP ,IP: [Kannan’87] runs in n O ( n ) time SVP: [AKS’01] runs in randomized 2 O ( n ) time and space Algorithms work in any ℓ p norm [BN’07] Questions Can CVP, SIVP also be solved in 2 c · n time? Yes! (for ℓ 2 ) What is the smallest constant c ? [NV’09,MP’10,PS’10]: c < 2 . 5 for SVP in ℓ 2 . c ≤ 2 for SVP,SIVP,CVP! Is randomization and exponential space useful/necessary? Randomization is not! What about other norms and Integer Programming (IP)? CVP in deterministic 2 O ( n ) time Daniele Micciancio

  10. Size Reduction � b : (short) lattice vector � c : arbitrary point � c Can make � c shorter by c ′ � subtracting � b from it c closer to � Repeat until � 0 than to � b or − � b � Remarks b c ′ ∈ Λ 0 � c − � Key step in [LLL’82] basis reduction algorithm Technique is used in most other lattice algorithms CVP in deterministic 2 O ( n ) time Daniele Micciancio

  11. Rank reduction: CVP (Λ n ) ≤ 2 n · CVP (Λ n − 1 ) � v 3 Goal: Solve CVP (Λ n ,� t ) � t 3 Partition Λ n into layers of � t 1 the form: Λ n − 1 + c � b n , � v 1 � t c = 2 , 1 , 3 , 0 , . . . � v 2 Find lattice point � v i in each � t 2 layer closest to (the � t 4 � b 2 projection of) � t � v 4 Only need to consider 0 � b 1 Λ 1 nearby layers Dual LLL: 2 n layers Dual SVP: n layers Select the best solution � v 1 Notice: All layers contain same lattice Λ n − 1 CVP in deterministic 2 O ( n ) time Daniele Micciancio

  12. Solving CVP by rank reduction Rank reduction CVP (Λ n ) ≤ k · CVP (Λ n − 1 ) LLL: k = 2 n , T = 2 n 2 SVP: k = n , T = n n Iterate: CVP (Λ n ) ≤ k · CVP (Λ n − 1 ) ≤ · · · ≤ k n CVP (Λ 1 ) = k n Our approach Exploit the fact that recursive calls use the same lower dimensional sublattices Preprocess the lattice to speed up the solution of many CVP instances CVP in deterministic 2 O ( n ) time Daniele Micciancio

  13. CVP with Preprocessing (CVPP) Problem (CVPP) Find a function π and an efficient algorithm CVPP such that CVPP ( π (Λ) ,� t ) = CVP (Λ ,� t ) Only the running time of CVPP counts. The function π is arbitrary. Complexity Still NP-hard [M’01]! [LLS’93,AR’04] approximates within n O (1) in polynomial time Polynomial time solutions require | π (Λ) | ≤ n O (1) Our work: t ) runs in 2 O ( n ) time CVPP ( π (Λ) ,� π (Λ) has size 2 O ( n ) π (Λ) can also be computed in time 2 O ( n ) CVP in deterministic 2 O ( n ) time Daniele Micciancio

  14. Overview of CVP algorithm Building blocks: π (Λ) = V (Λ): Voronoi cell of the lattice Our approach: CVP (Λ n ) ≤ CVPP ( V (Λ n )) + V (Λ n ) CVPP ( V (Λ n )) algorithm with running time 2 O ( n ) Voronoi cell computation V (Λ n ) ≤ 2 O ( n ) CVP (Λ n ) Dimension reduction CVP (Λ n ) ≤ 2 O ( n ) · CVP (Λ n − 1 ) Computing the Voronoi cell of a lattice: 2 O ( n ) CVP (Λ n ) V (Λ n ) ≤ 2 O ( n ) · 2 O ( n ) · CVP (Λ n − 1 ) ≤ 2 O ( n ) · 2 O ( n ) · CVPP ( V (Λ n − 1 )) + V (Λ n − 1 ) ≤ 2 O ( n ) 2 O ( n ) 2 O ( n ) + V (Λ n − 1 ) ≤ 2 O ( n ) + V (Λ n − 1 ) = 2 O ( n ) + 2 O ( n ) + V (Λ n − 2 ) ≤ . . . ≤ 2 O ( n ) ≤ CVP in deterministic 2 O ( n ) time Daniele Micciancio

  15. Voronoi Cell Definition (Voronoit Cell) Set of points in R n closer to 0 than to any other lattice point V (Λ) = { � x : ∀ � v ∈ Λ , � � x � ≤ � � x − � v �} 0 CVP in deterministic 2 O ( n ) time Daniele Micciancio

  16. Representing the Voronoi cell Each � v ∈ Λ defines H � v = { � x : � � x � ≤ � � x − � v �} V is the intersection � v 1 � v 6 � V = H � v , R ⊂ Λ v 2 � � v ∈ Λ R � v 4 0 Not all � v ∈ Λ are needed � v 3 v 5 � Theorem (Voronoi) The numer of relevant points is at most | R | ≤ 2 · (2 n − 1) CVP in deterministic 2 O ( n ) time Daniele Micciancio

  17. Computing V (Λ n ) ≤ 2 n CVP (Λ n ) Why is | R | ≤ 2 · (2 n − 1)? Partition Λ into cosets modulo 2Λ There are 2 n − 1 nonzero � cosets v 1 From each coset, select the − � v 3 v 2 � v closest to � pair � v , − � 0 0 R is the set of all such pairs − � v 2 v 3 � Each pair is found by a CVP computation in lattice 2Λ − � v 1 CVP (2Λ) is equivalent to CVP (Λ) CVP in deterministic 2 O ( n ) time Daniele Micciancio

  18. CVP and Voronoi cell Definition (CVP) Given Λ and � t , find � v ∈ Λ such that � t ∈ � v + V � v � t � v + V ≡ � t ∈ � t − � v ∈ V CVP goal: bring � t inside V by shifting it by � v ∈ Λ 0 Algorithm [SFS’09]: � t ’ While � t / ∈ V : v ∈ R . � Select � t / ∈ H � v size reduce � t using � v [SFS’09] only proves termination Question: What is a good selection strategy for � v ∈ R ? CVP in deterministic 2 O ( n ) time Daniele Micciancio

  19. Our selection strategy Assume � t ∈ 2 V t ′ ∈ � Goal: find � t − Λ ∩ V : Strategy: Compute smallest k ∈ R such that � t ∈ k V Subtract the relevant vector associated to corresponding facet � u 1 Why does it work? 0 t ′ is The new vector � t ′ � shorter than � t � t ′ ∈ 2 V t still � | ( � t − Λ) ∩ 2 V| ≤ 2 n CVP in deterministic 2 O ( n ) time Daniele Micciancio

  20. Doubling the Voronoi Cell Solve CVP for any � t : Find � k ∈ Z such that t ∈ 2 k V � Use CVP 2 V to go from 2 k V � t to 2 k − 1 V � t 1 � t 3 � t 2 CVP in deterministic 2 O ( n ) time Daniele Micciancio

Recommend


More recommend