Kuperbergs Collimation Sieve vs. CSIDH Chris Peikert University of - - PowerPoint PPT Presentation

kuperberg s collimation sieve vs csidh chris peikert
SMART_READER_LITE
LIVE PREVIEW

Kuperbergs Collimation Sieve vs. CSIDH Chris Peikert University of - - PowerPoint PPT Presentation

Kuperbergs Collimation Sieve vs. CSIDH Chris Peikert University of Michigan Quantum Cryptanalysis of Post-Quantum Cryptography Simons Institute 24 February 2020 1 / 16 He Gives C-Sieves on the CSIDH Chris Peikert University of Michigan


slide-1
SLIDE 1

Kuperberg’s Collimation Sieve vs. CSIDH Chris Peikert University of Michigan

Quantum Cryptanalysis of Post-Quantum Cryptography Simons Institute 24 February 2020

1 / 16

slide-2
SLIDE 2

He Gives C-Sieves on the CSIDH Chris Peikert University of Michigan

Quantum Cryptanalysis of Post-Quantum Cryptography Simons Institute 24 February 2020

1 / 16

slide-3
SLIDE 3

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 / 16

slide-4
SLIDE 4

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

2 / 16

slide-5
SLIDE 5

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

2 / 16

slide-6
SLIDE 6

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates

2 / 16

slide-7
SLIDE 7

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates, so falls well short of its claimed NIST level 1 p-q security.

(≥ 2170/MAXDEPTH)

2 / 16

slide-8
SLIDE 8

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates, so falls well short of its claimed NIST level 1 p-q security.

(≥ 2170/MAXDEPTH)

CSIDH-1024 breakable with ≈ 272 T-gates and ≈ 244 bits QRACM

2 / 16

slide-9
SLIDE 9

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates, so falls well short of its claimed NIST level 1 p-q security.

(≥ 2170/MAXDEPTH)

CSIDH-1024 breakable with ≈ 272 T-gates and ≈ 244 bits QRACM, so it also falls short of level 1.

2 / 16

slide-10
SLIDE 10

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates, so falls well short of its claimed NIST level 1 p-q security.

(≥ 2170/MAXDEPTH)

CSIDH-1024 breakable with ≈ 272 T-gates and ≈ 244 bits QRACM, so it also falls short of level 1. CSIDH-1792

2 / 16

slide-11
SLIDE 11

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates, so falls well short of its claimed NIST level 1 p-q security.

(≥ 2170/MAXDEPTH)

CSIDH-1024 breakable with ≈ 272 T-gates and ≈ 244 bits QRACM, so it also falls short of level 1. CSIDH-1792 breakable with ≈ 284 T-gates and ≈ 248 bits QRACM

2 / 16

slide-12
SLIDE 12

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512 breakable with ≈ 260 T-gates, so falls well short of its claimed NIST level 1 p-q security.

(≥ 2170/MAXDEPTH)

CSIDH-1024 breakable with ≈ 272 T-gates and ≈ 244 bits QRACM, so it also falls short of level 1. CSIDH-1792 breakable with ≈ 284 T-gates and ≈ 248 bits QRACM, so it also doesn’t reach level 1

possibly except for high end of MAXDEPTH range.

2 / 16

slide-13
SLIDE 13

CSIDH (‘sea-side’) [CastryckLangeMartindalePannyRenes’18]

◮ Isogeny-based ‘post-quantum commutative group action’ following

[Couveignes’97,RostovtsevStolbunov’06]: abelian group G, set Z, action

⋆: G × Z → Z

3 / 16

slide-14
SLIDE 14

CSIDH (‘sea-side’) [CastryckLangeMartindalePannyRenes’18]

◮ Isogeny-based ‘post-quantum commutative group action’ following

[Couveignes’97,RostovtsevStolbunov’06]: abelian group G, set Z, action

⋆: G × Z → Z

(Other isogeny-based crypto like SIDH [JF’11,. . . ]: nonabelian, no group action.)

3 / 16

slide-15
SLIDE 15

CSIDH (‘sea-side’) [CastryckLangeMartindalePannyRenes’18]

◮ Isogeny-based ‘post-quantum commutative group action’ following

[Couveignes’97,RostovtsevStolbunov’06]: abelian group G, set Z, action

⋆: G × Z → Z

(Other isogeny-based crypto like SIDH [JF’11,. . . ]: nonabelian, no group action.)

DiffieHellman-style noninteractive key exchange with public param z ∈ Z: Alice: secret a ∈ G, public pA = a ⋆ z ∈ Z Bob: secret b ∈ G, public pB = b ⋆ z ∈ Z Shared key: a ⋆ pB = b ⋆ pA = (a + b) ⋆ z, by commutativity

