信息安全数学基础(仅供个人复习使用)

信息安全数学基础(供个人复习使用):

第1章:

1.求出100以内的所有素数

100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

2.求解gcd(45,100)

gcd(45,100) = 5
100 = 45 * 2 + 10
45 = 10 * 4 + 5
10 = 5 * 2 + 0

3.求 963,657 的最大公约数,并把它表示为 963,657 的整系数线性组合

gcd(963,657) = 9
963 = 657 * 1 + 306
657 = 306 * 2 + 45
306 = 45 * 6 + 36
45 = 36 * 1 + 9
36 = 9 * 4 + 0
9 = 45 - 36
  = (657 - 306 * 2) - (306 - 45 * 6)
  = (657 - (963 - 657) * 2) - ((963 - 657)- 6 *(657 - 306 * 2))
  = (657 - 2 * 963 + 2 * 657) - (963 - 657 - 6 * (657 - 2 * (963 - 657)))
  = 3 * 657 - 2 * 963 - (963 - 657 - 6 * (657 - 2 * 963 + 2 * 657))
  = 3 * 657 - 2 * 963 - 963 + 657 + 6 * 657 - 12 * 963 + 12 * 657
  = 22 * 657 - 15 * 963
  //特别的难算,很容易就出错了
第2章:

知识点:

模运算性质

1.a (mod n) ± b (mod n) (mod n) = a ± b (mod n)
2.a (mod n) ∙ b (mod n) (mod n) = a ∙ b (mod n)

同余的性质:

(1) 自反性   对任一整数a,a ≡ a   (mod m)
(2) 对称性  若 a ≡ b (mod m),则 b ≡ a (mod m)
(3) 传递性  若 a ≡ b (mod m), b ≡ c (mod m),则 a ≡ c (mod m)
如果a ≡ b (mod m),c ≡ d (mod m),则
(4) a±c ≡ b±d (mod m)
(5) ac ≡ bd   (mod m)
(6) ax+ cy ≡ bx+ dy (mod m),其中x,y是任意整数
(7) 若 ac ≡ bc (mod m) ,且gcd(c,m) = 1,则 a ≡ b  (mod m) 
  推广:若 ac ≡ bc (mod m) ,且c≠0,则 a ≡ b  (mod m/gcd(c,m))
