米勒-拉宾素性检验

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

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

相关

  • 越野滑雪越野滑雪(英语:Cross-country skiing)为讲求体能和技术的冬季运动,运动员要以滑雪的型式绕过布满雪的山地滑行,为冬季奥林匹克运动会比赛项目之一。由于路程长并需要大量体力,因此
  • 加速度加速度是物理学中的一个物理量,是一个矢量,主要应用于经典物理当中,一般用字母 a {\displaystyle \mathbf {a} }
  • 亲电性亲电体(英语:Electrophile,意思为电子喜好者)为一化学术语,指在化学反应中对含有可成键电子对的原子或分子(亲核试剂)有亲和作用的原子或分子。因为亲电试剂可以接受电子,所以它们是
  • 火刑火刑,是死刑的一种,意即将犯人绑在柱上用火活活烧死。在不同的文化中,火刑是常用的死刑之一,是为极其残酷的刑法。例如:古中国的炮烙;还有西方的中世纪到近代早期,异端裁判所用此方
  • 等焓等焓过程(英语:isenthalpic process)是一种热力学过程,过程中的焓H(或是比焓h)不变,真实气体的节流过程就是等焓过程的一个例子。等焓过程中,过程前的焓等于过程后的焓,焓的变化量为0
  • 脑血管摄影脑血管造影术是一种可以提供脑部血管影像的血管造影术,因此可以探知到诸如动静脉畸形和动脉瘤等脑部血管异常。1927年由葡萄牙医学家安东尼奥·埃加斯·莫尼斯发明,他同时也发
  • 内格罗河内格罗河(西班牙语:Río Negro)是阿根廷的河流,河道全长635公里,集水区面积132,275平方公里,由利迈河和内乌肯河汇流而成,流经内格罗河省和布宜诺斯艾利斯省,最终注入大西洋。
  • 安全教育安全教育是有关安全的教育,内容一般包括:哪些活动或事物具有危险性、常见事故的起因、如何预防事故发生以及事故时的处理等。安全教育的范围很广,可能是特定场合的安全(如学校
  • 伊利亚·叶菲莫维奇·列宾伊利亚·叶菲莫维奇·列宾(俄语:Илья Ефимович Репин;乌克兰语:Ілля Юхимович Рєпін,1844年8月5日-1930年9月29日),俄罗斯现实主义画家,巡回展览
  • 爱丽丝故事系列登场次要角色列表此页面是路易斯·卡罗的作品《爱丽丝梦游仙境》以及《爱丽丝镜中奇遇》中出现的次要角色列表。在故事一开始,爱丽丝美丽的姐姐坐在湖畔,读著一本没有插图与对话的书,爱丽丝在一