前言:
安徽摆烂大学的大多数课程,都可以考前突击然后低分掠过,对我这种摆子很友好。然而有一个例外是信息安全数学基础,这门课是由近世代数和初等数论拼凑在一起的,网上找不到什么速成资料,如果你像我一样完全不听,会导致下周考试了这周不知道备考啥。现给出安徽大学某年期末考试真题解析,以飨后人。
注意事项:
- 安大的试卷堪称宝宝巴士,这种区域性高校绝对不会难为老乡,所以本备考教程仅适用于安大或比安大更摆的学校,绝对不适用于全国性的高校;
- 题目与题解都写得尽可能好理解,如果你不能理解,将整个题解抄下来作为应试模板都是可以及格的;
- 本文题目来源于本人记忆,仅供学习和参考,不过安大常年不换题目、只改数,参考价值应该比较高。
第一题
解同余式组:
⎩⎪⎪⎨⎪⎪⎧3x≡1(mod10)5x≡3(mod12)2x≡9(mod15)
解:
对应教材(见《信息安全数学基础教程(第二版)》,清华大学出版社,第95页)模数两两不互素的中国剩余定理应用。这教材原文我看得云里雾里。
这里选择先求ai逆元(求逆元过程略),得方程组如下:
⎩⎪⎪⎨⎪⎪⎧x≡7(mod10)x≡3(mod12)x≡12(mod15)(1)(2)(3)
然后判断两两相容性。两个同余方程 x≡a(modm) 和 x≡b(modn) 相容的充要条件是:
a≡b(modgcd(m,n))
此处显然满足。现将(1)式写为$ x = 7 + 10 t $,将其代入(2)式:
(为什么?因为我们想知道在1式中,t究竟取什么值才能满足2式)
7+10t10t10t10t5ttt≡3(mod12)≡3−7(mod12)≡−4(mod12)≡8(mod12)≡4(mod6)≡−4(mod6)≡2(mod6)求逆元
解得t=2+6k,x=7+10t=27+60k,解即为:
x≡27(mod60)
对k随意取值(如0、1)计算得到的 x 代入(3)式验证,无误。
第二题
一次同余方程求解:
20x≡16(mod24)
解:
本题 gcd(a,m)∣b,故有解。化简:
20x5xx≡16(mod24)≡4(mod6)≡2(mod6)
即 $ x=2+6k $,但原式模数为 24 。改写为对24取模的版本:
⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧k=0k=1k=2k=3k=4x=2x=8x=14x=20x=26大于24舍去
最终答案:
x≡2,8,14,20(mod24)
第三题
用费马小定理化简多项式:
3x14+4x13+2x11+x9+5x8+x6+x3+12x2+1≡0(mod5)
解:
费马小定理,其中 p 为素数,a 为整数:
ap≡a(modp)
据此有
x5≡x(mod5)x4≡1(mod5)x6≡x⋅x5≡x⋅x(mod5)
借助上式得到:
x14≡(x4)3⋅x2≡x2(mod5)x13≡(x4)3⋅x≡x(mod5)x12≡(x4)3≡1(mod5)
以此类推。
3x144x132x11x95x8x6x312x21≡3x2(mod5)≡4x1(mod5)≡2x3(mod5)≡x1(mod5)≡0(mod5)因为 5≡0(mod5)≡x2(mod5)≡x3(mod5)≡2x2(mod5)因为 12≡2(mod5)≡1(mod5)
替换原式内的每项,然后合并同类项:
3x2+4x+2x3+x+0+x2+x3+2x2+1≡(3+1+2)x2+(4+1)x+(2+1)x3+1(mod5)≡6x2+5x+3x3+1(mod5)≡x2+0⋅x+3x3+1(mod5)≡3x3+x2+1(mod5)
也就是:
3x3+x2+1≡0(mod5)
依次代入 x=0~4 即可得出结果。
x≡0(mod5):x≡1(mod5):x≡2(mod5):x≡3(mod5):x≡4(mod5):3(0)3+(0)2+1≡1≡0(mod5)3(1)3+(1)2+1≡3+1+1≡5≡0(mod5)3(8)+4+1≡24+5≡4≡0(mod5)3(27)+9+1≡81+10≡1≡0(mod5)3(64)+16+1≡192+17≡4≡0(mod5)
仅在 1 时符合题意,解为x≡1(mod5),即x=1+5k。
第四题
在有限域 GF(2)[x] 上检验下列多项式可约性,并分解可约者:
x5+x4+1x5+x2+1
解:
对于有限域 GF(2)[x] ,有已知的不可约因式如下(五次以内):
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧一次因子:x,二次因子:x2+x+1三次因子:x3+x2+1,四次因子:x4+x3+x2+x+1五次因子:x+1x3+x+1x4+x3+1x4+x+1x5+x3+x2+x+1x5+x4+x2+x+1x5+x4+x3+x+1x5+x4+x3+x2+1x5+x3+1x5+x2+1
故x5+x2+1不可分解,x5+x4+1可分解,以可分解的式子为例,判断过程如下:
检查一次因子⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧代入0{=0存在因子x=1不存在因子x✓代入1{=0存在因子x+1=1不存在因子x+1✓
故可以排除一次-四次分解,再检查二次-三次分解。列方程:
(x2+x+1)⋅(x3+ax2+bx+c)=x5+x4+1
解得x3−x+1,其中减法在有限域 GF(2)[x] 内与加法等价,最终分解为:
(x2+x+1)⋅(x3+x+1)
第五题
请利用勒让德符号的性质,判别 -35 是否为模 97 的二次剩余。
解:
由于97是素数,我们可以使用勒让德符号来判断。我们需要计算 (97−35)。
(97−35)=(97−1⋅5⋅7)=(97−1)(975)(977)
根据勒让德符号的性质:
-
计算 (97−1):
因为 97≡1(mod4),所以 (97−1)=1。
-
计算 (975):
根据二次互反律,因为 5≡1(mod4) 且 97≡1(mod4),我们有 (975)=(597)。
97≡2(mod5),所以 (597)=(52)。
因为 5≡5(mod8),所以 (52)=−1。
-
计算 (977):
根据二次互反律,因为 97≡1(mod4),我们有 (977)=(797)。
97=13⋅7+6,所以 97≡6(mod7)。
(797)=(76)=(72)(73)。
因为 7≡7(mod8),所以 (72)=1。
对于 (73),根据二次互反律,因为 3≡3(mod4) 且 7≡3(mod4),我们有 (73)=−(37)。
7≡1(mod3),所以 (37)=(31)=1。
因此,(73)=−1。
所以 (977)=1⋅(−1)=−1。
综合起来:
(97−35)=(1)⋅(−1)⋅(−1)=1
结果为1,所以-35是97的平方剩余。
第六题
求满足以下条件的正整数 n 的个数:n 整除 1040 或 n 整除 2030。
解:
设 A 是 1040 的正因子集合,B 是 2030 的正因子集合。题目要求计算 ∣A∪B∣。
根据容斥原理, ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣。
A∩B 是 1040 和 2030 的公因子集合,即 gcd(1040,2030) 的因子集合。
-
计算 ∣A∣:
1040=(2⋅5)40=240⋅540。
因子个数为 τ(1040)=(40+1)(40+1)=41×41=1681。
-
计算 ∣B∣:
2030=(22⋅5)30=260⋅530。
因子个数为 τ(2030)=(60+1)(30+1)=61×31=1891。
-
计算 ∣A∩B∣:
gcd(1040,2030)=gcd(240⋅540,260⋅530)=2min(40,60)⋅5min(40,30)=240⋅530。
其因子个数为 τ(240⋅530)=(40+1)(30+1)=41×31=1271。
-
计算 ∣A∪B∣:
∣A∪B∣=1681+1891−1271=2301。
所以,满足条件的正整数n的数目为2301个。
第七题
设 G 是一个由元素 a 生成的 n 阶循环群,即 G=⟨a⟩ 且 ∣G∣=n。若正整数 m 与 n 互素,即 gcd(m,n)=1,请证明 am 也是 G 的一个生成元。
解:
设 G=⟨a⟩ 是一个由元素 a 生成的 n 阶循环群。这意味着 a 的阶是 n,即 o(a)=n。
我们需要证明 am 也是 G 的一个生成元。
一个元素是生成元,当且仅当它的阶等于群的阶。所以,我们只需证明 o(am)=n。
根据循环群中元素阶的性质,我们有公式:
o(ak)=gcd(k,n)n
将 k=m 代入公式,我们得到:
o(am)=gcd(m,n)n
题目给出条件,m 和 n 互素,这意味着 gcd(m,n)=1。
因此,
o(am)=1n=n
由于 am 的阶为 n,与群 G 的阶相等,所以 am 能够生成 G 中所有的 n 个元素。
因此,am 也是群 G 的一个生成元。证明完毕。
第八题
已知 10 是模 19 的一个原根。请完成以下两个任务:
a) 构造以 10 为底的模 19 离散对数表,并找出所有模 19 的原根。
b) 求解二次同余方程 4x2+5x−8≡0(mod19)。
解:
a) 构造离散对数表 & 给出所有原根
首先,我们计算以10为底,模19的幂,直到覆盖所有非零余数:
(注意下列式子绝非暴力计算,而是将上一式的余数乘以底数10作为对19取模的数,并不真正地计算10的高次幂)
101102103104105106107108109101010111012101310141015101610171018≡10(mod19)≡100≡5(mod19)≡50≡12(mod19)≡120≡6(mod19)≡60≡3(mod19)≡30≡11(mod19)≡110≡15(mod19)≡150≡17(mod19)≡170≡18(mod19)≡180≡9(mod19)≡90≡14(mod19)≡140≡7(mod19)≡70≡13(mod19)≡130≡16(mod19)≡160≡8(mod19)≡80≡4(mod19)≡40≡2(mod19)≡20≡1(mod19)
离散对数表 (ind(N) = L):
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
| 0 |
- |
18 |
17 |
5 |
16 |
2 |
4 |
12 |
15 |
10 |
| 1 |
1 |
6 |
3 |
13 |
11 |
7 |
14 |
8 |
9 |
- |
如果 g 是模 n 的一个原根,那么其他原根的形式为 gk(modn),其中 gcd(k,ϕ(n))=1。
这里 n=19, ϕ(19)=18。我们需要找到与18互素的 k ( 1≤k<18 )。
这些 k 是:1, 5, 7, 11, 13, 17。
对应的原根为:
101≡10
105≡3
107≡15
1011≡14
1013≡13
1017≡2
所以,模19的所有原根是 {2, 3, 10, 13, 14, 15}。
b) 解同余方程
4x2+5x−8≡0(mod19)
使用二次公式 x≡(−b±b2−4ac)(2a)−1(modp)。
a=4,b=5,c=−8≡11(mod19)。
判别式 Δ=b2−4ac=52−4(4)(−8)=25+128=153。
153=8×19+1, 所以 Δ≡1(mod19)。
Δ≡1≡±1(mod19)。
2a=8。我们需要计算 8−1(mod19)。
8x≡1(mod19),解得 x≡12(mod19)。所以 (2a)−1=12。
代入公式:
x≡(−5±1)⋅12(mod19)
两个解:
- x1≡(−5+1)⋅12=−4⋅12=−48≡9(mod19)
- x2≡(−5−1)⋅12=−6⋅12=−72≡4(mod19)
所以方程的解为 x≡4(mod19) 和 x≡9(mod19)。