《密码学数学基础》习题集

《密码学数学基础》习题集
《密码学数学基础》习题集

北京电子科技学院

《密码学数学基础》习题集

信息安全系密码教研室

2015年10月

目录

第一章带余除法 (3)

一、整数的最大公因子及其表示 (3)

二、多项式的最大公因子及其表示 (7)

三、标准分解和最小公倍数 (9)

四、其他类型题 (11)

第二章同余方程 (12)

一、同余性质(剩余系) (12)

二、模幂运算 (14)

三、模逆运算 (16)

四、一次同余方程求解 (18)

第三章原根计算 (26)

一、阶、原根、指数 (26)

二、阶的计算 (30)

三、原根的计算 (32)

四、综合 (36)

第四章二次剩余 (38)

第五讲群 (49)

一、群的概念 (49)

二、循环群的生成元求解(可求原根) (49)

三、子群及其陪集 (50)

四、置换群上的计算 (53)

五、群同态 (54)

第六章环的性质 (55)

一、环的概念 (55)

二、商环 (57)

第七章域上计算 (58)

第一章带余除法

重点概念:最大公因子、辗转相除法、标准分解式

重点内容:用辗转相除法求解最大公因子及其表示。

一、整数的最大公因子及其表示

1.(288,392)=8 ,

2.设a = 1435, b = 3371,计算(a, b)。

答:3371 = 2 ?1435 + 501

1435 = 2 ? 501+ 433

501 = 433 + 68

433 = 6 ? 68 + 25

68 = 2 ? 25 + 18

25 = 18 + 7

18 = 2 ? 7 + 4

7 = 4 + 3

4 = 3 +1

3 = 3?1

所以(1435,3371) = 1

3.用辗转相除法求整数x,y,使得1387x - 162y = (1387, 162)。答:用辗转相除法,如下表计算:

, ,

x=73,y=625, (1387, 162)=1. 4.计算:(27090, 21672, 11352)。

答:(27090, 21672, 11352) = (4386, 10320, 11352) = (4386, 1548, 2580) = (1290, 1548, 1032) = (258, 516, 1032) = (258, 0, 0) = 258。 5.用辗转相除法计算以下数组的最大公因子。

(1) (1046,697)

(2) (2030 1044)

解:

(1) 1046

1 697 349

697 1 349 348 349 = 1?348 +1

348 = 348?1 因此 (1046,697)=1

(2)

2030 = 1?1044+986

1044 = 1? 986 + 58

986 = 17 ?58

因此 (2030 1044)=58

6.用辗转相除法计算以下数组的最大公因子

(1) (2104,2720,1046)

(2) (27090, 21672,11352)

解:

(1) 先求出 (2104,2720) 的公因子 d 1 ,再求 (d 1,1046) 的公因子 d 2 , d 2 即为最

终要求的公因子。因此: 2720 = 1? 2104+616 2104 = 3? 616+256 616=2? 256+104 256 = 2?104+48 104=2? 48+8 48=6?8

因此 (2104, 2720) = 8,再求 (8,1046),

1046 = 130?8 + 6

8 = 1? 6 + 2

6 = 3? 2

因此(2104, 2720,1046) = 2

(2)先求出(27090, 21672)的公因子d1,再求(d1,11352)的公因子d 2,d 2即为

最终要求的公因子。因此:

27090 = 1? 21672+5418

21672 = 4 ? 5418

因此(27090, 21672) = 5418,再求(5418,11352),

11352 = 2 ? 5418 + 516

5418 = 10 ? 516 + 258

516 = 2 ? 258

因此(27090, 21672,11352) = 258

7.用辗转相除法求以下数组的最大公因子,并把它表示为这些数的整系数线性组合。

(1) 1387,162

(2) 2046,1620

解:

(1)用列表法可求出(1387,162)的公因子及相应的系数组合,如表1所示:

表1求(1387,162)的公因子及相应系数

1

73

-625

2

