quantum lll - with an application to mersenne number ... · quantum lll with an application to...

41
Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt 1 Alan Szepieniec 2 1 Karlsruhe Institute of Technology 2 Nervos Foundation Latincrypt 2019 Santiago de Chile, Oct. 2-4 KIT – The Research University in the Helmholtz Association www.kit.edu

Upload: others

Post on 19-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Quantum LLLwith an Application to Mersenne Number Cryptosystems

Marcel Tiepelt1 Alan Szepieniec2

1Karlsruhe Institute of Technology2Nervos Foundation

Latincrypt 2019Santiago de Chile, Oct. 2-4

KIT – The Research University in the Helmholtz Associationwww.kit.edu

Page 2: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Overview

Quantum circuit representation of LLLfor (textbook) rational numbersfor floating-point approximation

Resource estimates of (sub)circuits, in Toffoli-gates

Focus on qubits count

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 2/18

Page 3: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Why quantum translation of LLL?

Consider LLL as a subroutine, e.g., SVP oracle in cryptanalysisAssume 256 bits of classical security, for O(2256) expectednumber of oracle calls

Quantumly: 128 bits of security, Groverization promisesimprovement to O(2128)→ Requires efficient translation of LLL into quantum setting!

But: translation of (text-book) LLL results in large overheadw.r.t. the number of qubits!

Does Grover with a QLLL give us the desired improvement?

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 3/18

Page 4: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Why quantum translation of LLL?

Consider LLL as a subroutine, e.g., SVP oracle in cryptanalysisAssume 256 bits of classical security, for O(2256) expectednumber of oracle calls

Quantumly: 128 bits of security, Groverization promisesimprovement to O(2128)→ Requires efficient translation of LLL into quantum setting!

But: translation of (text-book) LLL results in large overheadw.r.t. the number of qubits!

Does Grover with a QLLL give us the desired improvement?

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 3/18

Page 5: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Why quantum translation of LLL?

Consider LLL as a subroutine, e.g., SVP oracle in cryptanalysisAssume 256 bits of classical security, for O(2256) expectednumber of oracle calls

Quantumly: 128 bits of security, Groverization promisesimprovement to O(2128)→ Requires efficient translation of LLL into quantum setting!

But: translation of (text-book) LLL results in large overheadw.r.t. the number of qubits!

Does Grover with a QLLL give us the desired improvement?

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 3/18

Page 6: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Why quantum translation of LLL?

Consider LLL as a subroutine, e.g., SVP oracle in cryptanalysisAssume 256 bits of classical security, for O(2256) expectednumber of oracle calls

Quantumly: 128 bits of security, Groverization promisesimprovement to O(2128)→ Requires efficient translation of LLL into quantum setting!

But: translation of (text-book) LLL results in large overheadw.r.t. the number of qubits!

Does Grover with a QLLL give us the desired improvement?

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 3/18

Page 7: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

(Classical) LLL

1: Input: Basis B = (b1, b2, ..., br )2: Output: Reduced Basis B3: B∗,M ← GSO(B)4: k ← 25: while k ≤ r do6: Size-reduce(bk , bk−1)7: if Lovasz condition holds on bk , bk−1 then8: Size-reduce(bk , {bj}0≤j≤k−1), update M9: k++

10: else11: swap bk , bk−1, update M12: k := max(2, k − 1)13: end if14: end while

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 4/18

Page 8: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Variants

Rational M: Lenstra, Lenstra, and Lovasz [2]

Floating-point approximation M: Schnorr [4]

“Best” variant: L2 Nguyen and Stehle [3]

(many more)

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 5/18

Page 9: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Quantum LLL Setup

Registers|B〉 Basis representing a superposition of integer lattices

|M(i)〉 transformation M in iteration i s.t.: B = MB∗

|K 〉, |cntl〉 counters, controls

OperationsArithmetic in Q or R, vector operations in Zmisc compare, round, max(x , y), ...

Notationsfunction f (X )uncompute (run circuit backwards) (f (X ))−1

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 6/18

