注明:本文中的x^y表示x的y次方
一、费马小定理
1.1 内容
若p为素数,a为正整数,且gcd(a,p)=1,则a^(p−1)≡1(mod p)。
1.2 证明
因为p为素数,所以gcd(i,p)=1(1<=i<=p-1,i为整数),可推出①gcd((p-i)!,p)=1,又因为gcd(a,p)=1,所以gcd(i∗a,p)=1,则②没有一个i*a是p的倍数。
设a=b*p+r,则gcd(i*r,p)=1,没有一个i*r是p的倍数。
假设有两个i*r同余于模p,则c*r≡d*r(mod p)(c<d),那么(d-c)*r≡0(mod p),即p|(d−c)∗r。由于1<=d−c<=p−1,这与没有一个i*r是p的倍数矛盾。所以i*r中没有任何两个同余与模p得证,即③i*a中没有任何两个同余与模p。
证明了①②③,我们就可以证明费马小定理了:
由于②③,我们可以得知i*a%p之后一定是1,2,3,…,p-1的一个排列,也就是:
a∗2a∗3a∗…∗(p−1)a≡1∗2∗3∗…∗(p−1)(mod p),即:
(p−1)!∗a^(p−1)≡(p−1)!(mod p)
因为①,所以可以同除以(p-1)!,得a^(p−1)≡1(mod p),费马小定理得证。
二、MR素数判断(优点:速度快 缺点:准确性低)
2.1 方法
Miller-Rabin素数测试(简称MR素数测试)利用费马小定理快速判断一个数是否是素数,但是由于这种方法只是较高概率不出现错误,并不是完全正确的,所以在时间充裕的情况下可不必使用这个方法。
2.2 实现
因为当n是素数,且gcd(a,n)=1时,a^(n−1)≡1(mod

本文详细介绍了费马小定理的原理和证明过程,并讲解了MR素数判断法,包括其快速性和准确性较低的特点。同时提到了卡迈克尔数对MR素数测试的影响。
—— 费马小定理及MR素数判断&spm=1001.2101.3001.5002&articleId=79765760&d=1&t=3&u=1d2e8f12ece8470b96c7d0c4038e4a5a)
736

被折叠的 条评论
为什么被折叠?



