米勒-拉宾素性检验

✍ dations ◷ 2025-11-03 01:26:54 #素性测试,密码学,有限域

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

相关

  • 生物工程学生物工程学(Biological Engineering或bioengineering),是一种即综合利用数学、物理学、化学、生物学的知识,以及工程学本身的方法,以应对在生物学及医药学等领域等各种问题,满足人
  • 凯迪凯迪社区是中国大陆著名的时政论坛之一,南方报业传媒集团旗下的凯迪网络附属讨论区,开设于海南省海口市,所有者为凯迪网络资讯有限公司,日IP访问量最高日达到80万,同时在线人数常
  • 萨拉戈萨萨拉戈萨(西班牙语:Zaragoza;IPA:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium",
  • 德宏州德宏傣族景颇族自治州(傣那语:ᥖᥬᥳᥑᥨᥒᥰ .mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code20
  • 逆时营救《逆时营救》(英语:Reset),是一部于2017年上映的科幻动作电影。由杨幂、霍建华、金士杰、刘畅、张艺瀚领衔主演, 2017年6月29日于中国大陆上映。物理研究所高级研究员夏天(杨幂 饰
  • 中国传统历法中国传统历法与纪年采用阴阳干支三合历;上古时期,根据不同的农业牧业生产情况需要,分别产生过太阳历法和太阴历法。中国传统阴阳合历最早源自何时无从考究,据出土的甲骨文和古代
  • 鲍国安鲍国安(1946年6月4日-)是一位中国演员。生于天津,籍贯山东省掖县(在今山东省莱州市境)。一级演员,中央戏剧学院教授。原为话剧演员。凭出演1994年央视版《三国演义》中的曹操而获得
  • 哈尼天体哈尼天体(荷兰语:Hanny's Voorwerp)于2007年由荷兰教师哈尼·冯·阿科尔(Hanny van Arkel)在星系动物园项目中被发现。它是位于小狮座的旋涡星系IC 2497附近一团发出绿色光的物质
  • 增距镜增距镜(Teleconverter 或Tele extender)是装设于照相机机身和镜头之间的次镜,作为放大镜头成像的中心区域。例如在35 mm规格底片的相机上,2倍增距镜可将影像中心 12×18 mm的影
  • 卡塔兰常数卡塔兰常数 ,是一个偶尔出现在组合数学中的常数,定义为:其中β是狄利克雷β函数(英语:Dirichlet_beta_function)。它的值大约为:目前还不知道是有理数还是无理数。一些恒等式包括:还