analysis of bkz - loriahistory of bkz practice theory schnorr and euchner (1994): algorithm for...

90
Analysis of BKZ Guillaume Hanrot, Xavier Pujol , Damien Stehl´ e ENSL, LIP, CNRS, INRIA, Universit´ e de Lyon, UCBL May 5, 2011 Analysis of BKZ 1/32

Upload: others

Post on 27-Apr-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Analysis of BKZ

Guillaume Hanrot, Xavier Pujol, Damien Stehle

ENSL, LIP, CNRS, INRIA, Universite de Lyon, UCBL

May 5, 2011

Analysis of BKZ 1/32

Page 2: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

a1

a2b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

(SVP)

Analysis of BKZ 2/32

Page 3: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

b1

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

(SVP)Shortest vector problem (SVP)(SVP)

Analysis of BKZ 2/32

Page 4: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

b1

b2

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

(SVP)Lattice reduction(SVP)

Analysis of BKZ 2/32

Page 5: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

b1

b2

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

(SVP)Determinant(SVP)

Analysis of BKZ 2/32

Page 6: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

b1

b2

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

Hermite factor:

HF(b1, . . . , bn) =‖b1‖

(det L)1/n

Goal of lattice reduction: find a basis with small HF.

If b1 is a shortest vector, then HF(b1, . . . , bn) ≤√γn,

with γn = Hermite constant ≤ n.

Analysis of BKZ 2/32

Page 7: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

b1

b2

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

Hermite factor:

HF(b1, . . . , bn) =‖b1‖

(det L)1/n

Goal of lattice reduction: find a basis with small HF.

If b1 is a shortest vector, then HF(b1, . . . , bn) ≤√γn,

with γn = Hermite constant ≤ n.

Analysis of BKZ 2/32

Page 8: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattices

b1

b2

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

Hermite factor:

HF(b1, . . . , bn) =‖b1‖

(det L)1/n

Goal of lattice reduction: find a basis with small HF.

If b1 is a shortest vector, then HF(b1, . . . , bn) ≤√γn,

with γn = Hermite constant ≤ n.

Analysis of BKZ 2/32

Page 9: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattice reduction

Lattice reduction and shortest vector problem:

The security of lattice-based cryptosystems relies on thehardness of (variants of) SVP.

SVP and lattice reduction are interdependent problems.

Hierarchy of lattice reductions in dimension n:

HKZ BKZβ LLL

Hermitefactor

√γn ≃ (γβ(1 + ǫ))

n−12(β−1) (γ2(1 + ǫ))

n−12

Time 2O(n) 2O(β)×? Poly(n)

HKZ = Hermite-Korkine-Zolotareff

BKZ = Block Korkine-Zolotareff

Analysis of BKZ 3/32

Page 10: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattice reduction

Lattice reduction and shortest vector problem:

The security of lattice-based cryptosystems relies on thehardness of (variants of) SVP.

SVP and lattice reduction are interdependent problems.

Hierarchy of lattice reductions in dimension n:

HKZ BKZβ LLL

Hermitefactor

√γn ≃ (γβ(1 + ǫ))

n−12(β−1) (γ2(1 + ǫ))

n−12

Time 2O(n) 2O(β)×? Poly(n)

HKZ = Hermite-Korkine-Zolotareff

BKZ = Block Korkine-Zolotareff

Analysis of BKZ 3/32

Page 11: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattice reduction

Lattice reduction and shortest vector problem:

The security of lattice-based cryptosystems relies on thehardness of (variants of) SVP.

SVP and lattice reduction are interdependent problems.

Hierarchy of lattice reductions in dimension n:

HKZ BKZβ LLL

Hermitefactor

√γn ≃ (γβ(1 + ǫ))

n−12(β−1) (γ2(1 + ǫ))

n−12

Time 2O(n) 2O(β)×? Poly(n)

HKZ = Hermite-Korkine-Zolotareff

BKZ = Block Korkine-Zolotareff

Analysis of BKZ 3/32

Page 12: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Lattice reduction

