数论概论读书笔记 19.素性测试与卡米歇尔数

素性测试与卡米歇尔数

素数是整数中优美的一部分,辣怎么判别一个大数是不是素数呢?

费马小定理告诉我们 apa ( mod p) a p ≡ a   (   m o d   p )

首先,不满足上式的数,一定不是素数。

但当你尝试了许多 a a 之后发现都满足上式,也不能断言p就是素数。

对于大部分小的合数 n n ,你会发现选取的大部分a(a<n),都不满足费马小定理

但是!还是有一些合数,比如 561=31117 561 = 3 ∗ 11 ∗ 17 ,对所有的 0a<561 0 ≤ a < 561 ,发现都满足费马小定理!

下面证明一下,要证明 a561a (mod 561) a 561 ≡ a   ( m o d   561 ) ,只要证明

a561a (mod 3),a561a (mod 11),a561a (mod 17) a 561 ≡ a   ( m o d   3 ) , a 561 ≡ a   ( m o d   11 ) , a 561 ≡ a   ( m o d   17 )

为什么呢?因为若第一个式子成立,则 3 | a561a 3   |   a 561 − a ,同理11,17也整除,由于3,11,17互质,则561也整除。

对于第一个式子,若3能整除a,则显然成立;否则,由于 a21 (mod 3) a 2 ≡ 1   ( m o d   3 ) ,则 a561=a2280+1=(a2)280a1aa (mod 3) a 561 = a 2 ∗ 280 + 1 = ( a 2 ) 280 ∗ a ≡ 1 ∗ a ≡ a   ( m o d   3 )

后面两个式子同理。

从而 561 561 很特殊!

类似这样的数,称为卡米歇尔数。 http://oeis.org/A002997/b002997.txt

一些猜想:

  1. 卡米歇尔数都是奇数
  2. 卡米歇尔数是不同素数的乘积

证明1. 由于 ana (mod n) a n ≡ a   ( m o d   n ) ,令 a=n1 a = n − 1 ,则可得 (1)n1 (mod n) ( − 1 ) n ≡ − 1   ( m o d   n ) n n 是奇数。

证明2. 假设卡米歇尔数的任意一个素因子(次幂)为p(e+1) ,下面我们努力证明 e= e = 0,

pe p e 带入 ana (mod n) a n ≡ a   ( m o d   n ) ,得到 penpe (mod n) p e n ≡ p e   ( m o d   n ) ,所以 n | penpe n   |   p e n − p e ,又 pe+1 | n p e + 1   |   n ,所以 pe+1 | penpe p e + 1   |   p e n − p e

从而 e=0 e = 0 。证毕。

定理19.1(卡米歇尔数的考塞特判别法) 设n是合数,则n是卡米歇尔数当且仅当它是奇数,且整除n的每个素数 p p 满足下述两个条件:

  • p2不整除n

    • p1 p − 1 整除 n1 n − 1 (实际上也整除 np1 n p − 1
    • 证明:

      • 充分性: 类似上面证明561是卡米歇尔数。
      • 必要性: 前面已经证明卡米歇尔数是奇数且 p2 p 2 不整除 n n ,只要说明p1 | n1即可。(用原根比较方便?)

      存在无穷多个卡米歇尔数(1994年证明)


      卡米歇尔数的存在意味着我们需要更好的素性测试方法。

      合数的miller_rabin测试是基于以下事实的:

      定理19.2(素数的一个性质) p p 是奇素数,记p1=2kq q q 是奇数,a是不被 p p 整除的任何数,则下述两个条件之一一定成立,但满足条件之一的数不一定是素数(卡米歇尔数):

      • aq p p 余1
      • aq,a2q,a22q,...,a2k1q之一模 p p 1

        证明: 费马小定理告诉我们 ap11 (mod p) a p − 1 ≡ 1   ( m o d   p ) 。这意味着对于数表 aq,a2q,a22q,...,a2k1q,a2kq a q , a 2 q , a 2 2 q , . . . , a 2 k − 1 q , a 2 k q ,最后一个数模 p p 余1,且表中的每个数是前一个数的平方。因此下述两种可能之一必成立:

        • 表中的第一个数模p余1

        • 表中的一些数模 p p 不余1,但是,当平方时它就模p余1,所以该数是 1(mod p) − 1 ( m o d   p ) ,即表包含 1(mod p) − 1 ( m o d   p )
        • 证毕。

          定理19.3 miller_rabin测试 n n 是奇素数,记n1=2kq q q 是奇数,对不被n整除的某个 a a ,如果下述两个条件都成立,则n一定是合数:(但有不成立的也不一定是素数)

          • aq≢1 (mod n) a q ≢ 1   ( m o d   n )
          • 对所有的 i=0,1,2,...,k1,a2iq≢1 (mod n) i = 0 , 1 , 2 , . . . , k − 1 , a 2 i q ≢ − 1   ( m o d   n )

          和费马小定理测试相比,miller_rabin测试不存在“卡米歇尔型数”,因为可以保证,如果 n n 是奇合数,则1~n-1之间至少有75%的数可作为miller_rabin的证据。即这些数作为a时,可以说明其合数性。

          换句话说,每个合数都有许多证据来说明它的合数性。

          例如随机选取 a a 的100个值,若其中没有n的miller_rabin证据,则 n n 是合数的概率小于0.25100

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值