Processing math: 0%

二次剩余学习笔记

前言:这是给自己看的博客


题意:解方程 x^2 \equiv n\pmod p,满足 p 是奇质数。

Part 1

首先判定这个方程是否有解。

如果一个数 n 满足有任意一个数 x 使得 x^2 \equiv n\pmod p(即方程有解),那么定义这个数 n\operatorname{mod} p 意义下的二次剩余,否则定义这个数 n\operatorname{mod} p 意义下的非二次剩余。

由于 p 是奇质数,根据费马小定理有

n^{p-1} \equiv 1 \pmod p\\ n^{2\times \frac{p-1}{2}} \equiv 1 \pmod p\\ (n^{\frac{p-1}{2}})^2 \equiv 1 \pmod p\\ n^{\frac{p-1}{2}} \equiv \pm 1 \pmod p

n\operatorname{mod} p 意义下的二次剩余,则有:

n^{\frac{p-1}{2}} \equiv (x^2)^{\frac{p-1}{2}} \equiv x^{p-1} \equiv 1

所以当 n\operatorname{mod} p 意义下的二次剩余时,则有 n^{\frac{p-1}{2}} \equiv 1,否则 n^{\frac{p-1}{2}} \equiv -1

于是我们就知道如何快速地判定一个数是否有解。

好像这个东西有个高深莫测的名字叫欧拉判别准则

Part 2

那么如何快速地得知这个数的解呢?

如果有两个解的话,那么两个解肯定是相反数,原因如下:

设这两个解为 x_0,x_1

x_0^2 \equiv n,x_1^2 \equiv n \Rightarrow x_0^2\equiv x_1^2 \Rightarrow x_0^2-x_1^2 \equiv 0 \Rightarrow (x_0+x_1)(x_0-x_1) \equiv 0 \pmod p

\begin{cases} x_0 \not = x_1 \Rightarrow x_0-x_1\not = 0\\ p是素数\Rightarrow p \not | \ x_0+x_1 \\ (x_0+x_1)(x_0-x_1) \equiv 0 \pmod p \end{cases} \Rightarrow x_0+x_1=0

而且由此也可以知道有 \frac{p-1}{2} 个数字对应着不同的二次剩余,剩下的 \frac{p-1}{2} 个数字对应着不同的非二次剩余

接下来就介绍奇奇妙妙的 \operatorname{Cipolla} 算法了,接下来的内容都抄袭着 \sf \color{red}{Kewth} 神仙的博客。

构造一个数字 a 使得 a^2-n 是一个非二次剩余(这个 a 可以直接随机出来,显然随机一次的概率有 50 \% 左右)

再构造一个解 i 使得 i^2 \equiv a^2-n

但是因为 a^2-n 是非二次剩余,故无解。于是我们将 i 扩展到复数域上,实部和虚部都在 \operatorname{mod} p 的意义下。

那么 (a+i)^{p+1}\equiv n \pmod p,考虑证明。

引理 1i^p = -i

i^p = i \times i^{p-1} = i \times (i^{2})^{\frac{p-1}{2}}=i \times (a^2-n)^{\frac{p-1}{2}}=i \times (-1)=-i

引理 2(A+B)^p \equiv A^p+B^p \pmod p

二项式定理易证。

根据上述两个引理,有:

(a+i)^{p+1} \\ (a+i)(a+i)^p \\ (a+i)(a^p+i^p) \\ (a+i)(a-i) \\ a^2-i^2

于是就有 (a+i)^{p+1} \equiv a^2-i^2,又因为 n \equiv a^2-i^2,所以 (a+i)^{p+1} \equiv n

所以方程的解之一就是 (a+i)^{\frac{p+1}{2}}

可以用反证法来证明这个解没有虚部。

posted on   exzang  阅读(169)  评论(0编辑  收藏  举报

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示