public key cryptosystems from the worst case shortest
play

Public-Key Cryptosystems from the Worst-Case Shortest Vector - PowerPoint PPT Presentation

Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI Georgia Tech Impagliazzos World Workshop 1 / 16 This Talk 1 State of Lattice-Based Cryptography 2 Main Result: Public-Key Encryption based on GapSVP


  1. Public-Key Cryptosystems from the Worst-Case Shortest Vector Problem Chris Peikert SRI → Georgia Tech Impagliazzo’s World Workshop 1 / 16

  2. This Talk 1 State of Lattice-Based Cryptography 2 Main Result: Public-Key Encryption based on GapSVP 3 Proof & Future Work 2 / 16

  3. Shortest Vector Problem(s) A lattice L ⊂ R n having basis B = { b 1 , . . . , b n } is: b 2 n b 1 � L = ( Z · b i ) i = 1 λ 3 / 16

  4. Shortest Vector Problem(s) A lattice L ⊂ R n having basis B = { b 1 , . . . , b n } is: b 2 n b 1 � L = ( Z · b i ) i = 1 λ Shortest Vector Problem ( γ - GapSVP ) ◮ Given B , decide: λ ≤ 1 or λ > γ ? 3 / 16

  5. Shortest Vector Problem(s) A lattice L ⊂ R n having basis B = { b 1 , . . . , b n } is: n � L = ( Z · b i ) λ i = 1 b 1 b 2 Shortest Vector Problem ( γ - GapSVP ) ◮ Given B , decide: λ ≤ 1 or λ > γ ? 3 / 16

  6. Shortest Vector Problem(s) A lattice L ⊂ R n having basis B = { b 1 , . . . , b n } is: b 1 n b 2 � L = ( Z · b i ) i = 1 λ γ · λ Shortest Vector Problem ( γ - GapSVP ) ◮ Given B , decide: λ ≤ 1 or λ > γ ? Unique SVP ( γ - uSVP ) ◮ Given B with ‘ γ -unique’ shortest vector, find it. 3 / 16

  7. Worst-Case Complexity GapSVP √ n γ = 2 ( log n ) 1 − ǫ 2 ∼ n n NP-hard ∗ ∈ coNP ∈ P (some) crypto [Ajt96,. . . , [Ajt98,. . . ,HR07] [GG98,AR05] [LLL82,Sch87] MR04,Reg05] 4 / 16

  8. Worst-Case Complexity GapSVP √ n γ = 2 ( log n ) 1 − ǫ 2 ∼ n n NP-hard ∗ ∈ coNP ∈ P (some) crypto [Ajt96,. . . , [Ajt98,. . . ,HR07] [GG98,AR05] [LLL82,Sch87] MR04,Reg05] ◮ For γ = poly ( n ) , best algorithm is 2 n time & space [AKS01] 4 / 16

  9. Worst-Case Complexity GapSVP √ n γ = 2 ( log n ) 1 − ǫ 2 ∼ n n NP-hard ∗ ∈ coNP ∈ P (some) crypto [Ajt96,. . . , [Ajt98,. . . ,HR07] [GG98,AR05] [LLL82,Sch87] MR04,Reg05] ◮ For γ = poly ( n ) , best algorithm is 2 n time & space [AKS01] uSVP √ n γ = 4 n 1 . 5 ?? ∈ coAM crypto NP-hard [AD97/07,Reg03] [Cai98] 4 / 16

  10. Taxonomy of Lattice-Based Crypto ‘minicrypt’ OWF [Ajt96,. . . ] Sigs [LM08,GPV08] ID schemes [MV03,Lyu08] 5 / 16

  11. Taxonomy of Lattice-Based Crypto ‘minicrypt’ OWF [Ajt96,. . . ] Sigs [LM08,GPV08] ID schemes [MV03,Lyu08] ☞ GapSVP etc. hard 5 / 16

  12. Taxonomy of Lattice-Based Crypto ‘CRYPTOMANIA’ ‘minicrypt’ OWF [Ajt96,. . . ] PKE [AD97,Reg03,Reg05] Sigs CCA [PW08] [LM08,GPV08] ID schemes [MV03,Lyu08] ID-based [GPV08] ☞ GapSVP etc. hard 5 / 16

  13. Taxonomy of Lattice-Based Crypto ‘CRYPTOMANIA’ ‘minicrypt’ OWF [Ajt96,. . . ] PKE [AD97,Reg03,Reg05] Sigs CCA [PW08] [LM08,GPV08] ID schemes [MV03,Lyu08] ID-based [GPV08] (Obl. tran. [PVW08], leakage [AGV09], homom [G09], KDM [ACPS09], HIBE [P09]) ☞ GapSVP etc. hard 5 / 16

  14. Taxonomy of Lattice-Based Crypto ‘CRYPTOMANIA’ ‘minicrypt’ OWF [Ajt96,. . . ] PKE [AD97,Reg03,Reg05] Sigs CCA [PW08] [LM08,GPV08] ID schemes [MV03,Lyu08] ID-based [GPV08] (Obl. tran. [PVW08], leakage [AGV09], homom [G09], KDM [ACPS09], HIBE [P09]) ☞ GapSVP etc. hard ☞ uSVP hard ☞ GapSVP etc. quantum -hard 5 / 16

  15. Learning With Errors ◮ Generalizes ‘learning parity with noise’: dim n , modulus q ≥ 2 6 / 16

  16. Learning With Errors ◮ Generalizes ‘learning parity with noise’: dim n , modulus q ≥ 2 ◮ Search: find s ∈ Z n q given ‘noisy random inner products’ , b 1 ≈ � a 1 , s � mod q a 1 a 2 , b 2 ≈ � a 2 , s � mod q . . . 6 / 16

  17. Learning With Errors ◮ Generalizes ‘learning parity with noise’: dim n , modulus q ≥ 2 ◮ Search: find s ∈ Z n q given ‘noisy random inner products’ , b 1 = � a 1 , s � + x 1 mod q a 1 a 2 , b 2 = � a 2 , s � + x 2 mod q . . . Uniform a i ∈ Z n q , Gaussian errors x i α · q ≥ √ n 6 / 16

  18. Learning With Errors ◮ Generalizes ‘learning parity with noise’: dim n , modulus q ≥ 2 ◮ Search: find s ∈ Z n q given ‘noisy random inner products’ , b 1 = � a 1 , s � + x 1 mod q a 1 a 2 , b 2 = � a 2 , s � + x 2 mod q . . . Uniform a i ∈ Z n q , Gaussian errors x i α · q ≥ √ n ◮ Decision: distinguish from uniform ( a i , b i ) 6 / 16

  19. Learning With Errors ◮ Generalizes ‘learning parity with noise’: dim n , modulus q ≥ 2 ◮ Search: find s ∈ Z n q given ‘noisy random inner products’ , b 1 = � a 1 , s � + x 1 mod q a 1 a 2 , b 2 = � a 2 , s � + x 2 mod q . . . Uniform a i ∈ Z n q , Gaussian errors x i α · q ≥ √ n ◮ Decision: distinguish from uniform ( a i , b i ) State of the Art ( n /α ) -GapSVP etc. ≤ search-LWE ≤ decision-LWE ≤ crypto quantum prime q = poly ( n ) [R05,PW08,GPV08, PVW08,AGV09,ACPS09,. . . ] [Reg05] [BFKL94,R05] 6 / 16

  20. Our Results First public-key encryption based on classical GapSVP hardness 7 / 16

  21. Our Results First public-key encryption based on classical GapSVP hardness 1 Classical reduction: GapSVP ≤ Learning With Errors 7 / 16

  22. Our Results First public-key encryption based on classical GapSVP hardness 1 Classical reduction: GapSVP ≤ Learning With Errors ⋆ Standard ( n /α ) -GapSVP: large LWE modulus q ≥ 2 n 7 / 16

  23. Our Results First public-key encryption based on classical GapSVP hardness 1 Classical reduction: GapSVP ≤ Learning With Errors ⋆ Standard ( n /α ) -GapSVP: large LWE modulus q ≥ 2 n ⋆ ‘Improve ζ to ( n /α ) ’-GapSVP: q ≈ ζ [ = poly ( n ) ] 7 / 16

  24. Our Results First public-key encryption based on classical GapSVP hardness 1 Classical reduction: GapSVP ≤ Learning With Errors ⋆ Standard ( n /α ) -GapSVP: large LWE modulus q ≥ 2 n ⋆ ‘Improve ζ to ( n /α ) ’-GapSVP: q ≈ ζ [ = poly ( n ) ] 2 LWE search = decision for large q [ ≫ poly ( n ) ] ⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ] 7 / 16

  25. Our Results First public-key encryption based on classical GapSVP hardness 1 Classical reduction: GapSVP ≤ Learning With Errors ⋆ Standard ( n /α ) -GapSVP: large LWE modulus q ≥ 2 n ⋆ ‘Improve ζ to ( n /α ) ’-GapSVP: q ≈ ζ [ = poly ( n ) ] 2 LWE search = decision for large q [ ≫ poly ( n ) ] ⇒ GapSVP-hardness of prior LWE-based crypto [Reg05,. . . ] 3 New LWE-based chosen ciphertext-secure encryption ⋆ Much simpler, milder assumption than prior CCA [PW08] 7 / 16

  26. [Regev05] Reduction to LWE BDD on L : d ≪ λ/ 2 BDD L ∗ classical LWE 8 / 16

  27. [Regev05] Reduction to LWE BDD on L : d ≪ λ/ 2 q u a n t u m BDD BDD L ∗ L ∗ classical classical LWE LWE 8 / 16

  28. [Regev05] Reduction to LWE BDD on L : d ≪ λ/ 2 q q u u a a n n t t u u m m BDD BDD L ∗ L ∗ classical classical LWE LWE 8 / 16

  29. [Regev05] Reduction to LWE BDD on L : d ≪ λ/ 2 q q u u a a n n t t u u m m BDD BDD L ∗ L ∗ classical classical GapSVP SIVP LWE LWE 8 / 16

  30. Why Quantum? ◮ “Obvious” answer: iterative step L ∗ quantum FT BDD on L 9 / 16

  31. Why Quantum? ◮ “Obvious” answer: iterative step L ∗ quantum FT BDD on L ◮ Another answer: to make use of BDD/LWE oracle 1 Choose some x ∈ L 2 Perturb to y ≈ x x y y 3 Invoke oracle on y BDD ( LWE ) 9 / 16

  32. Why Quantum? ◮ “Obvious” answer: iterative step L ∗ quantum FT BDD on L ◮ Another answer: to make use of BDD/LWE oracle 1 Choose some x ∈ L 2 Perturb to y ≈ x x y y 3 Invoke oracle on y BDD ( LWE ) 4 Returns x — we already knew that! x 9 / 16

  33. Why Quantum? ◮ “Obvious” answer: iterative step L ∗ quantum FT BDD on L ◮ Another answer: to make use of BDD/LWE oracle 1 Choose some x ∈ L 2 Perturb to y ≈ x x y y 3 Invoke oracle on y BDD ( LWE ) 4 Returns x — we already knew that! ✔ Quantum can x “uncompute” x 9 / 16

  34. Our Approach New way of solving GapSVP in a reduction 10 / 16

  35. Our Approach New way of solving GapSVP in a reduction “The Usual” x y y BDD ( LWE ) x 10 / 16

  36. Our Approach New way of solving GapSVP in a reduction IMAGINE “The Usual” x y x y y y BDD BDD ( LWE ) ( LWE ) x ?? 10 / 16

  37. Our Approach New way of solving GapSVP in a reduction IMAGINE “The Usual” Illegal BDD instance ⇓ x y Incorrect (& unknown!) LWE distribution x y y y BDD BDD ( LWE ) ( LWE ) x ?? 10 / 16

  38. Our Approach New way of solving GapSVP in a reduction IMAGINE “The Usual” Illegal BDD instance ⇓ x y Incorrect (& unknown!) LWE distribution x y SO WHAT! y y When λ ≪ d , oracle cannot guess x BDD BDD ⇓ ( LWE ) ( LWE ) Distinguishes large λ from small x ?? 10 / 16

  39. Our Approach New way of solving GapSVP in a reduction IMAGINE “The Usual” Illegal BDD instance ⇓ x y Incorrect (& unknown!) LWE distribution x y SO WHAT! y y When λ ≪ d , oracle cannot guess x BDD BDD ⇓ ( LWE ) ( LWE ) Distinguishes large λ from small x ?? ◮ View as [GoldGold98] AM proof between reduction and oracle 10 / 16

  40. Technical Obstacles 1 What about in BDD → LWE reduction? (No quantum allowed!) 11 / 16

  41. Technical Obstacles 1 What about in BDD → LWE reduction? (No quantum allowed!) ⋆ Use [GPV08] sampling algorithm with ‘best available’ basis for L ∗ . 11 / 16

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