米勒-拉宾素性检验

✍ dations ◷ 2025-04-26 13:34:29 #素性测试,密码学,有限域

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

相关

  • 结核 (地质学)结核(Concretion)在地质学中,指在沉积岩或土壤中与周边环境成分有明显区别的某种矿物团块。其形状有球形、卵形及各种不规则形状。内部构造式样很多,有同心圆状、放射状等。大小
  • 财务长首席财务官(英语:Chief Financial Officer,英文缩写:CFO),又称首席财务長或首席财务官,公司三长之一(另二为董事长、执行长),是许多企业的职衔,尤其美式企业中,是一个企业集团或财阀中负
  • 伊克塔伊克塔,是一种中世纪中东盛行的土地制度,政府把征税权交给地方官员(通常是军官),作为收入来源和换取服务,其余再上缴国家。在白益王朝开始实施。和欧洲封建制度不同,受封伊克塔的人
  • 陈金德 (羽毛球运动员)陈金德(罗马拼音:?,1954年-),印尼语名:Hariamanto Kartono,印尼前男子羽毛球运动员。陈金德主攻男子双打,初期与杨荣美搭配,后来则与单打明星林水镜搭配。他是1980年至1985年世界顶尖双
  • J·J·希克森詹姆斯·爱德华·“J·J”·希克森(英语:James Edward "J.J." Hickson,1988年9月4日-),美国NBA联盟职业篮球运动员。他在2008年的NBA选秀中第1轮第19顺位被克利夫兰骑士选中。篮板
  • 格雷戈里·普雷奥蒂亚萨格雷戈里·普雷奥蒂亚萨(罗马尼亚语:Grigore Preoteasa;1915年8月25日-1957年11月4日),曾化名萨乌(Sau)、索勒尔(Sorel),罗马尼亚共产党中央政治执行委员会候补委员、中央书记处书记,罗
  • 卡特琳娜·格兰厄姆凯特琳娜·亚历山大·哈特福德·格雷厄姆(英语:Katerina Alexandre Hartford Graham,1989年9月5日-),生于瑞士日内瓦的美国演员、歌手、舞者及模特,父母亲分别为美国黑人裔和犹太裔
  • 飞行计划飞行计划(Flight plans)指的是飞行员或其所属航空公司,在航空器起飞前,要呈交给航管单位的计划书,由航管单位许可后才可实施飞行。飞行计划有下列内容:目视飞航规则 (Visual Fligh
  • 拉吉夫·甘地国际机场拉吉夫·甘地国际机场(英语:Rajiv Gandhi International Airport;IATA代码:HYD;ICAO代码:VOHS)是印度共和国泰伦加纳邦首府海得拉巴的国际机场,本名海得拉巴国际机场(泰卢固语:హైద
  • 崇安鼠尾草崇安鼠尾草(学名:)是唇形科鼠尾草属的植物,为中国的特有植物。分布于中国大陆的福建等地,一般生于路旁草丛中,目前尚未由人工引种栽培。