On using Pollard’s p-1 Algorithm to Factor RPrime RSA Modulus
Maya Silvi Lydia
1
, Mohammad Andri Budiman
1
and Dian Rachmawati
1
1
Departemen Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara, Medan,
Indonesia
Keywords: Public Key Cryptography, Cryptanalysis, Factorization, RPrime RSA, Pollard’s p-1
Abstract: RPrime RSA is a variant of RSA public key algorithm that uses the multiplication of two or more prime
numbers to construct its modulus. The larger the prime numbers are being used, the better the security of the
RPrime RSA becomes. Thus, the security of RPrime RSA depends on the hardness of factoring one big integer
into its prime factors. In this study, we attempt to factorize the modulus of RPrime RSA using a modified
version of Pollard’s p-1 algorithm, an exact algorithm used to factor an integer into its factors. The modified
version of Pollard’s p-1 algorithm makes use of Fermat’s algorithm in order to make sure that all of the factors
are primes. The results show that the correlation between RPrime RSA modulus and the factoring time is
directly proportional, but the value of RPrime RSA modulus does not always reflect the number of iterations
the Pollard’s p-1 algorithm is going through.
1 INTRODUCTION
The concept of public key cryptography (Diffie and
Hellman, 1976) was introduced in 1976 and the
Rivest-Shamir-Adleman (RSA) algorithm (Rivest,
Shamir, and Adleman, 1978) is one of the oldest
algorithms that implement the concept. Nowadays,
the use of RSA is still very popular since the RSA is
easy to implement and it can also be utilized in both
encryption scheme and digital signature scheme
(Verma, Dutta, and Vig, 2018).
The RSA has a lot of variants; one of them is the
RPrime RSA (Paixao and Filho, 2003). Both the RSA
and the RPrime RSA base their security on the
hardness of factoring a very large integer into its
prime factors. The difference is that there are exactly
two prime factors that make the modulus of the RSA;
while in the case of RPrime RSA, there can be two or
more prime factors. Therefore, it is intuitively clear
that the RPrime RSA is harder to cryptanalyze than
the original RSA.
The Pollard’s p-1factorization algorithm (Pollard,
1974) is an exact algorithm studied in the field of
number theory whose purpose is to factorize an
integer into its two factors. This algorithm makes use
of Fermat’s Little Theorem (Beatty, Barry, and
Orsini, 2018), B-smooth integers (Monaco and
Vindiola, 2017), and Euclidean GCD (Marouf, 2017)
to quicken its process. Pollard’s rho algorithm, which
is the other Pollard’s factorization algorithm, has
been known to be more efficient to factorize the RSA
modulus than random restart hill-climbing, a
metaheuristic algorithm (Budiman and Rachmawati,
2017).
In our study, we use the Pollard’s p-1 algorithm to
factor the modulus of the RPrime RSA. Factoring the
RPrime RSA modulus can be expected to be harder
and slower than factoring the RSA modulus since the
RPrime RSA modulus can have more than two prime
factors. Therefore, the Pollard’s p-1 algorithm should
be modified so it can factor a large integer into infinite
numbers of prime factors. The graphical relationships
amongst factoring time, the size of the modulus, and
the size of its prime factors will be shown as a result.
2 METHODS
In this section we give explanations about the RPrime
RSA key generation, the original Pollard’s p-1
algorithm, and the modified version of Pollard’s p-1
to factor the RPrime RSA modulus in Python
programming language. The example of each
algorithm is explained.