(8)若 a ≡ b  (mod mi), i=1,2,…,n ,则 a ≡ b (mod (lcm(m1,m2,…,mn))
若 a ≡ b  (mod m), 且 n是正整数, 则
(9)  a∙n ≡ b∙n (mod nm)
(10) an ≡ bn (mod m)
(11) gcd(a,m) = gcd(b,m)
(12) 若 n| m ,则 a ≡ b   (mod n)

完全剩余系:

定义 :设m是正整数,从模m剩余类中各取一个剩余,则称这些剩余的集合为模m的一个完全剩余系(或简称为完系)。

简化剩余系:

定义: 一个模m的剩余类叫做简化剩余类, 如果该类中存在一个与m互素的剩余。这时, 简化剩余类中的剩余叫做简化剩余。

欧拉函数:

定理:

设n有标准因数分解式为

n =p1^(k1)· p2^(k2)… · pm^(km)

则φ(n)=n · (1 - 1/p1)…… ·(1 - 1/pm)

费马定理:

p是素数,a是正整数,且gcd(a,p)=1,则

a^(p−1) ≡ 1(mod p)

等价形式为:

a*a^(p−2) ≡ 1(mod p) 或者a^(−1) ≡ a^(p−2) (mod p)

若 p 是素数,a 是任意正整数,则

a^p ≡ a (mod p) (不要求a,p互素)

欧拉定理:

设n是正整数,如果gcd(a,n)=1, 则

a^φ(n) ≡ 1 (mod n)

1.写出模 15 的一个6的同余类中不超过 100 的正整数 。

15
6 21 36 51 66 81 96

2.写出模 9 的两个完全剩余系,要求其中一个完系中的每个数均为奇数 , 另一个中每个数均为偶数

9的正常完全剩余系
{0,1,2,3,4,5,6,7,8}
奇数完全剩余系
{1,3,5,7,-9,-7,-5,-3,-1}
偶数完全剩余系
{0,2,4,6,8,-8,-6,-4,-2}

3.a=7, p=19,利用费马小定理计算ap mod p

7^19 mod 19
gcd(7,19) = 1
7^18 ≡ 1,7^19 = 7^18 * 7 = 1 * 7
7^19 mod 19 = 7

4.计算120的欧拉函数。

120= 2^3 * 3 * 5
φ(120)= 120 * (1 - 1/2) * (1 - 1/3) * (1- 1/5)
= 120 * 1/2 * 2/3 * 4/5
= 32
第3章:

知识点:

一次同余式:

定理:设m是一个正整数,a是满足 m | a的整数,则一次同余式

        ax ≡ b (mod m)

有解的充要条件为(a,m)|b,且解数为(a,m)

当此同余式有解时,其解为

x ≡ (( a / (a,m) )^(-1) (mod m / (a,m) ) * b / (a,m) + t * m / (a,m) ) (mod m)

t = 0,1,…, (a,m) - 1

中国剩余定理:

定理: 设m1, m2两两互素,则同余式组

x ≡ b1 (mod m1)

x ≡ b2 (mod m2)

一定有解,且解惟一,若令m = m1 ∙ m2

则同余式组的解为:

x ≡ b1 ∙ M1 ∙ M1^ (-1) + b2 ∙ M2 ∙ M2^ (-1) + … (mod m)

其中, M_i^(-1) ∙ M_i ≡ 1 (mod m_i), i = 1,2,…

模素数同余式:

f(x) = a_nx_n + a_n-1x_n-1 +…+ a_1x + a_0 ≡ 0 (mod p)

解的个数不超过n

多项式欧几里得除法/多项式带余除法

f(x)=q(x)∙ g(x)+r(x) f(x) = q(x)∙ (xp-x) + r(x)

f(x) ≡ 0 (mod p) 与 r(x) ≡ 0 (mod p) 等价

f(x) ≡ (x –b_1) (x –b_2)…(x –b_k) fk(x) (mod p), x ≡ bi (mod p)

首一同余式 f(x) = x_n + a_n-1x_n-1 +…+ a_1x + a_0 ≡ 0 (mod p)有n个解等价于在模p下 f(x)| (x^p –x)

费马小定理:

由费马小定理得到,x ≡ 1,2,…,p-1 (mod p)

是同余式 x^(p-1) ≡ 1 (mod p) 的解

推论,p是素数,则对于任何整数x,有

x^(p-1) – 1 ≡ (x – 1) (x – 2) …(x – (p-1)) ( mod p)

整数n是素数的充要条件是 (n-1)! + 1 ≡ 0 ( mod n)

1.求下列同余式的解.

x^3 -2x +3 ≡ 0 (mod 5)

0^3 - 2*0 + 3 ≡ 3 mod 5
1^3 - 2*1 + 3 ≡ 2 mod 5
2^3 - 2*2 + 3 ≡ 2 mod 5
3^3 - 2*3 + 3 ≡ 4 mod 5
4^3 - 2*4 + 3 ≡ 4 mod 5
//同余式无解

2.求解同余方程 10x ≡ 25 (mod 65)

gcd(10,65) = 5
10x ≡ 25 (mod 65)
2x ≡ 5 (mod 13)
2^(-1) = 7
x ≡ (5*7 (mod 13) + 13 * t) (mod 65)
t = 0,1,2,3,4
x ≡ 9,22,35,48,61

3.韩信点兵之二:有兵一队,若列成五行纵队,则末行一人;成六行纵队,则末行五人;成七行纵队,则末行四人;成十一行纵队,则末行十人。求兵数

//题目分析可得
x ≡ 1 (mod 5)
x ≡ 5 (mod 6)
x ≡ 4 (mod 7)
x ≡ 10 (mod 11)
//中国剩余定理
x ≡ 1*6*7*11*3 + 5*5*7*11*1 + 4*5*6*11*1 + 10*5*6*7*1 (mod 5*6*7*11)
x ≡ 2111

4.求解同余式 21x^18 + 2x^15 - x^10 + 4x -3 ≡ 0 (mod 7)

//利用费马小定理
21x^18 + 2x^15 - x^10 + 4x -3 ≡ 0 (mod 7)
x^18 + 2x^15 - x^10 + 4x - 3 ≡ 0 (mod 7)
2x^3 - x^4 + 4x -3 ≡ 0 (mod 7)
验证0,1,2,3,4,5,6无解
第4章:

知识点:

平方剩余:

定义: 设a是整数,p是素数,并且(a,p)=1

如果二次同余式, x^2 ≡ a (mod p) 有解,则称a是模p的二次剩余或平方剩余,否则称a是模p的二次非剩余或平方非剩余.

定理:设p是奇素数,在模p的简化剩余系中,有 (p-1)/2 个平方剩余, (p-1)/2个平方非剩余。

求模p的平方剩余时,可以只计算下列数了:

1^ 2,2^ 2,…,((p-1)/2 )^ 2 (mod ⁡p)

欧拉判别法:

设a是整数,p是奇素数,(a,p)=1

(1) a是模p平方剩余的充分必要条件是

a^((p-1)/2) ≡ 1 (mod p)

(2) a是模p平方非剩余的充分必要条件是

a^((p-1)/2) ≡ -1 (mod p)

推论: 设p是奇素数, (a1,p)=1,(a2,p) =1,则

(1) 如果a1,a2都是模p平方剩余,则a1∙a2 是模p的平方剩余;

(2) 如果a1,a2都是模p平方非剩余,则a1∙a2 是模p的平方剩余;(类似于负负得正)

(3) 如果a1是模p的平方剩余,a2是模p的平方非剩余,则a1∙a2 是模p的平方非剩余。

Legendre符号(勒让德符号):

(a/p) = 1, a是模p的平方剩余

(a/p) = -1, a是模p的平方非剩余

(a/p) = 0, a | p

勒让德符号计算依旧使用欧拉判别法

a^((p-1)/2) ≡ 1 (mod p)

a^((p-1)/2) ≡ -1 (mod p)

性质:

//合理利用性质就特别的简单,不过得记住了
p为奇素数
1) (1/𝑝) = 1  
2) ((−1)/𝑝) = (−1)^((𝑝−1)/2)
3) (𝒂/𝒑) = ((𝒂+𝒑)/𝒑)  (周期性)
4) ((𝒂∙𝒃)/𝒑) = (𝒂/𝒑)(𝒃/𝒑)  (完全可乘性)
5) 若 (a,p) = 1,则(𝑎^2/𝑝) = 1
   推论:若a ≡ b (mod p),则(𝒂/𝒑) = (𝒃/𝒑)