Lattice reduction and shortest vector problem:

The security of lattice-based cryptosystems relies on thehardness of (variants of) SVP.

SVP and lattice reduction are interdependent problems.

Hierarchy of lattice reductions in dimension n:

HKZ BKZβ LLL

Hermitefactor

√γn ≃ (γβ(1 + ǫ))

n−12(β−1) (γ2(1 + ǫ))

n−12

Time 2O(n) 2O(β)×? Poly(n)

HKZ = Hermite-Korkine-Zolotareff

BKZ = Block Korkine-Zolotareff

Analysis of BKZ 3/32

Page 13: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

History of BKZ

Practice TheorySchnorr and Euchner (1994):algorithm for BKZ-reduction,without complexity analysis.

Shoup: first publicimplementation of BKZ inNTL.

Gama and Nguyen (2008):BKZ behaves badly when theblock size is ≥ 25.

Schnorr (1987): firsthierarchies of algorithmsbetween LLL and HKZ.

Gama et al. (2006):Block-Rankin-reduction.

Gama and Nguyen (2008):Slide-reduction.

Analysis of BKZ 4/32

Page 14: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

History of BKZ

Practice TheorySchnorr and Euchner (1994):algorithm for BKZ-reduction,without complexity analysis.

Shoup: first publicimplementation of BKZ inNTL.

Gama and Nguyen (2008):BKZ behaves badly when theblock size is ≥ 25.

Schnorr (1987): firsthierarchies of algorithmsbetween LLL and HKZ.

Gama et al. (2006):Block-Rankin-reduction.

Gama and Nguyen (2008):Slide-reduction.

Analysis of BKZ 4/32

Page 15: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

History of BKZ

Practice TheorySchnorr and Euchner (1994):algorithm for BKZ-reduction,without complexity analysis.

Shoup: first publicimplementation of BKZ inNTL.

Gama and Nguyen (2008):BKZ behaves badly when theblock size is ≥ 25.

Schnorr (1987): firsthierarchies of algorithmsbetween LLL and HKZ.

Gama et al. (2006):Block-Rankin-reduction.

Gama and Nguyen (2008):Slide-reduction.

Analysis of BKZ 4/32

Page 16: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

History of BKZ

Practice TheorySchnorr and Euchner (1994):algorithm for BKZ-reduction,without complexity analysis.

Shoup: first publicimplementation of BKZ inNTL.

Gama and Nguyen (2008):BKZ behaves badly when theblock size is ≥ 25.

Schnorr (1987): firsthierarchies of algorithmsbetween LLL and HKZ.

Gama et al. (2006):Block-Rankin-reduction.

Gama and Nguyen (2008):Slide-reduction.

Analysis of BKZ 4/32

Page 17: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

History of BKZ

Practice TheorySchnorr and Euchner (1994):algorithm for BKZ-reduction,without complexity analysis.

Shoup: first publicimplementation of BKZ inNTL.

Gama and Nguyen (2008):BKZ behaves badly when theblock size is ≥ 25.

Schnorr (1987): firsthierarchies of algorithmsbetween LLL and HKZ.

Gama et al. (2006):Block-Rankin-reduction.

Gama and Nguyen (2008):Slide-reduction.

Analysis of BKZ 4/32

Page 18: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

History of BKZ

Practice TheorySchnorr and Euchner (1994):algorithm for BKZ-reduction,without complexity analysis.

Shoup: first publicimplementation of BKZ inNTL.

Gama and Nguyen (2008):BKZ behaves badly when theblock size is ≥ 25.

Schnorr (1987): firsthierarchies of algorithmsbetween LLL and HKZ.

Gama et al. (2006):Block-Rankin-reduction.

Gama and Nguyen (2008):Slide-reduction.

Analysis of BKZ 4/32

Page 19: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Slide-reduction:

Outputs a basis whose theoretical quality is equivalent toBKZ.

Polynomial number of calls to a SVP oracle.

Not as efficient as BKZ in practice.

Analysis of BKZ 5/32

