主題
Search

Pollard rho 因子分解法


一種 素因數分解演算法,也稱為 Pollard 蒙特卡洛因子分解法。Pollard rho 因子分解法有兩個方面。第一個方面是迭代公式直到它陷入迴圈的想法。設 n=pq, 其中 n 是要分解的數,pq 是其未知的素因子。迭代公式

 x_(n+1)=x_n^2+a (mod n),
(1)

或幾乎任何多項式公式(x_n^2-2 是一個例外)對於任何初始值 x_0 都會產生一個最終陷入迴圈的數字序列。 x_ns 變為迴圈的預期時間和迴圈的預期長度都與 sqrt(n) 成正比。

然而,由於 n=pq 其中 pq 互質中國剩餘定理保證了 x (mod n) 的每個值唯一對應於值對 (x (mod p)), x (mod q))。此外,序列 x_ns 遵循完全相同的公式模 pq,即

x_(n+1)=[x_n (mod p)]^2+a (mod p)
(2)
x_(n+1)=[x_n (mod q)]^2+a (mod q).
(3)

因此,序列 (mod p) 將陷入長度約為 sqrt(p) 的短得多的迴圈。可以直接驗證兩個值 x_1x_2 具有相同的值 (mod p),透過計算

 GCD(|x_2-x_1|,n),
(4)

這等於 p

Pollard 方法的第二部分涉及檢測序列已變為週期性的事實。Pollard 的建議是使用歸因於 Floyd 的想法,即比較 x_ix_(2i) 對於所有 i。Brent 因子分解法中使用了不同的方法。

在最壞的情況下,Pollard rho 演算法可能非常慢。


另請參閱

Brent 因子分解法, 素因數分解演算法

使用 探索

參考文獻

Brent, R. "An Improved Monte Carlo Factorization Algorithm." Nordisk Tidskrift for Informationsbehandling (BIT) 20, 176-184, 1980.Brent, R. P. "Some Integer Factorization Algorithms Using Elliptic Curves." Austral. Comp. Sci. Comm. 8, 149-163, 1986.Bressoud, D. M. 因式分解與素性測試。 New York: Springer-Verlag, pp. 61-67, 1989.Eldershaw, C. and Brent, R. P. "Factorization of Large Integers on Some Vector and Parallel Computers."Montgomery, P. L. "Speeding the Pollard and Elliptic Curve Methods of Factorization." Math. Comput. 48, 243-264, 1987.Pollard, J. M. "A Monte Carlo Method for Factorization." Nordisk Tidskrift for Informationsbehandlung (BIT) 15, 331-334, 1975.Vardi, I. Computational Recreations in Mathematica. Reading, MA: Addison-Wesley, pp. 83 and 102-103, 1991.

在 中被引用

Pollard rho 因子分解法

請這樣引用

Weisstein, Eric W. “Pollard rho 因子分解法。” 來自 Web 資源。 https://mathworld.tw/PollardRhoFactorizationMethod.html

主題分類