米勒-拉宾素性检验

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

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

相关

  • 联邦议长:南希·裴洛西(民主党) 多数党领袖(英语:Party leaders of the United States House of Representatives):斯坦利·霍耶(民主党) 少数党领袖(英语:Party leaders of the United Sta
  • 阿塔罗斯国王列表阿塔罗斯王国,或称阿塔罗斯王朝、帕加马王国为小亚细亚一个希腊化王国在亚历山大大帝的东征之后,地中海地区进入了所谓的希腊化时代,帕加马则在继业者战争之后变成了一个由独立
  • 帕府帕府(泰语:จังหวัดแพร่,皇家转写:Changwat Phrae,泰语发音:)是泰北的一个府。顺时针从北开始邻近府份是:帕尧府、难府、程逸府、素可泰府及南邦府。帕府位于戎河(Yom Riv
  • 无线电频谱无线电波是频率介于3赫兹和约300吉赫之间的电磁波,也作射频电波,或简称射频、射电。无线电技术将声音讯号或其他信号经过转换,利用无线电波传播。射频技术也用在核磁共振及磁振
  • 小米Max小米Max是小米科技在2016年5月10日发布的一款Android智能手机。其特点是采用了6.44英寸大小的屏幕。
  • 帕达加帕达加(Padagha),是印度马哈拉施特拉邦Thane县的一个城镇。总人口5056(2001年)。该地2001年总人口5056人,其中男性2633人,女性2423人;0—6岁人口593人,其中男326人,女267人;识字率79.09
  • 凯尼维尔 (肯塔基州)凯尼维尔(英语:Caneyville),是美国肯塔基州的一座城市。面积约为4.1平方公里(1.6平方英里)。根据2010年美国人口普查,该市的人口为608人。
  • 月牙泉月牙泉,古称渥洼池、沙井,又名药泉,自汉朝起即为敦煌八景之一,清代后称为月牙泉。鸣沙山月牙泉风景区位于中国甘肃省敦煌市西南5公里处。对于月牙泉的形成曾有上升泉、断层泉、
  • 蒂芬妮二世 (猫)蒂芬妮二世(Tiffany Two,1988年3月13日-2015年5月22日),是一只曾获得吉尼斯世界纪录所认证最长寿的猫,它一共活了27岁零2个月又9天,相当于人类的125岁。它的主人Sharon Voorhees女
  • 汤姆·卡伦汤姆·卡伦(英语:Tom Cullen,1985年7月17日-)是一位威尔士电视和舞台演员,从2009年夏天开始表演。他出生于威尔士阿伯里斯特威斯,长大于加的夫。他有一个兄弟,一个姐妹。在2011年的