Page 10: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Quantum LLL Setup

Registers|B〉 Basis representing a superposition of integer lattices

|M(i)〉 transformation M in iteration i s.t.: B = MB∗

|K 〉, |cntl〉 counters, controls

OperationsArithmetic in Q or R, vector operations in Zmisc compare, round, max(x , y), ...

Notationsfunction f (X )uncompute (run circuit backwards) (f (X ))−1

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 6/18

Page 11: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Quantum LLL Setup

Registers|B〉 Basis representing a superposition of integer lattices

|M(i)〉 transformation M in iteration i s.t.: B = MB∗

|K 〉, |cntl〉 counters, controls

OperationsArithmetic in Q or R, vector operations in Zmisc compare, round, max(x , y), ...

Notationsfunction f (X )uncompute (run circuit backwards) (f (X ))−1

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 6/18

Page 12: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Quantum LLL

|L〉

|B〉

|M〉

|Lov〉

|K 〉

|ctl1〉

|ctl2〉

|J〉

QG

SO

0≤|K〉≤

r

size-

redu

ce:|b

K〉,|b

K−

1〉

Lova

sz

0≥|J〉≤|K〉−

2

bran

ch:

size-

redu

ce

(0≥|J〉≤|K〉−

2)−

1 +1

0≥|J〉≤|K〉−

2

bran

ch:

swap

(0≥|J〉≤|K〉−

2)−

1 max(2, |K〉 − 1)

|L〉

|B〉

|M〉

|Lov〉

|K 〉

|ctl1〉

|ctl2〉

|J〉

bound(K ) cycles

rank(L) cycles rank(L) cycles

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 7/18

Page 13: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Quantum LLL

|L〉

|B〉

|M〉

|Lov〉

|K 〉

|ctl1〉

|ctl2〉

|J〉

QG

SO

0≤|K〉≤

r

size-

redu

ce:|b

K〉,|b

K−

1〉

Lova

sz

0≥|J〉≤|K〉−

2

bran

ch:

size-

redu

ce

(0≥|J〉≤|K〉−

2)−

1 +1

0≥|J〉≤|K〉−

2

bran

ch:

swap

(0≥|J〉≤|K〉−

2)−

1 max(2, |K〉 − 1)

|L〉

|B〉

|M〉

|Lov〉

|K 〉

|ctl1〉

|ctl2〉

|J〉

bound(K ) cycles

rank(L) cycles rank(L) cycles

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 8/18

Page 14: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall I: unbounded loops

QuantumApply as often as necessary,but not too often

ClassicalApply operation until loopterminates

Loop k := 2; while(k ≤ r);|K 〉

|cntl1〉

|cntl2〉

|ψ〉

|K〉≥

2

|K〉≤

r

Apply Task

(|K〉≤

r)−

1

(|K〉≥

2)−

1

±1 |K 〉

|cntl1〉

|cntl2〉

|ψ〉

bound(K ) cycles

Quantum: worst-case running time for all (unbounded) loops

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 9/18

Page 15: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall I: unbounded loopsQuantum

Apply as often as necessary,but not too often

ClassicalApply operation until loopterminates

Loop k := 2; while(k ≤ r);|K 〉

|cntl1〉

|cntl2〉

|ψ〉

|K〉≥

2

|K〉≤

r

Apply Task

(|K〉≤

r)−

1

(|K〉≥

2)−

1

±1 |K 〉

|cntl1〉

|cntl2〉

|ψ〉

bound(K ) cycles

Quantum: worst-case running time for all (unbounded) loops

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 9/18

Page 16: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall I: unbounded loopsQuantum

Apply as often as necessary,but not too often

ClassicalApply operation until loopterminates

Loop k := 2; while(k ≤ r);|K 〉

|cntl1〉

|cntl2〉

|ψ〉

|K〉≥

2

|K〉≤

r

Apply Task

(|K〉≤

r)−

1

(|K〉≥

2)−

1

±1 |K 〉

|cntl1〉

|cntl2〉

|ψ〉

bound(K ) cycles

