今天我来为大家介绍一个算法:
Miller_Rabin算法
是一个rp测试算法,顺便测试素数。
错误几率为 4 − s 4^{-s} 4−s,s为循环次数
开始之前,介绍两个要用到的数论公式:
1.费马小定理:
若 p 为质数,那么 n p − 1 ≡ 1 ( M o d p ) 若p为质数,那么n^{p-1}\equiv1(Mod\ p) 若p为质数,那么np−1≡1(Mod p)
2.二次探测定理:
若 p 为质数, x 2 ≡ 1 ( M o d p ) ,那么 x = 1 或 x = p − 1 若p为质数,x^{2}\equiv1(Mod\ p) ,那么x=1或x=p-1 若p为质数,x2≡1(Mod p),那么x=1或x=p−1
算法流程如下:
我们要测试你的人品并顺便测 p p p是不是素数
理解Miller-Rabin算法:基于二次探测定理与费马小定理

本文详细介绍了Miller-Rabin算法,一种用于测试素数的rp测试算法,其错误概率与循环次数有关。算法涉及到数论中的费马小定理和二次探测定理。通过随机选择底数x,根据费马小定理计算xf模p的等价关系,再结合二次探测定理进行多次幂运算验证,若条件不符则判断p非素数。循环次数由测试信心决定,代码实现未给出。
最低0.47元/天 解锁文章
1046

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