3 / 16

slide-16
SLIDE 16

CSIDH (‘sea-side’) [CastryckLangeMartindalePannyRenes’18]

◮ Isogeny-based ‘post-quantum commutative group action’ following

[Couveignes’97,RostovtsevStolbunov’06]: abelian group G, set Z, action

⋆: G × Z → Z

(Other isogeny-based crypto like SIDH [JF’11,. . . ]: nonabelian, no group action.)

DiffieHellman-style noninteractive key exchange with public param z ∈ Z: Alice: secret a ∈ G, public pA = a ⋆ z ∈ Z Bob: secret b ∈ G, public pB = b ⋆ z ∈ Z Shared key: a ⋆ pB = b ⋆ pA = (a + b) ⋆ z, by commutativity ◮ Efficient! 64-byte keys, 80ms key exchange for claimed NIST level 1 quantum security: as hard as AES-128 key search

3 / 16

slide-17
SLIDE 17

CSIDH (‘sea-side’) [CastryckLangeMartindalePannyRenes’18]

◮ Isogeny-based ‘post-quantum commutative group action’ following

[Couveignes’97,RostovtsevStolbunov’06]: abelian group G, set Z, action

⋆: G × Z → Z

(Other isogeny-based crypto like SIDH [JF’11,. . . ]: nonabelian, no group action.)

DiffieHellman-style noninteractive key exchange with public param z ∈ Z: Alice: secret a ∈ G, public pA = a ⋆ z ∈ Z Bob: secret b ∈ G, public pB = b ⋆ z ∈ Z Shared key: a ⋆ pB = b ⋆ pA = (a + b) ⋆ z, by commutativity ◮ Efficient! 64-byte keys, 80ms key exchange for claimed NIST level 1 quantum security: as hard as AES-128 key search ◮ Signatures [Stolbunov’12,DeFeoGalbraith’19,BeullensKleinjungVercauteren’19]: pk + sig = 1468 bytes at same claimed security level

3 / 16

slide-18
SLIDE 18

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent)

4 / 16

slide-19
SLIDE 19

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

4 / 16

slide-20
SLIDE 20

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

4 / 16

slide-21
SLIDE 21

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

2 Sieve combines labeled states to generate ‘more favorable’ ones.

4 / 16

slide-22
SLIDE 22

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

2 Sieve combines labeled states to generate ‘more favorable’ ones. 3 Measurement of ‘very favorable’ state recovers bit(s) of hidden shift.

4 / 16

slide-23
SLIDE 23

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

2 Sieve combines labeled states to generate ‘more favorable’ ones. 3 Measurement of ‘very favorable’ state recovers bit(s) of hidden shift.

Sieve Algorithms

[Kuperberg’03] 2O(√n) oracle queries and qubits

(n = log|G|)

4 / 16

slide-24
SLIDE 24

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

2 Sieve combines labeled states to generate ‘more favorable’ ones. 3 Measurement of ‘very favorable’ state recovers bit(s) of hidden shift.

Sieve Algorithms

[Kuperberg’03] 2O(√n) oracle queries and qubits

(n = log|G|)

[Regev’04] 2O(√n log n) oracle queries, only poly(n) qubits

4 / 16

slide-25
SLIDE 25

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

2 Sieve combines labeled states to generate ‘more favorable’ ones. 3 Measurement of ‘very favorable’ state recovers bit(s) of hidden shift.

Sieve Algorithms

[Kuperberg’03] 2O(√n) oracle queries and qubits

(n = log|G|)

[Regev’04] 2O(√n log n) oracle queries, only poly(n) qubits [Kuperberg’11] 2O(√n) oracle queries and bits of quantum-accessible RAM.

4 / 16

slide-26
SLIDE 26

Attacking the CSIDH, Quantumly

◮ Secret-key recovery: given z, a ⋆ z ∈ Z, find a ∈ G (or equivalent) Reduces to Hidden-Shift Problem (HShP) on G [ChildsJaoSoukharev’10]

Quantum HShP Algorithm Ingredients [Kuperberg’03,. . . ]

1 Oracle outputs random ‘labeled’ quantum states, by evaluating ⋆ on a

uniform superposition over G.

2 Sieve combines labeled states to generate ‘more favorable’ ones. 3 Measurement of ‘very favorable’ state recovers bit(s) of hidden shift.

Sieve Algorithms

[Kuperberg’03] 2O(√n) oracle queries and qubits

(n = log|G|)

[Regev’04] 2O(√n log n) oracle queries, only poly(n) qubits [Kuperberg’11] 2O(√n) oracle queries and bits of quantum-accessible RAM.

