米勒-拉宾素性检验

✍ dations ◷ 2025-11-18 08:25:28 #素性测试,密码学,有限域

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

相关

  • 蒙疆联合委员会蒙疆联合委员会是1937年至1939年之间由日本扶植的傀儡政权蒙古联盟自治政府、察南自治政府、晋北自治政府设立的联合委员会。1937年七七事变后,日军发动“察哈尔作战”和“绥
  • 匈牙利劳动人民党已消亡已放弃共产主义意识形态已消亡已放弃共产主义意识形态已消亡已放弃共产主义意识形态已消亡已消亡已放弃共产主义意识形态匈牙利劳动人民党(匈牙利语:Magyar Dolgozók P
  • 加州大学董事会诉巴基案加州大学董事会诉巴基案(Regents of the University of California v. Bakke),438 U.S. 265 (1978)是美国联邦最高法院裁决的一个里程碑式案件,支持了肯定性行动(又称平权法案),允
  • 2019冠状病毒病台湾病例简表本条目列出2019冠状病毒病在台湾确诊的病例简表。该简表为确诊摘要,病例详细内容请参见确诊及痊愈时间表。数据截算至2020年4月30日,共429例数据截算至2020年4月30日,共(病亡6人
  • 戈洛省戈洛省(法语:Département de Golo;科西嘉语:Dipartimentu di u Golu)是法国历史上的一个省份,位于科西嘉岛北部与东部,以戈洛河命名,省会巴斯蒂亚。 戈洛省成立于1793年,由涵盖了整
  • 叶菲姆·泽尔曼诺夫叶菲姆·伊萨科维奇·泽尔曼诺夫(俄语: Ефи́м Исаа́кович Зе́льманов,罗马化:Efim Isaakovich Zelmanov,1955年09月7日-),俄罗斯数学家。主要工作涉及非结
  • 涅斐勒涅斐勒是希腊神话中一朵貌似赫拉的云。在一次宴会上拉比斯(Lapith)的国王伊克西翁调戏神后赫拉。宙斯使赫拉隐身,塑造了涅斐勒来取代赫拉。伊克西翁醉酒后与这个幻象交配产生了
  • 张祖恩张祖恩(1951年-),台湾彰化县人。1973年获台湾国立成功大学土木系学士,1975年获国立成功大学土木系硕士,1982年获日本东北大学博士、成大环工系教授。曾任成功大学环工系主任,工学院
  • 菲迪南·赫尔特菲迪南·赫尔特(Ferdinand Hurter,1844年3月15日-1898年3月12日)是定居在英国的瑞士化学家,他潜心研究摄影胶卷的感光测定(英语:Sensitometry)及密度测定之关系,和维罗·查尔斯·德里
  • 蒙特卡洛中东电台蒙特卡洛中东电台(法语:Monte Carlo Doualiya,简称MCD;阿拉伯语:مونت كارلو الدولية‎)是法国面向阿拉伯世界与阿拉伯语社群的公共国际广播电台,成立于1972年,目前