2.1. Notations and Basic Definitions
Let
denote the set of integers. For a positive integer
Y, we denote the reduction of
by
(i.e.,
). Let
be an RSA modulus, where
P and
Q are two large distinct primes. Denote
as the bit-length of the modulus
N. Recovering
P and
Q given
N is known as the
Integer Factorization Problem(
). To ensure the hardness of the
in cryptographic applications,
P and
Q are typically required to be of approximately equal bit-length. Under this condition, when
P and
Q are sufficiently large, no classical polynomial-time algorithm is currently known to solve the
. Let
denote Euler’s totient function. To facilitate our subsequent complexity analysis, we recall the Prime Number Theorem [
7]: the prime-counting function
, which denotes the number of primes less than or equal to
x, satisfies
.
Although the is generally hard, special-purpose factoring algorithms (such as Pollard’s P-1) can efficiently factor N if the prime factors possess specific algebraic weaknesses. The most prominent weakness exploited by these algorithms is the smoothness of . Formally, this property is defined as follows:
Definition 1 (B-Smooth Number). A B-smooth number is a positive integer whose prime factors are all less than or equal to B.
Following standard cryptographic settings, we assume the prime factors P and Q have a balanced bit-length . Let . To ensure that the prime Q is strictly resistant to our algorithm, we assume that the largest prime factor of strictly exceeds .
To formally characterize the vulnerability of the prime factor P, we first consider its odd part , since is inherently even. Let denote the k-th prime number globally. Let be the input smoothness bound (which defaults to the theoretical maximum ). We define as the complete list of consecutive primes up to , where denotes the k-th prime globally. Assuming is -smooth, we let denote the actual exponent of any prime candidate in its factorization. We can express this prime factorization compactly as . Here, denotes the actual exponent of the prime factor , and the indices satisfy (where ). Define as the explicit upper bound of this exponent, computed as . Since , this naturally guarantees . Define the maximum actual exponent as , and the largest prime power factor as , where is the index achieving this maximum. For any positive integer z, let denote its bit-length. For each prime , let denote its specific bit-length. Finally, to align with our dynamic scaling strategy, we partition into disjoint subsets, explicitly bounded by , denoted as for . Let be an ascending list of integers where each element is selected independently with probability . For brevity, we denote this list as L, and define .
Lemma 1. The expected structural bit-size of the product of all elements in isIf , we can obtain that . Proof. Let be the indicator variable for , with expectation . In practical arbitrary-precision arithmetic, the upper bound of the bit-size of a product is exactly the sum of the discrete bit-lengths of all operands. For any integer , its exact bit-length is k.
Given that the elements in list L are bounded in the range , this range can be partitioned into subsets of exactly k-bit integers for . The amount of k-bit positive integers in each subset is .
By linearity of expectation, the expected total structural bit-length is:
Using the arithmetico-geometric sequence summation formula
, we evaluate the bounded sum:
Substituting this back yields . □
Having established the expected bit-size of the prime products, we proceed to analyze the cumulative computational overhead of our dynamic strategy across multiple iterations. If we model the scale of the operand at the i-th iteration as a linear progression , evaluating the total cost inherently involves summations of the form . By approximating this discrete summation with continuous integration, we deduce the following asymptotic bound:
Proof. .
□
2.4. Overview of Pollard’s P-1 Algorithm and Its Development
Without loss of generality, we assume that the largest prime factor of
is less than or equal to that of
. Let
a be a randomly chosen positive integer satisfying
. By Fermat’s Little Theorem, any exponent
z that is a multiple of
satisfies
. This implies that
P divides
, allowing us to efficiently extract the prime factor
P by evaluating
. Based on this fundamental property, Pollard proposed the
algorithm [
3], which strategically constructs the exponent
z using the prime set
. Specifically, by setting
with sufficiently large algorithmic exponents
, the algorithm guarantees that
, thereby successfully factorizing
N. Depending on the specific strategies used to construct this exponent
z, several variants have emerged. In the remainder of this section, we review the original algorithm alongside its two prominent variants [
5,
6].
| Algorithm 1: Normal Multiplication Method |
![Cryptography 10 00057 i001 Cryptography 10 00057 i001]() |
2.4.1. Original Pollard’s P-1 Algorithm [3]
To translate the aforementioned theory into practice, Pollard’s original work [
3] proposed a practical two-stage approach. Let
and
be positive integers such that
. If
N is divisible by a prime factor
P, the algorithm succeeds under two conditions: Stage 1.
is a
-smooth number; or Stage 2.
, where
A is a
-smooth number and
is a prime.
In practice, executing Stage 1 requires constructing an exponent
z that covers all prime powers up to the bound
. While the original paper establishes this framework, it does not explicitly specify the valuation rule for the corresponding algorithmic exponents
. To address this and ensure that
, subsequent formulations like Rabah’s [
12] formally define
as
.
2.4.2. Pollard’s P-1 Algorithm in [5]
To bypass the need for a predetermined smoothness bound, a trivial variant (Algorithm 2) proposed by Bishop [
5] simply increments an integer multiplier step-by-step. Starting with a random base
, the method iterates through
, sequentially updating
and checking
at each step until a non-trivial factor is found. While this exhaustive linear enumeration theoretically guarantees eventual factorization, its increment-by-one nature results in an impractically large computational overhead.
| Algorithm 2: Trivial Pollard’s P-1 Algorithm in [5] |
![Cryptography 10 00057 i002 Cryptography 10 00057 i002]() |
2.4.3. Pollard’s P-1 Algorithm in [6]
In 2022, Somsuk [
6] proposed an improved variant of Pollard’s P-1 algorithm, denoted as
(Algorithm 3). Instead of processing primes individually,
first computes the product of all prime numbers within a predefined list
(i.e.,
). It then repeatedly performs the modular exponentiation
and evaluates the GCD, iterating up to a maximum bound (e.g.,
). As established in
Section 2.2.2, the cost of a single modular exponentiation is roughly
operations (where
l is the exponent’s bit size). Consequently, aggregating primes into a single product
z before exponentiation is computationally cheaper than performing consecutive modular exponentiations for each eligible prime. This strategy effectively reduces the running cost when the exponents of
’s prime factors are relatively uniform. However, because
uniformly raises all primes in
to the same iterative power, the overall cost increases drastically if even one prime factor possesses a large exponent, as it forces redundant exponentiations for the rest of the primes (Note that [
6] also proposed a second version (
) incorporating a linear step-by-step search as a fallback when the initial bound fails. However, since this fallback mechanism essentially mirrors the impractically expensive trivial variant discussed earlier, our analysis fundamentally focuses on
’s core aggregated-exponentiation strategy.).
| Algorithm 3: : Improved Pollard’s P-1 Algorithm in [6] |
![Cryptography 10 00057 i003 Cryptography 10 00057 i003]() |