二次剩余

引入

\(x^2\equiv n\pmod{p}\),如果存在这样的实数 \(x\),称 \(n\)二次剩余;反之,称 \(n\)非二次剩余


解的个数

答案是:\(2\)

证明:

  • 如果存在 \(x_0\not=x_1\),满足 \(x_0^2\equiv x_1^2\pmod p\)

  • 则有 \(x_0^2-x_1^2\equiv (x_0+x_1)(x_0-x_1)\equiv0\pmod p\)

  • 因为 \(x_0\not =x_1\),所以 \(x_0-x_1\not= 0,x_0=p-x_1\)

  • 也就是说,\(x_0\)\(x_1\)\(\pmod p\) 的意义下互为相反数

  • 又因为 \(p\) 为 奇素数,所以 \(x_0\not= p-x_1\)

综上,如果 \(n\) 为二次剩余,则有且仅有 \(2\) 个解

我们也可以看出,\(p\) 一共有 \(\frac{p-1}{2}\) 个二次剩余


欧拉准则

如何判断一个数 \(n\) 是否为二次剩余?当且仅当:

\[n^{\frac{p-1}{2}}\equiv 1\pmod p \]

证明:

  • 由费马小定理,得 \(n^{p-1}\equiv 1\pmod p\)

  • 所以有 \(n^{\frac{p-1}{2}}\equiv \pm 1\pmod p\)

  • 如果 \(n\) 是二次剩余,则有 \((x^2)^{\frac{(p-1)}{2}}\equiv x^{p-1}\equiv 1\pmod p\)

必要性证毕

  • \(g\)\(p\) 的原根,令 \(n\equiv g^k\pmod p\)

  • 如果 \(n^{\frac{p-1}{2}}\equiv 1\pmod p\),有 \(g^{k\frac{p-1}{2}}\equiv 1\pmod p\)

  • 也就是说 \(p-1|k\times \frac{p-1}{2}\),即 \(k\) 为偶数

  • 因此有 \(n\) 必有一根 \(x=g^\frac{k}{2}\),也就是说 \(n\) 是二次剩余

充分性证毕

同时可以说明,当 \(n^{\frac{p-1}{2}}\equiv -1\pmod p\),那么 \(n\) 就是非二次剩余


Cipolla

会判断了,我们就要学会怎么求根

我们先找出一个 \(a\) 满足 \(a^2-n\)二次剩余(因为非二次剩余有 \(\frac{p-1}{2}\) 个,所以通过 rand() 可以较快找出满足条件的 \(a\)

再定义复数 \(z\) 满足 \(z^2\equiv a^2-n\),其他数都可以用 \(z\) 表示为 \(A+Bz\)\(A,B\in R\)类似于复数的实虚部

那么 \(n\) 的其中一个根就为 \((a+z)^{\frac{p+1}{2}}\)

证明:\((a+z)^{p+1}=n\)

    1. \(z^p\equiv -z\pmod p\)
    • \(z^p\equiv z(a^2-n)^{\frac{p-1}{2}}\equiv -z\pmod p\)
  • 2, \((x+y)^p\equiv x^p + y^p\pmod p\)

    • 根据二项式定理展开,因为 \(\forall 0<i<p,\ C_p^i\equiv 0\pmod p\),所以上述式子成立
  • 根据以上两个定理,就有

\[(a+z)^{p+1}\equiv (a+z)^p(a+z)\equiv (a^p+z^p)(a+z)\equiv (a-z)(a+z)\equiv a^2-z^2 \equiv n\pmod p \]

证毕

当然,还有个问题,就是 \((a+z)^{\frac{p+1}{2}}\) 的虚部一定是 \(0\)

证明:考虑使用反证法

  • 如果存在 \((A+Bz)^2\equiv n\pmod p,\ A,B\in R,\ B\not = 0\)

  • 那么有 \(A^2+2ABz+B^2z^2\equiv n\pmod p\),即 \(A^2+B^2(a^2-n)-n\equiv -2ABz\pmod p\)

  • 显然左式虚部为 \(0\),又因为 \(B\not = 0\),则 \(A=0\)

  • 所以应该有 \((Bz)^2\equiv n\pmod p\),即 \(z^2\equiv nB^{-2}\)

  • 因为 \(B^2\) 显然是二次剩余,那么 \(B^{-2}\) 也显然是二次剩余,\(nB^{-2}\) 也就是二次剩余

  • \(z^2\) 并不是二次剩余,与上述结论矛盾

  • 综上,\(n\) 的根一定是实数

证毕


代码

posted @ 2022-04-23 16:02  zuytong  阅读(92)  评论(0编辑  收藏  举报