N次剩余和二次剩余


N次剩余

給定 \(N,a,P\),且 \(P\) 最好為質數
可以算出 \(x^N\equiv a(mod~p)\) 的解
首先可以算出 \(P\) 的原根 \(g\)
解方程 \(g^y\equiv b(mod~p)\),這個直接 \(BSGS\)
\(g^z\equiv x(mod~p)\)
那么 \(g^{za}=g^y(mod~p)\iff za\equiv y(mod~\varphi(p))\),這個直接 \(exgcd\)
無解在 \(BSGS\)\(exgcd\) 的時候判掉,最后快速冪得到答案

二次剩余

\(x^2\equiv n(mod~p)\)的一個解 \(x\),其中 \(p\) 為一個奇素數

有二次剩余的條件

\[n^{\frac{p-1}{2}} \equiv 1(mod~p) \]

證明

首先有 \(n^{p-1}\equiv 1(mod~p)\)
若存在一個解 \(a\),那么 \(a^{p-1}\equiv 1(mod~p)\)\(a^{2}\equiv n(mod~p)\)
所以

\[a^{p-1}\equiv n^{\frac{p-1}{2}}\equiv 1(mod~p) \]

算法一

如果 \(g\)\(p\) 的原根,且 \(g^{a}\equiv n(mod~p)\) 那么解就是 \(g^{\frac{a}{2}}\)

證明

結合上面的條件,有 \(g^{a\frac{p-1}{2}}\equiv 1(mod~p)\)
因為 \(g^{p-1}\equiv 1(mod~p)\),那么 \(a\) 一定為偶數
可以在 \(\Theta(\sqrt{p})\) 的復雜度內找到解

算法二

隨機一個數字 \(a\)
使得 \(a^2-n\) 不存在二次剩余,期望次數為 \(2\)
定義一個新的數域,設 \(\omega = \sqrt{a^2-n}\) (類似於 \(i=\sqrt{-1}\))
那么所有的數都可以表示為 \(a+b\omega\) 的形式
根據有解的條件可以得到

\[\omega^{p-1}\ne 1(mod~p) \]

\(\omega^{2(p-1)}\equiv 1(mod~p)\) 所以 \(\omega^{p-1}\equiv -1(mod~p)\)

定理 \((a+\omega)^{p}=a-\omega\)

證明

二項式定理展開得到 \(\sum_{i=0}^{p}\binom{p}{i}a^i\omega^{p-i}\)
顯然除了第 \(0\) 項和第 \(p\) 項的組合數不是 \(p\) 的倍數
那么就是 \(a^p+\omega^{p}\)
由於 \(a^{p-1}\equiv 1(mod~p)\)\(\omega^{p-1}\equiv -1(mod~p)\)
那么得到 \(a^p+\omega^{p}=a-\omega\)

這就好了,因為 \((a-\omega)(a+\omega)=a^2-\omega^2=n\)
所以 \((a+\omega)^{\frac{p+1}{2}}\equiv \sqrt{n}(mod~p)\)
現在只要證明 \((a+\omega)^{\frac{p+1}{2}}\) 不存在 \(\omega\) 項就好了
假設 \((a+\omega)^{\frac{p+1}{2}}=x+y\omega\)
那么 \((x+y\omega)^2=n\)
所以 \(x=0\) 或者 \(y=0\)
如果 \(x=0\)\(y\ne0\),那么 \((x+y\omega)^2=y^2(a^2-n)=n\)
因為 \(a^2-n\) 沒有二次剩余,而 \(y^2\) 顯然有二次剩余
所以 \(n\) 沒有二次剩余,矛盾
得到 \(y= 0\)

總結一下

第一步隨機一個 \(a\),使得\(a^2-n\) 不存在二次剩余
第二步直接重載運算求出 \((a+\omega)^{\frac{p+1}{2}}\)\(n\) 的二次剩余


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM