As a beginner to the world of integer factorization, my idea of factoring an integer is to generate a large list of prime numbers below this number and to repeatedly try to divide the integer by these primes. However for very large integers this method is useless.
It is known that the General Number Field Sieve is the "most efficient classical algorithm known for factoring integers larger than 100 digits", however not one article I came across explained it simply enough for me to understand.
Can you help me to understand the GNFS in simple terms and methods, and how to implement it on a large integer below $2^{64}$?