Page 20: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Progress made during the execution of BKZ

1.012

1.013

1.014

1.015

1.016

1.017

1.018

1.019

1.02

1.021

0 20 40 60 80 100

Her

mite

fact

or

Number of tours

Quality of BKZ output

BKZBKZ’

Experience on 64 LLL-reduced knapsack-like matrices(n = 108, β = 24).

Analysis of BKZ 6/32

Page 21: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Progress made during the execution of BKZ

1.012

1.013

1.014

1.015

1.016

1.017

1.018

1.019

1.02

1.021

0 200 400 600 800 1000 1200

Her

mite

fact

or

Number of tours

Quality of BKZ output

BKZBKZ’

Experience on 64 LLL-reduced knapsack-like matrices(n = 108, β = 24).

Analysis of BKZ 6/32

Page 22: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Our result

γβ = Hermite constant ≤ β.L a lattice with basis (b1, . . . , bn).

Theorem

After O(

n3

β2

(log

n

ǫ+ log log max

‖bi‖(det L)1/n

))calls to HKZβ ,

BKZβ returns a basis C of L such that:

HF(C ) ≤ (1 + ǫ)γβ

n−12(β−1)

+ 32

Analysis of BKZ 7/32

Page 23: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

1 Reminders on lattice reduction

2 Analysis of BKZ in the sandpile model

3 Analysis of BKZ

4 Applications to LLL

5 Conclusion

Analysis of BKZ 8/32

Page 24: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

1 Reminders on lattice reduction

2 Analysis of BKZ in the sandpile model

3 Analysis of BKZ

4 Applications to LLL

5 Conclusion

Analysis of BKZ 9/32

Page 25: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Gram-Schmidt orthogonalization

b1, . . . , bn linearly independent.

The Gram-Schmidt orthogona-lization b∗

1, . . . , b∗n is defined by:

For all i > j ,

µi ,j =(bi ,b

j )

‖b∗

j‖2 .

For all i ,b∗i = bi −

∑j<i µi ,jb

∗j .

A basis is size-reduced if all the|µi ,j | are ≤ 1

2 .

b2

b3

b1

Analysis of BKZ 10/32

Page 26: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Gram-Schmidt orthogonalization

b1, . . . , bn linearly independent.

The Gram-Schmidt orthogona-lization b∗

1, . . . , b∗n is defined by:

For all i > j ,

µi ,j =(bi ,b

j )

‖b∗

j‖2 .

For all i ,b∗i = bi −

∑j<i µi ,jb

∗j .

A basis is size-reduced if all the|µi ,j | are ≤ 1

2 .

=

b∗2

b∗3

b2

b3

b1

b∗1

Analysis of BKZ 10/32

Page 27: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Gram-Schmidt orthogonalization

b1, . . . , bn linearly independent.

The Gram-Schmidt orthogona-lization b∗

1, . . . , b∗n is defined by:

For all i > j ,

µi ,j =(bi ,b

j )

‖b∗

j‖2 .

For all i ,b∗i = bi −

∑j<i µi ,jb

∗j .

A basis is size-reduced if all the|µi ,j | are ≤ 1

2 .

=

b∗2

b∗3

b2

b3

b1

b∗1

Analysis of BKZ 10/32

Page 28: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

LLL

B is δ-LLL-reduced if:

It is size-reduced;

δ‖b∗i ‖2 ≤ ‖b∗

i+1‖2 + µ2i+1,i‖b∗

i ‖2 for all i < n.

→ xi ≤ 12 log γ2 + xi+1 − log δ (xi = log ‖b∗

i ‖)

Analysis of BKZ 11/32

Page 29: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

LLL

B is δ-LLL-reduced if:

It is size-reduced;

δ‖b∗i ‖2 ≤ ‖b∗

i+1‖2 + µ2i+1,i‖b∗

i ‖2 for all i < n.

→ xi ≤ 12 log γ2 + xi+1 − log δ (xi = log ‖b∗

i ‖)

x5x4x3

12 log γ2 − log δ

x2x1

