大数素性检测的数学理论基础分析
大数的素性检测可以分为确定性的素性检测和概率性的素性检测
确定性的素性检测在小整数的素性检测中虽然已经够用,但是在大整数的素性检测中,这些算法明显复杂度大大增加,所以人们又寻找到了更加高效的概率性素性检测来寻找大素数。
这里仅仅举出比较常见或者比较著名的素性检测方法。
确定性素性检测
1.广义欧几里得定理素性检测
想法
对于这个素性检测的一种优化是i可以换作小于n的平方根的素数,因为小于n的平方根的数都有素因子,所以可以优化,但是这种优化仅仅对于小整数而言好用。
这里的时间复杂度仍然是指数级的,但是我们期望能够有多项式级的算法,帮助我们高效进行素性检测。
时间复杂度
2.Lucas–Lehmer素性检验(用于梅森数的检验)
并且当n为合数时,梅森数也为合数;当n为素数是,梅森数不一定都是素数
想法
这里的确定性算法虽然时间复杂度很低,但是仅仅适用于梅森数的检验,十分具有局限性,但是对于大素数的寻找很有帮助,最近几个最大素数便是该算法寻找到的。
在这个结论的证明中,因为这是个序列,所以自然而然想到用数学归纳法,但是其中构造的方法颇为巧妙,构造一对
用于证明每个Si都满足
证明充分性时,运用了反证法,再引入群的概念,通过群元素的阶和素因子的性质导出矛盾。
证明必要性时,运用了二次剩余,欧拉准则,费马小定理以及初等群论等来证明。
同样的,也有同类型的素性检测,Pepin测试,但是它也仅适用于费马数,这样的局限性过于致命。
3.AKS素性测试(仅了解)
想法
这是最为著名的确定性素性测试,因为它的出世成功使素数判定的时间复杂度降到了多项式复杂度,并且没有依赖任何未得到证明的猜想。
该证明涉及费马小定理,群、环和域等知识,中间具体内容本人难以理解。
AKS素性测试主要是基于以下定理
具体计算中可以使用贝祖定理进行公约数的计算。
算法操作:
概率性素性检测
1.费马素性检验(主要找课外知识)
想法
这个素性检验是根据费马小定理的逆定理来筛选大素数的。
但是由于其逆定理并不正确,对于卡迈克尔数即满足费马小定理的逆定理但是不为素数的数,虽然卡迈克尔数很少,在1~100000000范围内的整数中,只有255个卡迈克尔数,但是已经使他的效果落后于Miller-Rabin和Solovay-Strassen素性检验。
出错的概率
在选取底数a时,有二分之一的概率出错,但是可以通过多次选取底数来使出错概率降下期望值。
突破
2016年,我国物流工人提出了卡迈克尔数判别准则,
如果6k+1,18k+1,54k^2+12k+1都是素数(比如k=1,2),那么n必然是卡迈克尔数,与先前的判别法相比,这个公式的亮点就是新发现的二次式也可以作为卡迈克尔数因子。
时间复杂度
2.欧拉-雅克比伪素数和Solovay-Stassen素性检验(主要找课外知识)
想法
在模平方剩余判别时,欧拉判别法则要求模为奇素数,但是雅克比符号弱化了这样的条件,只要求模为奇整数,这样的变化可以用于判断模平方剩余,但是和欧拉定理不能等价,于是会存在伪素数。
欧拉伪素数:
设n为正奇合数,设整数b与n互素。如果整数n和b满足条件
则n叫做对于基b的欧拉-雅克比伪素数。
Solovay-Stassen算法:
出错的概率
所有欧拉-雅克比伪素数同时是费马伪素数,这个判别公式对所有素数都成立,因而可以用于概率素性检验,他的可靠性是费马素性检验的两倍多。
时间复杂度
3. Miller-Rabin素性检验(主要找课外知识)
想法
素性检测首先利用了因数分解式,将幂次n-1降低为以2为阶的各次幂,再利用中国剩余定理,推出强伪素数的满足条件,在算法优化中,采用模平方算法降低复杂度,这也是该算法的优势之一,大大提高了效率。
出错的概率
相比之下,这样的出错概率遥遥领先与费马素性检测和Solovay-Stassen素性检测。
时间复杂度
模平方算法下
转载请注明出处:https://www.cnblogs.com/merk11/
总结感悟
大数素性检测的发展,从最初的基于单一定理进行穷举检测,到特殊素数的检测,再到一般素数的综合检测,一步一步从复杂到简单,从特殊到一般;不仅如此,由于素数的重要性,人们更追求在更短时间内判定出素数,通过弱化某些条件或者寻找某些定理逆命题的可靠性,来概率性地判别素数,在概率性素数检测发展中,Miller-Rabin最为著名,也是由于他能够采用更加优良的模平方算法,大大降低了算法复杂度,使大数素数的判定速率有了质的飞跃。
数学家们至今仍然在素性检测的山峰上攀登,在学习过程中,我寻找到了不少基于黎曼猜想的素性检测,由于黎曼猜想并未完全被证明,这些素性检测便仍然有很大的局限性。
各个素性检测各有优势,对待不同的检测要求,大数范围,选取的素性检测也不同。素性检测在对应的场景,经过人工的调试,能够发挥更大的作用,比如概率性检测的安全参数k便可以根据要求而改变。
转载请注明出处:https://www.cnblogs.com/merk11/