Lattice-based cryptanalysis
Thijs Laarhoven
mail@thijs.com http://www.thijs.com/
EiPSI seminar
(February 11th, 2019)
Lattice-based cryptanalysis Thijs Laarhoven mail@thijs.com - - PowerPoint PPT Presentation
Lattice-based cryptanalysis Thijs Laarhoven mail@thijs.com http://www.thijs.com/ EiPSI seminar (February 11th, 2019) Lattices What is a lattice? O Lattices What is a lattice? b 2 b 1 O Lattices What is a lattice? b 2 b 1 O Lattices
mail@thijs.com http://www.thijs.com/
(February 11th, 2019)
What is a lattice?
What is a lattice?
What is a lattice?
Shortest Vector Problem (SVP)
Shortest Vector Problem (SVP)
Closest Vector Problem (CVP)
Closest Vector Problem (CVP)
Lattice basis reduction
Hard lattice problems [LvdPdW12]
Lattice-based cryptanalysis
◮ BKZ uses exact SVP algorithm as subroutine ◮ Complexity of BKZ dominated by exact SVP calls
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Overview
*
Overview
*
Overview
Better bases
Better bases
Better bases
Better bases
*
Better bases
*
Better bases
*
Better bases
*
Better bases
*
Better bases
*
Better bases
*
Better bases
*
Better bases
*
Better bases
Pruning the enumeration tree
*
Pruning the enumeration tree
*
Pruning the enumeration tree
*
Pruning the enumeration tree
*
Pruning the enumeration tree
Overview
Overview
Overview
Near neighbor techniques
Near neighbor techniques
Near neighbor techniques
Near neighbor techniques
Near neighbor techniques
Near neighbor techniques
Near neighbor techniques
Near neighbor techniques
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Random hypercones
Randomly rotated cross-polytopes
Randomly rotated cross-polytopes
Randomly rotated cross-polytopes
Randomly rotated cross-polytopes
Randomly rotated cross-polytopes
Theory (January 2019)
Algorithm log2(Time) log2(Space)
Proven SVP
Enumeration [Poh81, Kan83, ..., MW15, AN17] O(nlogn) O(logn) AKS-sieve [AKS01, NV08, MV10, HPS11] 3.398n 1.985n ListSieve [MV10, MDB14] 3.199n 1.327n Birthday sieves [PS09, HPS11] 2.465n 1.233n Enumeration/DGS hybrid [CCL17] 2.048n 0.500n Voronoi cell algorithm [AEVZ02, MV10b] 2.000n 1.000n Quantum sieve [LMP13, LMP15] 1.799n 1.286n Quantum enum/DGS [CCL17] 1.256n 0.500n Discrete Gaussian sampling [ADRS15, ADS15, AS18] 1.000n 1.000n
Sieving
The Nguyen–Vidick sieve [NV08] 0.415n 0.208n GaussSieve [MV10, ..., IKMT14, BNvdP16, YKYC17] 0.415n 0.208n Triple sieve [BLS16, HK17] 0.396n 0.189n Leveled sieving [WLTB11, ZPH13] 0.3778n 0.283n Overlattice sieve [BGJ14] 0.3774n 0.293n Quantum sieve [LMP13] 0.312n 0.208n
Sieving + NNS
Triple sieve with NNS [HK17, HKL18] 0.359n 0.189n Single filters [DL17, ADH+19] 0.349n 0.246n Hyperplane LSH [Cha02, FBB+14, Laa15, ..., LM18] 0.337n 0.337n Graph-based NNS [EPY99, DCL11, MPLK14, Laa18] 0.327n 0.282n Hypercube LSH [TT07, Laa17] 0.322n 0.322n May–Ozerov NNS [MO15, BGJ15] 0.311n 0.311n Spherical LSH [AINR14, LdW15] 0.297n 0.297n Cross-polytope LSH [TT07, AILRS15, BL16, KW17] 0.297n 0.297n Spherical LSF [BDGL16, MLB17, ALRW17, Chr17] 0.292n 0.292n Quantum NNS sieve [LMP15, Laa16] 0.265n 0.265n
Theory (January 2019)
Algorithm log2(Time) log2(Space)
Proven SVP
Enumeration [Poh81, Kan83, ..., MW15, AN17] O(nlogn) O(logn) AKS-sieve [AKS01, NV08, MV10, HPS11] 3.398n 1.985n ListSieve [MV10, MDB14] 3.199n 1.327n Birthday sieves [PS09, HPS11] 2.465n 1.233n Enumeration/DGS hybrid [CCL17] 2.048n 0.500n Voronoi cell algorithm [AEVZ02, MV10b] 2.000n 1.000n Quantum sieve [LMP13, LMP15] 1.799n 1.286n Quantum enum/DGS [CCL17] 1.256n 0.500n Discrete Gaussian sampling [ADRS15, ADS15, AS18] 1.000n 1.000n
Sieving
The Nguyen–Vidick sieve [NV08] 0.415n 0.208n GaussSieve [MV10, ..., IKMT14, BNvdP16, YKYC17] 0.415n 0.208n Triple sieve [BLS16, HK17] 0.396n 0.189n Leveled sieving [WLTB11, ZPH13] 0.3778n 0.283n Overlattice sieve [BGJ14] 0.3774n 0.293n Quantum sieve [LMP13] 0.312n 0.208n
Sieving + NNS
Triple sieve with NNS [HK17, HKL18] 0.359n 0.189n Single filters [DL17, ADH+19] 0.349n 0.246n Hyperplane LSH [Cha02, FBB+14, Laa15, ..., LM18] 0.337n 0.337n Graph-based NNS [EPY99, DCL11, MPLK14, Laa18] 0.327n 0.282n Hypercube LSH [TT07, Laa17] 0.322n 0.322n May–Ozerov NNS [MO15, BGJ15] 0.311n 0.311n Spherical LSH [AINR14, LdW15] 0.297n 0.297n Cross-polytope LSH [TT07, AILRS15, BL16, KW17] 0.297n 0.297n Spherical LSF [BDGL16, MLB17, ALRW17, Chr17] 0.292n 0.292n Quantum NNS sieve [LMP15, Laa16] 0.265n 0.265n
Practice (July 2017) ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
▼▼ ▼ ▼ ▼ ▼ ▼ ▼▼ ▼ ▼ ▼ ▼ ▼▼▼▼ ▼▼
★ ★★★★★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ■ Enumeration (continuous pruning)
▼ Enumeration (discrete pruning)
★ Sieving
80 100 120 140 160 100 104 106 108 1010 → Lattice dimension → Single core timings (seconds) 1 hour 1 day 1 year 1 century
Practice (February 2019) ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
▼▼ ▼ ▼ ▼ ▼ ▼ ▼▼ ▼ ▼ ▼ ▼ ▼▼▼▼ ▼▼
★ ★★★★★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
♢ ♢ ♢ ♢ ♢ ♢♢ ♢ ♢ ♢ ♢♢♢ ♢♢ ♢♢♢♢
■ Enumeration (continuous pruning)
▼ Enumeration (discrete pruning)
★ Sieving (old)
♢ Sieving (new)
80 100 120 140 160 100 104 106 108 1010 → Lattice dimension → Single core timings (seconds) 1 hour 1 day 1 year 1 century
NIST submissions – Round 1 (December 2017)
Title S E O Submitters
CRYSTALS–Dilithium
CRYSTALS–Kyber
Ding Key Exchange
DRS
(R.)EMBLEM
FALCON
FrodoKEM
Giophantus
HILA5
KCL
KINDI
LAC
LIMA
Lizard
LOTUS
NewHope
NTRUEncrypt
NTRU-HRSS-KEM
NTRU Prime
Odd Manhattan
pqNTRUSign
qTESLA
Round2
SABER
Three Bears
Titanium
Totals: 24 4 2 Total: 26 proposals with SVP hardness estimates *Not included in the overview: Compact LWE, Mersenne, Ramstake, ...
NIST submissions – Round 1 (merges)
Title S E O Submitters
CRYSTALS–Dilithium
CRYSTALS–Kyber
Ding Key Exchange
DRS
(R.)EMBLEM
FALCON
FrodoKEM
Giophantus
HILA5
KCL
KINDI
LAC
LIMA
Lizard
LOTUS
NewHope
NTRUEncrypt
NTRU-HRSS-KEM
NTRU Prime
Odd Manhattan
pqNTRUSign
qTESLA
Round2
SABER
Three Bears
Titanium
Totals: 24 4 2 Total: 26 proposals with SVP hardness estimates *Not included in the overview: Compact LWE, Mersenne, Ramstake, ...
NIST submissions – Round 1 (merges)
Title S E O Submitters
CRYSTALS–Dilithium
CRYSTALS–Kyber
Ding Key Exchange
DRS
(R.)EMBLEM
FALCON
FrodoKEM
Giophantus
KCL
KINDI
LAC
LIMA
Lizard
LOTUS
NewHope
NTRU
NTRU Prime
Odd Manhattan
pqNTRUSign
qTESLA
Round5
SABER
Three Bears
Titanium
Totals: 20 4 2 Total: 24 proposals with SVP hardness estimates *Not included in the overview: Compact LWE, Mersenne, Ramstake, ...
NIST submissions – Round 2 (February 2019)
Title S E O Submitters
CRYSTALS–Dilithium
CRYSTALS–Kyber
Ding Key Exchange
DRS
(R.)EMBLEM
FALCON
FrodoKEM
Giophantus
KCL
KINDI
LAC
LIMA
Lizard
LOTUS
NewHope
NTRU
NTRU Prime
Odd Manhattan
pqNTRUSign
qTESLA
Round5
SABER
Three Bears
Titanium
Totals: 11 2 Total: 12 proposals with SVP hardness estimates *Not included in the overview: Compact LWE, Mersenne, Ramstake, ...
NIST submissions