Quantum: worst-case running time for all (unbounded) loops

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 9/18

Page 17: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall I: unbounded loopsQuantum

Apply as often as necessary,but not too often

ClassicalApply operation until loopterminates

Loop k := 2; while(k ≤ r);|K 〉

|cntl1〉

|cntl2〉

|ψ〉

|K〉≥

2

|K〉≤

r

Apply Task

(|K〉≤

r)−

1

(|K〉≥

2)−

1

±1 |K 〉

|cntl1〉

|cntl2〉

|ψ〉

bound(K ) cycles

Quantum: worst-case running time for all (unbounded) loops

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 9/18

Page 18: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall Part II: size-reduction cleanup

Size reduction: bireduce by bj−−−−−−−→ bi

Update M s.t. B = MB∗

Classical

dmijc ← round(mij)bi ← bi − dmijcbj

mij ← mij − dmijcfree(dmijc), free(bi ), free(mij)

mij , bi can not be recomputed from mij , bij

⇒ information about larger basis is lost

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 10/18

Page 19: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall Part II: size-reduction cleanup

Size reduction: bireduce by bj−−−−−−−→ bi

Update M s.t. B = MB∗

Classicaldmijc ← round(mij)bi ← bi − dmijcbj

mij ← mij − dmijcfree(dmijc), free(bi ), free(mij)

mij , bi can not be recomputed from mij , bij

⇒ information about larger basis is lost

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 10/18

Page 20: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall Part II: size-reduction cleanup

Size reduction: bireduce by bj−−−−−−−→ bi

Update M s.t. B = MB∗

Classicaldmijc ← round(mij)bi ← bi − dmijcbj

mij ← mij − dmijcfree(dmijc), free(bi ), free(mij)

mij , bi can not be recomputed from mij , bij

⇒ information about larger basis is lost

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 10/18

Page 21: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall Part II: size-reduction cleanupQuantum

mij −

d·c dmijc

mij

|mij〉, |bi〉 can not be recomputed from |mij〉, |bij〉⇒ |bi〉, |mij〉 or |dmijc〉 need to be preserved for reversibility

Quantum: need fresh memory in every size-reduction

(similar issues arises from divisions/ preserving the remainder forfp-numbers)

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 11/18

Page 22: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Pitfall Part II: size-reduction cleanupQuantum

mij −

d·c dmijc

mij

|mij〉, |bi〉 can not be recomputed from |mij〉, |bij〉⇒ |bi〉, |mij〉 or |dmijc〉 need to be preserved for reversibility

Quantum: need fresh memory in every size-reduction

(similar issues arises from divisions/ preserving the remainder forfp-numbers)

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 11/18

Page 23: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

size-reduce

|M(0)〉|M(1)〉|M(2)〉|0〉...|0〉

size-reduce

...

size-reduce

|M(0)〉|M(1)〉...|M(bound(K))〉

size-reduce

Size reduction is conditionally applied toall vectors of |M(i)〉Reversible size-reduction:|M(i)〉|B〉|0〉 ⇒ |M(i)〉|B〉|M(i+1)〉

How many qubits does this require?sizeOf(M) qubits for each reductionbound(K) many iterations

→ bound(K) × sizeOf(M)

Bad if bound(K ) is large

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 12/18

Page 24: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

size-reduce

|M(0)〉|M(1)〉|M(2)〉|0〉...|0〉

size-reduce

...

size-reduce

|M(0)〉|M(1)〉...|M(bound(K))〉

size-reduce

Size reduction is conditionally applied toall vectors of |M(i)〉Reversible size-reduction:|M(i)〉|B〉|0〉 ⇒ |M(i)〉|B〉|M(i+1)〉

How many qubits does this require?sizeOf(M) qubits for each reductionbound(K) many iterations

→ bound(K) × sizeOf(M)

Bad if bound(K ) is large

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 12/18

Page 25: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

size-reduce

|M(0)〉|M(1)〉|M(2)〉|0〉...|0〉

size-reduce

...

size-reduce