6) p是奇素数,(2/𝑝) = (−1)^((𝑝^2−1)/8)
7) 若p,q是不同的奇素数,则 (𝑞/𝑝) = (−1)^((𝑝−1)/2  ∙ (𝑞−1)/2) (𝑝/𝑞)
8) (2/𝑝)= -1 如果 p ≡ ±3 (mod 8)
   (2/𝑝)= 1 如果 p ≡ ±1 (mod 8)

Jacobi符号(雅可比符号):

定义: 设m = p_1p_2…p_r是奇素数pi的乘积,对任意整数a,雅可比符号定义如下:

(a/m) = (a/p_1)*(a/p_2)…(a/p_r)

其中 (a/p_i) 是勒让德符号

性质:

设m是奇数,则
1)(1/m) = 1      
2) ((−1)/𝑚) = (−1)^((𝑚−1)/2)         
3) (2/𝑚) = (−1)^((𝑚^2−1)/8)
设m是正奇数,则
4) (𝒂/𝒎) = ((𝒂+𝒎)/𝒎)
5)((𝒂∙𝒃)/𝒎) = (𝒂/𝒎)(𝒃/𝒎)
6) 若 (a,m) = 1,则(𝑎^2/𝑚) = (𝑚/𝑎^2 ) = 1
    推论:若a ≡ b (mod m),则(𝒂/𝒎) = (𝒃/𝒎)
7)若m,n都是奇数,则(𝑛/𝑚) = (−1)^((𝑚−1)/2  (𝑛−1)/2) (𝑚/𝑛)