‘Collimation sieve’ subsumes prior two, offers more trade-offs. E.g., log(queries) · log(QRACM) n.

4 / 16

slide-27
SLIDE 27

Prior Security Estimates for CSIDH-512

◮ Oracle costs ≤ 243.3 T-gates (+ much cheaper linear gates) for ‘best case,’ somewhat non-uniform superposition [BLMP’19]

5 / 16

slide-28
SLIDE 28

Prior Security Estimates for CSIDH-512

◮ Oracle costs ≤ 243.3 T-gates (+ much cheaper linear gates) for ‘best case,’ somewhat non-uniform superposition [BLMP’19] Good reason to expect similar cost for uniform superposition [BKV’19]

5 / 16

slide-29
SLIDE 29

Prior Security Estimates for CSIDH-512

◮ Oracle costs ≤ 243.3 T-gates (+ much cheaper linear gates) for ‘best case,’ somewhat non-uniform superposition [BLMP’19] Good reason to expect similar cost for uniform superposition [BKV’19] ◮ Sieve costs: Work Algorithm Oracle queries Sieve memory

CSIDH paper [CLMPR’18] [Regev’04]

262 poly(n)

5 / 16

slide-30
SLIDE 30

Prior Security Estimates for CSIDH-512

◮ Oracle costs ≤ 243.3 T-gates (+ much cheaper linear gates) for ‘best case,’ somewhat non-uniform superposition [BLMP’19] Good reason to expect similar cost for uniform superposition [BKV’19] ◮ Sieve costs: Work Algorithm Oracle queries Sieve memory

CSIDH paper [CLMPR’18] [Regev’04]

262 poly(n)

[BonnetainSchrottenloher’18] [Kuperberg’03]

232.5 231 qubits

5 / 16

slide-31
SLIDE 31

Prior Security Estimates for CSIDH-512

◮ Oracle costs ≤ 243.3 T-gates (+ much cheaper linear gates) for ‘best case,’ somewhat non-uniform superposition [BLMP’19] Good reason to expect similar cost for uniform superposition [BKV’19] ◮ Sieve costs: Work Algorithm Oracle queries Sieve memory

CSIDH paper [CLMPR’18] [Regev’04]

262 poly(n)

[BonnetainSchrottenloher’18] [Kuperberg’03]

232.5 231 qubits None prior!

[Kuperberg’11]

?? ??

5 / 16

slide-32
SLIDE 32

Our Contributions

◮ We generalize and practically improve Kuperberg’s c-sieve, and analyze its concrete complexity on proposed CSIDH parameters:

6 / 16

slide-33
SLIDE 33

Our Contributions

◮ We generalize and practically improve Kuperberg’s c-sieve, and analyze its concrete complexity on proposed CSIDH parameters:

⋆ Handle arbitrary group orders (generalizing from two-power/smooth) ⋆ Recover several secret bits from each sieve run ⋆ Control (classical) memory and time complexities better ⋆ Run simulations up to the exact CSIDH-512 order |G| ≈ 2257.1 6 / 16

slide-34
SLIDE 34

Our Contributions

◮ We generalize and practically improve Kuperberg’s c-sieve, and analyze its concrete complexity on proposed CSIDH parameters:

⋆ Handle arbitrary group orders (generalizing from two-power/smooth) ⋆ Recover several secret bits from each sieve run ⋆ Control (classical) memory and time complexities better ⋆ Run simulations up to the exact CSIDH-512 order |G| ≈ 2257.1

Work Algorithm Oracle queries Sieve memory

[CLMPR’18] [Regev’04]

262 poly(n)

[BS’18] [Kuperberg’03]

232.5 231 qubits 218.7 232 bits QRACM This work

[Kuperberg’11]

215.7 240 bits QRACM 214.1 248 bits QRACM

6 / 16

slide-35
SLIDE 35

Our Contributions

◮ We generalize and practically improve Kuperberg’s c-sieve, and analyze its concrete complexity on proposed CSIDH parameters:

⋆ Handle arbitrary group orders (generalizing from two-power/smooth) ⋆ Recover several secret bits from each sieve run ⋆ Control (classical) memory and time complexities better ⋆ Run simulations up to the exact CSIDH-512 order |G| ≈ 2257.1

Work Algorithm Oracle queries Sieve memory

[CLMPR’18] [Regev’04]

262 poly(n)

[BS’18] [Kuperberg’03]

232.5 231 qubits 218.7 232 bits QRACM This work

[Kuperberg’11]

215.7 240 bits QRACM 214.1 248 bits QRACM

∗Independently, Bonnetain and Schrottenloher gave a complementary, theoretical c-sieve

analysis, arriving at similar conclusions.

6 / 16

slide-36
SLIDE 36

