Breaking RSA Using Shor's Algorithm
Introduction
Notation and conventions
Throughout this paper, we refer to the modulus as . The modulus is the composite integer to be
factored, or the prime characteristic of the finite field when computing discrete logarithms. The
number of bits in
is
where
. The number of modular multiplication
operations to perform (i.e. the combined exponent length in the modular exponentiations) is
denoted
. Our construction has a few adjustable parameters, which we refer to as
(the
exponent window length),
(the multiplication window length),
(the runway separation),
and
(the padding length used in approximate representations).
In the examples and figures, we consider moduli of length bits when n needs to be
explicitly specified. This is because
bits is the default modulus length in several widely
used software programs. Our optimizations are not specific to this choice of
. Section 3
provides cost estimates for a range of cryptographically relevant modulus lengths
.
We often quote costs as a function of both the number of exponent qubits and the problem
size
. We do this because the relationship between
and
changes from problem to problem, and
optimizations that improve
are orthogonal to optimizations that improve the cost of individual
operations.