首页 > 其他分享 >Miller Rabin与Pollard Rho

Miller Rabin与Pollard Rho

时间:2023-09-03 23:57:06浏览次数:39  
标签:gcd Miller Pollard 算法 Rho PPT Rabin

先写一下Miller Rabin(具体介绍见老板的PPT)

对于该算法,先要知道二次探测定理。这个比较简单,看PPT即可

但还是要解释一个东西。PPT里面在举例子的时候,用\(2^{340}\)为例子,并说明\(2^{170}\)%\(341\)的结果只能是1或者340,这与二次探测定理的\(x\)要小于\(p\)不矛盾,因为PPT说的是\(2^{170}\)%\(341\),利用模的运算法则即可

对于PPT接下来的操作步骤,当结果是1的时候,我们继续就更能增加\(n\)是质数的可能性;如果结果某一次为\(n-1\),就没办法继续用二次探测定理了,所以不得已截止。此时就可以采用多次进行Miller Rabin测试来增加这个算法的正确性。

对于Pollard Rho算法,建议看一下这一篇博客

下面对这篇博客的一些东西进行解释

首先那个判圈算法的代码没有错误,可以手动模拟一下t和r的样子,只不过代码中的\(t-r\)不再是文字描述中说的随机数列相邻两项依次相减罢了,而是中间隔了很多个相减

路径倍增常熟优化那里可以去看OIwiki关于此算法的解析,说得更清楚

但是对于OIwiki的文章,也有一些需要解释的

那个乘法累计的操作就是判断在数列迭代的过程中,是否会存在一个gcd是大于1的,如果存在那么累乘结果的gcd也会大于1,如果不存在那么累乘结果的gcd也是1,这样就可以节省更多的时间

标签:gcd,Miller,Pollard,算法,Rho,PPT,Rabin
From: https://www.cnblogs.com/dingxingdi/p/17675851.html

相关文章

  • 素性测试--Miller-Rabin算法
    引子今天(23/8/16),老师问了一个有趣的问题:出道题给大家,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111131111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111是不是素数......
  • Miller-Rabin 素数判定 与 Pollard Rho
    今天打模拟赛的时候没想到\(T1\)要这鸟玩意,不会,赛后去学习了一下\(Miller-Rabin\)这个东西是干嘛的捏首先我们有两个前置知识。费马小定理,当\(p\)为质数时,\(a^{p-1}\equiv1(mod\p)\)......
  • Miller_Rabin 学习笔记
    费马小定理:对于任意一个质数满足:\(a^{p-1}\equiv1\pmodp\)二次探测:对于任意一个奇质数满足:\(x^2\equiv1\pmodp\)的解为\(x=1\)或\(x=p-1\)将两个定理结合起来,设\(p-1=u\times2^t\),那么计算出\(a^u\)次方后不断进行平方计算,如果某次平方后得到了1并且平方的数不为\(......
  • Miller Rabin & Pollard Rho
    P4718Miller_Rabin用于检测大数素性($\sqrt{n}\ge1e8$).对于素数$P$,有费马小定理:对于任意$a\in\lbrack1,P),a^{P-1}\equiv1:(mod:P)$枚举$\lbrack1,P)$中的任意$a$,若均满足其逆定理$a^{P-1}\equiv1:(mod:p)$,则$P$大概率......
  • 利用Pollard rho进行哈希碰撞(Polladr rho method to fing collision)
    项目实现:implementtheRhomethodofreducedSM3实验内容:该实验设计f函数为\(f:H(x)\),即\(W_i=H(W_{i-1})\)(除第一次输入信息\(m\)外,f函数输入输出均为256bit)Polladrrhomethodtofingcollision:利用了生日悖论,使碰撞的复杂度降到\(O(\sqrtn)\)级别,同时能有效避免......
  • Miller_rabin 素数测试 学习笔记
    Miller_rabin素数测试一种用来判断素数的算法。前置芝士威尔逊定理若\(p\)为素数,\((p-1)!\equiv-1(\modp)\)。证明:充分性证明:如果\(p\)不是素数,那么他的因数必定存在于$1,2,3,\dots,p−1$之中,所以\(\gcd((p-1)!,p)\),那么\((p-1)!\not\equiv-1\)。必要性证......
  • Miller_Rabin算法快速判断大数是否为素数
    Miller_Rabin算法快速判断大数是否为素数并不是绝对,这只是一种判断大概率为素数的方法首先根据费马小定理有:\(a^{p-1}=1\pmodp(a不为p的倍数且p不是素数)\)又因为\(p\)为素奇数,所以\(p-1\)为偶数,表示为\(p-1=2^dm\)所以有\(a^{p-1}-1=0\pmodp\)\(a^{2^dm}-1=0\pmodp\)\((......
  • Pollard-Rho 分解算法学习笔记
    Pollard-Rho分解算法Pollard-Rho算法是一种用于快速找到\(n\)的一个非平凡约数的方法。生日悖论在不少于\(23\)个人中至少有两人生日相同的概率已经大于\(50\%\)。更一般的形式,随机选取在\(\left[1,N\right]\)范围内的整数,期望到第\(O(\sqrt{N})\)个出现重复。用下面的方......
  • [atAGC062D]Walk Around Neighborhood
    记\(D=\max_{1\lei\len}d_{i}\),则无解当且仅当\(2D>\sum_{i=1}^{n}d_{i}\)结论:\(\forall(x,y),\exists(X,Y),\begin{cases}|X|+|Y|=R\\|x-X|+|y-Y|=d\end{cases}\)当且仅当\(|r-R|\led\ler+R\)(其中\(r=|x|+|y|\))必要性:根据\(|a|-|b|\le|a-b|\le|a|+|b......
  • 【阅读笔记】Anchored Neighborhood Regression for Fast Example-Based uper Resolut
    论文信息[AnchoredNeighborhoodRegressionforFastExample-BaseduperResolution]-TIMOFTER,2013,IEEEInternationalConferenceonComputerVision前置内容邻域嵌入(NeighborEmbedding,NE)是“样本-样本”映射,在训练样本中寻找测试样本的相似邻居特征样本,计算量略大。......