improved low memory subset sum and lpn algorithms via
play

Improved Low-Memory Subset Sum and LPN Algorithms via Multiple - PowerPoint PPT Presentation

Improved Low-Memory Subset Sum and LPN Algorithms via Multiple Collision January 2019 , Nancy Claire Delaplace, Andre Esser and Alexander May About Me Claire Delaplace: Postdoc researcher Ruhr University Bochum, Germany Team: Cryptology


  1. Improved Low-Memory Subset Sum and LPN Algorithms via Multiple Collision January 2019 , Nancy Claire Delaplace, Andre Esser and Alexander May

  2. About Me Claire Delaplace: Postdoc researcher • Ruhr University Bochum, Germany • Team: Cryptology and IT-Security • Scientific supervisor: Alexander May 2

  3. About Me Claire Delaplace: Postdoc researcher • Ruhr University Bochum, Germany • Team: Cryptology and IT-Security • Scientific supervisor: Alexander May Before that... • University of Rennes, IRISA. Team EMSEC • University of Lille, CRIStAL. Team CFHP • PhD supervisors: Pierre-Alain Fouque & Charles Bouillaguet • Thesis: Linear Algebra Algorithm for Cryptography 2

  4. Research Topic Attacking Underlying Cryptographic Problems 3

  5. Research Topic Attacking Underlying Cryptographic Problems • Generalised Birthday Problem ([B D F2018] + 2 in submission) • ECDLP ([ D M19] + 1 in submission) • LWE variants ([B D FK17,B D EFT18]) • Sparse Linear Algebra ([B D 16,B D V17]) • Subset Sum & LPN ([ D EM19]) 3

  6. Research Topic Attacking Underlying Cryptographic Problems • Generalised Birthday Problem ([B D F2018] + 2 in submission) • ECDLP ([ D M19] + 1 in submission) • LWE variants ([B D FK17,B D EFT18]) • Sparse Linear Algebra ([B D 16,B D V17]) • Subset Sum & LPN ([ D EM19]) 3

  7. Motivations Post-Quantum Cryptography • Popular families of schemes: Lattices & Codes based • Subset-sum & LPN related to Lattices & Codes ? • Better algo for subset-sum & LPN = ⇒ Better algo for Lattices & Codes 4

  8. Motivations Post-Quantum Cryptography • Popular families of schemes: Lattices & Codes based • Subset-sum & LPN related to Lattices & Codes ? • Better algo for subset-sum & LPN = ⇒ Better algo for Lattices & Codes Main drawback HUGE amount of memory these attacks require ⇒ Need for time-memory trade-offs 4

  9. Motivations Post-Quantum Cryptography • Popular families of schemes: Lattices & Codes based • Subset-sum & LPN related to Lattices & Codes ? • Better algo for subset-sum & LPN = ⇒ Better algo for Lattices & Codes Main drawback HUGE amount of memory these attacks require ⇒ Need for time-memory trade-offs This work New time-memory trade-offs for subset-sum & LPN Main tool: Parallel Collision Search algorithm [vOW99] 4

  10. Collisions Search Given: F, G : F n 2 → F n 2 with uniformly random outputs Goal: Find x, y ∈ F n 2 s.t. F ( x ) = G ( y ) x F Birthday Paradox F ( x ) = G ( y ) Recovering one collision: n � 2 � Time: O 2 y G 5

  11. Collisions Search Given: F, G : F n 2 → F n 2 with uniformly random outputs Goal: Find x, y ∈ F n 2 s.t. F ( x ) = G ( y ) x F Birthday Paradox F ( x ) = G ( y ) Recovering one collision: n � 2 � Time: O 2 y G Searching for 2 m collisions • 2 m Birthday method: Time O 2 m + n � 2 � � � • Parallel Collision Search [vOW99]: Time ˜ m + n O 2 2 5

  12. PCS: High level Idea F Collision F F Collision F Search for cycle 6

  13. PCS: High level Idea F F Collision F F F F Collision F F F Search for cycle 6

  14. PCS: High level Idea F Collision F F Collision F Search for cycle 6

  15. PCS: High level Idea F Collision Collision F F Collision Collision F Search for cycle Search for cycle 6

  16. PCS: High level Idea Collision F Collision Search for cycle Search for cycle 6

  17. PCS in a Nutshell Given: F, G : F n 2 → F n 2 with uniformly random outputs Goal: Find 2 m ( x, y ) ∈ ( F n 2 ) 2 s.t. F ( x ) = G ( y ) F 2 m ( x, y ) F ( x ) = G ( y ) PCS G � � n + m T = ˜ M = ˜ O (2 m ) O 2 2 7

  18. 1 Application 1: Random Subset-Sum Problem 2 Application 2: LPN 8

  19. 1 Application 1: Random Subset-Sum Problem 2 Application 2: LPN 9

  20. Random Subset-Sum (RSS) Problem Definition • a = ( a 1 . . . a n ) ∈ ( Z 2 n ) n • e = ( e 1 . . . e n ) ∈ { 0 , 1 } n wt ( e ) = n unknown 2 • t = � a , e � mod 2 n GOAL: Given ( a , t ) find e ∈ { 0 , 1 } n such that � a , e � = t 10

  21. Random Subset-Sum (RSS) Problem Definition • a = ( a 1 . . . a n ) ∈ ( Z 2 n ) n • e = ( e 1 . . . e n ) ∈ { 0 , 1 } n wt ( e ) = n unknown 2 • t = � a , e � mod 2 n GOAL: Given ( a , t ) find e ∈ { 0 , 1 } n such that � a , e � = t Our Work Two new algorithms • SS-PCS Better than previous work for M < 2 0 . 02 n • SS-PCS 4 Better than previous work for 2 0 . 13 n < M < 2 0 . 2 n 10

  22. Previous Work n • MitM (Folklore algorithm): T = M = 2 2 11

  23. Previous Work n • MitM (Folklore algorithm): T = M = 2 2 n n 2 , M = 2 • [SS81] Schroeppel-Shamir 4-list Algorithm: T = 2 4 11

  24. Previous Work n • MitM (Folklore algorithm): T = M = 2 2 n n 2 , M = 2 • [SS81] Schroeppel-Shamir 4-list Algorithm: T = 2 4 • [H-GJ10] Representation Technique. T = M ≃ 2 0 . 337 n 11

  25. Previous Work n • MitM (Folklore algorithm): T = M = 2 2 n n 2 , M = 2 • [SS81] Schroeppel-Shamir 4-list Algorithm: T = 2 4 • [H-GJ10] Representation Technique. T = M ≃ 2 0 . 337 n • [BCJ11] ◦ Improvement of [H-GJ10]: T = M ≃ 2 0 . 291 n ◦ Memoryless algorithm: T ≃ 2 0 . 71 n 11

  26. Previous Work n • MitM (Folklore algorithm): T = M = 2 2 n n 2 , M = 2 • [SS81] Schroeppel-Shamir 4-list Algorithm: T = 2 4 • [H-GJ10] Representation Technique. T = M ≃ 2 0 . 337 n • [BCJ11] ◦ Improvement of [H-GJ10]: T = M ≃ 2 0 . 291 n ◦ Memoryless algorithm: T ≃ 2 0 . 71 n • [DDKS12] Best 2 0 . 01 n ≤ M < 2 0 . 17 n 11

  27. MitM Algorithm Goal: Find e s.t. � a , e � = t e = e 1 e 2 + � a , e 1 � t − � a , e 2 � 2 n/ 2 2 n/ 2 Collision ⇒ � a , e 1 + e 2 � = t 12

  28. Schroeppel-Shamir [SS81] Goal: Find e s.t. � a , e � = t e = + + + 13

  29. Schroeppel-Shamir [SS81] Goal: Find e s.t. � a , e � = t e = + + + 2 n/ 4 � a , e 1 � � a , e 2 � � a , e 3 � � a , e 4 � 2 n/ 4 13

  30. Schroeppel-Shamir [SS81] Goal: Find e s.t. � a , e � = t e = + + + 2 n/ 4 � a , e 1 � � a , e 2 � � a , e 3 � � a , e 4 � 2 n/ 4 t 1 ∈ L 1 , . . . t 4 ∈ L 4 s.t. � ⇒ � a , e 1 + · · · + e 4 � = t i t i = t 13

  31. Schroeppel-Shamir 4 -list Algorithm 2 n/ 4 14

  32. Schroeppel-Shamir 4 -list Algorithm 2 n/ 4 n 2 n/ 4 R R ′ = t − R mod 2 R ′ 4 n/ 4 14

  33. Schroeppel-Shamir 4 -list Algorithm 2 n/ 4 Collision ⇒ n 2 n/ 4 R R ′ = t − R mod 2 R ′ 4 � i t i = t n/ 4 14

  34. Schroeppel-Shamir 4 -list Algorithm 2 n/ 4 Collision ⇒ n 2 n/ 4 R R ′ = t − R mod 2 R ′ 4 ∀ R ∈ Z 2 n/ 4 � i t i = t n/ 4 14

  35. Schroeppel-Shamir 4 -list Algorithm 2 n/ 4 Collision ⇒ n 2 n/ 4 R R ′ = t − R mod 2 R ′ 4 ∀ R ∈ Z 2 n/ 4 � i t i = t � 2 n/ 2 � T = O � 2 n/ 4 � M = O n/ 4 14

  36. Representations � e i = e n Representation of e : ( e 1 . . . e k ) wt ( e i ) = 2 k ∀ i Example e 1 = (10001000) e ′ 1 = (10000001) e 2 = (01000001) e ′ 2 = (01001000) ( e 1 , e 2 ) and ( e ′ 1 , e ′ 2 ) : representations of e = (11001001) 15

  37. Representations � e i = e n Representation of e : ( e 1 . . . e k ) wt ( e i ) = 2 k ∀ i Example e 1 = (10001000) e ′ 1 = (10000001) e 2 = (01000001) e ′ 2 = (01001000) ( e 1 , e 2 ) and ( e ′ 1 , e ′ 2 ) : representations of e = (11001001) Important remark e ∈ { 0 , 1 } n , wt ( e ) = n/ 2 ≈ 2 n/ 2 representations ( e 1 , e 2 ) of e � n/ 2 � There are n/ 4 15

  38. Representation Technique: Needles and Haystack Subset-sum Find e ∈ { 0 , 1 } n s.t. � a , e � = t mod 2 n 16

  39. Representation Technique: Needles and Haystack Representation Technique [H-GJ10] Find ( e 1 , e 2 ) ∈ { 0 , 1 } n × { 0 , 1 } n s.t. � a , e 1 + e 2 � = t mod 2 n 16

  40. Representation Technique: Needles and Haystack Representation Technique [H-GJ10] Find ( e 1 , e 2 ) ∈ { 0 , 1 } n × { 0 , 1 } n s.t. � a , e 1 + e 2 � = t mod 2 n With Rep. Without Rep. � n � 2 ≈ 2 1 . 623 n � n # search space: � ≈ 2 n � # search space: n/ 4 n/ 2 � n/ 2 � ≈ 2 n/ 2 # solutions: 1 # solutions: � n/ 4 16

  41. BCJ Memoryless Algorithm [BCJ11] • wt ( x ) = n 4 � n 2 r ≈ • g ( x ) = � a , x � mod 2 r , � n/ 4 • g t ( x ) = t − g ( x ) mod 2 r 17

  42. BCJ Memoryless Algorithm [BCJ11] g ( x ) = g t ( y ) • wt ( x ) = n 4 � n 2 r ≈ � • g ( x ) = � a , x � mod 2 r , � n/ 4 � a , x + y � = t mod 2 r • g t ( x ) = t − g ( x ) mod 2 r 17

  43. BCJ Memoryless Algorithm [BCJ11] g ( x ) = g t ( y ) • wt ( x ) = n 4 � n 2 r ≈ � • g ( x ) = � a , x � mod 2 r , � n/ 4 � a , x + y � = t mod 2 r • g t ( x ) = t − g ( x ) mod 2 r BCJ Memoryless Algorithm • Search a collision between g x g and g t • If x + y ∈ { 0 , 1 } n and � a , x + y � = t mod 2 n re- g ( x ) = g t ( y ) turn x + y • Else restart y g t 17

  44. BCJ Memoryless Algorithm [BCJ11] g ( x ) = g t ( y ) • wt ( x ) = n 4 � n 2 r ≈ � • g ( x ) = � a , x � mod 2 r , � n/ 4 � a , x + y � = t mod 2 r • g t ( x ) = t − g ( x ) mod 2 r BCJ Memoryless Algorithm • Search a collision between g x g and g t • If x + y ∈ { 0 , 1 } n and � a , x + y � = t mod 2 n re- g ( x ) = g t ( y ) turn x + y • Else restart # coll. y g t # rep. ≈ 2 r − n/ 2 17

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