Hidden Shifts and CRS-Style Crypto

Hidden-Shift Problem on Group (G, +)

◮ Given injective f0, f1 : G → Z such that f1(x) = f0(x + s) for some ‘secret’ s ∈ G, find s.

7 / 16

slide-37
SLIDE 37

Hidden Shifts and CRS-Style Crypto

Hidden-Shift Problem on Group (G, +)

◮ Given injective f0, f1 : G → Z such that f1(x) = f0(x + s) for some ‘secret’ s ∈ G, find s.

Attacking CRS via HShP [ChildsJaoSoukharev’10]

◮ Fix a commutative group action ⋆: G × Z → Z.

7 / 16

slide-38
SLIDE 38

Hidden Shifts and CRS-Style Crypto

Hidden-Shift Problem on Group (G, +)

◮ Given injective f0, f1 : G → Z such that f1(x) = f0(x + s) for some ‘secret’ s ∈ G, find s.

Attacking CRS via HShP [ChildsJaoSoukharev’10]

◮ Fix a commutative group action ⋆: G × Z → Z. ◮ For base value z0 ∈ Z and public key z1 = s ⋆ z0, define fb : G → Z g → g ⋆ zb.

7 / 16

slide-39
SLIDE 39

Hidden Shifts and CRS-Style Crypto

Hidden-Shift Problem on Group (G, +)

◮ Given injective f0, f1 : G → Z such that f1(x) = f0(x + s) for some ‘secret’ s ∈ G, find s.

Attacking CRS via HShP [ChildsJaoSoukharev’10]

◮ Fix a commutative group action ⋆: G × Z → Z. ◮ For base value z0 ∈ Z and public key z1 = s ⋆ z0, define fb : G → Z g → g ⋆ zb. Then fb is injective because ⋆ is free and transitive, and f1(x) = x ⋆ z1 = x ⋆ (s ⋆ z0) = (x + s) ⋆ z0 = f0(x + s).

7 / 16

slide-40
SLIDE 40

Hidden Shifts and CRS-Style Crypto

Hidden-Shift Problem on Group (G, +)

◮ Given injective f0, f1 : G → Z such that f1(x) = f0(x + s) for some ‘secret’ s ∈ G, find s.

Attacking CRS via HShP [ChildsJaoSoukharev’10]

◮ Fix a commutative group action ⋆: G × Z → Z. ◮ For base value z0 ∈ Z and public key z1 = s ⋆ z0, define fb : G → Z g → g ⋆ zb. Then fb is injective because ⋆ is free and transitive, and f1(x) = x ⋆ z1 = x ⋆ (s ⋆ z0) = (x + s) ⋆ z0 = f0(x + s). ◮ So, solving HShP for this f0, f1 recovers the secret key s.

7 / 16

slide-41
SLIDE 41

Overview of ‘High Bits’ Collimation Sieve

◮ Solves HShP on a finite cyclic group ZN of known order N.

8 / 16

slide-42
SLIDE 42

Overview of ‘High Bits’ Collimation Sieve

◮ Solves HShP on a finite cyclic group ZN of known order N. ◮ Works with (pure) quantum states called phase vectors, each having a vector of integer (phase) multipliers.

8 / 16

slide-43
SLIDE 43

Overview of ‘High Bits’ Collimation Sieve

◮ Solves HShP on a finite cyclic group ZN of known order N. ◮ Works with (pure) quantum states called phase vectors, each having a vector of integer (phase) multipliers. Given: ‘fresh’ phase vectors with huge (random) multipliers in [N],

  • f any desired feasible length L.

8 / 16

slide-44
SLIDE 44

Overview of ‘High Bits’ Collimation Sieve

◮ Solves HShP on a finite cyclic group ZN of known order N. ◮ Works with (pure) quantum states called phase vectors, each having a vector of integer (phase) multipliers. Given: ‘fresh’ phase vectors with huge (random) multipliers in [N],

  • f any desired feasible length L.

Goal: construct a ‘very nice’ length-L phase vector having small (random) multipliers in [S] = {0, 1, . . . , S − 1}, for S L.

8 / 16

slide-45
SLIDE 45

Overview of ‘High Bits’ Collimation Sieve

◮ Solves HShP on a finite cyclic group ZN of known order N. ◮ Works with (pure) quantum states called phase vectors, each having a vector of integer (phase) multipliers. Given: ‘fresh’ phase vectors with huge (random) multipliers in [N],

  • f any desired feasible length L.

Goal: construct a ‘very nice’ length-L phase vector having small (random) multipliers in [S] = {0, 1, . . . , S − 1}, for S L. From this we can extract secret bit(s) using QFT.

8 / 16

slide-46
SLIDE 46