Analysis of BKZ 11/32

Page 30: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

b

b

b3b2

b1

b

Analysis of BKZ 12/32

Page 31: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

b3b2

b1

b

b

b

bb

b

b

bb

b

b

b

b

Analysis of BKZ 12/32

Page 32: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

b

b

b3b2

b1

b

Analysis of BKZ 12/32

Page 33: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

b(2)3

b(2)2 = b∗

2b

Analysis of BKZ 12/32

Page 34: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

b(2)3

b(2)2 = b∗

2

bb

b

bb

b

bb

b

b

Analysis of BKZ 12/32

Page 35: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

b(2)3

b(2)2 = b∗

2b

Analysis of BKZ 12/32

Page 36: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

HKZ

B is HKZ-reduced if:

It is size-reduced.

‖b∗i ‖ = shortest vector of L(b

(i)i , . . . , b

(i)n ).

For i < n,HF(b

(i)i , . . . , b

(i)n ) ≤ √γn−i+1

Worst-case HKZ profile:

xi = log ‖b∗i ‖

= O(log2(n − i))x10x9x8x7x6x5x4x3x2x1

Analysis of BKZ 12/32

Page 37: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

BKZ

Algorithm (BKZβ, modified version)

Input: B of dimension n.

Repeat ... times

For i from 1 to n − β + 1 do

Size-reduce B .

HKZ-reduce the projected sublattice (b(i)i , . . . , b

(i)i+β−1).

Report the transformation on B .

Termination?

Analysis of BKZ 13/32

Page 38: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

BKZ

Algorithm (BKZβ, modified version)

Input: B of dimension n.

Repeat ... times

For i from 1 to n − β + 1 do

Size-reduce B .

HKZ-reduce the projected sublattice (b(i)i , . . . , b

(i)i+β−1).

Report the transformation on B .

Termination?

Analysis of BKZ 13/32

Page 39: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

1 Reminders on lattice reduction

2 Analysis of BKZ in the sandpile model

3 Analysis of BKZ

4 Applications to LLL

5 Conclusion

Analysis of BKZ 14/32

Page 40: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Sandpile model

We consider only xi = log ‖b∗i ‖ for i ≤ n.

Each HKZ-reduction gives a worst-case profile.→ The initial xi ’s fully determine the xi ’s after a call to HKZ.

The sandpile execution of BKZ is deterministic.

Analysis of BKZ 15/32

Page 41: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Sandpile model

We consider only xi = log ‖b∗i ‖ for i ≤ n.

Each HKZ-reduction gives a worst-case profile.→ The initial xi ’s fully determine the xi ’s after a call to HKZ.

The sandpile execution of BKZ is deterministic.

Analysis of BKZ 15/32

Page 42: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Sandpile model

We consider only xi = log ‖b∗i ‖ for i ≤ n.

Each HKZ-reduction gives a worst-case profile.→ The initial xi ’s fully determine the xi ’s after a call to HKZ.

The sandpile execution of BKZ is deterministic.

Analysis of BKZ 15/32

Page 43: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x1 x2 x3 x4 x5 x6 x7 x8 x9

Analysis of BKZ 16/32

Page 44: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x5 x6 x7 x8 x9x1 x2 x3 x4

Analysis of BKZ 16/32

Page 45: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x1 x6 x7 x8 x9x2 x3 x4 x5

Analysis of BKZ 16/32

Page 46: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x1 x2 x7 x8 x9x3 x4 x5 x6

Analysis of BKZ 16/32

Page 47: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x1 x2 x3 x8 x9x4 x5 x6 x7

Analysis of BKZ 16/32

Page 48: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x1 x2 x3 x4 x9x5 x6 x7 x8

Analysis of BKZ 16/32

Page 49: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x1 x2 x3 x4 x5 x6 x7 x8 x9

Analysis of BKZ 16/32

Page 50: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

x5 x6 x7 x8 x9x1 x2 x3 x4

Analysis of BKZ 16/32

Page 51: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Matricial interpretation

