Abstract

Mathematicians have always been fascinated by the subject of finding the prime numbers of large composite numbers. They have studied various methods and have focused on developing several theories. Nowadays, this problem is of practical importance because the security of the public key cryptosystems depends on the difficulty of factoring public keys. The integer factorization algorithms have rapidly extended and improved such that today it is easy to factor a 100-decimal digit number and feasible to factor 155-decimal digit number. But the problem of factoring large integers still remains difficult because none of the algorithms run in polynomial time and numbers with more than 150 decimal digits are hard to factor. In this paper, we describe the implementation and performance of several integer factorization algorithms, in order to determine which is more efficient: trial division, Euler's, Fermat's, Pollard's p-1, William's p+1, Pollard Rho, Elliptic Curve Method, Shank's square forms, Dixon's, Continued Fraction Factorization, Quadratic Sieve, Number Field Sieve, Special Number Field Sieve and General Number Field Sieve. We implemented the algorithms and calculated their approximated computational runtime for input numbers of various sizes. Then, we mathematically analyzed their time complexities and then, to determine their performance, we compared the results of each algorithm with each other. For the implementation of the algorithms we have built an evaluation framework that contains the previously mentioned factorization algorithms and that allows the user to load data of different input size.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call