|M(0)〉|M(1)〉...|M(bound(K))〉

size-reduce

Size reduction is conditionally applied toall vectors of |M(i)〉Reversible size-reduction:|M(i)〉|B〉|0〉 ⇒ |M(i)〉|B〉|M(i+1)〉

How many qubits does this require?sizeOf(M) qubits for each reductionbound(K) many iterations

→ bound(K) × sizeOf(M)

Bad if bound(K ) is large

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 12/18

Page 26: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

size-reduce

|M(0)〉|M(1)〉|M(2)〉|0〉...|0〉

size-reduce

...

size-reduce

|M(0)〉|M(1)〉...|M(bound(K))〉

size-reduce

Size reduction is conditionally applied toall vectors of |M(i)〉Reversible size-reduction:|M(i)〉|B〉|0〉 ⇒ |M(i)〉|B〉|M(i+1)〉

How many qubits does this require?sizeOf(M) qubits for each reductionbound(K) many iterations

→ bound(K) × sizeOf(M)

Bad if bound(K ) is large

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 12/18

Page 27: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Can we do better?|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

...

|M(0)〉|M(1)〉...|M(j−2)〉|M(j−1)〉|0〉

|M(0)〉|M(1)〉...|M(j−2)〉|M(j−1)〉|M(j)〉

size-reduce

size-reduce

|M(0)〉|M(1)〉...|M(j−2)〉|0〉|M(j)〉

(size-reduce)−1

|M(0)〉|M(1)〉|0〉...|0|M(j)〉〉

...

|M(0)〉|0〉...|0〉|M(j)〉

(size-reduce)−1(size-reduce)−1

→ Requires at most: j×sizeOf(M) qubits

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 13/18

Page 28: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Can we do better?|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

...

|M(0)〉|M(1)〉...|M(j−2)〉|M(j−1)〉|0〉

|M(0)〉|M(1)〉...|M(j−2)〉|M(j−1)〉|M(j)〉

size-reduce

size-reduce

|M(0)〉|M(1)〉...|M(j−2)〉|0〉|M(j)〉

(size-reduce)−1

|M(0)〉|M(1)〉|0〉...|0|M(j)〉〉

...

|M(0)〉|0〉...|0〉|M(j)〉

(size-reduce)−1(size-reduce)−1

→ Requires at most: j×sizeOf(M) qubits

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 13/18

Page 29: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Can we do better?|M(0)〉|0〉...|0〉

|M(0)〉|M(1)〉|0〉...|0〉

...

|M(0)〉|M(1)〉...|M(j−2)〉|M(j−1)〉|0〉

|M(0)〉|M(1)〉...|M(j−2)〉|M(j−1)〉|M(j)〉

size-reduce

size-reduce

|M(0)〉|M(1)〉...|M(j−2)〉|0〉|M(j)〉

(size-reduce)−1

|M(0)〉|M(1)〉|0〉...|0|M(j)〉〉

...

|M(0)〉|0〉...|0〉|M(j)〉

(size-reduce)−1(size-reduce)−1

→ Requires at most: j×sizeOf(M) qubits

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 13/18

Page 30: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉

→ |M(0)〉|M(j)〉→ ...

→ |M(0)〉|M(j)〉...|M(bound(K))〉(Optimal for j =

√bound(K ))

Trade-off:(Maximal) number of qubits:

√bound(K )×sizeOf(M)

For # additional iterations: bound(K )

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 14/18

Page 31: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉→ |M(0)〉|M(j)〉

→ ...

→ |M(0)〉|M(j)〉...|M(bound(K))〉(Optimal for j =

√bound(K ))

Trade-off:(Maximal) number of qubits:

√bound(K )×sizeOf(M)

For # additional iterations: bound(K )

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 14/18

Page 32: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉→ |M(0)〉|M(j)〉→ ...

→ |M(0)〉|M(j)〉...|M(bound(K))〉(Optimal for j =

√bound(K ))

Trade-off:(Maximal) number of qubits:

√bound(K )×sizeOf(M)