1.求模p=11,23的平方剩余和平方非剩余

p = 11
1^2 = 1 (mod 11)
2^2 = 4 (mod 11)
3^2 = 9 (mod 11)
4^2 = 5 (mod 11)
5^2 = 3 (mod 11)
平方剩余:1,3,4,5,9
平方非剩余:2,6,7,8,10
p = 23
1^2 = 1 (mod 23)
2^2 = 4 (mod 23)
3^2 = 9 (mod 23)
4^2 = 16 (mod 23)
5^2 = 2 (mod 23)
6^2 = 13 (mod 23)
7^2 = 3 (mod 23)
8^2 = 18 (mod 23)
9^2 = 12 (mod 23)
10^2 = 8 (mod 23)
11^2 = 6 (mod 23)
平方剩余:1,2,3,4,6,8,9,12,13,16,18
平方非剩余:5,7,10,11,14,15,17,19,20,21,22

2.计算勒让德符号:(17/37),(911/2003)

(17/37) = (-1)^((16/2)*(36/2))(37/17)
		= (3/17)
		= (-1)^((2/2)*(16/2))(17/3)
		= (2/3)
		= -1
(911/2003) = (-1)^((910/2)*(2002/2))(2003/911)
		   = -(181/911)
		   = (-1)*(-1)^((180/2)*(910/2))(911/181)
		   = (-1)*(2/181)*(3/181)
		   = (-1)*(-1)*(-1)^((2/2)*(180/2))(181/3)
		   = (1/3)
		   = 1

3.判断同余式是否有解

(1) x^2 ≡ 7 (mod 227)

//227为素数,使用勒让德符号
(7/227) = (-1)^((6/2)*(226/2))(227/7)
		= (-1)*(3/7)
		= (-1)*(-1)^((2/2)*(6/2))(7/3)
		= (-1)*(-1)*(1/3)
		= 1
勒让德符号判断为1,有解

(2)x^2 =11 (mod 511)

//511不是素数,使用雅克比符号
(11/511) = (-1)^((10/2)*(510/2))(511/11)
		 = (-1)*(5/11)
		 = (-1)*(-1)^((4/2)*(10/2))(11/5)
		 = (-1)*(1/5)
		 = -1
雅克比符号判断为-1,无解
//PS:雅克比符号判断为1,不一定有解
第5章:

知识点:

指数和原根:

定义:设m>1是整数, a是与m互素的正整数,则使得

a^e ≡ 1 (mod m)

成立的最小正整数e 叫做a对模m的指数(或阶,order),记作 ord_m(a),如果a对模m的指数是ϕ(m),则a叫做模m的原根 (primitive root).

原根也称为生成元,或本原元.

性质:

  1. 设m >1是整数, (a,m)=1, 则整数d使
    a^d ≡ 1 (mod m)
    的充分必要条件是 ord_m (a) | d
    推论:设m >1是整数, (a,m)=1, 则 ord_m(a) | ϕ(m)

  2. 设m >1是整数, a是与m互素的整数

    (1)若b ≡ a (mod m),则ord_m(b) = ord_m(a)

    (2)设a-1是 a 模 m的逆,即a-1 ·a ≡ 1 (mod m),则

          ord_m(a^(-1)) = ord_m(a)
    

    (3) a^ d ≡ a^ k (mod m) 的充分必要条件是d ≡ k (mod ordm(a))

  3. 设m >1是整数, a是与m互素的整数,则
    1 = a^ 0,a^ 1,a^ 2,···,a^ (ord_m(a) -1), 模m 两两不同余。
    特别地,当a是模m的原根时,即ordm(a)= ϕ(m)时,
    这ϕ(m)个数 1=a^ 0,a^ 1,a^ 2···,a^(ϕ(m)-1)组成模m的简化剩余系

  4. 设m >1是整数, a是与m互素的整数,d为非负整数, 则
    ord_m(a^d) = ord_m(a) / (d,ord_m(a))
    推论: 设m >1是整数, g是模m的原根. 设d≥0为整数,
    则g^d是模m的原根, 当且仅当(d, ϕ(m) )= 1

  5. 设m > 1是整数, 如果模m存在一个原根g,
    则模m有ϕ(ϕ(m))个不同的原根