x1 x2 x3 x4 x5 x6 x7 x8 x9

X = (x1, . . . , xn)T

X0.5 ← A1X

X1 ← A1X + Γ1

X2 ← A2X1 + Γ2

. . .Xk = AkXk + Γk

with k = n − β + 1

A full tour:X ′ ← AX + Γ

Analysis of BKZ 17/32

Page 52: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Matricial interpretation

x5 x6 x7 x8 x9x1 x2 x3 x4

X = (x1, . . . , xn)T

X0.5 ← A1X

X1 ← A1X + Γ1

X2 ← A2X1 + Γ2

. . .Xk = AkXk + Γk

with k = n − β + 1

A full tour:X ′ ← AX + Γ

Analysis of BKZ 17/32

Page 53: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Matricial interpretation

x5 x6 x7 x8 x9x1 x2 x3 x4

X = (x1, . . . , xn)T

X0.5 ← A1X

X1 ← A1X + Γ1

X2 ← A2X1 + Γ2

. . .Xk = AkXk + Γk

with k = n − β + 1

A full tour:X ′ ← AX + Γ

Analysis of BKZ 17/32

Page 54: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Matricial interpretation

x1 x6 x7 x8 x9x2 x3 x4 x5

X = (x1, . . . , xn)T

X0.5 ← A1X

X1 ← A1X + Γ1

X2 ← A2X1 + Γ2

. . .Xk = AkXk + Γk

with k = n − β + 1

A full tour:X ′ ← AX + Γ

Analysis of BKZ 17/32

Page 55: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Matricial interpretation

x1 x2 x3 x4 x5 x6 x7 x8 x9

X = (x1, . . . , xn)T

X0.5 ← A1X

X1 ← A1X + Γ1

X2 ← A2X1 + Γ2

. . .Xk = AkXk + Γk

with k = n − β + 1

A full tour:X ′ ← AX + Γ

Analysis of BKZ 17/32

Page 56: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Matricial interpretation

x1 x2 x3 x4 x5 x6 x7 x8 x9

X = (x1, . . . , xn)T

X0.5 ← A1X

X1 ← A1X + Γ1

X2 ← A2X1 + Γ2

. . .Xk = AkXk + Γk

with k = n − β + 1

A full tour:X ′ ← AX + Γ

Analysis of BKZ 17/32

Page 57: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Expected properties of the model

X ← AX + Γ

Well-reduced output:→ study of fixed points (X∞ = AX∞ + Γ).

Convergence in a polynomial number of steps:→ study of eigenvalues of ATA

(so that ‖AkX‖2 is bounded).

Analysis of BKZ 18/32

Page 58: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Expected properties of the model

X ← AX + Γ

Well-reduced output:→ study of fixed points (X∞ = AX∞ + Γ).

Convergence in a polynomial number of steps:→ study of eigenvalues of ATA

(so that ‖AkX‖2 is bounded).

Analysis of BKZ 18/32

Page 59: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Expected properties of the model

X ← AX + Γ

Well-reduced output:→ study of fixed points (X∞ = AX∞ + Γ).

Convergence in a polynomial number of steps:→ study of eigenvalues of ATA

(so that ‖AkX‖2 is bounded).

Analysis of BKZ 18/32

Page 60: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Fixed point X∞ - Uniqueness

X∞ = AX

∞ + Γ

What matters is the rank of A.

The solutions of AX∞ = X∞ are vectors in Span(1, . . . , 1).

Unique solution if we consider only {X |∑ xi = 0}.

Analysis of BKZ 19/32

Page 61: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Fixed point X∞ - Uniqueness

X∞ = AX

∞ + Γ

What matters is the rank of A.

The solutions of AX∞ = X∞ are vectors in Span(1, . . . , 1).

Unique solution if we consider only {X |∑ xi = 0}.

Analysis of BKZ 19/32

Page 62: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Fixed point X∞ - Uniqueness

X∞ = AX

∞ + Γ

What matters is the rank of A.

The solutions of AX∞ = X∞ are vectors in Span(1, . . . , 1).

