二次剩余

二次剩余

求啥?

要求解的东西是\[x^2\equiv n(mod\ p)\]
其中\(p\)是一个奇质数。

前置条件

有二次剩余的条件:
\[n^{\frac{p-1}{2}}\equiv 1(mod\ p)\]

  • 证明:
    根据费马小定理,有\(n^{p-1}\equiv 1(mod\ p)\)
    假设存在解\(x\),那么有\(a^{p-1}\equiv 1(mod\ p)\),还有\(a^2\equiv n(mod\ p)\)
    那么有:
    \[a^{p-1}=(a^2)^{\frac{p-1}{2}}=n^{\frac{p-1}{2}}\equiv 1(mod\ p)\]

怎么做呢?

  • 第一种做法:
    假设\(g\)\(p\)的原根,那么只需要求解\(g^a\equiv n(mod\ p)\),那么解\(x=g^{\frac{a}{2}}\)
    这里需要解决的问题就是为什么\(a\)一定会是一个偶数。
    回到上面的式子,经保证存在解了,所以\((g^a)^{\frac{p-1}{2}}\equiv 1(mod\ p)\)
    而由于费马小\(g^{p-1}\equiv 1(mod\ p)\),所以可以知道\(g^\frac{a}{2}\)肯定是有意义的。
    所以一个合法的解就是\(x=g^{\frac{a}{2}}\)
    而这个\(a\)的求解可以使用\(BSGS\)\(O(\sqrt n)\)的复杂度里面求解。

  • 第二种做法
    发现大概是一半的数存在二次剩余,另外一般不存在。我们先随便找一个\(a\),使得\(a^2-n\)不存在二次剩余,这个随便找的期望次数是\(2\)次。
    \(\omega=\sqrt{a^2-n}\),这个定义类似\(i\)的定义,这样一来所有数都可以表示成\(a+b\omega\)的形式。
    因为\(\omega^2\)这个东西不存在二次剩余,所以\((\omega^2)^{\frac{p-1}{2}}=\omega^{p-1}\neq 1(mod\ p)\)
    但是\((\omega^2)^{p-1}\equiv 1(mod\ p)\),所以我们知道了\(\omega^{p-1}\equiv -1(mod\ p)\)
    我们要求的是\(n\)\(n=a^n-\omega^2=(a+\omega)(a-\omega)\)
    先考虑\(a-\omega\)这一项,根据费马小有\(a^{p-1}\equiv 1(mod\ p)\)
    根据前面推的东西有\(\omega^{p-1}\equiv -1(mod\ p)\)
    所以\(a-\omega\equiv a^p+\omega^p(mod\ p)\)
    而因为\(p\)是质数,所以在\(p\choose j\)中,只有\(j=0,p\)的时候\(p\choose j\)才不是\(p\)的倍数。
    所以可以得到在模意义下\((a+\omega)^p\equiv a-w(mod\ p)\)
    于是我们就得到了:\((a+\omega)^{p+1}\equiv n(mod\ p)\)
    因为要求的是\(n\)的二次剩余,而\(p+1\)也恰好是偶数,所以我们得到了答案\((a+\omega)^{\frac{p+1}{2}}\)
    问题是这个东西里面很可能带有\(\omega\)项,所以我们就来证明其中不含有\(\omega\)。接下来默认把同余给写成\(=\)了。
    假设\((a+\omega)^{\frac{p+1}{2}}=xa+y\omega\),所以\((xa+y\omega)^2=n\)
    拆开之后得到\(x^2a^2+y^2(a^2-n)+2xay\omega=n\)
    所以\(x=0\)或者\(y=0\)
    假设\(x=0,y\neq 0\),那么\(y^2(a^2-n)=n\),左边的\(y^2\)显然有二次剩余\(y\)\(a^2-n\)没有二次剩余,所以其乘积也没有二次剩余,与\(n\)有二次剩余矛盾。
    所以\(y=0\)
    这样子就做完啦。

posted @ 2019-05-08 09:53 小蒟蒻yyb 阅读(...) 评论(...) 编辑 收藏