由上表可得: (1387,162) = 1 = 1387? 73 + 162? (-625) 。

(2) 用列表法可求出 (2046,1620) 的公因子及相应的系数组合,如表

2 所示:

表 2 求 (2046,1620) 的公因子及相应的系数组合

由上表可得: (2046,1620) = 6 = 1387 ? (-19) + 162? 24 。

8.计算 4389,5313,399 的最大公因子,并把它表示为这些数的整系数线性组

合。

解:先求 4389 与 5313 的最大公因子,如下表 3,公因子为 213。再求 213 与 399 的最大公因子,如表 4,公因子为 21。

表 3 求 4389 与 5313 的最大公因子 表 4 求 213 与 399 的最大公因子

+ 2x 2 + 3x + 1 = ( x + )( + ) = (2x + 1)(x + 1)

又由表 3、4 可分别得到如下两式:

231 = 5313? 5 + 4389 ? (-6) 21 = 399 ? (-4) + 231? 7

(1) (2)

将(2)式的 231 用(1)式等式右边代替并化解可得如下式:

21 = 399 ? (-4) + 5313? 35 + 4389 ? (-42)

所以得到 4389,5313,399 的最大公因子为 21,及其相应系数组合为-42,35, -4。

二、多项式的最大公因子及其表示

1、求有理数域上多项式的最大公因式 ( f (x ), g (x )) ,其中

f (x ) = x 5 + x 4 + x 2 + 2x + 1,

g (x ) = x 4 + x 3 + x 2 + 2x + 1.

答:用辗转相除法计算如下

x 5 + x 4 + x 2 + 2x + 1 = x (x 4 + x 3 + x 2 + 2x + 1) - x 3 - x 2 + x + 1

x 4 + x 3 + x 2 + 2x + 1 = -x (-x 3 - x 2 + x + 1) + (2x 2 + 3x + 1)

-x 3 - x 2 + x + 1 =

1 2

x (2x 2 + 3x + 1) +

3x 3 4 4

8 4 3x 3

3 3

4 4

因此 ( f (x ), g (x )) = x + 1

2、求有理数域上多项式的最大公因式 ( f (x ), g (x )) ,并计算 u (x ), v (x ) ,使得

( f (x ), g (x )) = u (x ) f (x ) + v (x )g (x ) ,其中

f (x ) = x 5 + x 3 + x 2 + 1,

g (x ) = x 4 + x 2 + x - 1.

答:由列表法可求出 ( f (x ), g (x )) 的公因子及相应系数组合,如表 5 所示:

表 5 求 ( f (x ), g (x )) 的公因子及相应的系数组合

因此( f (x), g(x)) = x + 1 = (1)(x5 + x3 + x2 + 1) + (-x)(x4 + x2 + x - 1)

μ ( x) = 1

v( x) = - x

3、求二元域上多项式的最大公因式( f (x), g(x)),其中

f (x) = x5 + x3 + x2 + 1,

g (x) = x4 + x 2 + 1.

答:用辗转相除法计算如下

x5 + x3 + x2 + 1 = x(x4 + x2 + 1) + x2 + x + 1

x4 + x2 + 1 = (x2 + x + 1)(x2 + x + 1)

因此( f (x), g(x)) = x2 + x + 1

4、f (x), g(x) ∈ F2[x]且有

f (x) = x6 + x5 + x4 + x3 ,

g (x) = x5 + x 2 + x + 1.

求 μ(x)和ν (x),使得( f (x), g(x)) = μ(x) f (x) + g(x)ν (x)。

答:由列表法可求出( f (x), g(x))的公因子及相应系数组合,如表6所示:表6求( f (x), g(x))的公因子及相应的系数组合

,x 4 + 1

x 2 + 1

1

x

x +1

x2 + x +1

x

x 2 + 1 0

因此( f (x), g(x)) = x2 + 1 = x(x6 + x5 + x4 + x3 ) + (x2 + x + 1)(x5 + x2 + x + 1)

