Abstract
In this paper, we present a factoring algorithm that, assuming standard heuristics, uses just \((\log N)^{2/3+o(1)}\) qubits to factor an integer N in time \(L^{q+o(1)}\) where \(L = \exp ((\log N)^{1/3}(\log \log N)^{2/3})\) and \(q=\root 3 \of {8/3}\approx 1.387\). For comparison, the lowest asymptotic time complexity for known pre-quantum factoring algorithms, assuming standard heuristics, is \(L^{p+o(1)}\) where \(p>1.9\). The new time complexity is asymptotically worse than Shor’s algorithm, but the qubit requirements are asymptotically better, so it may be possible to physically implement it sooner.
Author list in alphabetical order; see https://www.ams.org/profession/leaders/culture/CultureStatement04.pdf. This work was supported by the Commission of the European Communities through the Horizon 2020 program under project 645622 (PQCRYPTO), by the U.S. National Science Foundation under grants 1018836 and 1314919, by the Netherlands Organisation for Scientific Research (NWO) under grant 639.073.005, by NIST under grant 60NANB17D184, by the Simons Foundation under grant 430128; by NSERC; by CFI; and by ORF. IQC and the Perimeter Institute are supported in part by the Government of Canada and the Province of Ontario. “Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation” (or other funding agencies). Permanent ID of this document: d4969875ec8996389d6dd1271c032a204f7bbc42. Date: 2017.04.19.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Artjuhov, M.M.: Certain criteria for primality of numbers connected with the little Fermat theorem. Acta Arith. 12, 355–364 (1966)
Barbulescu, R.: Algorithms of discrete logarithm in finite fields. Thesis, Université de Lorraine, December 2013. https://tel.archives-ouvertes.fr/tel-00925228
Beauregard, S.: Circuit for Shor’s algorithm using \(2n+3\) qubits. Quantum Inf. Comput. 3(2), 175–185 (2003)
Beckman, D., Chari, A.N., Devabhaktuni, S., Preskill, J.: Efficient networks for quantum factoring. Phys. Rev. A 54, 1034–1063 (1996)
Bennett, C.H.: Time/space trade-offs for reversible computation. SIAM J. Comput. 18(4), 766–776 (1989)
Bernstein, D.J.: Detecting perfect powers in essentially linear time. Math. Comput. 67(223), 1253–1283 (1998)
Bernstein, D.J.: Circuits for integer factorization: a proposal (2001). https://cr.yp.to/papers.html#nfscircuit
Bernstein, D.J.: Factoring into coprimes in essentially linear time. J. Algorithms 54(1), 1–30 (2005)
Bernstein, D.J., Lenstra Jr., H.W., Pila, J.: Detecting perfect powers by factoring into coprimes. Math. Comput. 76(257), 385–388 (2007)
Buhler, J.P., Lenstra Jr., H.W., Pomerance, C.: Factoring integers with the number field sieve. In: Lenstra, A.K., Lenstra Jr., H.W. (eds.) The development of the number field sieve. LNM, vol. 1554, pp. 50–94. Springer, Heidelberg (1993). doi:10.1007/BFb0091539
Cleve, R., Ekert, A., Macchiavello, C., Mosca, M.: Quantum algorithms revisited. In: Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences, vol. 454. The Royal Society (1998)
Coppersmith, D.: Modifications to the number field sieve. J. Cryptol. 6(3), 169–180 (1993)
Diffie, W., Hellman, M.: New directions in cryptography. IEEE Trans. Inf. Soc. 22(6), 644–654 (1976)
Gordon, D.: Discrete logarithms in GF(p) using the number field sieve. SIAM J. Discret. Math. 6, 124–138 (1993)
Gottesman, D.: Fault-tolerant quantum computation with constant overhead. Quantum Inf. Comput. 14(15–16), 1338–1372 (2014). https://arxiv.org/pdf/1310.2984
Grosshans, F., Lawson, T., Morain, F., Smith, B.: Factoring safe semiprimes with a single quantum query (2015). http://arxiv.org/abs/1511.04385
Kleinjung, T., Aoki, K., Franke, J., Lenstra, A.K., Thomé, E., Bos, J.W., Gaudry, P., Kruppa, A., Montgomery, P.L., Osvik, D.A., Riele, H., Timofeev, A., Zimmermann, P.: Factorization of a 768-bit RSA modulus. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 333–350. Springer, Heidelberg (2010). doi:10.1007/978-3-642-14623-7_18
Lenstra, A.K., Lenstra Jr., H.W., Manasse, M.S., Pollard, J.M.: The number field sieve. In: STOC 1990: Proceedings of the Twenty-Second Annual ACM Symposium on Theory of Computing, pp. 564–572. ACM, New York (1990)
Lenstra Jr., H.W.: Factoring integers with elliptic curves. Ann. Math. (2) 126(3), 649–673 (1987)
Menezes, A., Sarkar, P., Singh, S.: Challenges with assessing the impact of NFS advances on the security of pairing-based cryptography. In: Proceedings of Mycrypt 2016 (2016, to appear). https://eprint.iacr.org/2016/1102
Pollard, J.M.: Factoring with cubic integers. In: Lenstra, A.K., Lenstra Jr., H.W. (eds.) The development of the number field sieve. LNM, vol. 1554, pp. 4–10. Springer, Heidelberg (1993). doi:10.1007/BFb0091536
Rivest, R.L., Shamir, A., Adleman, L.M.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1978)
Schirokauer, O.: Discrete logarithms and local units. Philos. Trans. Phys. Sci. Eng. 345, 409–423 (1993)
Seifert, J.-P.: Using fewer qubits in Shor’s factorization algorithm via simultaneous diophantine approximation. In: Naccache, D. (ed.) CT-RSA 2001. LNCS, vol. 2020, pp. 319–327. Springer, Heidelberg (2001). doi:10.1007/3-540-45353-9_24
Shor, P.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26(5), 1484–1509 (1997)
Takahashi, Y., Kunihiro, N.: A quantum circuit for Shor’s factoring algorithm using \(2n+2\) qubits. Quantum Inf. Comput. 6(2), 184–192 (2006)
Vedral, V., Barenco, A., Ekert, A.: Quantum networks for elementary arithmetic operations. Phys. Rev. A 54, 147–153 (1996)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
A Number of Iterations for the Serial Construction
A Number of Iterations for the Serial Construction
This appendix justifies the claim in Section 6 that choosing a sufficiently large \(t\in O(\log x\log \log x)\) produces at least \(\log _2 x\) successful iterations except with probability O(1/x).
We abstract and generalize the situation in Section 6 as follows. The algorithm state evolves through t iterations: from state \(S_0\), to state \(S_1=A_1(S_0)\), to state \(S_2=A_2(S_1)\), and so on through state \(S_t=A_t(S_{t-1})\). We are given a positive real number p and a guarantee that each iteration is successful with probability at least p. Our objective is to put an upper bound on the chance that there are fewer than s successful iterations.
More formally: Fix a finite set X. (The algorithm state at each moment will be an element of this set.) Also fix a function \(f:X\rightarrow {\mathbb {Z}}\). (For each algorithm state S, the value f(S) is the total number of successes that occurred as part of producing this algorithm state; we augment the algorithm state if necessary to count the number of successes.) Finally, fix a positive real number p.
Let A be a random function from X to X. (This will be what the algorithm does in one iteration.) Note that “random” does not mean “uniform random”; we are not assuming that A is uniformly distributed over the space of functions from X to X.
Define A as admissible if the following two conditions are both satisfied:
-
\(f(A(S))-f(S)\in \mathord {\left\{ {0,1}\right\} }\) for each \(S\in X\).
-
\(q(A,S)\ge p\) for each \(S\in X\), where q(A, S) by definition is the probability that \(f(A(S))-f(S)=1\).
(In other words, no matter what the starting state S is, an A iteration starting from S has probability at least p of being successful.)
Let t be a positive integer. (This is the number of iterations in the algorithm.) Let \(A_1,A_2,\dots ,A_t\) be independent admissible random functions from X to X. (\(A_i\) is what the algorithm does in the ith iteration; concretely, these functions are independent if the coin flips used in the ith iteration of the algorithm are independent of the coin flips used in the jth iteration whenever \(i\ne j\).)
Let \(S_0\) be a random element of X. (This is the initial algorithm state.) Note that again we are not assuming a uniform distribution. Recursively define \(S_i=A_i(S_{i-1})\) for each \(i\in \mathord {\left\{ {1,2,\dots ,t}\right\} }\). (\(S_i\) is the state of the algorithm after i iterations.)
Proposition 1
Let s be a positive real number. Assume that \(tp\ge s\). Then \(f(S_t)-f(S_0)\le s\) with probability at most \(\exp (-(1-s/tp)^2 tp/2)\).
In other words, except with probability at most \(\exp (-(1-s/tp)^2 tp/2)\), there are more than s successes in t iterations.
In the application in Section 6, we take \(p\in \varOmega (1/\log \log x)\) to match the analysis of Shor’s algorithm; we take \(s=\log _2 x\); and we compute t as an integer between, say, \((4\log _2 x)/p\) and \((4\log _2 x)/p+1.5\). (Taking a gap noticeably larger than 1 means that we can compute t from a low-precision approximation to \((4\log _2 x)/p\).) Then \(t\in O(\log x\log \log x)\). The condition \(tp\ge s\) in the proposition is satisfied, so there are more than \(\log _2 x\) successes in t iterations, except with probability at most \(\exp (-(1-s/tp)^2 tp/2)\). The quantity tp is at least \(4\log _2 x\), and the quantity \(1-s/tp\) is at least 3/4, so \((1-s/tp)^2 tp/2\ge (9/8)\log _2 x>1.6\log x\), so the probability is below \(1/x^{1.6}\).
Proof
Chernoff’s bound says that if \(v_1,v_2,\dots ,v_t\) are independent random elements of \(\mathord {\left\{ {0,1}\right\} }\), with probabilities \(\mu _1,\mu _2,\dots ,\mu _t\) respectively of being 1 and with \(\mu =\mu _1+\mu _2+\cdots +\mu _t\), then the probability that \(v_1+v_2+\cdots +v_t\le \delta \mu \) is at most \(\exp (-(1-\delta )^2\mu /2)\) for \(0<\delta \le 1\).
It is tempting at this point to define \(v_i=f(S_i)-f(S_{i-1})\), but then there is no reason for \(v_1,v_2,\dots ,v_t\) to be independent.
Instead flip independent coins \(c_1,c_2,\dots ,c_t\), where \(c_i=1\) with probability \(p/q(A_i,S_{i-1})\) and \(c_i=0\) otherwise. Define \(v_i=c_i(f(S_i)-f(S_{i-1}))\).
By assumption \(S_i=A_i(S_{i-1})\), so \(f(S_i)-f(S_{i-1})=f(A_i(S_{i-1}))-f(S_{i-1})\). This difference is 1 with probability exactly \(q(A_i,S_{i-1})\), and 0 otherwise. Hence \(v_i\) is 1 with probability exactly p, and 0 otherwise. This is also true conditioned upon \(v_1,v_2,\dots ,v_{i-1}\), since \(A_i\) and \(c_i\) are independent of \(v_1,v_2,\dots ,v_{i-1}\); hence \(v_1,v_2,\dots ,v_t\) are independent.
Now substitute \(\mu _1=\mu _2=\dots =\mu _t=p\), \(\mu =tp\), and \(\delta =s/tp\) in Chernoff’s bound: we have \(0<\delta \le 1\) (since \(0<s\le tp\)), so the probability that \(v_1+v_2+\cdots +v_t\le s\) is at most \(\exp (-(1-s/tp)^2 tp/2)\).
Note that \(v_i\le f(S_i)-f(S_{i-1})\), so \(v_1+v_2+\dots +v_t\le f(S_t)-f(S_0)\). Hence the probability that \(f(S_t)-f(S_0)\le s\) is at most \(\exp (-(1-s/tp)^2 tp/2)\) as claimed. \(\square \)
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Bernstein, D.J., Biasse, JF., Mosca, M. (2017). A Low-Resource Quantum Factoring Algorithm. In: Lange, T., Takagi, T. (eds) Post-Quantum Cryptography . PQCrypto 2017. Lecture Notes in Computer Science(), vol 10346. Springer, Cham. https://doi.org/10.1007/978-3-319-59879-6_19
Download citation
DOI: https://doi.org/10.1007/978-3-319-59879-6_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-59878-9
Online ISBN: 978-3-319-59879-6
eBook Packages: Computer ScienceComputer Science (R0)