初等数论--同余--Fermat素性检测算法(为什么每次概率改变1/2)

本文介绍了Fermat素性检测算法,通过概率分析解释了为何每次检测后认为素数的概率减半。博主探讨了在连续k次检测中,合数被误判为素数的概率,并利用贝叶斯定理进行推导,指出当测试次数增加时,错误判断的概率逐渐减小。

初等数论--同余--Fermat素性检测算法(为什么每次概率改变1/2)

博主是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。
我整理成一个系列:初等数论,方便检索。

费马小定理,对于 a ∈ Z , p a\in Z,p aZ,p为素数,有 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv 1(mod p) ap11(modp)

这是由已知素数公式,那么如果已有公式呢?能推测p就一定是素数吗?这就是费马素性检测算法要告诉我们的内容,p是素数的概率

伪素数:如果 n n n是奇合数,对于 b ∈ Z , b\in Z, bZ, b n − 1 ≡ 1 ( m o d n ) , b^{n-1}\equiv 1(mod n), bn11(modn),那么称 n n n是对于基 b b b的伪素数。(伪素数不能单独存在,一定是针对某一个基成立的性质)

算法流程:
给定某一奇整数 n ≥ 3 n\ge 3 n3和安全参数 k k k,即检测不超过 k k k次。

  • 随机取某一整数 b b b,
  • g = ( b , n ) g=(b,n) g=(b,n),如果 g ≠ 1 g\neq1 g=1,则" n n n为合数";
  • h = b n − 1 ( m o d n ) h=b^{n-1}(mod n) h=bn1(modn),如果 h ≠ 1 h\neq 1 h=1,则" n n n为合数";
  • 如果以上两条皆不满足,那么" n n n可能为素数";
  • 重复 k k k次,如果得到一次" n n n为合数",则 n n n为合数;若每次都得到" n n n可能为素数",则 n n n为素数的概率为 1 − 1 2 k 1-\frac1{2^k} 12k1

我有一个问题还没有解决,为什么是 1 2 k , \frac1{2^k}, 2k1,素数合数的分布是不均匀的,为什么能用 1 2 \frac{1}{2} 21

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值