μ(x) = x

v(x) = x2 + x + 1

5.求有理数域上多项式的最大公因式(f (x), g(x)),其中

f (x) = x5 + x4 + x2 + 2x + 1,

g (x) = x4 + x3 + x2 + 2x + 1.

答:( f (x), g(x)) = x + 1。

6.求有理数域上多项式的最大公因式(f (x), g(x)),并计算u(x), v(x),使得

( f (x), g(x)) = u(x) f (x) + v(x)g(x),其中

f (x) = x5 + x3 + x2 + 1,

g (x) = x 4 + x 2 + x - 1.

答:x +1 = f (x) - xg(x)。

三、标准分解和最小公倍数

1. [288,392]=14112 。

2.12600的标准分解式是_ 2332527 。

3.547 是_ ___.(填“素数”或“合数”)。3528 的标准分解式是_2^3*3^2*7^2___。

4.计算以下数组的最小公倍数。

(1) [1046,697]

(2) [2030 1044]

(3) [195, 72,90]

(4) [2104,2720,1046]

, , = a

(2) 166896912 = 2 ? 3? 7 ?13?19 ? 2011 。 (3) 22345680 = 2 ?3?5?7?47?283。

, ?? ?? 都不能整除 967,所以 967 解:

(1) 由第 2 题计算得

(1046,697)=1,因此 [1046,697]=1046? 697=729062。

(2) 由第 2 题计算得

(2030 1044)=58 ,因此 [2030 1044]=2030 ?1044 ÷ 58=36540 。

(3) 由辗转相除法可计算得

(195,72,90) = 3,因此

[195,72,90] = 195? 72 ? 90 ÷ 3 = 4680

(4) 由第 3 题计算得

(2104, 2720,1046) = 2,因此

[2104,2720,1046]=2104? 2720?1046 ÷ 2=374133280 。

5.求正整数 a, b ,使得 a + b = 120,(a, b) = 24,[a, b] = 144 。

答 : 由 a + b = 120 及 ab = (a, b)[a, b] = 24 ?144 = 3456 解 得 a = 4 8b,=

a = 72,

b = 48。

6.设 a, b 是正整数,证明: (a + b)[a, b] = a[b, a + b] 。

7或2

答:只须证 (a + b)

ab b ( a + b )

(a, b) (b, a + b)

,即只须证 (b, a + b) = (a, b) 此式显然。

7.写出下列数的的标准分解式。

(1) 22345680

(2) 166896912 (3) 22345680

解:

(1)

22345680 = 24 ? 3? 5 ? 7 ? 47 ? 283。

4

4

8.判断 561 与 967 是否为素数。

解:由 3 | 561,所以 561 不是素数,由 2,3,

是素数。

967

四、其他类型题

1.证明:若m - p∣mn + pq,则m - p∣mq + np。

答:由恒等式mq + np = (mn + pq) - (m - p)(n - q)及条件m - p∣mn + pq可知m - p∣mq + np。

2.证明:任意给定的连续39个自然数,其中至少存在一个自然数,使得这个自然数的数字和能被11整除。

答:在给定的连续39个自然数的前20个数中,存在两个自然数,它们的个位数字是0,其中必有一个的十位数字不是9,记这个数为a,它的数字和为s,则a, a + 1, , a + 9, a + 19的数字和为s, s + 1, , s + 9, s + 10,其中必有一个能被11整除。

3.设a,b是正整数,证明:(a + b)[a, b] = a[b, a + b]。

答:只须证(a + b) ab

(a, b) = a

b(a + b)

(b, a + b)

,即只须证(b, a + b) = (a, b),此式显然。

4.求正整数a,b,使得a + b = 120,(a, b) = 24,[a, b] = 144。

答:由a + b = 120及ab = (a, b)[a, b] = 24 ? 144 = 3456解得a = 48,b = 72 或a = 72,b = 48。

5.计算 2050 与 3768 的二进制表示和十六进制表示。

