Pollard’s rho 算法解大数质因子问题

1. Pollard’s rho 算法

在大数质因子问题中, 一般被分解的数十分大,使用试除法的时间代价不可接受, Pollard’s rho算法有效的缓解了试除法的时间代价.
生日悖论: 在不少于 23 个人中至少有两人生日相同的概率大于 50%(百度百科).
那么要是人数再多一些是不是存在可能在一定人数中一定有人生日相同? 那么将这么理论应用在数学问题中,假如有 n n n个数字的集合,我们不断地随机在集合中选取一个,在多次之后能找到一个数字和之前选出的相同而不需要选遍整个集合. 对于大数质因子问题,我们可以随机的的抽取 [ 1 , n − 1 ] [1, n-1] [1,n1]集合中的数字, 记做 l l l,随后再随机不停地抽取数字 k k k,直到 g c d ( l − k , n ) ≠ 1 gcd(l-k, n) \ne 1 gcd(lk,n)=1.
但是我们需要在内存中保存每一个选取出来的数,要是 n n n十分大,我们需要的计算资源会不可接受的大.

这时候可以使用Pollard’s rho算法
{ v k = f ( v k − 1 ) v k + 1 = f ( f ( v k − 1 ) ) \left\{ \begin{aligned} v_k &= f(v_{k-1})\\ v_{k+1} &= f(f(v_{k-1}))\\ \end{aligned} \right. { vkvk+1=f(vk1)=f(f(vk1))我们选取的数并不是完全随机,而是根据上一个选择根据一个伪随机函数生成下一

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值