Efficient probabilistic algorithm for integer factorization given bounds for one factor
57 views
Skip to first unread message
Georgi Guninski
unread,
Dec 16, 2024, 9:10:55 AM12/16/24
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to sage-...@googlegroups.com
Efficient probabilistic algorithm for integer factorization given
bounds for one factor
Me and Stefcho Guninski released preprint [1] Efficient probabilistic
algorithm for integer factorization given bounds for one factor.
We are interested if the algorithm can be improved and possibly compete with
zncoppersmith.
The sagemath code is at [2] and can be run in a browser.
The main idea:
For real $x$ and natural $N$, define $J(x,N)=\sin{\frac{\pi N}{x}}$.
The real zeros of $J$ are $\frac{N}{a}$ for integer $a$.
The integer zeros of $J$ are the divisors of $N$.
For real constant $D \ge 2$ and $N=pq$ with $\log{q} \approx D \log{p}$
and given bounds $B_1 < q < B_2$ and $ 0 < q-B_1,B_2-q <
q^{\frac{D-1}{D}}$ we find the factor $q$ in time polynomial in
$\log{N}$ using real root finding of the function
$J(x,N)=\sin{\frac{\pi N}{x}}$
To find the unique zero, we use mpmath's function
|mpmath.findroot(J,B\_1,B\_2)|
Experimentally it finds the zero $q$ efficiently using real root
finding in the range (B_1, B_2)