Home
updated:

信息安全数学基础笔记


<!-- toc -->

整除

定义:a,bZ,qZ,(b0a=q×b)ba\forall a, b \in Z, \exists q \in Z, (b \neq 0 \land a = q \times b) \Rightarrow b \mid a

性质:

  1. 传递性:baacbcb \mid a \land a \mid c \Rightarrow b \mid c

  2. 线性组合中整除保持:a1,s1,a2,s2,...,an,snZ,aic(a1s1+a2s2+...+ansn)c\forall a_1, s_1, a_2, s_2, ..., a_n, s_n \in Z, a_i \mid c \Rightarrow (a_1 s_1 + a_2 s_2 + ... + a_n s_n) \mid c

素数

定义: 对于整数pp,若p0,±1¬a,(a±n,±1ap)p \ne 0, \pm1 \land \neg\exists a, (a \ne \pm n, \pm 1 \land a \mid p),则称pp为素数,否则pp为合数

定理:

  1. <a id="prime_1"></a>nn为正合数,ppnn的一个非11最小因子,则pp为素数且pnp \le \sqrt{n}

    证明:使用反证法,若p为合数,则bZ,bp\exists b \in Z, b \mid p,又有pnp \mid n,则由整除传递性得到bnb \mid n,因此pp不是nn的最小非11因子,与题设相矛盾。

    又由n为合数,则cZ,n=c×p\exists c \in Z, n = c \times p,由于p为最小非1因子,故cpc \ge p,此时有pc<np \le c \lt n,显然p2npnp^2 \le n \Rightarrow p \le \sqrt{n}

素数无穷

证明:基本思想是先假设素数有无限多个,然后证明可能在一个素数在这有限多个素数构成的集合之外。

假设素数有有限多个,则可以将其枚举为P={p1,p2,p3,...,pn}P = \{p_1,p_2, p_3, ..., p_n\},假设有n=p1p2p3...pn+1n = p_1 p_2p_3 ... p_n + 1那么必定有pP,n>p\forall p \in P,n > p

假设nn为素数,那么说明前提不正确,素数有无限多个。 假如nn为合数。那么必定存在ppnn的非11最小子。因此存在aZa \in Z使n=p×an = p \times a。若p=pjPp= p_j \in P,则

n1=pj×(p1p2p3...pj1pj+1...pn)n - 1 = p_j \times (p_1 p_2 p_3 ... p_{j-1}p_{j+1}...p_n)

因此有

pj×ap1p2...pn=1p_j \times a - p_1 p_2 ... p_n = 1

此时

a=1pj+p1p2...pj1p+1...pna = \frac{1}{p_j} + p_1 p_2 ... p_{j-1} p_{+1} ... p_n

因此aa不是整数,这与aZa \in Znn的一个因子相盾,因此pPp \notin P(更准确的来说,此时nn的所素因子都要比PP中最大的元素还要大),因此素数有无多个。

上述证明过程利用了一类特殊的数——素数阶乘素数

扩展:证明形如4k14k-1的素数有无限多个

从上面对素数无限的证明,我们可以看到证明集合无限的核心思想是先去一个有限集合,然后证明总存在一个有限集合外的元素。这一过程需要通过构造来实现。

证明:假设有有限多个,那么这些素数可枚举为P={p1,p2,...,pn}P = \{p_1, p_2, ..., p_n\}。考虑m=4×pPp1m = 4 \times \prod_{p \in P}p - 1,易知piP,pP>pi\forall p_i \in P, \prod_{p \in P} > p_i

mm为素数,则与开头假设相矛盾,可得4k14k-1形式的素数有无限多个。

mm为合数,假设m的所有素因子为Q={q1,q2,...,qr}Q = \{q_1, q_2, ..., q_r\}m=qQqm = \prod_{q \in Q}q

首先证明引理qiQ,kZ,qi=4k1\exists q_i \in Q, k \in Z, q_i = 4k-1。由于Q中元素皆为素数,故QQ中的一个元素qiq_i要么满足4k14k-1的形式,要么满足4k+14k+1的形式,假设所有qiq_i满足4k+14k+1的形式,易得mm也一定满足4k+14k+1形式,这与定义相矛盾。引理得证。

有上述引理可知存在mm的素因子qiq_i具有4k14k-1的形式,若qiPq_i \notin P,则与开头假设相矛盾,可得4k14k-1形式的素数有无限多个。

qiPq_i \in P,假设qi=piPq_i = p_i \in P,则存在cZc \in Z使m=c×qim = c \times q_i 有:

m+1=c×pi+1=4pPpm + 1 = c \times p_i + 1= 4\prod_{p \in P}p

c=4pPppip1pic = 4\prod_{p \in P \land p \ne p_i}p - \frac{1}{p_i}

