米勒-拉宾素性检验

✍ dations ◷ 2025-11-14 07:35:56 #素性测试,密码学,有限域

米勒-拉宾素性检验是一种素数判定法则,利用随机化算法判断一个数是合数还是素数。卡内基梅隆大学的计算机系教授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语言编写的“米勒-拉宾”检验程序。

相关

  • 圣皮埃尔和密克隆圣皮埃尔和密克隆(法语:Saint-Pierre-et-Miquelon),位于北大西洋上,其中最主要的岛屿是圣皮埃尔岛和密克隆岛(法语:Miquelon)(Miquelon)等。该群岛的几个主要岛屿中,圣皮埃尔岛面积约26
  • 罗托卡特语罗托卡特语(Rotokas)是个由大约4000名布干维尔省(布干维尔是巴布亚新几内亚共和国东部的一个岛屿)居民所使用的语言。目前已知罗托卡特语至少有三个方言,它们分别为:中央罗托卡
  • 炸弹炸弹是一种填充有爆炸性物质的威力武器。炸弹主要利用爆炸产生的巨大冲击波、热辐射与破片对攻击目标造成破坏,另外也有像中子弹这样产生大量中子放射线,主要对生物造成伤害,避
  • 匍蜚蠊科见内文匍蜚蠊科(学名:Blaberidae),又名硕蠊科,是蜚蠊目匍蜚蠊总科之下两个科之一,也是蜚蠊目之下仅次于姬蜚蠊科的第二大物种分类。
  • 成宗元贞:1295年-1297年二月元成宗铁穆耳(蒙古语: ᠲᠡᠮᠦᠷ,鲍培转写:Temür,西里尔字母:Төмөр;1265年10月15日-1307年2月10日),是元朝第二位皇帝,蒙古帝国第六位大汗,1294年5月10日—
  • 泰国人泰国人指长期生活在泰王国的各族人民。另外,生活在世界各国的,父母中有至少一人曾经为泰国公民的人也可按照本人意愿称其为泰国人。一般来说泰国人是指泰族中的小泰人(暹逻泰族
  • 奥斯坦德奥斯坦德(荷兰语:Oostende .mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","Gen
  • 李璋煜李璋煜(1784年-1857年),字方赤,又字礼南,号月汀,山东诸城人,清朝政治人物,进士出身。嘉庆二十五年(1820年)登庚辰科进士,授刑部主事,升迁四川司郎中。道光十七年(1837年)任江苏常州府知府,兼
  • 阿格内塞·阿博尔季尼亚阿格内塞·阿博尔季尼亚(拉脱维亚语:Agnese Āboltiņa,1996年2月7日-),拉脱维亚女子高山滑雪运动员,生于首都里加。她曾参加在施拉德明2013年世界高山滑雪锦标赛和索契2014年冬季
  • 张祥麟 (宣统进士)张祥麟(1878年3月24日-1916年8月11日),字藻香,湖北省沔阳州丰口镇双剅村人,法国巴黎法学院毕业,法政科进士。