期中复习-提纲
好久没有写博文了,10月份之后骤然忙了起来,而且第七节课之后的信安数基公式太复杂,电脑编辑公式实在不方便,所以转而写纸质的笔记了。
这次是期中复习提纲,内容主要在前七章。后续8至14次课的内容依旧是用纸质笔记记录。
1 带余除法
1 整除的定义与性质
为了简便,当我们提到整数的因子时,总假定是正的。
2 带余除法
注意:
- 带余除法得到的q(不完全商)和r(余数) 存在且唯一
- r 的范围,别忘了写!
重要例子
若a , b 是任意两个不完全为0的整数,
a
x
0
+
b
y
0
ax_0+by_0
ax0+by0是所有形如
a
x
+
b
y
ax+by
ax+by的整数中最小的整数,则
a
x
0
+
b
y
0
∣
a
x
+
b
y
ax_0+by_0|ax+by
ax0+by0∣ax+by
其中x , y 是任意整数
3 整数的数字符号表示
4 最大公因子
- 定义0与0的最大公因子为0
- 辗转相除法求最大公因子时,约定 b = r 1 b =r_1 b=r1
- 辗转相除法求最大公因子时,带余除法次数
t
t
t不超过
2
l
o
g
2
(
b
)
+
2
2log_2(b)+2
2log2(b)+2
- 也可通过数b的二进制长度的缩减角度想
最大公因子的线性表示(可以由矩阵表示或另一种方法推导)
定理:对任意两个正整数a , b ,存在整数x 和 y,使 ( a , b ) = x a + y b (a , b)= xa+yb (a,b)=xa+yb
2. 扩展欧式算法
1 扩展的欧几里得算法
每次带余除法的余数都可以写成线性组合的形式
- 矩阵的初等变换视角
- 递推关系观察
线性系数的解
设
a
a
a,
b
b
b为正整数,则方程
a
u
+
b
v
=
(
a
,
b
)
au+bv = (a,b)
au+bv=(a,b)
总有整数解
u
,
v
u,v
u,v。若
(
u
0
,
v
0
)
(u_0,v_0)
(u0,v0)是一个解,一般解的形式为
u
=
u
0
+
b
k
(
a
,
b
)
v
=
v
0
−
a
k
(
a
,
b
)
u= u_0+\frac{bk}{(a,b)} \\v = v_0-\frac{ak}{(a,b)}
u=u0+(a,b)bkv=v0−(a,b)ak
2 应用:二元一次方程有解判定
例子
若a , b 是任意两个不完全为0的整数,
a
x
0
+
b
y
0
ax_0+by_0
ax0+by0是所有形如
a
x
+
b
y
ax+by
ax+by的整数中最小的整数,则
a
x
0
+
b
y
0
∣
a
x
+
b
y
ax_0+by_0|ax+by
ax0+by0∣ax+by
其中x , y 是任意整数
定理
设
a
,
b
a,b
a,b是不全为0的整数,则方程
a
x
+
b
y
=
c
ax+by=c
ax+by=c
有整数解当且仅当
(
a
,
b
)
∣
c
(a,b)|c
(a,b)∣c。
3 多项式的带余除法
- 最大公因式定义时,要求 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)不全为零多项式
- ( f ( x ) , g ( x ) ) (f(x),g(x)) (f(x),g(x)):代表首一最大公因式
3 算术基本定理
1 素数及其判定
- 1不是素数
判定素数的方法
对所有素数 p ≤ a p\leq \sqrt{a} p≤a,p不整除a,那么a是素数
埃拉托色尼素数筛选法
很快速计算出1到n之间的所有素数:去掉2到 n \sqrt{n} n中所有素数的倍数
素数的个数
素数有无穷多个(证明:反证法)
素数定理
函数 π ( n ) \pi(n) π(n)表示不超过n的素数个数,其中n是正整数
定理:
lim
x
→
+
∞
π
(
n
)
n
/
l
n
(
n
)
=
1
\lim_{x\to+\infty}\frac{\pi(n)}{n/ln(n)}=1
x→+∞limn/ln(n)π(n)=1
2 梅森素数和费马素数
梅森素数
- 一个引理!
当 n n n是素数时,整数 M n = 2 n − 1 M_n=2^n-1 Mn=2n−1称为第 n n n个 M e r s e n n e Mersenne Mersenne数
当 M n M_n Mn是素数时, M n M_n Mn称为 M e r s e n n e Mersenne Mersenne素数
- 梅森数有的是素数,有的是合数
费马素数
- 定理:若 2 m + 1 2^m+1 2m+1为素数,则m一定是2的方幂(即, m = 2 n m=2^n m=2n)
- 逆定理不成立
若 n n n为非负整数,则称 F n = 2 n + 1 F_n=2^n+1 Fn=2n+1为 F e r m a t Fermat Fermat数
若 F n F_n Fn是素数,则称 F n F_n Fn是 F e r m a t Fermat Fermat素数
3 算术基本定理
-
o r d p ( n ) ord_p(n) ordp(n)函数
-
n的标准分解式中素数p的幂次可以定义为 o r d p ( n ) ord_p(n) ordp(n).
-
n = Π p 为 素 数 p o r d p ( n ) n = \Pi_{p为素数}p^{ord_p(n)} n=Πp为素数pordp(n)
-
-
360 = 2 3 ⋅ 3 2 ⋅ 5 2^3·3^2·5 23⋅32⋅5
- 360所有正因子个数: ( 3 + 1 ) ( 2 + 1 ) ( 1 + 1 ) = 4 ⋅ 3 ⋅ 2 = 24 (3+1)(2+1)(1+1)=4·3·2=24 (3+1)(2+1)(1+1)=4⋅3⋅2=24
4 因式分解定理
- 多项式能否再分解与所规定的系数范围有关
- 定义(不)可约多项式时,是在次数 ≥1的基础上的
因式分解定理
多项式 f ( x ) ∈ F [ x ] f(x)∈F[x] f(x)∈F[x]含有因式 x − a ( a ∈ F ) x-a(a∈F) x−a(a∈F)当且仅当 f ( a ) = 0 f(a)=0 f(a)=0。
不可约多项式的判定问题
(Eisenstein判别法)
设 f ( x ) = a 0 + a 1 x + . . . + a n x n ∈ Z [ x ] f(x)=a_0+a_1x+...+a_nx^n∈Z[x] f(x)=a0+a1x+...+anxn∈Z[x],p是一个素数。若
- p不整除 a n a_n an
- p ∣ a i , 0 ≤ i ≤ n − 1 p|a_i,0\leq i\leq n-1 p∣ai,0≤i≤n−1
- p 2 不 整 除 c 0 p^2不整除c_0 p2不整除c0
则 f ( x ) f(x) f(x)在 Z [ x ] Z[x] Z[x]上不可约(从而在 Q [ x ] Q[x] Q[x]上也不可约)
4 模运算与同余
1 模运算及应用
模运算的重要性质
对正整数n和整数a, a − 1 m o d n a^{-1}\ mod\ n a−1 mod n存在的充分必要条件为 ( a , n ) = 1 (a,n)=1 (a,n)=1
-
若a模n的逆存在,则称a为一个单位(unit)
-
一个例题:计算 7 / 8 m o d 11 7/8 \ mod\ 11 7/8 mod 11
7 ⋅ 8 − 1 ≡ 7 ⋅ 7 ≡ 49 ≡ 5 m o d 11 7·8^{-1}≡ 7· 7≡49≡5\ mod\ 11 7⋅8−1≡7⋅7≡49≡5 mod 11 -
乘数密码:仅当 ( k , q ) = 1 (k,q)=1 (k,q)=1时,即k与q互素时,明文字母和密文字母才是一一对应的。
2 同余及其应用
a ≡ b ( m o d n ) ⟺ n ∣ ( a − b ) a≡b\ (mod\ n)\iff n|(a-b) a≡b (mod n)⟺n∣(a−b)
同余的性质
先注意两处:
-
若
a
d
≡
b
d
m
o
d
n
,
且
(
d
,
n
)
=
1
,
则
a
≡
b
m
o
d
n
若ad≡bd\ mod\ n,且(d,n)=1,则a≡b\ mod\ n
若ad≡bd mod n,且(d,n)=1,则a≡b mod n
- (可考虑d在模n下存在逆元的角度)
- 注意消去律成立有条件
-
若
a
≡
b
m
o
d
n
,
d
是
a
,
b
,
n
的
任
一
公
因
子
,
则
a
d
≡
b
d
m
o
d
n
d
若a≡b\ mod\ n,\ d是a,b,n的任一公因子,则\frac{a}{d}≡\frac{b}{d}\ mod\ \frac{n}{d}
若a≡b mod n, d是a,b,n的任一公因子,则da≡db mod dn
- 这里模数n千万不要忘记除以d!!!
- 一个整数能被3或9整除的必要且充分条件是它的十进制表示的各位数之和能被3或9整除
- 证明用到 10 ≡ 1 m o d 3 10≡1\ mod\ 3 10≡1 mod 3和 10 ≡ 1 m o d 9 10≡1\ mod\ 9 10≡1 mod 9
3 等价关系和剩余类
等价关系的定义
自反律、对称律、传递律
同余是一个等价关系
4 完全剩余系
完全剩余系的判定定理
设m是整数,S是一个整数集,则S是模m的一个完全剩余系的充分必要条件是:
- S包含m个元素
- S中任意两个元素模m不同余
完全剩余系的性质
定理:(一元的那个)
定理:若 m 1 m_1 m1和 m 2 m_2 m2是两个互素的正整数,若x遍历 m 1 m_1 m1的一个完全剩余系,若y遍历 m 2 m_2 m2的一个完全剩余系,则 m 1 x + m 2 y m_1x+m_2y m1x+m2y遍历模 m 1 m 2 m_1m_2 m1m2的一个完全剩余系。
- 注意定理成立的条件:
- m 1 , m 2 m_1,m_2 m1,m2要是互素的
- m 1 m_1 m1与 x x x乘在一起, m 2 m_2 m2与 y y y乘在一起
5 欧拉函数计算
欧拉函数的定义
ϕ ( m ) \phi(m) ϕ(m)是0,1,2,…,m - 1中与 m 互素的数的个数
欧拉函数的简单计算
事实
当p为素数时, ϕ ( p ) = p − 1 \phi(p)=p-1 ϕ(p)=p−1, ϕ ( p n ) = p n − p n − 1 \phi(p^n)=p^n-p^{n-1} ϕ(pn)=pn−pn−1
- (与 p n p^n pn互素的一定不含有因子p + [ 0 , p n − 1 ] [0,p^n-1] [0,pn−1]中 p p p的倍数有 p n − 1 p^n-1 pn−1个)
既约剩余系
既约剩余系的性质
定理:(一元的那个)
定理:若 m 1 m_1 m1和 m 2 m_2 m2是两个互素的正整数,若x遍历 m 1 m_1 m1的一个既约剩余系,若y遍历 m 2 m_2 m2的一个既约剩余系,则 m 1 x + m 2 y m_1x+m_2y m1x+m2y遍历模 m 1 m 2 m_1m_2 m1m2的一个既约剩余系。
推论
若 g c d ( m 1 , m 2 ) = 1 gcd(m_1,m_2)=1 gcd(m1,m2)=1,则 ϕ ( m 1 m 2 ) = ϕ ( m 1 ) ϕ ( m 2 ) \phi(m_1m_2)=\phi(m_1)\phi(m_2) ϕ(m1m2)=ϕ(m1)ϕ(m2)
欧拉函数的计算
若
m
=
p
1
l
i
p
2
l
2
.
.
.
p
s
l
s
m=p_1^{l_i}p_2^{l_2}...p_s^{l_s}
m=p1lip2l2...psls,其中
p
i
,
i
=
1
,
.
.
.
,
s
p_i,i = 1,...,s
pi,i=1,...,s各不相同,则
ϕ
(
m
)
=
m
Π
i
=
1
s
(
1
−
1
p
i
)
\phi(m)=m\Pi_{i=1}^{s}(1-\frac{1}{p_i})
ϕ(m)=mΠi=1s(1−pi1)
6 欧拉定理 快速模幂
欧拉定理和费马小定理
欧拉定理
若 ( k , m ) = 1 (k,m)=1 (k,m)=1,则 k ϕ ( m ) ≡ 1 ( m o d m ) k^{\phi(m)}≡1\ (mod\ m) kϕ(m)≡1 (mod m)
- 注意应用条件:互素!
Corollary(Fermat小定理)
若p为素数,则对所有的整数a,有 a p ≡ a ( m o d p ) a^p≡a\ (mod\ p) ap≡a (mod p)
- 注意应用条件:p是素数!对所有整数a!
费马小定理虽然可以看作是欧拉定理的推论,但由费马小定理也可以推出欧拉定理(证明想中国剩余定理)
Wilson定理
定理
设p是一个素数,则
(
p
−
1
)
!
≡
−
1
(
m
o
d
p
)
(p-1)!≡-1\ (mod\ p)
(p−1)!≡−1 (mod p)
- 注意定理应用的条件:p是素数
Wilson定理的逆定理成立
因此Wilson定理可用来判定一个合数不是素数
欧拉定理的应用:
可以用来求逆元
a
−
1
≡
a
ϕ
(
n
)
−
1
(
m
o
d
n
)
a^{-1}≡a^{\phi(n)-1}\ (mod\ n)
a−1≡aϕ(n)−1 (mod n)
快速模幂算法
- 计算n的二进制表示
- 计算 b 2 i ( m o d m ) , 0 ≤ i ≤ r b^{2^i}\ (mod\ m),0\leq i \leq r b2i (mod m),0≤i≤r
- 计算 b n b^n bn
平方乘算法(两种)
一般采用高位到低位(略好)
其它进制表示法:预计算+从低位到高位
欧拉定理的应用:循环小数的秘密
定理:有理数 a b , 0 < a < b , ( a , b ) = 1 \frac{a}{b},0<a<b,(a,b)=1 ba,0<a<b,(a,b)=1能表示成纯循环小数的充分必要条件是 ( b , 10 ) = 1 (b,10)=1 (b,10)=1
7 线性同余方程
1 一次同余方程的求解
2 两个一次同余方程组的求解
3 中国剩余定理
- 要求:模数互素!!!!!(不一定模素数,只要互素就行了)
- 证明思路:先构造出一个符合要求的解,再证明解的唯一性。