Overview of ‘High Bits’ Collimation Sieve

◮ Solves HShP on a finite cyclic group ZN of known order N. ◮ Works with (pure) quantum states called phase vectors, each having a vector of integer (phase) multipliers. Given: ‘fresh’ phase vectors with huge (random) multipliers in [N],

  • f any desired feasible length L.

Goal: construct a ‘very nice’ length-L phase vector having small (random) multipliers in [S] = {0, 1, . . . , S − 1}, for S L. From this we can extract secret bit(s) using QFT. How: make progressively ‘nicer’ phase vectors with multipliers in successively smaller intervals, by collimating vectors.

8 / 16

slide-47
SLIDE 47

Collimation Sieve Structure

[S0] [S1] [S2] [N] [N] [S2] [N] [N] [S1] [S2] [N] [N] [S2] [N] [N] ◮ Fix interval sizes L ≈ S0 < S1 < · · · < Sd = N, for Si+1/Si ≈ L. Depth d ≈ logL(N) − 1 = log(N)/ log(L) − 1.

9 / 16

slide-48
SLIDE 48

Collimation Sieve Structure

[S0] [S1] [S2] [N] [N] [S2] [N] [N] [S1] [S2] [N] [N] [S2] [N] [N] ◮ Fix interval sizes L ≈ S0 < S1 < · · · < Sd = N, for Si+1/Si ≈ L. Depth d ≈ logL(N) − 1 = log(N)/ log(L) − 1. ◮ Leaf nodes get ‘fresh’ length-L phase vectors on [N].

9 / 16

slide-49
SLIDE 49

Collimation Sieve Structure

[S0] [S1] [S2] [N] [N] [S2] [N] [N] [S1] [S2] [N] [N] [S2] [N] [N] ◮ Fix interval sizes L ≈ S0 < S1 < · · · < Sd = N, for Si+1/Si ≈ L. Depth d ≈ logL(N) − 1 = log(N)/ log(L) − 1. ◮ Leaf nodes get ‘fresh’ length-L phase vectors on [N]. ◮ Each internal node collimates its children, narrowing range by ≈ L.

9 / 16

slide-50
SLIDE 50

Collimation Sieve Structure

[S0] [S1] [S2] [N] [N] [S2] [N] [N] [S1] [S2] [N] [N] [S2] [N] [N] ◮ Fix interval sizes L ≈ S0 < S1 < · · · < Sd = N, for Si+1/Si ≈ L. Depth d ≈ logL(N) − 1 = log(N)/ log(L) − 1. ◮ Leaf nodes get ‘fresh’ length-L phase vectors on [N]. ◮ Each internal node collimates its children, narrowing range by ≈ L. ◮ Key insight: more QRACM = ⇒ larger L, lower depth, fewer vectors

9 / 16

slide-51
SLIDE 51

Phase Vectors

◮ For s ∈ ZN, a phase vector of length L is a pure quantum state |ψ ∝

  • j∈[L]

χ(b(j) · s/N)|j , χ(x) = exp(2πi · x) where the (known) b(j) ∈ [N] are its phase multipliers.

10 / 16

slide-52
SLIDE 52

Phase Vectors

◮ For s ∈ ZN, a phase vector of length L is a pure quantum state |ψ ∝

  • j∈[L]

χ(b(j) · s/N)|j , χ(x) = exp(2πi · x) where the (known) b(j) ∈ [N] are its phase multipliers. ◮ E.g., we get qubit |ψ ∝ |0 + χ(b′ · s/N)|1 for uniform b′ ∈ [N] by querying the hidden-shift oracle. So L = 2, b(0) = 0, and b(1) = b′.

10 / 16

slide-53
SLIDE 53

Phase Vectors

◮ For s ∈ ZN, a phase vector of length L is a pure quantum state |ψ ∝

  • j∈[L]

χ(b(j) · s/N)|j , χ(x) = exp(2πi · x) where the (known) b(j) ∈ [N] are its phase multipliers. ◮ E.g., we get qubit |ψ ∝ |0 + χ(b′ · s/N)|1 for uniform b′ ∈ [N] by querying the hidden-shift oracle. So L = 2, b(0) = 0, and b(1) = b′. ◮ In general, we store the phase multipliers in a sorted list. So a phase vector requires ˜ O(L) bits but only log L qubits.

10 / 16

slide-54
SLIDE 54

Phase Vectors

◮ For s ∈ ZN, a phase vector of length L is a pure quantum state |ψ ∝

  • j∈[L]

