米勒-拉宾素性检验

✍ dations ◷ 2025-04-04 11:16:58 #素性测试,密码学,有限域

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

相关

  • A02BA·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码A02(治疗与胃酸分泌相关疾病的药物)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中
  • 睾酮睾酮(testosterone)(又称睾固酮、睾丸素、睾丸酮或睾甾酮、睾脂酮)是类固醇激素,由男性的睾丸或女性的卵巢分泌,肾上腺亦分泌少量睾酮。睾酮是主要的雌雄激素及蛋白同化甾类。不论
  • 努比亚努比亚(英语:Nubia)是位于埃及南部与苏丹北部之间沿着尼罗河沿岸的地区,今日位于阿斯旺(位于尼罗河第一瀑布下游)与凯里迈(英语:Karima, Sudan)(或称库赖迈,位于尼罗河第四瀑布下游)之间
  • 俾斯麦奥托·爱德华·利奥波德·冯·俾斯麦(德语:Otto Eduard Leopold von Bismarck,1815年4月1日-1898年7月30日),劳恩堡公爵,普鲁士王国首相(1862-1873 , 1873-1890),德意志帝国首任宰相(18
  • 阿尔贝·勒布伦阿尔贝·弗朗索瓦·勒布伦(法语:Albert François Lebrun,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida San
  • 2,5-二苯基2,5-二苯基�唑是一种有机化合物,化学式为C15H11NO。它可以和乙酸铑(II)形成配位化合物。它可以用作有机闪烁剂,不同的溶剂如对二甲苯、环己烷等对其荧光特性有所影响。
  • 郑祖琛郑祖琛(1784年-1851年),字梦白,浙江乌程县人,清朝政治人物。嘉庆进士。道光末累官至广西巡抚。因镇压太平天国不力,撤职查办。嘉庆九年(1804年)举人,嘉庆十年(1805年)联捷进士。分发江西
  • 约瑟夫·史克沃莱茨基约瑟夫·史克沃莱茨基(捷克语:Josef Škvorecký,1924年9月27日-2012年1月3日)是一位捷克作家及出版商。他的作品风格多样,所写侦探小说闻名捷克文坛。爵士乐以其即兴表演和自由轻
  • 模数模数,是选定的标准尺度计量单位。单位被应用于建筑设计,建筑施工,建筑材料与制品,建筑设备等项目,使构配件安全吻合,并有互换性。
  • 我们生活在巨大的差距里《我们生活在巨大的差距里》是中国大陆文学作家余华在中国大陆出版的一本散文集,收录了他自2003年之后十年间创作的散文。第一版在2015年的2月1日,由北京十月文艺出版社出版。