cc不是整数,这与假设相矛盾,故qiPq_i \notin P。与开头的假设相矛盾,证毕。(有问题,参见这里

素数的算术基本定理

素数的算术基本定理:任何一个大于1的整数都可以写成素数的乘积,且该乘积唯一。

证明:

假设该整数为nn,利用数学归纳法证明:

nn为素数时,有p=np = n为素数使n=pn = p,定理成立

nn为合数时,将nn分解为p1×n2p_1 \times n_2,其中p1p_1nn的非1最小因子,有前面素数定理1我们可以得知p1p_1为素数。此时将n2n_2作同样的分解,最终我们可以得到n=i=0kpin = \prod_{i=0}^{k}p_i,因此定理前半部分得证,后半部分可利用反证法证明,此处省略。

性质:

  1. 将整数分解式写作

    n=i=0spiαi,αi0n = \prod_{i=0}^{s}{p_i^{\alpha_i}}, \alpha_i \ge 0

    则对于dd,当且仅当

    d=i=0spiβi,αiβ0d = \prod_{i=0}^{s}{p_i^{\beta_i}}, \alpha_i \ge \beta \ge 0

    时,ddnn的一个因子

最大公因数

定义: 几个整数a1,a2,...,ana_1, a_2, ..., a_n的最大公因数记为(a1,a2,...,an)(a_1, a_2, ..., a_n)。若(a1,a2,...,an)=1(a_1, a_2, ..., a_n) = 1,则称它们互质。

性质:

  1. <a id="gcd_1"></a>a=bq+c(a,b)=(b,c)a = b \cdot q + c \Rightarrow (a, b) = (b, c)

    证明:假设d=(a,b),d=(b,c)d = (a, b), d^{'} = (b, c),则

    dadbd(abq=c)d \mid a \land d \mid b \Rightarrow d \mid (a - b \cdot q = c)

    由于dd^{'}是b与c的最大公因数,得到ddd \le d^{'},同 理可得ddd \ge d^{'},因此d=dd = d^{'}

  2. <a id="gcd_2"></a>假设a,b,cZa, b, c \in Z,且b0c0b \ne 0 \land c \ne 0,那么

    (a,c)=1(ab,c)=(b,c)(a, c) = 1 \Rightarrow (ab, c) = (b, c)

    证明:

    假设d0=(ab,c)d_0 = (ab, c)d1=(b,c)d_1 = (b, c),那么d1abd_1 \mid ab,因此d1d0d_1 \le d_0

    假设ab=q0d0ab = q_0d_0c=q1d0(1){c = q_1d_0}^{(1)},则ac=q0q1b\frac{a}{c} = \frac{q_0}{q_1b},由于(a,c)=1(a, c) = 1,易知q0=kaq_0 = kaq1b=kc(2){q_1b = kc}^{(2)}。由式(1)(2)(1)(2)联立得b=kd0b = kd_0,即d0bd_0 \mid b,因此d0d_0(b,c)(b, c)的公因数,因此d0d1d_0 \le d_1

    综上所述,d0=d1d_0 = d_1

    证毕(p.s. 也可以用广义欧几里得除法证)

    由上述定理我们可以得到:

    (a,c)=1cabcb(a, c) = 1 \land c \mid ab \Rightarrow c \mid b

    一个特殊情况是cc为素数时,(a,c)=1(a, c) = 1必成立,此时

    a,b:cabcb\forall a, b: c \mid ab \Rightarrow c \mid b
  3. 假设a,b,u,v,p,q,s,tZa, b, u, v, p, q, s, t \in Zabuv0abuv \ne 0

    (ab)=(psqt)(uv),psqt=1\begin{pmatrix}a \\ b\end{pmatrix} = \begin{pmatrix}p & s \\ q & t\end{pmatrix}\begin{pmatrix}u \\ v\end{pmatrix}, \begin{vmatrix}p & s \\ q & t\end{vmatrix} = 1

    (a,b)=(u,v)(a, b) = (u, v)

    此性质描述了最大公因数在可逆变换(剪切,旋转)下的不变性。

  4. a,bZ(2a1,2b1)=2(a,b)1a, b \in Z \Rightarrow (2^a - 1, 2^b - 1) = 2^{(a, b)} - 1

欧几里得除法

算法实现

注意到在上述定理中,我们可以得到一种逐步逼近a与b的最大公因数的方法——将计算(a,b)(a, b)的问题转换成计算(b,c)(b, c)的问题,从而保证每次迭代中c总会减小,最终减小到0,算法停机,代码实现如下:

pub fn gcd(a: u64, b: u64) -> u64 {
    if b == 0 {
        return a;
    }
    gcd(b, a % b)
}

或者

let rec gcd a b = if b == 0 then a else gcd b (a mod b);;

贝祖等式

假设整数a,ba, b的最大公约数为dd,则等式

ax+by=max + by = m

有整数解当且仅当mmdd的倍数,且只要等式有解,它必然有无穷多解。

证明:

K={ax+by(x,y)Z2}K = \{ax + by | (x, y) \in Z^2\},假设有d0=ax0+by0Kd_0 = ax_0 + by_0 \in K,其中d0d_0KK中的最小正元素,以及d1=ax1+by1>d0d_1 = ax_1 + by_1 \gt d_0,假设

d1=qd0+rd_1 = qd_0 + r

其中qq为非负整数,0r<d00 \le r \lt d_0,则有

r=ax1+by1q(ax0+by0)=a(x1qx0)+b(y1qy0)r = ax_1 + by_1 - q(ax_0 + by_0) = a(x_1 - qx_0) + b(y_1-qy_0)

rKr \in K,又因为0r<d00 \le r \lt d_0,注意d0d_0KK中的最小正整数,因此r=0r = 0,因此d0d1d_0 \mid d_1,因此dK,d>0d0d\forall d \in K, d > 0 \Rightarrow d_0 | d,特别的,d0ad0bd_0 \mid a \land d_0 \mid b,因此d0d_0为a与b的公约数,又因为对于a,b的任意一个公约数dd,假设a=lad,b=lbda = l_ad, b = l_bd,得到ax0+by0=(lax0+lby0)d=d0ax_0 + by_0 = (l_ax_0 + l_by_0)d = d_0,即dd0d | d_0,因此ddaabb的最大公约数。

扩展欧几里得算法

有了贝祖等式后,我们可以得到x,yZ,ax+by=gcd(a,b)\exists x, y \in Z, ax + by = gcd(a, b),所谓扩展欧几里得算法即是求上述等式中xxyy值的方法。

假设现在我们要求d0,d1d_0, d_1的最大公约数,假设有:

p0d0q1d1=d2p_0d_0 - q_1d_1 = d_2

p1d1q2d2=d3p_1d_1 - q_2d_2 = d_3

p2d2q3d3=d4p_2d_2 - q_3d_3 = d_4

p0=p1=p2=1p_0 = p_1 = p_2 = 1

由于d4d_4便是我们要求的最大公约数,我们只需要求出xd0+yd1=d4xd_0 + yd_1 = d_4中的x,yx, y即可。假设x1d1+y1d2=d4x_1d_1 + y_1d_2 = d_4,我们首先可以导出:

p1q3d1+(p2+q2q3)d2=d4-p_1q_3d_1 + (p_2 + q_2q_3)d_2 = d_4

因此有

x1=p1q3x_1 = p_1q_3

y1=p2q2q3y_1 = p_2 - q_2q_3

x=p0y1x = p_0y_1

y=x1q1y1y = x_1 - q_1y_1

可以看到,我们可以通过逐级上推最终确定x,yx, y的值,这一过程可以通过递归来完成:

#[derive(Debug)]
pub struct ExtGCD {
    pub p: i64,
    pub q: i64,
    pub m: i64
}

pub fn ext_gcd(a: i64, b: i64) -> ExtGCD {
    if b == 0 {
        return ExtGCD {
            p: 1,
            q: 0,
            m: a
        }
    }
    
    let next = ext_gcd(b, a % b);

    ExtGCD {
        p: next.q,
        q: next.p - a / b * next.q,
        m: next.m
    }
}

最小公倍数

几个整数a1,a2,a3,...a_1, a_2, a_3, ...的最小公倍数记为[a1,a2,a3,...][a_1, a_2, a_3, ...]

性质:

  1. 假设DDa,ba, b的最小公倍数,则

    [a,b]=ab(a,b)[a, b] = \frac{ab}{(a, b)}
  2. a1,...,anZ:[a1,a2]=D2,...,[Dn1,an]=Dn[a1,...,an]=Dn\forall a_1, ..., a_n \in Z: [a_1, a_2] = D_2, ..., [D_{n - 1}, a_n] = D_n \Rightarrow [a_1, ..., a_n] = D_n

    证明:使用归纳法证明:

    n=2n = 2时,显然成立。

    假设对n1n - 1结论成立,则有

    [a1,a2]=D2,...,[an2,an1]=Dn1[a1,...,an1]=Dn1[a_1, a_2] = D_2, ..., [a_{n - 2}, a_{n - 1}] = D_{n-1} \Rightarrow [a_1, ..., a_{n-1}] = D_{n-1}

    对于nn,假设[a1,...,an]=D[a_1, ..., a_{n}] = D,由于[a1,...,an1]=Dn1[a_1, ..., a_{n-1}] = D_{n-1}[Dn1,an]=Dn[D_{n-1}, a_n] = D_n,可得Dn1DD_{n-1} \mid DanDa_n \mid D,进而DnDDnDD_n \mid D \land D_n \le D

    同时又易知DnD_na1,..,ana_1, .., a_n的公倍数,因此DDnD \le D_n

    综上所述,D=DnD = D_n,证毕。

  3. <a id="lcm_3"></a>a1,...,anZ:aiD[a1,...,an]=D\forall a_1, ..., a_n \in Z: a_i | D \Rightarrow [a_1, ..., a_n] = D

    证明:省略,利用数学归纳法以及上面的性质2即可证明。

群(group)

定义:

群由一个集合和定义在该集合上的运算组成

使用GG表示该集合,使用\cdot表示该运算。那么当代数结构(G,)(G, \cdot)满足下面的四条群公理时,该结构可以被称为群:

  1. 封闭性:a,bG:abG\forall a, b \in G: a \cdot b \in G

  2. 结合律:a,b,cG:(ab)c=a(bc)\forall a, b, c \in G: (a \cdot b) \cdot c = a \cdot (b \cdot c)

  3. 单位元存在性:eG:aG:ae=ea=a\exists e \in G: \forall a \in G: a \cdot e = e \cdot a = a,可以将单位元(identity element)记为11

  4. 逆元存在性:aG,bG,ab=ba=e\forall a \in G, \exists b \in G, a \cdot b = b \cdot a = e,其中ee为单位元,此时称bbaa的逆元,记为a1a^{-1}

将二元运算\cdot称为该群上的乘法,那么由此可以导出该群上的除法:

假设有a,bGa, b \in G,现定义群上的除法b/a=cac=bb / a = c \Leftrightarrow a \cdot c = b。要证明除法的存在性即证明cc的存在性。

那么根据群的逆元存在性可知一定存在aa的逆元a1Ga^{-1} \in G使aa1=1a \cdot a^{-1} = 1。因此由单位元的性质以及结合律有

a1ac=a1bc=a1ba^{-1} \cdot a \cdot c = a^{-1} \cdot b \Rightarrow c = a^{-1} \cdot b

因此cGc \in G

群同态(Homomorphism)

定义:

假设(G1,)(G_1, \cdot)(G2,)(G_2, \circ)为两个群,有映射f:G1G2f: G_1 \rightarrow G_2,假如

a,bG1,f(ab)=f(a)f(b)\forall a, b \in G_1, f(a \cdot b) = f(a) \circ f(b)

那么称ff为群G1G_1到群G2G_2的一个同态。

ff为单射,则该同态为单同态,若ff为满射,那么该同态是满同态。当ff为一一对应(双射),那么该同态称为同构,记为G1G2G_1 \cong G_2

当两个群同构时,这两个群拥有完全相同的群结构,本质上可以认为是同一个群。

一个群到其自身的同态/同构称为自同态/自同构。

性质:

  1. ffG1G_1G2G_2的一个同态,且这两个群的单位元分别为e1e_1e2e_2,那么f(e1)=e2f(e_1) = e_2

    证明:// TODO

子群(subgroup)

定义:

对于群(G,)(G, \cdot),若HHGG的一个非空子集且同时与GG的二元运算\cdot构成一个群,那么称H,H, \cdotGG的一个子群,群(G,)(G, \cdot)被称为该子群的母群,记为HGH \le G

性质:

  1. 对于每个群GG,一元群{1G}\{1_G\}以及GG自身都是它的子群,这两个子群被称为平凡子群。

  2. HGa,bH,ab1HH \le G \Leftrightarrow \forall a, b \in H, a \cdot b^{-1} \in H

    证明:只需证HH是一个群即可。

    1. 单位元:假设eGe_GGG的单位元,那么令a=b=xa = b = x,则xH,xx1=eGH\forall x \in H, x \cdot x^{-1} = e_G \in H,因此HH的单位元为eGe_G

    2. 逆元:令a=eG,b=xa = e_G, b = x,则xH,eGx1=x1H\forall x \in H, e_G \cdot x^{-1} = x^{-1} \in H,因此HH中的每个元素都有逆元。

    3. 封闭性:即证m,nH,mnH\forall m, n \in H, m \cdot n \in H。令a=m,b=n1Ha = m, b = n^{-1} \in H(逆元存在性),则m,nH,ab1=mnH\forall m, n \in H, a \cdot b^{-1} = m \cdot n \in H

    综上所述,HH是一个群。

举例:

对于整数加法群(Z,+)(Z, +)以及nZ={nxxZ},nZ+nZ = \{nx \mid x \in Z\}, n \in Z^+nZnZZZ的一个子群,并且nZnZZZ同构。

证明:要证明nZnZZZ同构,只需证明存在ZZnZnZ的一个双射ff满足a,bZ,f(a+b)=f(a)+f(b)\forall a, b \in Z, f(a + b) = f(a) + f(b),显然函数f(x)=nxf(x) = nx满足条件,因此nZnZZZ同构。

阿贝尔群(Abelian group)

定义:

对于群中的两个元素a,ba, b,不一定有ab=baa \cdot b = b \cdot a,当一个群满足a,bG,ab=ba\forall a, b \in G, a \cdot b = b \cdot a时,该群被称为可交换的,也被称为阿贝尔群或者加法群、交换群(commutative group)。

当称一个阿贝尔群GG为加法群时,可以将加法单位元记为00,群上的二元运算记为++。同时可以定义群上的减法a,bG,cG,ab=ca=b+c\forall a, b \in G, \exists c \in G, a - b = c \Leftrightarrow a = b + c

半群(semigroup)

定义:

使用GG表示该集合,使用\cdot表示集合上的运算。那么当代数结构(G,)(G, \cdot)满足

  1. 结合律,即a,bG,(ab)c=a(bc)\forall a, b \in G, (a \cdot b) \cdot c = a \cdot (b \cdot c)

  2. 封闭性,即a,bG,abG\forall a, b \in G, a \cdot b \in G

时,该代数结构被称为半群。

当半群上存在单位元,即eG,aG,ae=ea=a\exists e \in G, \forall a \in G, a \cdot e = e \cdot a = a时,该半群被称为幺半群(monoid),该单位元被称为幺元。

性质:

  1. <a id="semigroup-1"></a>(G,)(G, \cdot)为幺半群,记GG^*GG中的可逆元素全体,那么(G,)(G^*, \cdot)是群。

    证明:

    1. 结合律与单位元:由于(G,)(G, \cdot)是幺半群,易知(G,)(G^*, \cdot)满足结合律,且单位元即为幺元

    2. 封闭性:现证a,bG,abG\forall a, b \in G^*, a \cdot b \in G^*,即证aba \cdot b存在逆元。有aa1bb1=ee=ea \cdot a^{-1} \cdot b \cdot b^{-1} = e \cdot e = e,由结合律:(ab)(a1b1)=e(a \cdot b) \cdot (a^{-1} \cdot b^{-1}) = e,因此aba \cdot b存在逆元a1b1a^{-1} \cdot b^{-1}。故\cdotGG^*上封闭。

    3. 逆元存在性:根据GG^*的定义,这是显然的。

    综上所述,定理得证。

陪集(coset)

定义:

假设GG为一个群,HH为其子群,ggGG中的元素,那么

  1. gH={ghhH}gH = \{g \cdot h | h \in H\}HHGG中的左陪集

  2. Hg={hghH}Hg = \{h \cdot g | h \in H\}HHGG中的右陪集

对于加法群,可以用g+Hg + H或者H+gH + g来表示左/右陪集

注意我们可以从陪集的定义中导出一个关系:考虑HHGG中的左陪集gHgH,一个元素aGa \in GgHgH中当且仅当hH,a=gh\exists h \in H, a = g \cdot h,即ag1Ha \cdot g^{-1} \in H,这时我们定义GG的关系R(a,g)ag1HR(a, g) \Leftrightarrow a \cdot g^{-1} \in H

接下来我们证明该关系是一个等价关系:

  1. 自反性:由子群的定义(单位元和母群相同)可知gg1Hg \cdot g^{-1} \in H

  2. 对称性:若有ag1Ha \cdot g^{-1} \in H,由于HH为群,有(ag1)1=ga1H(a \cdot g^{-1})^{-1} = g \cdot a^{-1} \in H

    注意乘法的顺序反过来是因为默认乘法不可交换,因此ga1ag1=g(a1a)g1=gg1=1g \cdot a^{-1} \cdot a \cdot g^{-1} = g \cdot (a^{-1} \cdot a) \cdot g^{-1} = g \cdot g^{-1} = 1

  3. 传递性:若bG,ab1Hbg1H\exist b \in G, a \cdot b^{-1} \in H \land b \cdot g^{-1} \in H,则由群的封闭性,有ab1bg1=ag1Ha \cdot b^{-1} \cdot b \cdot g^{-1} = a \cdot g^{-1} \in H

综上所述,关系R(a,g)R(a, g)是一个等价关系,即

agag1Ha \sim g \Leftrightarrow a \cdot g^{-1} \in H

我们可以看到,该等价关系导出的等价类即为gHgH,假设R={giiI}R = \{g_i \mid i \in I\}GG对上述等价关系的完全代表元系,根据等价类的性质,我们可以导出GG在该等价关系下的划分:

G=gRgHG = \bigcup_{g \in R}gH

该分割被称为GG对子群HH的左陪集分解,其中左陪集的个数为R|R|,记为[G:H][G:H],这个值被称为子群HHGG的指数。

拉格朗日定理

对于有限群GG,由于GG可以被分割为gRgH\bigcup_{g \in R}gH,其中每个等价类gHgH的元素个数相同。显然ord(H)ord(G)ord(H) | ord(G),即群GG的阶为子群HH的阶的倍数。

循环群

对于群(G,)(G, \cdot),若存在gGg \in G使得G={gkkZ}G = \{g^k | k \in \mathbb{Z}\},那么称(G,)(G, \cdot)为一个循环群,其中gg为该循环群的生成元。

循环群的阶

有限群GG​中所有元素的个数称为群的阶,记为ord(G)ord(G)​。

GG是阶为nn的循环群时,有

e=g0=gne = g^0 = g^n

对于GG中的元素aaH=({akkZ},)H = (\{a^k | k \in \mathbb{Z}\}, \cdot)构成一个循环群,该群为GG的子群。其阶ord(H)ord(H)也被称为aaGG中的阶,记为ord(a)ord(a)。当ord(H)=ord(a)=ord(G)ord(H) = ord(a) = ord(G)时,aa称为GG的生成元。

假设a=gka = g^k,为了求HH的阶ord(G)=mord(G) = m,我们需要得到最小的mm,使得am=gkm=ea^m = g^{km} = e。由于gn=eg^n = e,我们只需求出最小的mm使nkmn | km。不难得到

m=ngcd(n,k)m = \frac{n}{gcd(n, k)}

aa的阶为ngcd(n,k)\frac{n}{gcd(n, k)}

推论

  1. 对于阶为nn的有限循环群GG,其生成元的个数为ϕ(n)\phi(n)

    证明:要使某一元素a=gk,(k<n)a = g^k, (k \lt n)为群的生成元,只需n=ngcd(n,k)n = \frac{n}{gcd(n, k)},即n,kn, k互质,显然,这样的kk的个数即为欧拉函数ϕ(n)\phi(n)。(同时可以证明k<nk \lt n时,幂乘不会得到自身)

  2. 阶为质数的群都是循环群。

    证明:// TODO

环(ring)

定义:

假设有一个集合RR以及定义在该集合上的二元运算\cdot以及++,三元组(R,+,)(R, +, \cdot)形成一个代数结构,当且仅当该代数结构满足下面条件时,其被称为一个环:

  1. (R,+)(R, +)形成一个交换群

  2. (R,)(R, \cdot)形成一个半群

  3. 乘法运算(\cdot)关于加法(++)满足分配律,即a,b,cR,a(b+c)=ab+ac\forall a, b, c \in R, a \cdot (b + c) = a \cdot b + a \cdot c

性质:

环的性质可以由其定义导出

  1. 交换群(R,+)(R, +)的单位元被称为0元素,有0+0=00 + 0 = 0。同时有aR,a0=0a=0\forall a \in R, a \cdot 0 = 0 \cdot a = 0

    证明:

    由分配律:

    a0=a(0+0)=a0+a0a \cdot 0 = a \cdot (0 + 0) = a \cdot 0 + a \cdot 0

    因此:

    a0a0=a0a \cdot 0 - a \cdot 0 = a \cdot 0

    注意上面的-是加法群的逆运算,由乘法半群的封闭性以及加法群逆运算的定义知a0a0=0a \cdot 0 - a \cdot 0 = 0,因此a0=0a \cdot 0 = 0

    同理可证0a=00 \cdot a = 0.(注意这个不是半群的单位元)

  2. a,bR,a(b)=(a)b=ab\forall a, b \in R, a \cdot (-b) = (-a) \cdot b = - a \cdot b

    证明:

    由分配律:

    a(b)=a(0b)=a0ab=aba \cdot (-b) = a \cdot (0 - b) = a \cdot 0 - a \cdot b = -a \cdot b

    同理有(a)b=ab(-a) \cdot b = - a \cdot b,原式得证。

幺环(unital ring)

定义:

当半群(R,)(R, \cdot)存在单位元(为幺半群)时,该环被称为幺环。此时幺半群的幺元也是该幺环的幺元。

环的理想(ideal)

定义:

若一个环的一个子集上的加法运算形成一个群,同时所有与子环中的元素进行的乘法运算的结构均在该子环中,那么称该子环称为原环的理想。环的理想呈现出一种闭包(对加法封闭)和吸收(对乘法吸收)的性质,因此可以利用环的理想来构造商环,从而实现对原环进行某种聚类。

严格定义如下:

假设有环(R,+,)(R, +, \cdot)IRI \subseteq R,那么当

  1. (I,+)(I, +)构成(R,+)(R, +)子群

  2. iI,rR,irI\forall i \in I, \forall r \in R, i \cdot r \in I时,II被称为RR的一个左理想。iI,rR,riI\forall i \in I, \forall r \in R, r \cdot i \in I时,II被称为RR的一个右理想。当II既是RR的左理想,也是右理想时,称其为RR的一个双边理想,简称理想。

举例:整数环ZZ只有nZnZ形式的理想

商环 (quotient ring)

定义:

假设RR是一个环,II是它的一个(双边)理想,定义如下等价关系(满足自反,传递,对称性):

xyxyIx \sim y \Leftrightarrow x - y \in I

使用R/IR/I来表示由这个等价关系导出的等价类的集合,其中的元素记为a+Ia + I。注意这个元素是一个集合,准确的来讲,a+I={a+xxI}a + I = \{a + x \mid x \in I\}

对于集合R/IR/I

//TODO

剩余(residual)类与剩余系

同余(congruence)

定义:

a,bZ,mZ+:a=b+qmab(modm)\exists a, b \in Z, m \in Z^+: a = b + qm \Leftrightarrow a \equiv b \pmod m

注:ab(modm)a \equiv b \pmod m也可以写作mabm \mid a - b

性质:

  1. 同余具有自反性,对称性以及传递性。

  2. dadb(modm)(d,m)=1ab(modm)da \equiv db \pmod m \land (d, m) = 1 \Rightarrow a \equiv b \pmod m

    证明:易知mdadbm \mid da - db,由于(m,d)=1(m, d) = 1,由最大公因数的性质2可知mabm \mid a - b,因此ab(modm)a \equiv b \pmod m成立。

  3. m,dZ+:ab(modm)ad+bd(modmd)\forall m, d \in Z^+: a \equiv b \pmod m \Rightarrow ad + bd \pmod {md}

  4. mZ+:ab(modm)(a,b,m)dad+bd(modmd)\forall m \in Z^+: a \equiv b \pmod m \land (a, b, m) \mid d \Rightarrow \frac{a}{d} + \frac{b}{d} \pmod {\frac{m}{d}}

  5. mZ+:ab(modm)dmab(modd)\forall m \in Z^+: a \equiv b \pmod m \land d \mid m \Rightarrow a \equiv b \pmod {d}

  6. m1,...,mkZ+:ab(modmi)ab(mod[m1,...,mk])\forall m_1, ..., m_k \in Z^+: a \equiv b \pmod {m_i} \Rightarrow a\equiv b \pmod {[m_1, ..., m_k]}

    证明:利用上面提到的最小公倍数的第三条性质,这是显然的。

  7. ab(modm)(a,m)=(b,m)a \equiv b \pmod m \Rightarrow (a, m) = (b, m)

    证明:易知a=qb+ma = qb + m,利用最大公因数的性质1即可证明。

Definition: A group view

定义一个等价关系

ab=ab(modn)a \sim b = a \equiv b \pmod n

那么我们可以在整数集ZZ上可以由该等价关系导出一个分割。这个分割由nn个等价类组成,将包含0<=i<n0 <= i < n的一个等价类记为i\overline{i}。使用ZnZ_n表示上述nn个等价类组成的集合,在ZnZ_n上定义加法

a+b=a+b\overline{a} + \overline{b} = \overline{a + b}

现证明该集合是一个阿贝尔群。

  1. 由同余的性质,该加法显然成立并且满足交换律,结合律以及封闭性。

  2. 单位元:易知我们总是有0Zn\overline{0} \in Z_n,且有0+a=a+0=a\overline{0} + \overline{a} = \overline{a} + \overline{0} = \overline{a},因此0\overline{0}为单位元。

  3. 逆元:根据同余的性质,有0a=a\overline{0} - \overline{a} = \overline{-a},因此对于每个aZn\overline{a} \in Z_n,总有aZn\overline{-a} \in Z_n使a+a=0\overline{a} + \overline{-a} = \overline{0}

综上所述,ZnZ_n是一个阿贝尔群。这个群被称为整数模n加法群。

该群中的等价类称为模nn剩余类,这个中所有等价类的代表元组成的集合被称为一个模nn完全剩余系。

Definition: A ring view

上面提出的整数模nn加法群ZnZ_n上假如定义一个乘法ab=ab\overline{a} \cdot \overline{b} = \overline{a \cdot b}。我们下面证明整数群在这一二元关系下形成一个幺半群:

  1. 封闭性:由于任何一个整数必然属于某一个等价类,因此这是显然的

  2. 结合律:根据乘法的定义,这同样是显然的

  3. 单位元:由于a1=1a=1\overline{a} \cdot \overline{1} = \overline{1} \cdot \overline{a} = \cdot \overline{1},可知1\overline{1}为单位元。

综上所述,ZnZ_n对此乘法形成一个含幺交换半群。

根据环的定义可知(Zn,+,)(Z_n, +, \cdot)构成一个幺环。

整数模n乘法群

接下来我们研究含幺交换乘法半群(Zn,)(Z_n, \cdot),通过上面提到的含幺半群的性质,我们可以知道从这个半群中可以提取出一个所有元素均可逆的子集ZnZ_n^*,这个子集在乘法运算上构成群。

首先我们来研究该半群中的哪些元素可逆:

对于该条件的形式描述为

aZn,bZn,ab=1=ab\forall \overline{a} \in Z_n, \exists \overline{b} \in Z_n, \overline{a} \cdot \overline{b} = \overline{1} = \overline{a \cdot b}

1ab(modn)1 \equiv ab \pmod n,即(ab,n)=1(ab, n) = 1

下面我们简化问题:若aZ,bZ,(ab,n)=1\forall a \in Z, \exists b \in Z, (ab, n) = 1,求aa应当满足的关系。

上面提到的关于最小公因数的定理我们可以知道

(a,n)=1(ab,n)=(b,n)(a, n) = 1 \Rightarrow (ab, n) = (b, n)

此时取b=ab = a即可使(ab,n)=1(ab, n) = 1

因此我们推测

(a,n)=1aZ,bZ,(ab,n)=1(a, n) = 1 \Leftrightarrow \forall a \in Z, \exists b \in Z, (ab, n) = 1

但注意这这里我们仅仅证明了充分性,下面我们来证明其必要性,即证明

(a,n)1bZ,(ab,n)1(a, n) \ne 1 \Rightarrow \forall b \in Z, (ab, n) \ne 1

显然当(a,n)1(a, n) \ne 1时有d1=(a,n)1d_1 = (a, n) \ne 1,进而d1abd_1 \mid ab,显然(ab,n)d11(ab, n) \ge d_1 \ne 1。故必要性得证。

综上所述,半群中元素a\overline{a}可逆的充要条件是(a,n)=1(a, n) = 1

故从该半群可以导出一个交换群Zn={a(a,n)=1}Z_n^* = \{\overline{a} \mid (a, n) = 1\},我们将这个群称为整数模n乘法群。

可以看到,整数模n乘法群中等价类的代表元均与nn互质,因此这个群中元素(等价类)的个数即所有小于nn且与nn互质的整数的个数,记为ϕ(n)\phi(n),这个函数被称为欧拉函数。群ZnZ_n^*的阶为ϕ(n)\phi(n).

Zn\mathbb{Z}^*_n中元素的阶

对于交换群Zn\mathbb{Z}^*_n,对于群中的某一个元素aa,根据群的封闭性,可以证明必然存在rr使得ar1mod  na^r \equiv 1 \mod n,那么使等式成立的最小rr称为aa的阶,在这种情况下,令H={akkZ}H = \{a^k | k \in \mathbb{Z}\},则群(H,)(H, *)是交换群Zn\mathbb{Z}^*_n的循环子群,其阶为aa的阶。

要判断一个数rr是否是aa的阶,若ar1mod  na^r \equiv 1 \mod n。我们只需判断是否存在一个数m<rm \lt r使得am1mod  na^m \equiv 1 \mod n。假设这样的数存在,那么显然mrm | r,则mm一定整除某个rr的素因子pp,假设m=krpm = k\frac{r}{p},取k=1k = 1,则m=rpm = \frac{r}{p}。因此我们只需验证rr的每一个质因数pp,使得

arp≢1modna^{\frac{r}{p}} \not\equiv 1 \mod n

如果均成立,那么rr便是aa的阶。

欧拉定理

根据拉格朗日定理,群Zn\mathbb{Z}^*_n中某一个元素aa的阶rr(其生成的循环群的阶)一定被Zn\mathbb{Z}^*_n的阶ϕ(n)\phi(n)整除,由于ar1mod  na^r \equiv 1 \mod n,我们可以得到

aϕ(n)=akr1modna^{\phi(n)} = a^{kr} \equiv 1 \mod n

即对于任意(a,n)=1(a, n) = 1aϕ(n)1mod  na^{\phi(n)} \equiv 1 \mod n

原根

原根的判定

不难看出,当aa的阶等于群Zn\mathbb{Z}^*_n的阶时,Zn\mathbb{Z}^*_n是一个循环群。此时称aa是模nn的一个原根,即aaZn\mathbb{Z}^*_n的一个生成元。即

ord(a)=ϕ(n)ord(a) = \phi(n)

要验证某个数aa是否是模nn的原根,只需验证aϕ(n)1mod  na^{\phi(n)} \equiv 1 \mod n并且对于ϕ(n)\phi(n)的每一个素因子pp都有aϕ(n)p≢1mod  na^{\frac{\phi(n)}{p}} \not\equiv 1 \mod n即可。

原根的存在性

nn存在原根当且仅当n=2,4,pα,2pαn = 2, 4, p^\alpha, 2p^\alpha,其中pp为奇素数。

ggpp的一个原根,那么ppp+gp+g中必然有一个是pαp^\alpha的原根,ggg+pαg+p^\alpha中的奇数必然是2pα2p^\alpha的原根。

根据之前的论述,循环群的生成元的个数为阶的欧拉函数,因此整数模nn乘法群的生成元个数为ϕ(ϕ(n))\phi(\phi(n))。换言之,即模nn的原根个数为ϕ(ϕ(n))\phi(\phi(n))

ggnn的一个原根,我们可以通过循环群的性质求出其他的原根:对所有小于ϕ(n)\phi(n)的质数pp,求gpmod  ng^p \mod n即可。

离散对数(指数)

由于原根可以通过指数运算得到群中所有的元素,我们可以使用该指数作为群中元素的一个表征,例如模11乘法群中2是一个原根,由于26mod  11=92^6 \mod 11 = 9,我们称9模11对于2的原根为6。

离散对数(记为indind)和通常的对数相比有很多类似的性质。

费马小定理

对于质数pp,群Zp\mathbb{Z}^*_p的阶ord(Zp)=ϕ(p)=p1ord(Z_p^*) = \phi(p) = p - 1。根据原根的存在性,pp存在原根,因此群Zn\mathbb{Z}^*_n是一个循环群。根据群的拉格朗日定理,该群中任何元素生成的子群的阶要么是1,要么是ϕ(p)\phi(p),由于单位元的存在,该群中任何非单位元元素aa的阶为ϕ(p)\phi(p),根据阶的定义,有aϕ(p)1mod  pa^{\phi(p)} \equiv 1 \mod p

整理上面的推导,我们得到下面的结论:对于任意素数pp,任意整数aa,有

ap11modpa^{p-1} \equiv 1 \mod p

注:费马小定理也可以看作欧拉定理的一种特殊情况。