コンテンツへスキップ
uencoder

Pollard Rho Algorithm

Pollardのrho法は、擬似乱数列x_{i+1}=f(x_i) mod nを使って大きな数の因数を見つける手法であり、期待計算量はO(n^(1/4))である。

目的

中規模の整数を素因数分解する。弱いRSAモジュラスへの攻撃に使われる。

メカニズム

f(x)=x^2+c mod nで数列を生成し、Floydのアルゴリズムでサイクルを検出する。サイクル上でgcd(|x_i-x_j|, n)が非自明な因数を与えることがある。誕生日のパラドックスにより、期待ステップ数はO(p^(1/2))(pは最小素因数)である。

ユースケース

  • 整数の素因数分解(ファクタリング)
  • RSAへの攻撃
  • 数論的アルゴリズム

関連ツール

References