Unique solution if we consider only {X |∑ xi = 0}.

Analysis of BKZ 19/32

Page 63: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Fixed point X∞ - Existence

The last β vectors have the shape of an HKZ-reduced basis.

Recursive formula for the previous vectors:

x∞i =

β

2(β − 1)log γβ +

i+β∑

j=i+1

x∞j

β − 1.

Asymptotically, line of slope − log γββ−1 .

i

xi

O((log β)2)

Analysis of BKZ 20/32

Page 64: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Fixed point X∞ - Existence

The last β vectors have the shape of an HKZ-reduced basis.

Recursive formula for the previous vectors:

x∞i =

β

2(β − 1)log γβ +

i+β∑

j=i+1

x∞j

β − 1.

Asymptotically, line of slope − log γββ−1 .

i

xi

O((log β)2)

Analysis of BKZ 20/32

Page 65: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Fixed point X∞ - Existence

The last β vectors have the shape of an HKZ-reduced basis.

Recursive formula for the previous vectors:

x∞i =

β

2(β − 1)log γβ +

i+β∑

j=i+1

x∞j

β − 1.

Asymptotically, line of slope − log γββ−1 .

i

xi

O((log β)2)

≃ (n − β)log γββ−1

Analysis of BKZ 20/32

Page 66: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Eigenvalues of ATA

Method: study of the roots of the characteristic polynomial ofATA.

Let χn(λ) = det(λIn − ATn An).

Recurrence formula:

χn+2(λ) =[2β(β − 1) + 1]λ− 1

β2χn+1 −

(β − 1

β

)2

λ2χn

By a change of variable, it becomes a classical recurrence(Chebyshev polynomials):

ψn+2(µ) = 2µψn+1(µ)− ψn(µ)

(change of variable: τ(µ) = 2β(β − 1)(µ− 1) et ψn(µ) =“

ββ−1

”n−β·

χn (1−τ(µ))τ(µ)

)

Analysis of BKZ 21/32

Page 67: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Eigenvalues of ATA

Method: study of the roots of the characteristic polynomial ofATA.

Let χn(λ) = det(λIn − ATn An).

Recurrence formula:

χn+2(λ) =[2β(β − 1) + 1]λ− 1

β2χn+1 −

(β − 1

β

)2

λ2χn

By a change of variable, it becomes a classical recurrence(Chebyshev polynomials):

ψn+2(µ) = 2µψn+1(µ)− ψn(µ)

(change of variable: τ(µ) = 2β(β − 1)(µ− 1) et ψn(µ) =“

ββ−1

”n−β·

χn (1−τ(µ))τ(µ)

)

Analysis of BKZ 21/32

Page 68: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Eigenvalues of ATA

Method: study of the roots of the characteristic polynomial ofATA.

Let χn(λ) = det(λIn − ATn An).

Recurrence formula:

χn+2(λ) =[2β(β − 1) + 1]λ− 1

β2χn+1 −

(β − 1

β

)2

λ2χn

By a change of variable, it becomes a classical recurrence(Chebyshev polynomials):

ψn+2(µ) = 2µψn+1(µ)− ψn(µ)

(change of variable: τ(µ) = 2β(β − 1)(µ− 1) et ψn(µ) =“

ββ−1

”n−β·

χn (1−τ(µ))τ(µ)

)

Analysis of BKZ 21/32

Page 69: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Explicit expression for ψn:

ψn = Un−β+1 −β − 1

βUn−β

with Un(cos x) = sin(nx)sin x

.

Studying this function leads to the following results:

1 is a simple root of the characteristic polynomial.The second largest eigenvalue of AT A is

≤ 1− 1

2

β2

n2.

Analysis of BKZ 22/32

Page 70: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Explicit expression for ψn:

ψn = Un−β+1 −β − 1

βUn−β

with Un(cos x) = sin(nx)sin x

.

Studying this function leads to the following results:

1 is a simple root of the characteristic polynomial.The second largest eigenvalue of AT A is

≤ 1− 1

2