χ(b(j) · s/N)|j , χ(x) = exp(2πi · x) where the (known) b(j) ∈ [N] are its phase multipliers. ◮ E.g., we get qubit |ψ ∝ |0 + χ(b′ · s/N)|1 for uniform b′ ∈ [N] by querying the hidden-shift oracle. So L = 2, b(0) = 0, and b(1) = b′. ◮ In general, we store the phase multipliers in a sorted list. So a phase vector requires ˜ O(L) bits but only log L qubits. ◮ This is the source of the exponential improvement in quantum space versus Kuperberg’s first sieve.

10 / 16

slide-55
SLIDE 55

Combining Phase Vectors

◮ Given phase vectors |ψ1, |ψ2 of lengths L1, L2 with multiplier functions b1, b2, tensoring them yields a state |ψ′ = |ψ1, ψ2 ∝

  • j1∈[L1]
  • j2∈[L2]

χ(b1(j1) · s/N) · χ(b2(j2) · s/N)|j1, j2 =

  • ∈L

χ(b′( ) · s/N)|  where b′( ) = b1(j1) + b2(j2) and L = [L1] × [L2] ∼ = [L1L2].

11 / 16

slide-56
SLIDE 56

Combining Phase Vectors

◮ Given phase vectors |ψ1, |ψ2 of lengths L1, L2 with multiplier functions b1, b2, tensoring them yields a state |ψ′ = |ψ1, ψ2 ∝

  • j1∈[L1]
  • j2∈[L2]

χ(b1(j1) · s/N) · χ(b2(j2) · s/N)|j1, j2 =

  • ∈L

χ(b′( ) · s/N)|  where b′( ) = b1(j1) + b2(j2) and L = [L1] × [L2] ∼ = [L1L2]. ◮ E.g., ℓ ‘fresh’ labeled qubits from the oracle yield a length-2ℓ phase vector whose multipliers are the (mod-N) subset-sums of the labels.

11 / 16

slide-57
SLIDE 57

Combining Phase Vectors

◮ Given phase vectors |ψ1, |ψ2 of lengths L1, L2 with multiplier functions b1, b2, tensoring them yields a state |ψ′ = |ψ1, ψ2 ∝

  • j1∈[L1]
  • j2∈[L2]

χ(b1(j1) · s/N) · χ(b2(j2) · s/N)|j1, j2 =

  • ∈L

χ(b′( ) · s/N)|  where b′( ) = b1(j1) + b2(j2) and L = [L1] × [L2] ∼ = [L1L2]. ◮ E.g., ℓ ‘fresh’ labeled qubits from the oracle yield a length-2ℓ phase vector whose multipliers are the (mod-N) subset-sums of the labels. This yields a ‘fresh’ length-L phase vector on [N], in log L queries.

11 / 16

slide-58
SLIDE 58

Combining Phase Vectors

◮ Given phase vectors |ψ1, |ψ2 of lengths L1, L2 with multiplier functions b1, b2, tensoring them yields a state |ψ′ = |ψ1, ψ2 ∝

  • j1∈[L1]
  • j2∈[L2]

χ(b1(j1) · s/N) · χ(b2(j2) · s/N)|j1, j2 =

  • ∈L

χ(b′( ) · s/N)|  where b′( ) = b1(j1) + b2(j2) and L = [L1] × [L2] ∼ = [L1L2]. ◮ E.g., ℓ ‘fresh’ labeled qubits from the oracle yield a length-2ℓ phase vector whose multipliers are the (mod-N) subset-sums of the labels. This yields a ‘fresh’ length-L phase vector on [N], in log L queries. ◮ A more interesting combination procedure: collimation. . .

11 / 16

slide-59
SLIDE 59

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L

12 / 16

slide-60
SLIDE 60

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L How:

1 Form the phase vector |ψ′ = |ψ1, ψ2 with index set

[L1] × [L2] and multipliers b′( ) = b1(j1) + b2(j2).

12 / 16

slide-61
SLIDE 61

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L How:

1 Form the phase vector |ψ′ = |ψ1, ψ2 with index set

[L1] × [L2] and multipliers b′( ) = b1(j1) + b2(j2).

2 Measure |ψ′ according to q = ⌊b′(

)/S⌋. All ‘surviving’ multipliers are in [S], up to global phase.

12 / 16

slide-62
SLIDE 62

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L How:

1 Form the phase vector |ψ′ = |ψ1, ψ2 with index set

[L1] × [L2] and multipliers b′( ) = b1(j1) + b2(j2).

2 Measure |ψ′ according to q = ⌊b′(

)/S⌋. All ‘surviving’ multipliers are in [S], up to global phase.

3 Compute the subset J ⊆ [L1] × [L2] of

 that satisfy the above, reindex J to [|J|], and output the resulting |ψ.

12 / 16

slide-63
SLIDE 63

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L How:

1 Form the phase vector |ψ′ = |ψ1, ψ2 with index set

