【模板】【证明】任意模数下的二次剩余求解

2019-04-13 17:31发布

class="markdown_views prism-tomorrow-night">

什么是二次剩余问题

就是求解形如x2a (mod p)x^2equiv a ext{ } ( mod ext{ }p )
的关于xx的方程。 下面从不同的模数开始分类讨论解决二次剩余问题的方法

几个定义

如果关于xx的方程
x2a (mod p)x^2equiv a ext{ } ( mod ext{ }p )有解。 称aa是模pp意义下的二次剩余,否则称为模pp意义下的二次非剩余。 为什么会出现二次非剩余,其实很简单。 考虑在%p\%p意义下本质不同的数只会有pp个。而其中(t)2t2(mod p)(-t)^2equiv t^2(mod ext{ }p),根据抽屉原理,总会有至少O(p2)O(frac{p}{2})的数无法被t2%pt^2\%p表示出来 勒让德符号(Legendre symbolLegendre ext{ }symbol):
(ap)={1a%p1a%p0a0(mod p) (frac{a}{p})=left{ egin{aligned} 1 &&&a是\%p下的二次剩余 \ -1 &&&a是\%p下的二次非剩余 \ 0 &&& aequiv0(mod ext{ }p) end{aligned} ight. 稍后会告诉怎么求勒让德符号。

1.模数为奇质数

首先来考虑pp是奇质数的情况。

解的存在性问题

欧拉准则:

欧拉准则:(ap)ap12(mod p)(frac{a}{p})equiv a^{frac{p-1}{2}}(mod ext{ }p)pap mid a的时候欧拉准则显然成立。 否则由费马小定理我们有ap11mod p)a^{p-1}equiv 1(mod ext{ }p) 所以必然有ap12±1(mod p)a^{frac{p-1}{2}}equiv pm1(mod ext{ }p) 先证明(ap)=1(frac{a}{p})=1的情况
必要性:
aa%p\%p意义下的二次剩余,即x,x2a(mod p)exist x,x^2equiv a(mod ext{ }p) 那么我们有ap12(x2)p12xp11(mod p)a^{frac{p-1}2}equiv (x^2)^{frac{p-1}2}equiv x^{p-1}equiv 1(mod ext{ }p) 必要性证明完毕
充分性:
pp有一个原根gg,那么必然有gia(mod p)g^iequiv a(mod ext{ }p) 则:gi(p1)21(mod p)g^{frac{i(p-1)}2}equiv 1(mod ext{ }p) 由于gg为原根,所以必然会有(p1)i(p1)2(p-1)midfrac{i(p-1)}{2}ii是偶数。 必然存在解x0gi2(mod p)x_0equiv g^{frac{i}2}(mod ext{ }p) 充分性证毕。 那么(ap)1(mod p)(frac{a}p)equiv-1(mod ext{ }p)的情况也就十分显然了。 首先由费马小定理ap12±1(mod p)a^{frac{p-1}{2}}equiv pm 1(mod ext{ }p) 由于前面的欧拉准则在(ap)=1(frac{a}{p})=1的必要性,二次非剩余的情况下x2ap11(mod p)x^2equiv a^{p-1}equiv -1(mod ext{ }p),显然不可能,违反了费马小定理。

求解:

O(log2p)O(log^2 p)解法:

首先求出p1=2tsp-1=2^ts