β2

n2.

Analysis of BKZ 22/32

Page 71: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Results on the sandpile model

The slope − log γββ−1 of the fixed point corresponds to a Hermite

factor ‖b1‖

(det L)1/nclose to γ

n−12(β−1)

β .

Geometric convergence: ‖X − X∞‖ decreases by a constant

factor every n2

β2 tours, i.e. n3

β2 calls to HKZβ.

n3

β2 (lognǫ + log log max ‖bi‖

(det L)1/n) calls to HKZβ are enough to

obtain ‖X − X∞‖ < ǫ.

Analysis of BKZ 23/32

Page 72: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Results on the sandpile model

The slope − log γββ−1 of the fixed point corresponds to a Hermite

factor ‖b1‖

(det L)1/nclose to γ

n−12(β−1)

β .

Geometric convergence: ‖X − X∞‖ decreases by a constant

factor every n2

β2 tours, i.e. n3

β2 calls to HKZβ.

n3

β2 (lognǫ + log log max ‖bi‖

(det L)1/n) calls to HKZβ are enough to

obtain ‖X − X∞‖ < ǫ.

Analysis of BKZ 23/32

Page 73: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Results on the sandpile model

The slope − log γββ−1 of the fixed point corresponds to a Hermite

factor ‖b1‖

(det L)1/nclose to γ

n−12(β−1)

β .

Geometric convergence: ‖X − X∞‖ decreases by a constant

factor every n2

β2 tours, i.e. n3

β2 calls to HKZβ.

n3

β2 (lognǫ + log log max ‖bi‖

(det L)1/n) calls to HKZβ are enough to

obtain ‖X − X∞‖ < ǫ.

Analysis of BKZ 23/32

Page 74: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

1 Reminders on lattice reduction

2 Analysis of BKZ in the sandpile model

3 Analysis of BKZ

4 Applications to LLL

5 Conclusion

Analysis of BKZ 24/32

Page 75: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Comparison between the model and BKZ

When the determinant is fixed, there is no vector inequality on thexi ’s between:

a worst-case HKZ-reduced basis (equalities in Minkowskiinequalities)

an arbitrary HKZ-reduced basis (strict inequalities).

x5x4x3x2x1

→ The previous results cannot be transposed directly.

Analysis of BKZ 25/32

Page 76: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Comparison between the model and BKZ

When the determinant is fixed, there is no vector inequality on thexi ’s between:

a worst-case HKZ-reduced basis (equalities in Minkowskiinequalities)

an arbitrary HKZ-reduced basis (strict inequalities).

x5x4x3x2x1

→ The previous results cannot be transposed directly.

Analysis of BKZ 25/32

Page 77: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Change of basis

Obtaining information on the individual xi ’s is difficult.

The model can give some information on πi = 1i

∑ij=1 xj , the

mean of the first xj ’s.

New dynamical system: Π← AΠ + Γ (A = PAP−1)

In the real world, we still have Π← Π′ ≤ AΠ + Γ(coefficient-wise).

Analysis of BKZ 26/32

Page 78: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Change of basis

Obtaining information on the individual xi ’s is difficult.

The model can give some information on πi = 1i

∑ij=1 xj , the

mean of the first xj ’s.

New dynamical system: Π← AΠ + Γ (A = PAP−1)

In the real world, we still have Π← Π′ ≤ AΠ + Γ(coefficient-wise).

Analysis of BKZ 26/32

Page 79: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Change of basis

Obtaining information on the individual xi ’s is difficult.

The model can give some information on πi = 1i

∑ij=1 xj , the

mean of the first xj ’s.

New dynamical system: Π← AΠ + Γ (A = PAP−1)

In the real world, we still have Π← Π′ ≤ AΠ + Γ(coefficient-wise).

Analysis of BKZ 26/32

Page 80: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Change of basis

Obtaining information on the individual xi ’s is difficult.

The model can give some information on πi = 1i

∑ij=1 xj , the

mean of the first xj ’s.

New dynamical system: Π← AΠ + Γ (A = PAP−1)

