加载中...
Pollard's Rho 是一种高效的整数因数分解随机算法,利用伪随机序列的循环结构和 Floyd 判圈技巧寻找非平凡因子。它对含较小因子的合数尤其高效,期望复杂度与因子平方根的四次方根成正比。

| 中文名 | 波拉德Rho算法 |
| 外文名 | Pollard's Rho |
| 提出者 | 波拉德 |
| 提出时间 | 一九七五年 |
| 用途 | 整数因数分解 |
| 类型 | 随机算法 |
Pollard's Rho 算法(波拉德 Rho 算法)是由波拉德于一九七五年提出的整数因数分解随机算法。它通过构造一个伪随机数序列并观察其在模某待分解合数意义下的循环结构,用不断计算差值与合数的最大公约数的方式,期望在较短时间内找到一个非平凡因子。因序列轨迹形似希腊字母 Rho 的环带尾巴而得名。
大整数分解是密码学与数论的核心难题。Pollard's Rho 属于亚指数复杂度以下的实用启发式方法,尤其擅长找出合数中相对较小的质因子,其期望时间与最小质因子的平方根成正比。它内存占用极低、实现简洁,常与 Miller-Rabin 素性测试配合,构成分解中等规模整数的标准工具链。
Pollard's Rho 常用于竞赛与工程中分解中等大小的整数、计算欧拉函数或约数结构、破解基于小因子的弱密钥等。它是通用因数分解流程中的关键一环,通常先做素性测试排除质数,再用它逐层剥离合数的质因子。
问:Pollard's Rho 能分解任意大整数吗?答:不能高效分解所有大整数。它对含较小质因子的合数很快,但面对两个都很大的质数之积仍然乏力,后者正是 RSA 安全性的基础。
问:为什么要配合 Miller-Rabin 使用?答:算法只对合数有效,需先用 Miller-Rabin 判定当前数是否为质数,避免对质数徒劳分解,并在递归分解时正确终止。

| 中文名 | 波拉德Rho算法 |
| 外文名 | Pollard's Rho |
| 提出者 | 波拉德 |
| 提出时间 | 一九七五年 |
| 用途 | 整数因数分解 |
| 类型 | 随机算法 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