解:2050 的二进制表示:2050 = (100000000010)2

2050 的十六进制表示:2050 = (802)16

3768 的二进制表示:3768 = (111010111000)2

3768 的十六进制表示:3768 = (EB8)16

6.证明6 | n(n +1)(2n + 1),其中n为任意整数。

证明:n(n +1)(2n +1) = n(n +1)(n -1+ n + 2) = (n -1)n(n +1) + n(n +1)(n + 2);(n -1), n,(n +1)是连续三个整数,其中必有一个是3的倍数,至少有一个是2的倍数,因此6 | (n -1)n(n +1),

同理6 | n(n + 1)(n + 2),

- ( n )

q p

因此 6 | n (n +1)(2n + 1)。

7.证明:若 m - p | mn + pq ,则 m - p | mq + np 。

答 : 由 恒 等 式 m q + n p =( m n + p) q -(

m ) p - 及q m - p | mn + pq 条 件 可 知 m - p | m + n 。

8.证明:任意给定的连续 39 个自然数,其中至少存在一个自然数,使得这个自 然数的数字和能被 11 整除。

答:在给定的连续 39 个自然数的前 20 个数中,存在两个自然数,它们的个 位数字是 0,其中必有一个的十位数字不是 9,记这个数为 a ,它的数字和为 s ,

则 a ,a + 1, , a + 9, a + 19 的数字和为 s ,s + 1, , s + 9, s + 10,其中必有一个能被 11 整除。

第二章 同余方程

重点内容:同余的性质、完全剩余系、模逆运算、模幂运算(利用欧拉定理 进行降幂,再用从右向左或者从左向右算法计算)、一次同余方程求解

一、同余性质(剩余系)

1. 将 612 - 1 分解成素因数之积。 答:612 - 1 = 5?7?13?31?37?43 ?97。

2.①写出完全剩余系和简化剩余系(缩系)的概念,并举例说明(3 分);

②写出 154440 的标准分解式(7 分)。 3.证明:1978103 - 19783 能被 103 整除。

答:因 103 = 2353,显然 1978103 - 19783 ≡ 0 (mod 23),再由 1978100 ≡ 1 (mod 53) 得 1978103 - 19783 ≡ 0 (mod 53),故 1978103 - 19783 ≡ 0 (mod 103)。

? ? ( n) ? ( m)

4.

证明:对于任意的整数 a ,(a , 561) = 1,都有 a 560 ≡ 1 (mod 561),但 561

是合数。

答案:因 561 = 3 ?11 ?17,对于一切整数 a ,(a, 561) = 1,有(a, 3) = 1,(a, 11) = 1,

(a, 17) = 1,

由费马定理可得 a 560 = (a 2)280 ≡ 1 (mod 3), a 560 = (a 10)56 ≡ 1 (mod 11), a 560 = (a 16)35 ≡ 1 (mod 17),

故 a 560 ≡ 1 (mod 561)。

5.一般地,模 10 的最小非负完全剩余系为 {0,1,2,3,4,5,6,7,8,9} ;模 10 的简化

剩余系为(或缩系)

{1,3,7,9} 。

6.一般地,模 6 的最小非负完全剩余系为

;模 6 的简化剩余

系为(或缩系)

。 7.φ(120)-φ(100)=________。2.φ(100) -φ(72)=___16_______。

8.一般地,模 8 的最小非负完全剩余系为{0,1,2,3,4,5,6,7} ;模 8 的简化剩余系 为(或缩系){1,3,5,7}。 9.写出模 15,24 的缩系。

答:15 的缩系为 {1, 2, 4,7,8,11,13,14};

24 的缩系为 {1,5,7,11,13,17,19, 23}。

10.求 19,27,40 的欧拉函数值。

答: ? (19) = 19 -1 = 18;

1 3

1 1

2 5

11.若 (m, n) = 1,证明: m ? ( n) + n ? ( m) ≡ 1(mod mn) 。

