x
2
≡
n
(
m
o
d
p
)
x^2\equiv n\ (mod\ p)
x2≡n(modp),
p
p
p是奇素数。
如果存在一个
n
n
n满足以上方程有解,那么就称
n
n
n是
p
p
p的一个二次剩余。
判断
勒让德符号
(
p
n
)
=
n
p
−
1
2
(^{n}_{p})=n^{\frac{p-1}{2}}
(pn)=n2p−1
(
p
n
)
=
1
(^{n}_{p})=1
(pn)=1:是二次剩余。因为如果是二次剩余的话,存在
n
=
n
1
2
\sqrt{n}=n^{\frac{1}{2}}
n=n21,那么就有
n
p
−
1
≡
1
(
m
o
d
p
)
\sqrt{n}^{p-1}\equiv1(mod\ p)
np−1≡1(modp),即
n
p
−
1
2
≡
1
(
m
o
d
p
)
n^{\frac{p-1}{2}}\equiv1(mod\ p)
n2p−1≡1(modp)
(
p
n
)
=
−
1
(^{n}_{p})=-1
(pn)=−1:不是1那不就只能是-1了吗。无二次剩余相当于是对于任意一个
i
i
i都存在一个
j
j
j使得
i
j
=
n
(
m
o
d
p
)
,
i
!
=
j
ij=n(mod\ p),i!=j
ij=n(modp),i!=j,那么
(
p
−
1
)
!
=
n
p
−
1
2
(p-1)!=n^{\frac{p-1}{2}}
(p−1)!=n2p−1(将
i
,
j
i,j
i,j两两组再一起),又有
(
p
−
1
)
!
=
−
1
(p-1)!=-1
(p−1)!=−1(除了1和p-1以外两两相乘为1),所以上式成立。
(
p
n
)
=
0
(^{n}_{p})=0
(pn)=0:
p
∣
n
p|n
p∣n
开根号
上面的判断并不是重点,关键是怎么求出来它的一个解。
首先在
[
0..
p
−
1
]
[0..p-1]
[0..p−1]随机找到一个
a
a
a,令
w
=
a
2
−
n
w=a^2-n
w=a2−n,要求
(
p
w
)
=
−
1
(^w_p)=-1
(pw)=−1,解就是
(
a
+
w
)
p
+
1
2
(a+\sqrt w)^{\frac{p+1}{2}}
(a+w)2p+1
因为只有一半的
w
w
w是二次剩余,所以有
1
2
\frac{1}{2}
21的概率随机到,期望2次即可。
证明:
首先根据二项式定理可以得到
(
a
+
w
)
p
=
a
p
+
w
p
(
m
o
d
p
)
(a+\sqrt w)^p=a^p+\sqrt w^p \ (mod\ p)
(a+w)p=ap+wp(modp)
因为
w
p
−
1
2
=
−
1
w^{\frac{p-1}{2}}=-1
w2p−1=−1,所以
w
p
−
1
=
−
1
\sqrt w^{p-1}=-1
wp−1=−1,所以
w
p
=
−
w
\sqrt w^p=-\sqrt w
wp=−w。
还有
a
p
=
a
(
m
o
d
p
)
a^p=a\ (mod\ p)
ap=a(modp)
所以
(
a
+
w
)
p
=
a
p
+
w
p
=
a
−
w
(
m
o
d
p
)
(a+\sqrt w)^p=a^p+\sqrt w^p =a-\sqrt w\ (mod\ p)
(a+w)p=ap+wp=a−w(modp)
那么
(
a
+
w
)
p
+
1
=
(
a
+
w
)
(
a
−
w
)
=
a
2
−
w
=
n
(a+\sqrt w)^{p+1}=(a+\sqrt w)(a-\sqrt w)=a^2-w=n
(a+w)p+1=(a+w)(a−w)=a2−w=n
所以如果存在解的话,那么这个解就是
(
a
+
w
)
p
+
1
2
(a+\sqrt w)^{\frac{p+1}{2}}
(a+w)2p+1
需要注意的是
w
\sqrt w
w实际上在
m
o
d
p
mod\ p
modp意义下是没有值的,但是因为这个解是存在的,所以只需要带入一个
(
a
+
b
w
)
(a+b\sqrt w)
(a+bw)进去快速幂,最后的
w
\sqrt w
w是会被消掉的。