大步小步
問題
有式子 \(a^x=b \pmod{p}\),給 \(a,b\),找出 \(x\)
設 \(x=im+j\) 其中 \(m=\sqrt{p}\),且 \(1\le i, j\le m\)。我們就可以列出
\(a^{im+j}=b\pmod{p}\)
\(\Rightarrow a^{j}=(a^{-m})^i b\pmod{p}\)
預處以所有 \(a^j\) 和 \((a^{-m})^i\times b\) 跑過的所有可能,就能找到相同的數,這可以用 map 之類的來實現
有式子 \(a^x=b \pmod{p}\),給 \(a,b\),找出 \(x\)
設 \(x=im+j\) 其中 \(m=\sqrt{p}\),且 \(1\le i, j\le m\)。我們就可以列出
\(a^{im+j}=b\pmod{p}\)
\(\Rightarrow a^{j}=(a^{-m})^i b\pmod{p}\)
預處以所有 \(a^j\) 和 \((a^{-m})^i\times b\) 跑過的所有可能,就能找到相同的數,這可以用 map 之類的來實現