Is there an algorithm for factoring N, which is just as simple as this one, but faster? I found a simple algorithm for factoring semiprime numbers, you can read about it in Factoring Semiprimes and Possible Implications for RSA (paywall-free).

It basically works like this:


You reverse the digits in $N$, let's call this value $Ň$
You pick an integer, $k$ (normally 1, but can be other values)
A variable, $Δ$, can be any integer value between the square root of $N$ and the square root of $Ň$


You then calculate four values, if any return a value other than 1, then you have one of your prime factors:


$\gcd[N, (k × Ň) + Δ]$
$\gcd[N, (k × Ň) - Δ]$
$\gcd[N, (Δ × Ň) + k]$
$\gcd[N, (Δ × Ň) - k]$


Using this algorithm and the GMP library, it would factor 18014417929109603 in 3 seconds.

I was wondering if there were any other algorithms which were faster than this, but just as easy to implement? I know the GNFS is the fastest, but it is also incredibly hard to implement.
Pure nonsense. For choosing the random $\Delta$ between $\sqrt{\min(N, Ň)}$ and $\sqrt{\max(N, Ň)}$ there are too many possibilities for it to work. For example whenever the first and last digits of $N$ differ, you get something like $\frac{1}{10} \cdot \sqrt N$ possibilities (the exact formula doesn't matter).

So you can replace the first formula $\gcd[N, (k × Ň) + Δ]$ with $k=1$ by this one: $\gcd[N, \Delta]$. Try all $\Delta$ between $1$ and $\sqrt N$, the number of possibilities is within some small factor.

Compared to the division, computing $\gcd(N, x)$ has the advantage that at each attempt you try all factors of $x$. This is good in case $N$ has some small factors, which in case of RSA is surely not true.

I see no advantage of the linked algorithm to trial division. Trying all primes up to $\sqrt N$ is probably faster, terminates also when $N$ is prime, and has a bounded time.

Summary: pure nonsense.