定义
一个整数 x x x 对另一个整数 p p p 的二次剩余 ,指 x 2 x^2 x 2 模 p p p 的余数。
我们称整数 d d d 为模 p p p 的二次剩余 当且仅当 ∃ x ∈ Z s.t. x 2 ≡ d ( m o d p ) \exists x \in \mathbb{Z} \text{ s.t. } x^2 \equiv d \pmod p ∃ x ∈ Z s.t. x 2 ≡ d ( mod p ) ;反之,称 d d d 为模 p p p 的非二次剩余 。
上下文无歧义的情况下可以简称为剩余 和非剩余 。
素数的二次剩余
p = 2 p=2 p = 2 时,显然每个整数都是 p p p 的二次剩余。下面仅讨论奇素数 的情形:
首先观察到一个显然的结论:
x 2 ≡ ( p − x ) 2 ( m o d p ) x^2 \equiv (p-x)^2 \pmod p x 2 ≡ ( p − x ) 2 ( mod p )
因此,在 Z / p Z \mathbb{Z}/p\mathbb{Z} Z / p Z 中,模 p p p 的二次剩余一共有 p + 1 2 \frac{p+1}{2} 2 p + 1 个,分别是 0 2 , 1 2 , … , ( p − 1 2 ) 2 0^2, 1^2, \dots, (\frac{p-1}{2})^2 0 2 , 1 2 , … , ( 2 p − 1 ) 2 。忽略 0 0 0 的情形,则模 p p p 的二次剩余和二次非剩余各有 p − 1 2 \frac{p-1}{2} 2 p − 1 个。
Euler 准则 / Euler 判别法
Euler 准则 应用于判断整数 a a a 是否是素数 p p p 的二次剩余。
为方便叙述,先引入 Legendre 符号 :
( a p ) = { 0 , a ≡ 0 ( m o d p ) 1 , a ≢ 0 ( m o d p ) , ∃ x s.t. x 2 ≡ a ( m o d p ) − 1 , ∄ x s.t. x 2 ≡ a ( m o d p ) \left( \frac{a}{p} \right) =
\begin{cases}
0 ,& a \equiv 0 \pmod p\\
1 ,& a \not \equiv 0 \pmod p,\ \exists x \text{ s.t. } x^2 \equiv a \pmod p\\
-1 ,& \nexists x \text{ s.t. } x^2 \equiv a \pmod p
\end{cases} ( p a ) = ⎩ ⎨ ⎧ 0 , 1 , − 1 , a ≡ 0 ( mod p ) a ≡ 0 ( mod p ) , ∃ x s.t. x 2 ≡ a ( mod p ) ∄ x s.t. x 2 ≡ a ( mod p )
Euler 准则的内容是:对 ∀ a ∈ Z , p ∤ a \forall a \in \mathbb{Z}, p \nmid a ∀ a ∈ Z , p ∤ a :
( a p ) ≡ a p − 1 2 ( m o d p ) \left( \frac{a}{p} \right) \equiv a^{\frac{p-1}{2}} \pmod p ( p a ) ≡ a 2 p − 1 ( mod p )
证明待补充
由 Euler 准则可得到以下 Legendre 符号的性质 :
( ⋅ p ) \left(\frac{\cdot}{p}\right) ( p ⋅ ) 是完全积性函数 ,即 ∀ a , b ∈ Z , ( a b p ) = ( a p ) ( b p ) \forall a, b \in \mathbb{Z},\ \left(\frac{ab}{p}\right) = \left(\frac{a}{p}\right)\left(\frac{b}{p}\right) ∀ a , b ∈ Z , ( p ab ) = ( p a ) ( p b )
若 a ≡ b ( m o d p ) a \equiv b \pmod p a ≡ b ( mod p ) ,则 ( a p ) = ( b p ) \left(\frac{a}{p}\right) = \left(\frac{b}{p}\right) ( p a ) = ( p b )
( a 2 p ) = 1 \left(\frac{a^2}{p}\right) = 1 ( p a 2 ) = 1
由此知:
二次剩余的乘法逆元依然是二次剩余,非二次剩余的乘法逆元依然是非二次剩余;
两个二次剩余或者非二次剩余的乘积是二次剩余;
二次剩余和非二次剩余的乘积是非二次剩余。
二次互反律
对于两个奇素数 p p p 和 q q q :
( p q ) ⋅ ( q p ) = ( − 1 ) ( p − 1 ) ( q − 1 ) 4 \left({\frac{p}{q}}\right)\cdot \left({\frac{q}{p}}\right)=(-1)^{\frac{(p-1)(q-1)}{4}} ( q p ) ⋅ ( p q ) = ( − 1 ) 4 ( p − 1 ) ( q − 1 )
该定律可以将模数较大的二次剩余判别问题转移成模数较小的情形。
下面两个性质称为二次互反律的第一补充和第二补充 :
( − 1 p ) = ( − 1 ) p − 1 2 ≡ { 1 , p ≡ 1 ( m o d 4 ) − 1 , p ≡ 3 ( m o d 4 ) ( 2 p ) = ( − 1 ) p 2 − 1 8 ≡ { 1 , p ≡ 1 or 7 ( m o d 8 ) − 1 , p ≡ 3 or 5 ( m o d 8 ) \left(\frac{-1}{p}\right) = (-1)^{\frac{p-1}{2}} \equiv
\begin{cases}
1,& p \equiv 1 \pmod 4\\
-1,& p \equiv 3 \pmod 4
\end{cases}\\
\left(\frac{2}{p}\right) = (-1)^{\frac{p^2-1}{8}} \equiv
\begin{cases}
1,& p \equiv 1 \text{ or } 7 \pmod 8\\
-1,& p \equiv 3 \text{ or } 5 \pmod 8
\end{cases} ( p − 1 ) = ( − 1 ) 2 p − 1 ≡ { 1 , − 1 , p ≡ 1 ( mod 4 ) p ≡ 3 ( mod 4 ) ( p 2 ) = ( − 1 ) 8 p 2 − 1 ≡ { 1 , − 1 , p ≡ 1 or 7 ( mod 8 ) p ≡ 3 or 5 ( mod 8 )
对奇素数 p p p ,还有以下结论:
( 3 p ) = ( − 1 ) ⌈ p + 1 6 ⌉ = { 1 , p ≡ 1 or 11 ( m o d 12 ) − 1 , p ≡ 5 or 7 ( m o d 12 ) ( 5 p ) = ( − 1 ) ⌊ p − 2 5 ⌋ = { 1 , p ≡ 1 or 4 ( m o d 5 ) − 1 , p ≡ 2 or 3 ( m o d 5 ) ( 7 p ) = { 1 , p ≡ 1 , 3 , 9 , 19 , 25 , or 27 ( m o d 28 ) − 1 , p ≡ 5 , 11 , 13 , 15 , 17 , or 23 ( m o d 28 ) \left({\frac{3}{p}}\right)=(-1)^{\left\lceil {\frac{p+1}{6}}\right\rceil }=
{\begin{cases}
1,& p\equiv 1{\text{ or }}11{\pmod{12}}\\
-1,& p\equiv 5{\text{ or }}7{\pmod{12}}
\end{cases}}\\
\left({\frac{5}{p}}\right)=(-1)^{\left\lfloor {\frac{p-2}{5}}\right\rfloor }=
{\begin{cases}
1,& p\equiv 1{\text{ or }}4{\pmod 5}\\
-1,& p\equiv 2{\text{ or }}3{\pmod 5}
\end{cases}}\\
\left({\frac {7}{p}}\right)=
\begin{cases}
1,& p\equiv 1,3,9,19,25,{\text{or }}27{\pmod {28}}\\
-1,& p\equiv 5,11,13,15,17,{\text{or }}23{\pmod {28}}
\end{cases} ( p 3 ) = ( − 1 ) ⌈ 6 p + 1 ⌉ = { 1 , − 1 , p ≡ 1 or 11 ( mod 12 ) p ≡ 5 or 7 ( mod 12 ) ( p 5 ) = ( − 1 ) ⌊ 5 p − 2 ⌋ = { 1 , − 1 , p ≡ 1 or 4 ( mod 5 ) p ≡ 2 or 3 ( mod 5 ) ( p 7 ) = { 1 , − 1 , p ≡ 1 , 3 , 9 , 19 , 25 , or 27 ( mod 28 ) p ≡ 5 , 11 , 13 , 15 , 17 , or 23 ( mod 28 )
求解方程:Cipolla 算法
下面来解方程 x 2 ≡ d ( m o d p ) x^2 \equiv d \pmod p x 2 ≡ d ( mod p ) :
定理 设 a a a 满足 ω = a 2 − d \omega = a^2 - d ω = a 2 − d 不是模 p p p 的二次剩余,那么 x ≡ ( a + ω ) p + 1 2 ( m o d p ) x \equiv (a+\sqrt{\omega})^{\frac{p+1}{2}} \pmod p x ≡ ( a + ω ) 2 p + 1 ( mod p ) 满足 x 2 ≡ d ( m o d p ) x^2 \equiv d \pmod p x 2 ≡ d ( mod p ) 。
证明
首先观察到以下结论:
( p i ) ≡ 0 ( m o d p ) , i = 1 , 2 , … , p − 1 a p − 1 ≡ 1 ( m o d p ) ω p − 1 2 = ( ω p ) ≡ − 1 ( m o d p ) \binom{p}{i} \equiv 0 \pmod p,\ i = 1, 2, \dots, p-1\\
a^{p-1} \equiv 1 \pmod p\\
\omega^\frac{p-1}{2} = \left({\frac{\omega}{p}}\right) \equiv -1 \pmod p ( i p ) ≡ 0 ( mod p ) , i = 1 , 2 , … , p − 1 a p − 1 ≡ 1 ( mod p ) ω 2 p − 1 = ( p ω ) ≡ − 1 ( mod p )
因此有:
( a + ω ) p = a p + ∑ i − 1 p − 1 ( p i ) a i ( ω ) p − i + > ω p − 1 2 ω ≡ a p + ω p − 1 2 ω ( m o d p ) ≡ a − ω ( m o d p ) \begin{align*}
(a+\sqrt{\omega})^p
&= a^p + \sum_{i-1}^{p-1} \binom{p}{i}a^i(\sqrt{\omega})^{p-i} + > \omega^{\frac{p-1}{2}}\sqrt{\omega}\\
&\equiv a^p + \omega^\frac{p-1}{2} \sqrt{\omega} \pmod p \\
&\equiv a - \sqrt{\omega} \pmod p
\end{align*} ( a + ω ) p = a p + i − 1 ∑ p − 1 ( i p ) a i ( ω ) p − i + > ω 2 p − 1 ω ≡ a p + ω 2 p − 1 ω ( mod p ) ≡ a − ω ( mod p )
所以
x 2 = ( a + ω ) p + 1 = ( a + ω ) p ( a + ω ) ≡ ( a − ω ) ( a + ω ) ( m o d p ) ≡ a 2 − ( a 2 − d ) ( m o d p ) ≡ d ( m o d p ) \begin{align*}
x^2 &= (a+\sqrt{\omega})^{p+1}\\
&= (a+\sqrt{\omega})^p(a+\sqrt{\omega})\\
&\equiv (a-\sqrt{\omega})(a+\sqrt{\omega}) \pmod p\\
&\equiv a^2 - (a^2-d) \pmod p\\
&\equiv d \pmod p
\end{align*} x 2 = ( a + ω ) p + 1 = ( a + ω ) p ( a + ω ) ≡ ( a − ω ) ( a + ω ) ( mod p ) ≡ a 2 − ( a 2 − d ) ( mod p ) ≡ d ( mod p )
由上述定理,只需在 Z / p Z \mathbb{Z}/p\mathbb{Z} Z / p Z 中找到符合条件的 a a a ,即可求解方程 x 2 ≡ d ( m o d p ) x^2 \equiv d \pmod p x 2 ≡ d ( mod p ) 。使用随机数找 a a a 的次数期望为 2 2 2 ,计算 ( a + ω ) p + 1 2 m o d p (a+\sqrt{\omega})^{\frac{p+1}{2}} \mod p ( a + ω ) 2 p + 1 mod p 需要在二次域 Q ( ω ) \mathbb{Q}(\sqrt{\omega}) Q ( ω ) 上进行,算法复杂度为 O ( log p ) \mathrm{O}(\log p) O ( log p ) 。
素数乘方的二次剩余
先讨论 p = 2 p=2 p = 2 的情形:
引理 1 奇数 a a a 是 2 k 2^k 2 k 的二次剩余当且仅当 a ≡ 1 ( m o d 8 ) a \equiv 1 \pmod 8 a ≡ 1 ( mod 8 ) 。
证明
设 x = 2 m + 1 x = 2m + 1 x = 2 m + 1 ,则 x 2 = 4 m 2 + 4 m + 1 = 4 m ( m + 1 ) + 1 x^2 = 4m^2 + 4m + 1 = 4m(m+1) + 1 x 2 = 4 m 2 + 4 m + 1 = 4 m ( m + 1 ) + 1 ,故 x 2 ≡ 1 ( m o d 8 ) x^2 \equiv 1 \pmod 8 x 2 ≡ 1 ( mod 8 ) ,反正显然。
由引理 1 可推得,关于 2 2 , 2 3 , 2 4 , … 2^2, 2^3, 2^4, \dots 2 2 , 2 3 , 2 4 , … 的二次剩余是具有 4 k ( 8 m + 1 ) 4^k(8m+1) 4 k ( 8 m + 1 ) 形式的所有数;特殊地,4 4 4 的二次剩余是 0 , 1 0, 1 0 , 1 。
下面讨论 p p p 为奇素数的情形:
引理 2 若整数 a a a 和 p p p 互质,a a a 是 p p p 的若干次方的二次剩余当且仅当 a a a 是 p p p 的二次剩余。
证明略
若模数为 p n p^n p n ,那么 p k a p^ka p k a :
在 k ≥ n k \geq n k ≥ n 时是二次剩余(取模后为 0 0 0 );
在 k < n k < n k < n 时:
k k k 为奇数时不是二次剩余;
k k k 为偶数时是二次剩余当且仅当 a a a 是二次剩余。
模 p k p^k p k 意义下的二次剩余和非二次剩余的行为遵循和模 p p p 意义下相同的规则(见 Euler 准则 部分),而 p p p 不是 p 2 k + 1 p^{2k+1} p 2 k + 1 的二次剩余,上述结论显然易得。
合数的二次剩余
对合数 m = ∑ i = 1 α p i e i m = \sum\limits_{i=1}^\alpha p_i^{e_i} m = i = 1 ∑ α p i e i ,其中 p i p_i p i 为质数,且 ∀ i ≠ j , p i ≠ p j \forall i \neq j, p_i \neq p_j ∀ i = j , p i = p j :
若 a a a 是 m m m 的二次剩余,则 a a a 是任意 p i k p_i^k p i k 的二次剩余,其中 1 ≤ i ≤ α , k ≤ e i 1 \leq i \leq \alpha, k \leq e_i 1 ≤ i ≤ α , k ≤ e i ;
若 a a a 不是 m m m 的二次剩余,则存在 p i k p_i^k p i k 使得 a a a 不是 p i k p_i^k p i k 的二次剩余,其中 1 ≤ i ≤ α , k ≤ e i 1 \leq i \leq \alpha, k \leq e_i 1 ≤ i ≤ α , k ≤ e i 。
在模合数意义下,两个二次剩余的积依然是二次剩余;而两个非剩余、剩余和非剩余的积可能是 0 0 0 、剩余或非剩余。
例 1 (剩余和非剩余的积) 6 6 6 的二次剩余为 1 , 3 , 4 1, 3, 4 1 , 3 , 4 :
3 × 5 ≡ 3 ( m o d 6 ) 3 \times 5 \equiv 3 \pmod 6 3 × 5 ≡ 3 ( mod 6 ) ,结果为二次剩余;
4 × 2 ≡ 2 ( m o d 6 ) 4 \times 2 \equiv 2 \pmod 6 4 × 2 ≡ 2 ( mod 6 ) ,结果为非二次剩余。
例 2 (两个非剩余的积) 15 15 15 的二次剩余为 1 , 4 , 6 , 9 , 10 1, 4, 6, 9, 10 1 , 4 , 6 , 9 , 10 :
2 × 8 ≡ 1 ( m o d 15 ) 2 \times 8 \equiv 1 \pmod {15} 2 × 8 ≡ 1 ( mod 15 ) ,结果为二次剩余;
2 × 7 ≡ 14 ( m o d 15 ) 2 \times 7 \equiv 14 \pmod {15} 2 × 7 ≡ 14 ( mod 15 ) ,结果为非二次剩余。
这个现象可以从抽象代数的角度解释:Z / m Z \mathbb{Z}/m\mathbb{Z} Z / m Z 中所有和模 m m m 互质的同余类构成一个乘法群,称作 Z / m Z \mathbb{Z}/m\mathbb{Z} Z / m Z 上的可逆元群 ( Z / m Z ) ∗ (\mathbb{Z}/m\mathbb{Z})^* ( Z / m Z ) ∗ ;这些同余类的平方可构成可逆元群的子群 H H H 。不同的非剩余可能属于不同的陪集,也不存在一个简单的法则来判断其属于哪一个陪集。特殊地,m m m 为质数时,( Z / m Z ) ∗ (\mathbb{Z}/m\mathbb{Z})^* ( Z / m Z ) ∗ 除去子群 H H H 后只剩下一个陪集,故有特殊结论成立。