[L1] × [L2] and multipliers b′( ) = b1(j1) + b2(j2).

2 Measure |ψ′ according to q = ⌊b′(

)/S⌋. All ‘surviving’ multipliers are in [S], up to global phase.

3 Compute the subset J ⊆ [L1] × [L2] of

 that satisfy the above, reindex J to [|J|], and output the resulting |ψ.

Analysis

◮ Phase vector |ψ′ has length L1L2 ≈ L2, and the multipliers b′( ) are well distributed in [2S′].

12 / 16

slide-64
SLIDE 64

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L How:

1 Form the phase vector |ψ′ = |ψ1, ψ2 with index set

[L1] × [L2] and multipliers b′( ) = b1(j1) + b2(j2).

2 Measure |ψ′ according to q = ⌊b′(

)/S⌋. All ‘surviving’ multipliers are in [S], up to global phase.

3 Compute the subset J ⊆ [L1] × [L2] of

 that satisfy the above, reindex J to [|J|], and output the resulting |ψ.

Analysis

◮ Phase vector |ψ′ has length L1L2 ≈ L2, and the multipliers b′( ) are well distributed in [2S′]. ◮ So, most size-S subintervals have ≈ L2 · S/(2S′) ≈ L multipliers.

(In practice, need some tricks to control the variance.)

12 / 16

slide-65
SLIDE 65

Collimation Procedure

Given: two phase vectors |ψi of length Li ≈ L on [S′] Goal: one phase vector |ψ of length ≈ L on [S], for S ≈ S′/L How:

1 Form the phase vector |ψ′ = |ψ1, ψ2 with index set

[L1] × [L2] and multipliers b′( ) = b1(j1) + b2(j2).

2 Measure |ψ′ according to q = ⌊b′(

)/S⌋. All ‘surviving’ multipliers are in [S], up to global phase.

3 Compute the subset J ⊆ [L1] × [L2] of

 that satisfy the above, reindex J to [|J|], and output the resulting |ψ.

Analysis

◮ Phase vector |ψ′ has length L1L2 ≈ L2, and the multipliers b′( ) are well distributed in [2S′]. ◮ So, most size-S subintervals have ≈ L2 · S/(2S′) ≈ L multipliers.

(In practice, need some tricks to control the variance.)

◮ Step 3 requires O(1) QRACM[L] lookups and ˜ O(L) classical work.

12 / 16

slide-66
SLIDE 66

Post-Processing: Regularization and Measurement

◮ Collimation sieve yields a phase vector |ψ on [S] of length L ≈ S.

13 / 16

slide-67
SLIDE 67

Post-Processing: Regularization and Measurement

◮ Collimation sieve yields a phase vector |ψ on [S] of length L ≈ S. ◮ Suppose L = S and b: [S] → [S] is a bijection.

13 / 16

slide-68
SLIDE 68

Post-Processing: Regularization and Measurement

◮ Collimation sieve yields a phase vector |ψ on [S] of length L ≈ S. ◮ Suppose L = S and b: [S] → [S] is a bijection. Can reindex |ψ as |ψ ∝

  • j∈[S]

χ(j · s/N)|j.

13 / 16

slide-69
SLIDE 69

Post-Processing: Regularization and Measurement

◮ Collimation sieve yields a phase vector |ψ on [S] of length L ≈ S. ◮ Suppose L = S and b: [S] → [S] is a bijection. Can reindex |ψ as |ψ ∝

  • j∈[S]

χ(j · s/N)|j. Its QFTS is essentially the point function at s · S/N. Measuring yields the log S most-significant bits of s, with large probability.

13 / 16

slide-70
SLIDE 70

Post-Processing: Regularization and Measurement

◮ Collimation sieve yields a phase vector |ψ on [S] of length L ≈ S. ◮ Suppose L = S and b: [S] → [S] is a bijection. Can reindex |ψ as |ψ ∝

  • j∈[S]

χ(j · s/N)|j. Its QFTS is essentially the point function at s · S/N. Measuring yields the log S most-significant bits of s, with large probability. ◮ If b: [L] → [S] is not a bijection, measure to make it densely injective

  • nto some X ⊆ [S]. Can then reindex as

| ˜ ψ ∝

  • j∈X

χ(j · s/N)|j.

13 / 16

slide-71
SLIDE 71

Post-Processing: Regularization and Measurement

◮ Collimation sieve yields a phase vector |ψ on [S] of length L ≈ S. ◮ Suppose L = S and b: [S] → [S] is a bijection. Can reindex |ψ as |ψ ∝

  • j∈[S]

