← 回論文發表吳牧恩教授
白話導讀 Future Generation Computer Systems SCI · Q1 2014/01

要分解一個大數,先「猜」得準一點

On the Improvement of Fermat Factorization using a Continued Fraction Technique

Mu-En Wu, Raylin Tso, Hung-Min Sun

一句話:費馬分解法的速度,取決於兩個質因數離得多遠。作者提出 EPF:用連分數技術先估出兩個分別接近 p+qp−q 的整數,藉此縮短費馬演算法在分解合數前所需的迴圈次數——效果取決於質因數的大小。

先問:這在解什麼問題?the problem

整數分解問題(Integer Factorization Problem, IFP)是世上最難的問題之一——難的原因是運算能力有限。給定 N = pq(兩個質數的乘積),要有效率地求出 p 與 q 非常困難,這正是 RSA 安全性的基礎。

但作者提醒了一件事:隨著雲端運算的發展,有一些「脆弱的整數」其實是分解得掉的。而對於大小合適的 N,費馬演算法(Fermat's algorithm)可能是最簡單的求解方法之一。

費馬分解法的想法:如果 p 和 q 靠得很近,那麼從 √N 開始往上一格一格試,很快就能撞到答案。反過來說——p 和 q 離得越遠,要試的次數(迴圈數)就越多。所以,要加速費馬法,關鍵是「一開始就從更好的位置起跳」。

怎麼做?EPF:先用連分數「估」出質因數the method

本文提出一個叫 EPF 的方法,用來估計一個合數的質因數。作者使用連分數(continued fractions)技術,輸出兩個整數 pE+qEpE−qE,它們分別接近 p+q 與 p−q。

合數 N = pq 質因數未知 連分數技術 EPF 估出 p+q、p−q 近似值 縮短費馬法迴圈 從更好的位置起跳
EPF 的用法:以連分數技術先估出接近 p+q 與 p−q 的兩個整數,再用這個估計值縮短費馬分解演算法在分解合數前所需的迴圈次數。

結果如何?results

作者證明 EPF 可以用來減少費馬演算法在分解一個合數之前所需的迴圈次數。並且明白指出:效果取決於質因數的大小。作者也認為 EPF 應該還有其他應用場景。

作者自己標註的限制:「效果取決於質因數的大小」這句話很重要——EPF 不是一個對所有合數都通用的加速器,它的價值在於「當 N 落在某些條件下時,能把費馬法的搜尋距離縮短」。論文摘要未公布具體的加速倍數,本頁因此不列任何數字。
閱讀原始論文(ScienceDirect) →
本頁為方便一般讀者理解的「白話導讀」,非論文原文;技術細節、實驗數據與完整結論請以正式發表版本為準。
出處:Mu-En Wu, Raylin Tso, Hung-Min Sun, On the improvement of Fermat factorization using a continued fraction technique, Future Generation Computer Systems, Vol. 30, pp. 162–168, Jan. 2014.