"The problem of distinguishing prime numbers from composite numbers and of resolving the latter into their prime factors is known to be one of the most important and useful in arithmetic. [...]
The dignity of the science itself seems to require that every possible means be explored for the solution of a problem so elegant and so celebrated."
Carl Friedrich Gauss (1777-1855)

pGNFS is my implementation of the General Number Field Sieve written in C++. pGnfs is short for pleslie's GNFS implementation.

It is the result of my master thesis in computer science about integer factorization and especially the number field sieve. The thesis will be made available from this site as soon as I have defended it.

The sourcecode is available and I hope it will be used as a reference for other implementations and it is easy to use as a base if you want to try and implement some of the steps yourself.

I can be contacted for questions regarding integer factorization and soon I will create a forum on these pages where all aspects of factoring can be discussed.

Updated: 27-06-2011
  • Detailed plan for further development is in progress.
  • Defense of thesis was successfully held on December 2nd. Slides here (in danish).
  • Handed in thesis.
  • Uploaded pGNFS-0.3.
  • Finished thesis.
  • Uploaded source.