证明:可将 mn 分解列出方程如下:

??m ? ( n) + n ? ( m) ≡ 0 + 1 ≡ 1(mod m) ??m + n ≡ 1 + 0 ≡ 1(mod n)

? m ? ( n ) + n ? ( m) ≡ 1(mod mn)

12.证明:对于任意正整数 m 有

d|m,d >0

φ(d ) = m 。

d 1| p 1 1

| | p k α k + β k ∏ (1 - k 1

p k min{α k ,β k } ) = (m , n )∏ (1 -

p k α k

(1 - p k β k

(1 - 1 1 ( m o d 1.写出欧拉定理和费马小定理(3 分),用这两个定理计算 5 mod 21(7 分)。

至少用两种方法计算 79 (mod 315) 。(共 20 分)

,利用欧拉定理计算1010 = 4

证明:当 n = 1时, ∑φ (d ) =1,设 n = p 1α1

d|n

p k α k

,则

∑φ (d ) = ∑ φ (d 1 ) d |n

∑ d k 1 p k k φ (d k ) = [1 + ( p 1 -1) + + ( p 1α1 - p 1α1 -1 )] [1 + ( p k -1) +

+ ( p k α k - p k α k -1)] = p 1α1

p k α k = n 。 13.设 m 与 n 是正整数,证明:

?(mn)?((m, n)) = (m, n)?(m)?(n) 。

证明:设 m = p 1α1 p k αk m 1,n = p 1β1

p k βk n 1, p i / m 1,p i / n 1, (m 1, n 1) = 1,则

1 1

p α k + β k m 1n 1 ) = p α1 + β1 k

i =1

1 p i )φ (m 1 )φ (n 1 ) ,

1 1

k

i =1

1

p i

),

由此得 1

k i =1

1

p i

)φ (m 1) p β1

k

i =1

1

p i

)φ (n 1)

= (m , n )?(m )?(n ) 。

14 证明: 70! ≡ 61!(mod 71) 。

证 明 : 由 题 得 只 需 证 明 7 ?0

-( 9 ? 8?

?1 ) ≡ ,因此得证。 7 1 )

6? 9 ? 6≡ 2

1, ( 即m o d 7 1 )

二、模幂运算

24

2. 求 313159 被 7 除的余数。 答:313159 =6 (mod 7)。

3.简述一种简便模幂运算(从右向左或从左向右计算)的思路。(10 分) 513

4. 欧拉函数 ?(7) =

6

10

mod7。

2005 年 7 月 26 日是星期二,问此天后第 21000 天是星期几?

为 23 mod7 = 1,所以 2 mod 7 = (2999 ? 2) mod 7

= ((2 ) mod 7 ? 2 mod 7) mod 7 = 2 ,

所以 2 mod 61 = 2 mod 61,

2 mod 61 = 38

(1) 3 (2) 5

8.计算 3 (1) 13 mod 47

依题意,我们需要求 21000 mod7 ,即整数 21000 模 7 的最小非负剩余。因

1000

3 333

因此,第 21000 天是星期四。

5. 3 408写成十进制时的最后两位数是 61

6.运用从左向右(或从右向左)的算法计算: 2 567 mod 61。

答案: (2,61) = 1, ?(61) = 60,567 = 60 ? 9 + 27 ,

567 27

用从左向右计算方法,有 27 的二进制表示 11011,列表格计算如下:

567

7.用欧拉定理求下列模幂运算。

246

mod 8

答:

1851

mod15

(1) (2)

?(8) = 4 ,因此 3246 ≡ 3246(mod 4) ≡ 32 ≡ 1mod8。

? (15) = 8,因此 51851 ≡ 51851(mod8) ≡ 53 ≡ 5mod15 。

解答:

1025

mod15

根据 a

φ ( m )

≡ 1(mod m) 计算 得出 31025 ≡ 3(mod15)

9.用快速算法求下列模幂运算。

33

相关文档
最新文档