A Summation-Based Algorithm For Integer Factorization
Justin Friedlander
TL;DR
This work tackles integer factorization by proposing a sum-based method that converts $n$ into a product form through a base-2 decomposition derived from merging base-10 and base-2 representations, yielding $n = (2^j+c_i)(2^i+c_j)$ with $p=2^j+c_i$ and $q=2^i+c_j$. A key theoretical result is that $k=\left\lfloor \log_2(n) \right\rfloor$ satisfies $k \in \{j+i, j+i+1\}$, enabling a staged recovery of $(j,i,c_j,c_i)$ and thus $(p,q)$ by exploring coefficient decompositions and solving for $c_i$ and $c_j$. The method proceeds in three steps: enumerate plausible $(j,i)$, decompose $c_k$ into $c_j$, $c_i$, and a constant term, and solve for the low-order coefficients to reconstruct $p$ and $q$. While the theoretical time is $O(\sqrt{n})$ (with practical refinements), it does not outperform the General Number Field Sieve, though it opens a novel line of inquiry and hints at quantum-accelerated avenues; a Python reference implementation is provided.
Abstract
Numerous methods have been considered to create a fast integer factorization algorithm. Despite its apparent simplicity, the difficulty to find such an algorithm plays a crucial role in modern cryptography, notably, in the security of RSA encryption. Some approaches to factoring integers quickly include the Trial Division method, Pollard's Rho and p-1 methods, and various Sieve algorithms. This paper introduces a new method that converts an integer into a sum in base-2. By combining a base-10 and base-2 representation of the integer, an algorithm on the order of $\sqrt{n}$ time complexity can convert that sum to a product of two integers, thus factoring the original number.