原根存在性:

设p是奇素数,则模p的原根存在,且有ϕ(p-1)个原根

设p为奇素数, p-1的所有不同素因数是q1,q2, …qs,

则g是模p原根的充要条件是:

g^((p-1)/qi ) != 1(mod p), i = 1,2,⋯,s

1.计算2,5,10模13的指数

ϕ(13) = 12
12的因子为1,2,3,4,6,12
2^1 = 2 (mod 13)
2^2 = 4 (mod 13)
2^3 = 8 (mod 13)
2^4 = 3 (mod 13)
2^6 = 12 (mod 13)
2^12 = 1 (mod 13)
ord_13(2) = 12
5^1 = 5 (mod 13)
5^2 = 12 (mod 13)
5^3 = 8 (mod 13)
5^4 = 1 (mod 13)
ord_13(5) = 4
10^1 = 10 (mod 13)
10^2 = 9 (mod 13)
10^3 = 12 (mod 13)
10^4 = 3 (mod 13)
10^6 = 1 (mod 13)
ord_13(10) = 6

2.求ord_41(10)

ϕ(41)=40
40的因子为1,2,4,5,8,10,20,40
10^1 = 10 (mod 41)
10^2 = 18 (mod 41)
10^4 = 37 (mod 41)
10^5 = 1 (mod 41)
ord_41(10) = 5

3.求模11 的所有原根

ϕ(11) = 10
10的因子为1,2,5,10
1^1 = 1 (mod 11)
2^1 = 2 (mod 11)
2^2 = 4 (mod 11)
2^5 = 10 (mod 11)
2^10 = 1 (mod 11)
2为原根
(d,10) = 1
d为1,3,7,9
2^1 = 2 (mod 11)
2^3 = 9 (mod 11)
2^7 = 7 (mod 11)
2^9 = 6 (mod 11)
11的原根为2,6,7,9

4.(选做)求解同余式 x^22 ≡ 5 (mod 41)

//选做的暂时不做,我也不大会
第6章:

知识点:

伪素数(pseudoprime):

费马小定理的逆命题:

如果整数a满足(a, n)=1, a^(n-1)≡1 (mod n), 则 n是一个素数

称满足a^(n-1) ≡ 1 (mod n)的合数n叫做基a的伪素数,或以a为底的伪素数(pseudoprime to base a).

Miller-Rabin素性测试:

如果p是奇素数,x是小于p的正整数,则方程

x^2 ≡ 1 (mod p)的解只有x ≡ 1 (mod p)和x ≡ (-1) ≡ p-1 (mod p)

Miller-Rabin素性检测:

给定n为奇数,容易计算出整数r,u,使得n-1=2r * u,其中u为奇数且r ≥ 1(限制r ≥ 1意味着n为奇数)。

费马测试 a^ (n-1) = a^ ((2^r) * u) ≡ 1 (mod n)

采用一个更加精细算法,考察r项的序列(a^ u,a^ 2u,a^ 4u,…,a^ ((2^r) * u))(全部要对n取模)。序列中的每一项是前面项的平方。因此,如果其中某项值等于1或-1,则序列中所有接下来的值都等于1.

Miller-Rabin(n)算法:

找整数r, u, r > 0, u是一个奇数, 使得 n-1 = (2^r * u)
选择随机正整数a,a < n
    z <-- a^u (mod n)
   if z = 1 then return( n可能是素数)
   for i = 0 to r-1 do
     if z = n-1 then return( n可能是素数)
     else z <-- z^2 (mod n)
   return (n是合数)
//因为Miller-Rabin素性检测不好理解,所以列下如下例题
例题,若 n = 13 ,则n − 1 = 2^2 * 3, r = 2, u = 3, 
  第一次迭代:
1)选正的随机数a, a < n
      设 a = 4,计算a^u (mod n)
2)  x = 4^3 mod 13 = 12
3) 因为 x = (n-1), return “n可能是素数”
第二次迭代:
1)选正的随机数a, a < n
     设 a = 5,计算a^u (mod n)
