米勒-拉宾素性检验

✍ dations ◷ 2025-06-07 02:40:16 #素性测试,密码学,有限域

米勒-拉宾素性检验是一种素数判定法则,利用随机化算法判断一个数是合数还是素数。卡内基梅隆大学的计算机系教授Gary Lee Miller首先提出了基于广义黎曼猜想的确定性算法,由于广义黎曼猜想并没有被证明,其后由以色列耶路撒冷希伯来大学的Michael O. Rabin教授作出修改,提出了不依赖于该假设的随机化算法。

首先介绍一个相关的引理。我们发现 1 2 mod p {\displaystyle 1^{2}{\bmod {p}}} > 3, an odd integer to be tested for primality;Input #2: , a parameter that determines the accuracy of the testOutput: if is composite, otherwise

write  − 1 as 2· with  odd by factoring powers of 2 from  − 1WitnessLoop: repeat  times:   pick a random integer  in the range     ←  mod    if  = 1 or  =  − 1 then      continue WitnessLoop   repeat  − 1 times:       ← 2 mod       if  =  − 1 then         continue WitnessLoop   return return 

使用模幂运算,这个算法的时间复杂度是 O ( k log 3 n ) {\displaystyle O(k\log ^{3}n)}  log2 log log  log log log ) = Õ( log2).

如果我们加入最大公因数算法到上述算法中,我们有时候可以得到 n {\displaystyle n} 的因数,而不仅仅是证明 n {\displaystyle n} 是一个合数。例如,若 n {\displaystyle n} 是一个基于 a {\displaystyle a} 的可能的素数,但不是一个大概率素数,则 gcd ( ( a d mod n ) 1 , n ) {\displaystyle \gcd((a^{d}{\bmod {n}})-1,n)} gcd ( ( a 2 r d mod n ) 1 , n ) {\displaystyle \gcd((a^{2^{r}d}{\bmod {n}})-1,n)} 将得到 n {\displaystyle n} 的因数。如果因式分解是必要的,这一 G C D s {\displaystyle GCDs} 算法可以加入到上述的算法中,代价是增加了一些额外的运算时间。

例如,假设 n = 341 {\displaystyle n=341} ,则 n 1 = 340 = 85 4 {\displaystyle n-1=340=85*4} .于是 2 85 mod 3 41 = 32 {\displaystyle 2^{85}{\bmod {3}}41=32} ,这也告诉我们 n {\displaystyle n} 不是一个大概率素数,即 n {\displaystyle n} 是一个合数。如果这个时候我们求最大公因数,我们可以得到一个 n = 341 {\displaystyle n=341} 的因数: gcd ( ( 2 85 mod 3 41 ) 1 , 341 ) = 31 {\displaystyle \gcd((2^{85}{\bmod {3}}41)-1,341)=31} .这时可行的,因为 n = 341 {\displaystyle n=341} 是一个基于2的伪素数,但不是一个“强伪素数”。

下面是根据以上定义而使用Magma语言编写的“米勒-拉宾”检验程序。

相关

  • 赤藓酮糖D-赤藓酮糖(英语:Erythrulose)分类上属于丁糖与酮糖,其醛糖形式是赤藓糖。是在某些细菌作用下,由赤藓糖醇氧化而得。对碱敏感。可溶于水及乙醇。果聚糖:菊粉 · 果聚糖β2→6甘
  • 土壤酸化土壤酸化 ,是氢 阳离子的积累,也称为质子,减少土壤pH。当质子供体加入土壤时,就会发生这种情况。给体可以是酸,例如硝酸和硫酸(这些酸是酸雨的常见组分)。它也可以是诸如硫酸铝的化
  • 干城章嘉峰干城章嘉峰(Kanchenjunga),也称作金城章嘉峰,海拔8,586米,为世界第三高峰(仅次于珠穆朗玛峰与乔戈里峰),也是印度的最高峰。它位于喜马拉雅山脉中段尼泊尔和印度的边界线上,东经88度0
  • span class=nowrapCu(ClO)sub2/sub/span次氯酸铜是一种无机化合物,化学式为Cu(ClO)2。有漂白性。氧化铜与次氯酸或氯水反应,或硫酸铜和次氯酸钙在溶液中反应,都可以得到Cu(ClO)2。
  • 东武东武(1648年)是南明淮王朱常清之年号,共计1年。该年号《明史》等史书无记载,见于《续明纪事本末》卷七、李兆洛《纪元编》转注无名氏《鲸琦别编》。洪武 → 建文 → 永乐 → 洪
  • 2014年瑞士羽毛球黄金大奖赛2014年瑞士羽毛球黄金大奖赛为第24届瑞士羽毛球公开赛,是2014年世界羽联大奖赛的其中一站。本届赛事于2014年3月11日至3月16日在瑞士巴塞尔举行,并获得YONEX赞助,总奖金为12万5
  • 狂飙突进运动狂飙突进运动(德语:Sturm und Drang)是指1760年代晚期到1780年代早期在德国文学和音乐创作领域的变革。是文艺形式从古典主义向浪漫主义过渡时的阶段,也可以说是幼稚时期的浪漫
  • 秘密营销产品 · 定价 · 分销 服务 · 零售 · 宣传 品牌管理 · 大客户营销 营销道德 · 营销效果 营销调查 · 市场调查 市场划分 · 营销战略 市场优势 · 操
  • 金泰永金泰永(朝鲜语:김태영,英语:Kim Tae Young,2003年1月27日-),STARSHIP娱乐旗下男艺人。2020年4月,作为STARSHIP娱乐新人男子团体CRAVITY成员出道展开活动。2020年2月13日,STARSHIP娱乐
  • 肯尼思·凯勒曼肯尼思·埃尔文·凯勒曼(英语:Kenneth Itwin Kellermann,1937年7月1日-),美国天文学家,在美国国家射电天文学台工作。 他因对类星体的研究而出名。