整除性(Divisibility)
b|a:设a,b∈Z,如果存在一个q∈Z,使得a=qb,则称b整除a,记作“b|a”。
(或称:a被b整除,b是a的因子,a是b的倍数,b|a <=> a=qb)
性质
- b|0
- 1|b
- 0|a <=> a=0
- b|a <=> b|-a <=> -b|a
- (自反性)a|a
- (传递性)b|a 且 a|c,则 b|c
- (相乘性)b|a,则 bc|ac
- (消去性)bc|ac 且 c!=0,则 b|a
- (线性性)b|a 且 b|c,队友所有s,t ∈Z,都有 b|(sa±tc)
- (比较性)如果a,b∈N且b|a,则b≤a
定理
设a,b∈Z,则b|a且a|b当且仅当a=±b,特别地,a|1当且仅当a=±1。
素数(Prime)
定义
设n∈N且n≥2,除了1和n以外,没有其他正整数整除n,n称作“素数”;否则,n称作“合数”。
PS:1既不是素数,也不是合数。
PS:n为合数,则n=ab,其中1<a<n,1<b<n。
引理2-1
任何大于1的整数必有素因子。
定理2-1
任何合数n都至少有一个不超过√n的素因子。
判断n是否为素数:判断n是否为素数:如果所有素数p≤√n都不能整除n,则n是素数。
定理2-2(算数基本定理)
任何非零整数n,可以表现成如下的乘积形式:
n
=
±
P
1
e
1
⋅
⋅
⋅
P
r
e
r
n = ± P_1^{e_1}···P_r^{e_r}
n=±P1e1⋅⋅⋅Prer
其中,
p
1
,
⋅
⋅
⋅
,
p
r
p_1,···,p_r
p1,⋅⋅⋅,pr是互不相同的素数,
e
1
,
⋅
⋅
⋅
,
e
r
e_1,···,e_r
e1,⋅⋅⋅,er是正整数。
注:
- 这个表现形式是唯一的(忽略乘子的顺序)
- 认为±1可以表示为零个素因子项相乘(r=0),因为通常把零个素数相乘的结果作为1。
定理2-3(欧几里得定理,Euclid’s Theorem)
素数有无穷多个
模运算
**a mod b:**设a,b ∈ Z 且 b > 0,如果q,r ∈ Z 满足 a = q b + r,且0 ≤ r < b,则定义:a mod b = r。
- b|a <=> a mod b = 0
- (a+b) mod n = (a mod n + b mod n) mod n
- (a-b) mod n = (a mod n - b mod n) mod n
- (a*b) mod n = (a mod n * b mod n) mod n
最大公约数
设a,b∈Z,如果d∈Z且d|a,d|b,则称d是a和b的公因子(公约数)。
如果d≥0,且a和b的所有公因子都整除d,则称d是a和b的最大公约数,记作gcd(a,b)。
互素
设a,b∈Z,如果gcd(a,b)=1,则称a和b互素。
PS:设gcd(a,b)=d,则存在q1,q2∈Z,使得a=q1 d,b=q2 d,且gcd(q1,q2)=1。
欧几里得算法(Euclid’s algorithm)-- 辗转相除法
不失一般性,设a≥b≥0,求gcd(a,b)
数学原理:
- b=0时,gcd(a,b)=a
- b>0时,gcd(a,b)=gcd(b,r)
a=qb+r
扩展的欧几里得算法
定理5-1 (最大公约数定理)
设a,b∈Z,d=gcd(a,b),则存在s,t∈Z,使得as+bt=d
特别地:gcd(a,b)=1<=>as+bt=1
推论:d|v <=>as+bt=v
扩展的欧几里得算法(广义欧几里得算法)(Extended Euclidean Algorithm)
用途
计算as+bt=gcd(a,b)中的s和t
最小公倍数(Least Common Multople)
设a,b∈Z,如果m∈Z分别是a和b的倍数,m称作a和b的公倍数。
lcm(a,b):a和b的最小公倍数
a,b≠0:m是a和b所有正的公倍数中最小,m叫做a和b的最小公倍数
性质
- 设 m = lcm(a,b), 如果 a|c , b|c ,则 m|c。
- gcd(a,b)=1 =>lcm(a,b)=ab
- lcm(a,b) = ab / gcd(a,b)
定理7-1
设p是素数,a,b∈Z,则p|ab => p|a 或 p|b
推论:设p是素数,a1,…,1k∈Z,则p|a1…ak => p|ai,i∈{1,…,k }
等价关系(equivalence relation)
定义(等价关系)
设集合S,定义在S上的二元关系R。如果R满足意义昂性质,则称它为“等价关系”:
- 自反性:对于所有a∈S,都有(a,a)∈R
- 对称性:对于所有a,b∈S,都有(a,b)∈R => (b,a)∈R
- 传递性:对于所有a,b,c∈S,都有(a,b)∈R,(b,c)∈R => (a,c)∈R
同余(congruence)
a≡b(mod n):设n为正整数,整数a和b分别模n,如果得到相同的余数,就称a和b在模n下满足同余关系,简称同余。
定义(同余关系)
设a,b,n∈Z,n>0,如果n|(a-b),就称a和b在模n下同余,记作a≡b(mod n)。
性质
a≡b(mod n) <=> a = qn+b,存在q∈Z。
PC:同余关系是等价关系。
乘法逆元
定义
设a∈Z,n∈N,如果az≡1(mod n),成z是模n下a的乘法逆元,记作
a
−
1
=
z
a^{-1} = z
a−1=z
注意1:模n下互为乘法逆元,一般只考虑比n小的。
注意2:a在模n内的乘法逆元是唯一的。
注意3:乘法逆元存在的条件:
gcd(a,n)=1 <=> 模n下,a有乘法逆元
求乘法逆元
算法:扩展的欧几里得算法
设gcd(a,n)=1,根据最大公约数定理,有
a
s
+
t
n
=
1
as+tn=1
as+tn=1
等式两边同时模n,得
a
s
≡
1
(
m
o
d
n
)
as≡1(mod n)
as≡1(modn)
易知,模n下a的逆元是s
一次同余方程
消去律(cancellation law)
定义(同余下的消去律)
设a,n∈Z,n>0,如果gcd(a,n)=d,有
az ≡ az’ (mod n) => z ≡ z’ (mod n / d)
PC:原模数为n,最终模数为n’,设n/n’=d,有0~n-1之间解的数量恰好等于d。
一次同余方程有解的条件
若gcd(a,n)=d,则ax≡b(mod n)有解 <=> d|b
剩余类
-
设a∈Z,定义其剩余类为{x∈Z|x≡a(mod n)}。
-
集合S上的所有等价类形成S的一个划分:
- S中每个元素必存在于唯一的等价类中
- 所有等价类的并集恰好就是S
-
模n下含整数a的剩余类,记作 [ a ] n [a]_n [a]n不引起歧义时,简记为[a]。
-
剩余类里的每个整数都叫做这个剩余类的代表元。
-
剩余类集合表示: Z n Z_n Zn
剩余类中的乘法逆元
- Z n = [ 0 ] , [ 1 ] , . . . [ n − 1 ] ,设 u , v ∈ Z n Z_n = {[0],[1],...[n-1]},设u,v∈Z_n Zn=[0],[1],...[n−1],设u,v∈Zn 若 u v = [ 1 ] ,则 u 和 v 互为乘法逆元 若uv=[1],则u和v互为乘法逆元 若uv=[1],则u和v互为乘法逆元
- Z n = [ 0 ] , [ 1 ] , . . . [ n − 1 ] ,设 u = [ a ] , v = [ b ] ,则 Z_n = {[0],[1],...[n-1]},设u=[a],v=[b],则 Zn=[0],[1],...[n−1],设u=[a],v=[b],则 u 和 v 互为乘法逆元 < = > a b = 1 ( m o d n ) u和v互为乘法逆元<=>ab=1(mod n) u和v互为乘法逆元<=>ab=1(modn) u ( 和 v ) 有乘法逆元 < = > a ( 和 b ) 与 n 互素 u(和v)有乘法逆元<=>a(和b)与n互素 u(和v)有乘法逆元<=>a(和b)与n互素
定义剩余类集合中有乘法逆元的剩余类
Z
n
∗
=
{
[
a
]
∣
a
=
0
,
1
,
.
.
.
,
n
−
1
,
g
c
d
(
a
,
n
)
=
1
}
Z_n^* = \left\{ [a]|a=0,1,...,n-1,gcd(a,n)=1\right\}
Zn∗={[a]∣a=0,1,...,n−1,gcd(a,n)=1}
举例:
Z
6
=
{
[
0
]
,
[
1
]
,
.
.
.
,
[
5
]
}
Z_6= \left\{ [0],[1],...,[5]\right\}
Z6={[0],[1],...,[5]},
Z
6
∗
=
{
[
1
]
,
[
5
]
}
Z_6^* = \left\{ [1],[5]\right\}
Z6∗={[1],[5]}
Zn和Zn*的关系
- n为素数:
Z
n
∗
Z_n^*
Zn∗=
Z
n
Z_n
Zn \ {[0]}
(因为gcd(a,n)=1,对于a=1,2,…,n-1) - n为合数:
Z
n
∗
Z_n^*
Zn∗⊈
Z
n
Z_n
Zn \ {[0]}
(因为才能在a∈{1,…,n-1},使得gcd(a,n)>1)
中国剩余定理
欧拉函数
定义(欧拉函数)
对于所有正整数n∈N,定义欧拉函数Φ(n):= |
Z
n
∗
Z_n^*
Zn∗|,且令Φ(1)=1
例:
Z
8
∗
Z_8^*
Z8∗={1,3,5,7},Φ(8)=4
三个性质
例
欧拉定理
乘法阶
设a∈
Z
n
∗
Z_n^*
Zn∗,使得
a
k
≡
1
(
m
o
d
n
)
a^k≡1(mod n)
ak≡1(modn)的最小正整数k称作a在模n下的乘法阶
设a∈
Z
n
∗
Z_n^*
Zn∗的(乘法)阶为k,则以下整数彼此不同
a
0
,
a
1
,
a
2
,
⋅
⋅
⋅
,
a
k
−
1
(
所有运算都模
n
)
a^0,a^1,a^2,···,a^{k-1}(所有运算都模n)
a0,a1,a2,⋅⋅⋅,ak−1(所有运算都模n)
性质
- a i ≡ 1 ( m o d n ) < = > k ∣ i a^i≡1(mod\enspace n) <=> k|i ai≡1(modn)<=>k∣i
-
a
i
≡
a
j
(
m
o
d
n
)
<
=
>
i
≡
j
(
m
o
d
k
)
a^i≡a^j(mod\enspace n)<=>i≡j(mod\enspace k)
ai≡aj(modn)<=>i≡j(modk)
例: 设a在模7下的阶为3,则 a 101 ≡ a 101 m o d 3 ≡ a 2 ( m o d 7 ) a^{101} ≡a^{101\enspace mod\enspace3}≡a^2(mod\enspace7) a101≡a101mod3≡a2(mod7)
欧拉定理
设a∈ Z n ∗ Z_n^* Zn∗,则 a Φ ( n ) ≡ 1 ( m o d n ) a^{Φ(n)}≡1(mod\enspace n) aΦ(n)≡1(modn),且k|Φ(n),其中k是a在模n下的阶。(a必须和模数互素)
费马小定理
对于任意素数p和整数a∈
Z
p
Z_p
Zp,都有
a
p
≡
a
(
m
o
d
p
)
a^p≡a(mod\enspace p)
ap≡a(modp)
定理
设a∈
Z
n
∗
Z_n^*
Zn∗,m∈Z,a在模n下的乘法阶为k,则
a
m
a^m
am在模n下的乘法阶为
k
/
g
c
d
(
m
,
k
)
k/gcd(m,k)
k/gcd(m,k)。
例:
二次剩余
定义
设a∈ Z n ∗ Z_n^* Zn∗,如果存在整数b∈Z,使得 b 2 b^2 b2≡a(mod n),则称a为模n下的二次剩余,并称b为a在模n下的平方根。
二次剩余的集合
(
Z
n
∗
)
2
:
=
{
b
2
∣
b
∈
Z
n
∗
}
(Z_n^*)^2:=\left\{b^2|b∈Z_n^*\right\}
(Zn∗)2:={b2∣b∈Zn∗}
注:
- a,b∈ Z n Z_n Zn或 Z n ∗ Z_n^* Zn∗时,ab mod n简写为ab。
- 若a∈ ( Z n ∗ ) 2 (Z_n^*)^2 (Zn∗)2,则存在b∈ Z n ∗ Z_n^* Zn∗,使得 b 2 ≡ a ( m o d n ) b^2≡a(mod\enspace n) b2≡a(modn)
- a是模n下的二次剩余 <=> a∈ ( Z n ∗ ) 2 (Z_n^*)^2 (Zn∗)2
模p下的二次剩余
p是奇素数(p是素数,且p≠2)
欧拉准则
设t=
a
(
p
−
1
)
/
2
a^{(p-1)/2}
a(p−1)/2,则
t
2
=
a
p
−
1
t^2=a^{p-1}
t2=ap−1。根据欧拉定理有
t
2
=
a
Φ
(
p
)
=
1
t^2=a^{Φ(p)}=1
t2=aΦ(p)=1
所以,t=±1,即
a
(
p
−
1
)
/
2
=
±
1
a^{(p-1)/2}=±1
a(p−1)/2=±1
- a∈ ( Z n ∗ ) 2 = > a ( p − 1 ) / 2 = 1 (Z_n^*)^2\enspace =>\enspace a^{(p-1)/2}=1 (Zn∗)2=>a(p−1)/2=1
- a∉ ( Z n ∗ ) 2 = > a ( p − 1 ) / 2 = − 1 (Z_n^*)^2\enspace =>\enspace a^{(p-1)/2}=-1 (Zn∗)2=>a(p−1)/2=−1
- 两个整数中只有一个是二次非剩余,那么其乘积必是二次非剩余
- 两个整数中都是二次剩余或二次非剩余,那么其乘积必是二次剩余
结论
- a是模 p k p_k pk下的二次剩余 <=> a是模 p p p下的二次剩余
- a∈ Z p k ∗ = > g c d ( a , p ) = 1 Z_{p^k}^*\enspace => \enspace gcd(a,p)=1 Zpk∗=>gcd(a,p)=1