二次剩余学习笔记

二次剩余

二次剩余,是对下面这个方程求解
x 2 ≡ n ( m o d p ) x^2 \equiv n \pmod p\\ x2n(modp)
(其中 p p p 为奇素数)

ps.以下内容都是建立在 n ≠ 0 n\not=0 n=0 的基础上的,因为 n = 0 n=0 n=0 时显然,且答案是在   m o d     p \bmod\ p mod p 意义下的。

我们使用欧拉准则来判断这个方程是否有解。
由费马小定理,得
n p − 1 ≡ 1 ( m o d p ) ∵ p 为奇素数 ∴ n 2 ( p − 1 2 ) ≡ 1 ( m o d p ) ∴ n p − 1 2 ≡ 1 ( m o d p ) 或 n p − 1 2 ≡ − 1 ( m o d p ) n^{p-1} \equiv 1 \pmod p\\ \because p为奇素数\\ \therefore n^{2(\frac{p-1}{2})}\equiv 1\pmod p\\ \therefore n^{\frac{p-1}{2}}\equiv 1\pmod p或n^{\frac{p-1}{2}}\equiv -1\pmod p np11(modp)p为奇素数n2(2p1)1(modp)n2p11(modp)n2p11(modp)
若这个方程有解,则有
x p − 1 ≡ 1 ( m o d p ) 或 x p − 1 ≡ − 1 ( m o d p ) x^{p-1}\equiv 1\pmod p或x^{p-1}\equiv -1\pmod p xp11(modp)xp11(modp)
后者显然不成立,所以 n p − 1 2 ≡ − 1 ( m o d p ) n^{\frac{p-1}{2}}\equiv -1\pmod p n2p11(modp) 时方程无解。

下面,我们证 n p − 1 2 ≡ 1 ( m o d p ) n^{\frac{p-1}{2}}\equiv 1\pmod p n2p11(modp) 时方程有解。

我们将 n n n g k g^k gk 表示,其中 g g g p p p 的原根,则有
g k ( p − 1 2 ) ≡ 1 ( m o d p ) ∵ p − 1 ∣ k ( p − 1 2 ) ∴ 2 ∣ k ,即 k 为偶数 ∴ 原方程的一个解即为 g k 2 g^{k(\frac{p-1}{2})}\equiv 1\pmod p\\ \because p-1|k(\frac{p-1}{2})\\ \therefore 2|k,即 k 为偶数\\ \therefore 原方程的一个解即为g^{\frac{k}{2}} gk(2p1)1(modp)p1∣k(2p1)2∣k,即k为偶数原方程的一个解即为g2k
这样我们就证明了 n p − 1 2 ≡ 1 ( m o d p ) n^{\frac{p-1}{2}}\equiv 1\pmod p n2p11(modp) 是原方程有解的充要条件。

那么,这个方程究竟有几个解呢?我们先假设这个方程有多个解,那么对于任意两个解 x 1 , x 2 x_1,x_2 x1,x2,有
x 1 2 ≡ x 2 2 ( m o d p ) ∴ x 1 2 − x 2 2 ≡ 0 ( m o d p ) ∴ ( x 1 + x 2 ) ( x 1 − x 2 ) ≡ 0 ( m o d p ) ∵ x 1 , x 2 ≤ p ∴ x 1 − x 2 ≢ 0 ∴ x 1 + x 2 ≡ 0 x_1^{2} \equiv x_{2}^{2} \pmod p\\ \therefore x_1^2-x_2^2\equiv 0\pmod p\\ \therefore (x_1+x_2)(x_1-x_2)\equiv 0\pmod p\\ \because x_1,x_2\leq p\\ \therefore x_1-x_2\not\equiv 0\\ \therefore x_1+x_2\equiv 0\\ x12x22(modp)x12x220(modp)(x1+x2)(x1x2)0(modp)x1,x2px1x20x1+x20
由此可得,方程有且仅有两个解,且它们互为相反数。

因为是在   m o d     p \bmod \ p mod p 意义下,所以 x x x 的相反数为 p − x p-x px

那么对于 1 1 1 p − 1 p-1 p1 p − 1 2 \frac{p-1}{2} 2p1 对相反数,每一对都对应一个二次剩余,且互不相等,也就是说, 1 1 1 p − 1 p-1 p1 中,有 p − 1 2 \frac{p-1}{2} 2p1 个数是二次剩余,而有 p − 1 2 \frac{p-1}{2} 2p1 个数不是二次剩余。

我们用 Cipolla 算法对这个方程进行求解。

先在 [ 1 , p − 1 ] [1,p-1] [1,p1] 中随机一个 a a a ,使 a 2 − n a^2-n a2n 是非二次剩余,因为 [ 1 , p − 1 ] [1,p-1] [1,p1] 中非二次剩余的数有 p − 1 2 \frac{p-1}{2} 2p1 个,所以我们的期望随机次数是 2 2 2 次。

接下来,我们定义
i 2 ≡ a 2 − n ( m o d p ) i^2 \equiv a^2-n \pmod p i2a2n(modp)
(我知道这个方程无解,但是这里的 i i i 其实是类似复数的一个定义,我们定义这样的一个数,使得它的平方为 a 2 − n a^2-n a2n

方程的解即为 ± ( a + i ) p + 1 2 \pm(a+i)^{\frac{p+1}{2}} ±(a+i)2p+1

我们考虑证明。
x x x 代入,得
( a + i ) p + 1 (a+i)^{p+1} (a+i)p+1
我们可以将其拆成
( a + i ) p ( a + i ) (a+i)^p(a+i) (a+i)p(a+i)
由二项式定理,得
( a + i ) p = ∑ j = 0 p ( p j ) a j i p − j (a+i)^p=\sum_{j=0}^{p}{p \choose j}a^ji^{p-j} (a+i)p=j=0p(jp)ajipj
  m o d     p \bmod \ p mod p 意义下,因为 j ∈ [ 1 , p − 1 ] j\in[1,p-1] j[1,p1] 时组合数中都含有 p p p 这一项,所以   m o d     p \bmod \ p mod p 0 0 0 ,因此
( a + i ) p ≡ a p + i p ≡ a + i p ( m o d p ) (a+i)^p\equiv a^p+i^p\equiv a+i^p \pmod p (a+i)pap+ipa+ip(modp)
我们将 i p i^p ip 进行化简,得
i p ≡ i ( i 2 ) p − 1 2 ≡ i ( a 2 − n ) p − 1 2 ≡ − i ( m o d p ) i^p\equiv i(i^2)^{\frac{p-1}{2}}\equiv i(a^2-n)^{\frac{p-1}{2}}\equiv -i\pmod p ipi(i2)2p1i(a2n)2p1i(modp)
原式即为
( a − i ) ( a + i ) ≡ a 2 − i 2 ≡ n ( m o d p ) (a-i)(a+i)\equiv a^2-i^2\equiv n\pmod p (ai)(a+i)a2i2n(modp)

然后就证明完了(?

嘶,这算不算写完了

应该算的吧。。。

那就这样吧,不想写了()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值