π1 π2 π3 π4 π5

In the real world, we still have Π← Π′ ≤ AΠ + Γ(coefficient-wise).

Analysis of BKZ 26/32

Page 81: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Results on BKZβ

Using the inequality Π′ ≤ AΠ + Γ recursively gives:

Π[k] − Π∞ ≤ Ak(Π[0] −Π∞).

The upper bound on the eigenvalues of ATA is used to bound the2-norm of the right term.

Π[k] − Π∞ ≤ (1 + log n)12

(1− β2

2n2

) k2

‖Π[0] − Π∞‖2

Analysis of BKZ 27/32

Page 82: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Results on BKZβ

Using the inequality Π′ ≤ AΠ + Γ recursively gives:

Π[k] − Π∞ ≤ Ak(Π[0] −Π∞).

The upper bound on the eigenvalues of ATA is used to bound the2-norm of the right term.

Π[k] − Π∞ ≤ (1 + log n)12

(1− β2

2n2

) k2

‖Π[0] − Π∞‖2

Analysis of BKZ 27/32

Page 83: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Meaning of the Πi ’s:

π1 = x1 = log ‖b1‖πn =

∑ni=1 xi = log det L

Π[k] − Π∞ ≤ (1 + log n)12

(1− β2

2n2

) k2

‖Π[0] − Π∞‖2

→ ‖b1‖

(det L)1/n≤ (1 + ǫ)γ

n−12(β−1)

+ 32

β in O( n2

β2 · n) calls to HKZβ.

Analysis of BKZ 28/32

Page 84: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Meaning of the Πi ’s:

π1 = x1 = log ‖b1‖πn =

∑ni=1 xi = log det L

Π[k] − Π∞ ≤ (1 + log n)12

(1− β2

2n2

) k2

‖Π[0] − Π∞‖2

→ ‖b1‖

(det L)1/n≤ (1 + ǫ)γ

n−12(β−1)

+ 32

β in O( n2

β2 · n) calls to HKZβ.

Analysis of BKZ 28/32

Page 85: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Differences between LLL and BKZ2

Swaps in LLL / HKZ2 = Gauss-reductions in BKZ2.→ the complexity of both operations is O(size(B)).

Different, non-adaptative order in BKZ2.

Analysis of BKZ 29/32

Page 86: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Differences between LLL and BKZ2

Swaps in LLL / HKZ2 = Gauss-reductions in BKZ2.→ the complexity of both operations is O(size(B)).

Different, non-adaptative order in BKZ2.

Analysis of BKZ 29/32

Page 87: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Differences between LLL and BKZ2

Swaps in LLL / HKZ2 = Gauss-reductions in BKZ2.→ the complexity of both operations is O(size(B)).

Different, non-adaptative order in BKZ2.

Analysis of BKZ 29/32

Page 88: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Quasi-linear LLL

In BKZ2:

Each Gauss-reduction costs O(log max ‖bi‖).Poly(n)× log log maxi

‖b∗

i‖

(det L)1/nGauss-reductions.

A basis such that ‖b1‖

(det L)1/n≤

√43

n−1

(1 + ǫ) is returned.

With more work, it is possible to obtain an LLL-reduced basis.

Analysis of BKZ 30/32

Page 89: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

1 Reminders on lattice reduction

2 Analysis of BKZ in the sandpile model

3 Analysis of BKZ

4 Applications to LLL

5 Conclusion

Analysis of BKZ 31/32

Page 90: Analysis of BKZ - LORIAHistory of BKZ Practice Theory Schnorr and Euchner (1994): algorithm for BKZ-reduction, without complexity analysis. Shoup: first public implementation of BKZ

Conclusion

The optimal quality that can be proven for BKZβ is reachedin a polynomial number of calls to HKZβ.

Binary complexity of BKZ2?

Adaptive strategies.

In practice, the algorithm reaches better approximation factorsthan expected.→ For how long is it interesting to continue the executiononce we go beyond the theorical factor?

Analysis of BKZ 32/32