χ(j · s/N)|j. Its QFTS is essentially the point function at s · S/N. Measuring yields the log S most-significant bits of s, with large probability. ◮ If b: [L] → [S] is not a bijection, measure to make it densely injective

  • nto some X ⊆ [S]. Can then reindex as

| ˜ ψ ∝

  • j∈X

χ(j · s/N)|j. This is a densely subsampled Fourier transform of a point function. Measuring its QFT yields almost log S bits of s.

13 / 16

slide-72
SLIDE 72

Practical Issues

Issue 1: Lengths of collimated phase vectors are quite variable. Too short and too long are both problems.

14 / 16

slide-73
SLIDE 73

Practical Issues

Issue 1: Lengths of collimated phase vectors are quite variable. Too short and too long are both problems. Solution: Request lengths adaptively, and discard too-short vectors.

14 / 16

slide-74
SLIDE 74

Practical Issues

Issue 1: Lengths of collimated phase vectors are quite variable. Too short and too long are both problems. Solution: Request lengths adaptively, and discard too-short vectors.

(Discarding 2% saves ≥ 210 factor in longest vector.)

14 / 16

slide-75
SLIDE 75

Practical Issues

Issue 1: Lengths of collimated phase vectors are quite variable. Too short and too long are both problems. Solution: Request lengths adaptively, and discard too-short vectors.

(Discarding 2% saves ≥ 210 factor in longest vector.)

Issue 2: Measuring sieve output on [S] yields ≈ log S MSBs of secret.

14 / 16

slide-76
SLIDE 76

Practical Issues

Issue 1: Lengths of collimated phase vectors are quite variable. Too short and too long are both problems. Solution: Request lengths adaptively, and discard too-short vectors.

(Discarding 2% saves ≥ 210 factor in longest vector.)

Issue 2: Measuring sieve output on [S] yields ≈ log S MSBs of secret. Solution: Sieve to ‘scaled intervals’ Si · [S] for i = 0, . . . , logS(N) − 1, tensor results and measure to get entire secret.

14 / 16

slide-77
SLIDE 77

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle?

15 / 16

slide-78
SLIDE 78

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution.

15 / 16

slide-79
SLIDE 79

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution. Or do we?

15 / 16

slide-80
SLIDE 80

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution. Or do we? ◮ We have many short relations in class group [BKV’19], enabling fast reduction of uniform distribution to exponent vectors with similar norm statistics as ‘best conceivable’. Overall cost? Depth?

15 / 16

slide-81
SLIDE 81

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution. Or do we? ◮ We have many short relations in class group [BKV’19], enabling fast reduction of uniform distribution to exponent vectors with similar norm statistics as ‘best conceivable’. Overall cost? Depth? ◮ More direct constructions of quantum CSIDH circuits?

15 / 16

slide-82
SLIDE 82

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution. Or do we? ◮ We have many short relations in class group [BKV’19], enabling fast reduction of uniform distribution to exponent vectors with similar norm statistics as ‘best conceivable’. Overall cost? Depth? ◮ More direct constructions of quantum CSIDH circuits? ◮ Amortize the oracle computations? E.g., to get initial phase vectors?

15 / 16

slide-83
SLIDE 83

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution. Or do we? ◮ We have many short relations in class group [BKV’19], enabling fast reduction of uniform distribution to exponent vectors with similar norm statistics as ‘best conceivable’. Overall cost? Depth? ◮ More direct constructions of quantum CSIDH circuits? ◮ Amortize the oracle computations? E.g., to get initial phase vectors? ◮ Question 2: break CSIDH using partial information about secret?

15 / 16

slide-84
SLIDE 84

Open Questions

◮ Key Question: what is the complexity of the requisite CSIDH oracle? ◮ Existing estimates [BLMP’19] are for ‘best conceivable’ distributions; we need uniform distribution. Or do we? ◮ We have many short relations in class group [BKV’19], enabling fast reduction of uniform distribution to exponent vectors with similar norm statistics as ‘best conceivable’. Overall cost? Depth? ◮ More direct constructions of quantum CSIDH circuits? ◮ Amortize the oracle computations? E.g., to get initial phase vectors? ◮ Question 2: break CSIDH using partial information about secret?

15 / 16

slide-85
SLIDE 85

Conclusions

1 Proposed CSIDH parameters have relatively little quantum security

beyond the cost of quantum evaluation (on a uniform superposition).

2 CSIDH-512 key recovery costs, e.g., only ≈ 216 evaluations using

≈ 240 bits of quantum-accessible RAM (+ small other resources).

3 Assuming evaluation costs not much more than for the ‘best case’:

CSIDH-512, -1024, and maybe even -1792 do not reach NIST level 1 quantum security.

Paper: ePrint 2019/725 Code: https://github.com/cpeikert/CollimationSieve

16 / 16