For # additional iterations: bound(K )

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 14/18

Page 33: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Impact?

|M(0)〉→ |M(0)〉|M(j)〉→ ...

→ |M(0)〉|M(j)〉...|M(bound(K))〉(Optimal for j =

√bound(K ))

Trade-off:(Maximal) number of qubits:

√bound(K )×sizeOf(M)

For # additional iterations: bound(K )

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 14/18

Page 34: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Resource Estimate

Given basis B := (b1, b2, ..., br ), bi ∈ Zd

(qu)bit-length n in bi

bound(K ) := r2 log B, B := bounds norm of initial basis

#Toffoli #QubitsQLLL O

(2 log B(r3d + r4)

(n2

log n + 2n))

max(d , r) · n

#QubitsM

text-book O(r3d log B(log B) 1

2)

Schnorr O(r2d log B(log B) 1

2)

L2 O(r(log B) 1

2 (1.6d + o(d)))

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 15/18

Page 35: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Resource Estimate

Given basis B := (b1, b2, ..., br ), bi ∈ Zd

(qu)bit-length n in bi

bound(K ) := r2 log B, B := bounds norm of initial basis

#Toffoli #QubitsQLLL O

(2 log B(r3d + r4)

(n2

log n + 2n))

max(d , r) · n

#QubitsM

text-book O(r3d log B(log B) 1

2)

Schnorr O(r2d log B(log B) 1

2)

L2 O(r(log B) 1

2 (1.6d + o(d)))

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 15/18

Page 36: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Resource Estimate

Given basis B := (b1, b2, ..., br ), bi ∈ Zd

(qu)bit-length n in bi

bound(K ) := r2 log B, B := bounds norm of initial basis

#Toffoli #QubitsQLLL O

(2 log B(r3d + r4)

(n2

log n + 2n))

max(d , r) · n

#QubitsM

text-book O(r3d log B(log B) 1

2)

Schnorr O(r2d log B(log B) 1

2)

L2 O(r(log B) 1

2 (1.6d + o(d)))

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 15/18

Page 37: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Application: Groverization of Attackon Mersenne number cryptosystems

ProblemGiven a, b $←− Zp with low Hamming weight , G $←− Zp

Given pk := aG + b = H mod p, Find a, b

(Best) approach due to Beunardeau et al. [1] applies latticereduction after partitioning sparse a, b, such that each partitionrepresents small numbermsb lsb

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 16/18

Page 38: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Application: Groverization of Attackon Mersenne number cryptosystems

ProblemGiven a, b $←− Zp with low Hamming weight , G $←− Zp

Given pk := aG + b = H mod p, Find a, b

(Best) approach due to Beunardeau et al. [1] applies latticereduction after partitioning sparse a, b, such that each partitionrepresents small numbermsb lsb

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 16/18

Page 39: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Resource Estimate of Grover Oracle

Instantiation for 256-bits of security with n = 756839 the QLLLoracle requires:

#Toffoli #Qubitstext-book ≈ 285 ≈ 252

Schnorr ≈ 265 ≈ 244

L2 ≈ 255 ≈ 233

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 17/18

Page 40: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Resource Estimate of Grover Oracle

Instantiation for 256-bits of security with n = 756839 the QLLLoracle requires:

#Toffoli #Qubitstext-book ≈ 285 ≈ 252

Schnorr ≈ 265 ≈ 244

L2 ≈ 255 ≈ 233

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 17/18

Page 41: Quantum LLL - with an Application to Mersenne Number ... · Quantum LLL with an Application to Mersenne Number Cryptosystems Marcel Tiepelt1 Alan Szepieniec2 1Karlsruhe Institute

Conclusions

Quantum vs.Apply size-reduction andswap conditionally

Average is worst-case,domain knowledge givessignificant improvements!

Split LLL reduction toimprove qubit overheadO(r3d log B(log B) 1

2)

ClassicalApply either size-reductionor swap

Bad worst-case, good(empirical) average time

Marcel Tiepelt, Alan Szepieniec – Quantum LLL 18/18