2)x = 5^3 mod 13 = 8
3) x 既不等于 1,也不等于 12
4) Do following (r-1) = 1 times
   a) x = x^2 mod 13 = 82 mod 13 = 12
   b) 因为 x = (n-1), return “n可能是素数”
因为两轮迭代都返回“n可能是素数”,“n可能是素数”

1.证明:91是基3的伪素数

//费马定理的逆命题
(3,91) = 1
3^(91-1) = 3^90 (mod 91) = (3^6)^15 (mod 91) = (729 (mod 91))^15 (mod 91)
		 = 1 (mod 91)

2.证明:25是基7的强伪素数

//证明方法很固定,虽然这个方法很难
25是奇数
25-1 = 24 = 2^3 * 3, r = 3, u = 3
取a = 7, 7^3 = 18 (mod 25), 18^2 = 24 (mod 25)
返回25可能为素数
则25为基7的强伪素数
第7章:

知识点:

群(Group):

定义 :设G是一非空集合, 如果在G上定义了一个代数运算 “·”,满足以下条件:

①(封闭性)∀a,b∈G,有a · b∈G;

②(结合性)∀a,b,c∈G,有a ·(b · c)= (a · b)· c ;

③(单位元)在G中存在一个元素e,对于∀a∈G,有e · a = a · e = a,元素e称为单位元,也称幺元;

④(逆元)G中每个元素a均有逆元,即存在元素a′,使得

a∙a′ = a′∙a = e, a′ 称为a的逆元,记作a^(-1) 则称(G, ·) 为群

群的性质:

1.G中的单位元是唯一的.

2.G中每个元素的逆元是唯一的.

3.设*是集合G中的二元运算,a∈G,a ≠ e, 如果a满足,对任意 a,b ∈G,均有:

若a * b = a * c, 则b = c; 若b * a = c * a,则b = c

则称元素a对*是可约(可消去)的(Cancelable)

逆元推出的性质

1.(a^ (-1) ) ^(-1) = a

2.若 a ,b 均可逆,则 ab 亦可逆,且(ab)^ (-1)=b^ (-1) a^ (-1)

3.若 a 可逆,则an 亦可逆,且 (a^ n )^ (-1)=(a^ (-1) )^ n=a^ (-n)

//性质1
证明:
(a^(-1))^(-1) = (a^(-1))^(-1) * e = (a^(-1))^(-1) * a^(-1) * a = e * a = a
//性质2
证明:
b^(-1)a^(-1) * a*b = b^(-1) * e * b = e
b^(-1)a^(-1) = (ab)^(-1)

群的阶:

定义:如果群G的元素个数有限,称G是有限群,否则,称G是无限群。G中元素个数称为群的阶,记为|G|或#G。无限群的阶记为无穷

全体整数Z对于加法构成的群(Z,+)是无限群

我们只关心有限群(Finite Group)

有限加法群Z_n:对任意正整数n(n≥1), 模n的一个完全非负剩余系Z_n={0,1,…,n-1}, 构成一个含n个元素的加法群,单位元是0,群中任一元素a,都有逆元,|Z_n|= n。

乘法群Z_n*是在很多密码学方案中均用到的一个重要群。

Z_n = {0,1,…,n-1}是模n的一个最小非负完全剩余系

定义: Z_n* = { x∈ Z_n : (x, n) = 1 }

Zn表示在Zn 上采用模n乘法运算,构成有限模n乘法群,单位元e=1,对群中任 一元素a,有a-1存在。|Zn*|= ϕ(n)

例如,Z_8* = {1,3,5,7}, |Z8*|= 4

对素数p, Z_p* = Z_p\{0} = {1,2,3,…,p-1}

例如,Z_7* = {1,2,3,4,5,6}, |Z_7*| = 6

阿贝尔群:

定义:如果群G中的运算满足交换律,则这个群称为交换群(commutative group)或阿贝尔群 (Abel group)

即是满足封闭性,结合性,单位元,逆元,交换律

子群的判定定理:

定理: 如果H是群<G,·>的非空子集,则<H,·>是子群的充要条件是:若a,b∈H,则a ⋅ b^(-1)∈H.

映射:

