二次剩余

概念

(n) 不是 (p) 的倍数且在模 (p) 的意义下和某个数的平方同余,则称 (n) 为模 (p) 的二次剩余,否则称 (n) 为模 (p) 的非二次剩余。

求解二次剩余就是求解形如:

[large x^2 equiv n pmod{p} ]

的方程。只考虑 (p) 为奇素数的情况。

解的数量

不考虑 (0),模 (p) 的二次剩余有 (frac{p-1}{2}) 个,非二次剩余有 (frac{p-1}{2}) 个。

勒让德符号

[largeleft(frac{n}{p} ight)=egin{cases} 1,\,&p mid n ext{且}n ext{是}p ext{的二次剩余}\ -1,\,&p mid n ext{且}n ext{不是}p ext{的二次剩余}\ 0,\,&pmid n end{cases} ]

由欧拉判别准则得:

[large left(frac{n}{p} ight)equiv n^{frac{p-1}{2}}pmod p ]

Cipolla 算法

找到一个数 (a) 满足 (a^2-n) 是非二次剩余,随机找即可,因为非二次剩余有 (frac{p-1}{2}) 个,期望 (2) 次即可找到。

设虚数单位 (i=sqrt{a^2-n}),得 (x^2 equiv n pmod{p}) 的解为 ((a+i)^{frac{p+1}{2}})

以上所有内容的证明在写了。

原文地址:https://www.cnblogs.com/lhm-/p/14274600.html