Home

subexponentialtime

Subexponential time refers to a broad family of algorithmic running times that grow faster than any polynomial in the input size but slower than true exponential time. If n denotes the size of the input (typically measured in bits), an algorithm runs in subexponential time when its worst-case running time is exp(o(n)) or equivalently 2^{o(n)}. This captures bounds that are between polynomial and exponential growth.

Subexponential bounds are often described using the L-notation: L_n[α, c] = exp((c+o(1))(log n)^α (log log n)^{1−α}) for

Prominent examples include factoring and discrete logarithm problems. The General Number Field Sieve (GNFS) for factoring

In practice, subexponential time bounds are important in computational number theory and cryptography, where they inform

α
in
[0,1]
and
c>0.
For
many
number-theoretic
problems,
α=1/3
gives
a
typical
subexponential
form.
Thus,
while
not
polynomial,
these
algorithms
are
significantly
faster
than
brute-force
exponential
methods
for
large
inputs.
an
integer
N
runs
in
time
roughly
exp((c+o(1))(log
N)^{1/3}(log
log
N)^{2/3}),
which
is
subexponential
in
the
number
of
bits
of
N.
Index
calculus
methods
for
discrete
logarithms
in
prime
fields
exhibit
similar
subexponential
behavior.
By
contrast,
problems
such
as
the
elliptic
curve
discrete
logarithm
have
algorithms
whose
best
known
running
times
are
exponential
in
the
input
size,
illustrating
that
subexponential
performance
is
problem-dependent.
security
assessments
and
the
feasibility
of
algorithms
for
large
instances.
They
describe
a
middle
ground:
faster-than-exponential
but
not
polynomial,
shaping
both
theoretical
analyses
and
practical
expectations.