定义: 一个集合A到另一个集合B的映射f是∀a∈A,都有一个确定的 b = f(a) ∈ B 与之对应

单射:a,c ∈ A,如果a != c,则f(a) != f©

满射:b ∈ B,总有a ∈ A,使f(a) = b

一一映射:既是满射又是单射的映射

如果A = B,映射f也称为变换,即一个集合到自身的映射称为变换。

如果一个集合A到自身的映射f定义为:

对于∀a ∈ A,有 f(a) = a,

则称映射f为恒等映射,单位映射或恒等变换,记为I.

同态:

定义 假设G和G’是两个群,若存在映射f:G→G’,

如果∀a,b∈G,均有f(a∙b)= f(a)◦ f(b)

则f叫做群G到G’的一个同态.

如果f是单射,则称f是单同态;

如果f是满射,则称f是满同态;

如果f是一一映射,则称f是同构;

如G = G’,同态f称为自同态,同构f称为自同构.

同构:

定义: 设G和G’是两个群,如果存在一个G到G’的同构映射,则称G与G’同构,记为G ≅ G’.

如果G ≅ G’,则称G自同构.

整数加法群Z和偶数加法群E同构.

实数加法群R和正实数乘法群R+同构,同构映射为 f(a) = e^a.

性质:

群的同构具有反身性,对称性和传递性,即它是等价关系.

1)G ≅ G;

2)由G ≅ G’,可推出G’ ≅ G;

3)由G ≅ G’和G^′ ≅ G^′′ , 可推出G ≅ G^′′

循环群(Cyclic Group):

定义: 如果存在一个元素g ∈ G, ∀a ∈ G都可由g的幂运算得到,

则称群G是循环群.g是群G的生成元或本原元,

称g生成了循环群G,记为 < g >.

群G的任意元素a都能生成一个循环群,它是群G的子群.

如果a是无限阶元素,则a生成无限循环群,

G的生成元为a和a^(-1)

如果a是n阶元素,则a生成n阶循环群,|G|=ord_m (a)

有限n阶循环群可表示为

{ g^ 0,g^ 1,g^ 2,…,g^ (n-1)},两两不等,其中g^0 = e,

g^n = e ,g是n阶元素

g的所有幂两两不相等,于是以g为生成元的循环群

{…,g^ (-2),g^ (-1),g^ 0,g^ 1,g^ 2,…} ,是无限循环群,其中 g^0 = e,g是无限阶元素,

显然无限循环群的元素都是无限阶元素.

有限循环群生成元的阶就是群的阶.

定理:每个无限循环群与整数加群Z同构,每个n阶有限循环 群与加群Z/mZ(n阶剩余类加群)同构.

变换是一个集合到自身的映射.

规定集合A上的两个变换f和g的乘法(变换的复合)如下:∀a ∈ R,fg(a) = f(g(a)).

变换群:

定义:设集合 M 是一个非空集.G 是 M 到它自身上所有一一映射组成的集合.G 对于映射的复合运算构成一个群,称为 变换群 .

定理(Cayley定理)任何一个群都同构于一个变换群.

置换群:

定义:一个有限集合的一一变换称为置换

设一个有限集合A有n个元素,A = {a1,a2,a3 … an},

则一个置换p可以表示为:

αi →αki,i = 1,2,3,…,n

也可表示为:(a1 a2 … an)

				   ( ak1 ak2 ... akn)

若抽掉元素的具体内容,置换p还可表示为:(1 2 … n)

																		  (k1 k2 ... kn)

一个置换实际上就是A元素的一次排列,实际上,第一行元素的任意一个排列都是一种表示,但一般情况下还是用(1,2,3,…,n)次序表达.

1.在整数集 Z 中定义运算“◦ ”:∀a,b ∈Z,a ◦ b=a+b-2, 试证 Z 关于运算 “◦ ” 构成群

//证明结合性
∀a, b, c∈Z, (a ◦ b) ◦ c = (a + b - 2) ◦ c = a + b - 2 + c - 2 = a + b + c -4
a ◦ (b ◦ c) = a ◦ (b ◦ c) = a ◦ (b + c - 2) = a + b + c - 2 -2 = a + b + c -4
(a ◦ b) ◦ c = a ◦ (b ◦ c)
//证明单位元
a ◦ b = a = a + b - 2 -> b = 2
//证明存在逆元
∀a∈z, a ◦ a' = e = 2 = a + a' - 2 = 2
a' = (4 - a)∈z

