二次剩余学习笔记

二次剩余学习笔记

前言

咕了很久,一直想学这算法来着,真是神仙算法。。。

问题:

求解\(x^2 \equiv n \pmod{p}(p为奇素数)\)

解析

定义1

\(n\)为模\(p\)意义下的二次剩余当且仅当\(x^2 \equiv n \pmod{p}\)有解,非二次剩余同理。

定理1

当且仅当\(n^{\frac{p-1}{2}} \equiv 1 \pmod{p}\)时,\(n\)为二次剩余,反之,若\(n^{\frac{p-1}{2}} \equiv -1 \pmod{p}\),则\(n\)为非二次剩余(不对\(n=0\)做考虑)。

证明1

先考虑\(n^{\frac{p-1}{2}}\)的取值情况,有:

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

即有:

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

所以:

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

而当\(n\)为二次剩余时,有\(x^2 \equiv n \pmod{p}\),又\(x^{p-1} \equiv 1 \pmod{p}\),所以:\(n^{\frac{p-1}{2}} \equiv 1 \pmod{p}\),反之,若\(n\)为非二次剩余,那么有:\(n^{\frac{p-1}{2}} \equiv -1 \pmod{p}\),得证。

定义2

类似复数的,我们对于模\(p\)意义下的非二次剩余\(x\),定义类似虚部的数\(i=\sqrt{x}\),当然,这样得到一类数的表示方法\(a+bi\),我们类比复数定义这一类数的运算,那么这一类数的四则运算具有自封闭性。

定理2

\(\omega=a^2-n\)为非二次剩余,那么\((a+\sqrt{\omega})^{\frac{p+1}{2}}\)(其中\(\sqrt{w}\)即可看做虚根做运算)即为\(n\)二次剩余的根,另一个根即为相反数。

证明2

先考虑一个式子\((a+\sqrt{\omega})^{p}\),用二项式定理展开,有:

\[(a+\sqrt{\omega})^{p}=\sum_{i=0}^{p}{i \choose p}a^{p-i}{\sqrt{\omega}}^{i}\]

又因为在模\(p\)意义下,当\(i不为0或p\)时,\({i \choose p} \equiv 0 \pmod{p}\)(展开一下就是了),那么有:

\[(a+\sqrt{\omega})^{p} \equiv a^p+{\sqrt{\omega}}^p \equiv a^p+w^{\frac{p-1}{2}}\sqrt{\omega} \equiv a-\sqrt{w}\pmod{p}\]

所以:

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

得证。

定理3

对于\(0 \lt n \leq p-1\),有\(\frac{p-1}{2}\)\(n\)为二次剩余。

证明3

很简单,直接枚举作为根的\(x\)\(x\)\(p-1\)中取值(不考虑0),而\(x^2 \equiv (p-x)^2\)
所以二次剩余只有\(\frac{p-1}{2}\)个取值,得证。

那么现在的唯一问题就是如何找到合适的\(a\)使得\(\omega\)满足条件,我们考虑随机,由定理3可知,\(a^2-n\)在模\(p\)意义下为非二次剩余的概率为\(\frac{p-1}{2p}\),那么这样随机的期望次数就接近于2,可以看做是\(O(1)\)求。自此,我们解决了这个具有特殊性的二次剩余,算法复杂度是多少呢?因为其中要快速幂,复杂度为\(O(\log{p})\)

猜你喜欢

转载自www.cnblogs.com/pkh68/p/10645107.html