2.设 G 为群, 求证 : ∀a, b ∈ G ,有 (1) (a(-1))(-1) = a (2) (ab)^(-1) = b(-1)a(-1)

证明:
(a^(-1))^(-1) = (a^(-1))^(-1) * e = (a^(-1))^(-1) * a^(-1) * a = e * a = a
证明:
b^(-1)a^(-1) * a*b = b^(-1) * e * b = e
b^(-1)a^(-1) = (ab)^(-1)

3.证明:群G的两个子群的交集也是G的子群

//子群的判定定理
设G1,G2是G的子群.
则对任意a,b∈G1∩G2, 有 a,b∈G1 且 a,b∈G2.
因为G1,G2是群, 所以 a^(-1)b ∈G1 且 a^(-1)b∈G2
所以 a^(-1)b∈G1∩G2.
又G1∩G2显然非空 (都有单位元e)
所以G1∩G2是G的子群.

4.分别求13,16阶循环群各个元素的阶,指出其生成元

//求阶数就是ord_m(a)
ϕ(13) = 12
12的因子为1,2,3,4,6,12
ord_13(1) = 1
ord_13(2) = 12
ord_13(3) = 3
ord_13(4) = 6
ord_13(5) = 4
ord_13(6) = 12
ord_13(7) = 12
ord_13(8) = 4
ord_13(9) = 3
ord_13(10) = 6
ord_13(11) = 12
ord_13(12) = 2
生成元为2,6,7,11
ϕ(16) = 8//找与16互质的求阶数就行
8的因子为1,2,4,8
ord_16(1) = 1
ord_16(3) = 4
ord_16(5) = 4
ord_16(7) = 2
ord_16(9) = 2
ord_16(11) = 4
ord_16(13) = 4
ord_16(15) = 2
16无生成元

代码实现求阶数:

#include<iostream>
#include<cmath>

using namespace std;

bool judge_prinme(int n)
{
	if (n <= 3)
	{
		return n > 1;//如果n<3,只可能是1.2.3,2.3为质数,1既不是质数也不是合数.
	}
	if (n % 6 != 1 && n % 6 != 5)
		return false;
	int t = static_cast<int>(sqrt(n)) + 1;
	for (int i = 5; i <= t; i += 6)
	{
		if (n % i == 0 || n % (i + 2) == 0)
		{
			return false;
		}
	}
	return true;
}

int gcd(int a, int b)
{
	int temp;
	if (a == 0 || b == 0)
		return 0;
	if (a < b)
	{
		temp = a;
		a = b;
		b = temp;
	}
	while (b != 0)
	{
		temp = b;
		b = a % b;
		a = temp;
	}
	return temp;
}

int Find_Euler_function(int num)
{
	if (judge_prinme(num))
	{
		return num - 1;
	}
	else
	{
		int count = 0;
		for (int i = 1; i < num; i++)
		{
			if (gcd(i, num) == 1)
				count++;
		}
		return count;
	}
}

void Find_order(int num)
{
	for (int i = 1; i < num; i++)
	{
			for (int j = 1; j < num; j++)
			{
				if (static_cast<unsigned long long int>(pow(i, j)) % num == 1)
				{
					cout << i << "的阶数为:" << j;
					if (j == Find_Euler_function(num))
						cout << ",该元素为生成元." ;
					cout << endl;
					break;
				}
			}
	}
}

int main()
{
	cout << "请输入元素是多少阶循环群:" << endl;
	int num;
	cin >> num;
	int Eul_fun = Find_Euler_function(num);
	cout <<"φ(" << num << ")=" << Eul_fun << endl;
	cout << "φ(" << Eul_fun << ")=" << Find_Euler_function(Eul_fun) << endl;
	Find_order(num);
	return 0;
}
第8章:

第8章没有作业题,盲猜不考

  • 83
    点赞
  • 669
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值