剩余类环上可逆矩阵的计数

GLn(Zm)GL_n(\mathbb Z_m)GLn(Zm)

m∈N+m \in \mathbb N^+mN+是任意正整数,利用数论基本定理,可以写作
m=p1e1p2e2⋯pses m = p_1^{e_1}p_2^{e_2} \cdots p_s^{e_s} m=p1e1p2e2pses
其中pi,i=1,⋯ ,sp_i,i=1,\cdots,spi,i=1,,s都是素数,ei,i=1,⋯ ,se_i,i=1,\cdots,sei,i=1,,s是正整数。

下面我们考虑一般线性群GLn(Zm)GL_n(\mathbb Z_m)GLn(Zm)的结构。它里面的元素都是Zm\mathbb Z_mZm上的nnn阶可逆矩阵。

步骤一

首先,我们证明:
A∈GLn(Zm)  ⟺  det(A)∈Zm∗ A \in GL_n(\mathbb Z_m) \iff det(A) \in \mathbb Z_m^* AGLn(Zm)det(A)Zm
也就是说,矩阵AAA是可逆阵,当仅当它的行列式Zm\mathbb Z_mZm乘法可逆

Proof:

  1. 证明“⇒\Rightarrow”,

    对于一个A∈Zmn×nA \in \mathbb Z_m^{n \times n}AZmn×n,如果A∈GLn(Zm)A \in GL_n(\mathbb Z_m)AGLn(Zm),总存在一个B∈Zmn×nB \in \mathbb Z_m^{n \times n}BZmn×n,使得
    AB=BA=In∈Zmn×n AB = BA = I_n \in \mathbb Z_m^{n \times n} AB=BA=InZmn×n
    那么计算对应的行列式
    det(A)⋅det(B)=det(B)⋅det(A)=det(In)=1 det(A) \cdot det(B) = det(B) \cdot det(A) = det(I_n) = 1 det(A)det(B)=det(B)det(A)=det(In)=1
    于是det(A)det(A)det(A)可逆,且det(A)−1=det(B)det(A)^{-1} = det(B)det(A)1=det(B)

  2. 证明“⇐\Leftarrow”,

    对于一个A∈Zmn×nA \in \mathbb Z_m^{n \times n}AZmn×n,如果det(A)∈Zm∗det(A) \in \mathbb Z_m^*det(A)Zm,那么总存在一个b∈Zmb \in \mathbb Z_mbZm,使得
    det(A)⋅b=b⋅det(A)=1∈Zm det(A) \cdot b = b \cdot det(A) = 1 \in \mathbb Z_m det(A)b=bdet(A)=1Zm
    构造AAA的伴随矩阵A∗A^*A,那么
    AA∗=A∗A=det(A)⋅In AA^* = A^*A = det(A) \cdot I_n AA=AA=det(A)In
    两边同乘以bbb
    (b⋅A∗)A=A(b⋅A∗)=(b⋅det(A))⋅In=In (b \cdot A^*)A = A(b \cdot A^*) = (b \cdot det(A)) \cdot I_n = I_n (bA)A=A(bA)=(bdet(A))In=In
    从而AAA可逆,且A−1=b⋅A∗A^{-1} = b \cdot A^*A1=bA

步骤二

然后,我们证明存在如下的群同构
GLn(Zm)≅GLn(Zp1e1)×GLn(Zp2e2)×⋯×GLn(Zpses) GL_n(\mathbb Z_m) \cong GL_n(\mathbb Z_{p_1^{e_1}}) \times GL_n(\mathbb Z_{p_2^{e_2}}) \times \cdots \times GL_n(\mathbb Z_{p_s^{e_s}}) GLn(Zm)GLn(Zp1e1)×GLn(Zp2e2)××GLn(Zpses)
Proof:

构造映射
ϕ(A):=(Amod  p1e1, Amod  p2e2, ⋯ , Amod  pses) \phi(A) := (A \mod p_1^{e_1},\, A \mod p_2^{e_2},\, \cdots,\, A \mod p_s^{e_s}) ϕ(A):=(Amodp1e1,Amodp2e2,,Amodpses)
我们将证明它是双射。

  1. 证明是单的,

    对于任意的A,B∈GLn(Zm)A,B \in GL_n(\mathbb Z_m)A,BGLn(Zm)A≠BA \neq BA=B,假设有
    ϕ(A)=ϕ(B) \phi(A) = \phi(B) ϕ(A)=ϕ(B)
    那么就是说
    ∀k=1,⋯ ,s, A≡Bmod  pkek \forall k=1,\cdots,s,\, A \equiv B \mod p_k^{e_k} k=1,,s,ABmodpkek
    等价于
    ∀k=1,⋯ ,s, ∀i,j=1,⋯ ,n, Aij−Bij≡0mod  pkek \forall k=1,\cdots,s,\, \forall i,j = 1,\cdots,n,\, A_{ij} - B_{ij} \equiv 0 \mod p_k^{e_k} k=1,,s,i,j=1,,n,AijBij0modpkek
    那么
    ∀i,j=1,⋯ ,n, Aij−Bij≡0mod  m \forall i,j = 1,\cdots,n,\, A_{ij} - B_{ij} \equiv 0 \mod m i,j=1,,n,AijBij0modm
    也就是
    A≡Bmod  m A \equiv B \mod m ABmodm
    这与假设矛盾。因此,只要两个原像不同,它们的像就不同,是单射。

  2. 证明是满的,

    对于任意的
    (A(1), A(2), ⋯ , A(s))∈GLn(Zp1e1)×GLn(Zp2e2)×⋯×GLn(Zpses) (A^{(1)},\, A^{(2)},\, \cdots,\, A^{(s)}) \in GL_n(\mathbb Z_{p_1^{e_1}}) \times GL_n(\mathbb Z_{p_2^{e_2}}) \times \cdots \times GL_n(\mathbb Z_{p_s^{e_s}}) (A(1),A(2),,A(s))GLn(Zp1e1)×GLn(Zp2e2)××GLn(Zpses)
    我们将它拆解为n×nn \times nn×n片:
    ∀i,j=1,⋯ ,n, (Aij(1), Aij(2), ⋯ , Aij(s))∈Zp1e1×Zp2e2×⋯×Zpses \forall i,j=1,\cdots,n,\, (A^{(1)}_{ij},\, A^{(2)}_{ij},\, \cdots,\, A^{(s)}_{ij}) \in \mathbb Z_{p_1^{e_1}} \times \mathbb Z_{p_2^{e_2}} \times \cdots \times \mathbb Z_{p_s^{e_s}} i,j=1,,n,(Aij(1),Aij(2),,Aij(s))Zp1e1×Zp2e2××Zpses
    由于模数两两互素,利用 CRT,每一片都存在唯一的元素与之对应
    CRT(Aij(1)mod  p1e1, Aij(2)mod  p2e2, ⋯ , Aij(s)mod  pses)=Aijmod  m CRT(A^{(1)}_{ij} \mod p_1^{e_1},\, A^{(2)}_{ij} \mod p_2^{e_2},\, \cdots,\, A^{(s)}_{ij} \mod p_s^{e_s}) = A_{ij} \mod m CRT(Aij(1)modp1e1,Aij(2)modp2e2,,Aij(s)modpses)=Aijmodm
    将这些数排列成矩阵A∈Zmn×nA \in \mathbb Z_m^{n \times n}AZmn×n,易知
    ∀k=1,⋯ ,s, Amod  pkek=A(k)∈GLn(Zm) \forall k=1,\cdots,s,\, A \mod p_k^{e_k} = A^{(k)} \in GL_n(\mathbb Z_m) k=1,,s,Amodpkek=A(k)GLn(Zm)
    依据步骤一,得到
    ∀k=1,⋯ ,s, det(A)mod  pkek≡det(Amod  pkek)∈Zpkek∗ \forall k=1,\cdots,s,\, det(A) \mod p_k^{e_k} \equiv det(A \mod p_k^{e_k}) \in \mathbb Z_{p_k^{e_k}}^* k=1,,s,det(A)modpkekdet(Amodpkek)Zpkek
    那么
    det(A)∈Zm∗ det(A) \in \mathbb Z_{m}^* det(A)Zm
    再根据步骤一,得到
    A∈GLn(Zm) A \in GL_n(\mathbb Z_m) AGLn(Zm)
    因此,像空间中的任意元素,都存在原像空间上的元素与之对应,是满射。

∣GLn(Zm)∣|GL_n(\mathbb Z_m)|GLn(Zm)

对于剩余类环Zm\mathbb Z_mZm,其中
m=p1e1p2e2⋯pses m = p_1^{e_1}p_2^{e_2} \cdots p_s^{e_s} m=p1e1p2e2pses
我们证明了群同构:
GLn(Zm)≅GLn(Zp1e1)×GLn(Zp2e2)×⋯×GLn(Zpses) GL_n(\mathbb Z_m) \cong GL_n(\mathbb Z_{p_1^{e_1}}) \times GL_n(\mathbb Z_{p_2^{e_2}}) \times \cdots \times GL_n(\mathbb Z_{p_s^{e_s}}) GLn(Zm)GLn(Zp1e1)×GLn(Zp2e2)××GLn(Zpses)
因此两者的大小相同,
∣GLn(Zm)∣=∣GLn(Zp1e1)∣×∣GLn(Zp2e2)∣×⋯×∣GLn(Zpses)∣ |GL_n(\mathbb Z_{m})| = |GL_n(\mathbb Z_{p_1^{e_1}})| \times |GL_n(\mathbb Z_{p_2^{e_2}})| \times \cdots \times |GL_n(\mathbb Z_{p_s^{e_s}})| GLn(Zm)=GLn(Zp1e1)×GLn(Zp2e2)××GLn(Zpses)
接下来我们计算GLn(Zpe)GL_n(\mathbb Z_{p^e})GLn(Zpe)的大小。

步骤一

对于素域Zp\mathbb Z_pZp,因为它是无零因子环,因此任意的非零向量vvv,向量组{v}\{v\}{v}是线性无关的。否则,存在a≠0a \neq 0a=0,使得a⋅v=0a \cdot v=0av=0;不失一般性的,令第一分量v[1]≠0v[1] \neq 0v[1]=0,那么a⋅v[1]=0a \cdot v[1]=0av[1]=0,这与无零因子环矛盾。

为了构造出Zp\mathbb Z_pZp上的一个可逆阵,这等价于在空间Zpn\mathbb Z_p^nZpn上挑选一个大小为nnn的线性无关向量组:

  1. 挑选第一个向量v1v_1v1,它除了不能是零向量。而其他的选择都可以令{v1}\{v_1\}{v1}是线性无关的,有pn−1p^n-1pn1种选择
  2. 挑选第二个向量v2v_2v2,为了保持线性无关,它不能落在子空间Span({v1})Span(\{v_1\})Span({v1})内部。其他的选择都可以保持{v1,v2}\{v_1,v_2\}{v1,v2}是线性无关的,因此有pn−pp^n-ppnp种选择
  3. 挑选第三个向量v2v_2v2,为了保持线性无关,它不能落在子空间Span({v1,v2})Span(\{v_1,v_2\})Span({v1,v2})内部。其他的选择都可以保持{v1,v2,v3}\{v_1,v_2,v_3\}{v1,v2,v3}是线性无关的,因此有pn−p2p^n-p^2pnp2种选择
  4. 继续挑选其他向量,保持选出的向量组是线性无关的,直到选出nnn个向量。

因此,
∣GLn(Zp)∣=(pn−1)(pn−p)⋯(pn−pn−1) |GL_n(\mathbb Z_p)| = (p^n-1)(p^n-p) \cdots (p^n-p^{n-1}) GLn(Zp)=(pn1)(pnp)(pnpn1)

步骤二

ϕ(pe)=pe−1(p−1)\phi(p^e) = p^{e-1}(p-1)ϕ(pe)=pe1(p1),因此环Zpe\mathbb Z_{p^e}Zpe中包含pe−1p^{e-1}pe1个不可逆元素。实际上,这些不可逆元素都是ppp的倍数:
S={kp: k=0,1,⋯ ,pe−1−1} S = \{kp:\, k=0,1,\cdots,p^{e-1}-1\} S={kp:k=0,1,,pe11}
Eij,i,j=1,⋯ ,nE_{ij},i,j=1,\cdots,nEij,i,j=1,,n表示一个nnn阶方阵,它只有第iii行第jjj列的元素是111,其他位置都为000

我们将证明,所有的GLn(Zpe)GL_n(\mathbb Z_{p^e})GLn(Zpe)中的可逆阵A′A'A都形如
A′=A+∑i,jsij⋅Eij, ∃A∈GLn(Zp), ∃sij∈S A' = A + \sum_{i,j} s_{ij} \cdot E_{ij},\, \exists A \in GL_n(\mathbb Z_p),\, \exists s_{ij} \in S A=A+i,jsijEij,AGLn(Zp),sijS

  1. 证明“⇒\Rightarrow”,

    任取A′∈GLn(Zpe)A' \in GL_n(\mathbb Z_{p^e})AGLn(Zpe),它满足
    (det(A′),pe)=1 (det(A'),p^e) = 1 (det(A),pe)=1
    易知
    (det(A′),p)=1 (det(A'),p) = 1 (det(A),p)=1
    因此,选取矩阵A=A′mod  pA = A' \mod pA=Amodp,再令A′−A=∑i,jsij⋅EijA' - A = \sum_{i,j} s_{ij} \cdot E_{ij}AA=i,jsijEij,容易验证:
    A∈GLn(Zp) A \in GL_n(\mathbb Z_p) AGLn(Zp)
    以及
    ∀i,j=1,⋯ ,n, sij∈S \forall i,j=1,\cdots,n,\,s_{ij} \in S i,j=1,,n,sijS

  2. 证明“⇐\Leftarrow”,

    任取A∈GLn(Zp)A \in GL_n(\mathbb Z_p)AGLn(Zp),等价于det(A)∈Zp∗det(A) \in \mathbb Z_p^*det(A)Zp,也就是(det(A),p)=1(det(A),p)=1(det(A),p)=1

    那么,构造Zpe\mathbb Z_{p^e}Zpe上矩阵
    A′=A+∑i,jsij⋅Eij, ∀sij∈S A' = A + \sum_{i,j} s_{ij} \cdot E_{ij},\, \forall s_{ij} \in S A=A+i,jsijEij,sijS
    由于∀i,j, p∣sij\forall i,j,\, p|s_{ij}i,j,psij,因此
    det(A′)≡det(A′mod  p)≡det(A)mod  p det(A') \equiv det(A' \mod p) \equiv det(A) \mod p det(A)det(Amodp)det(A)modp
    从而
    (det(A′),p)=(det(A),p)=1 (det(A'),p) = (det(A),p) = 1 (det(A),p)=(det(A),p)=1
    也就是A′A'A的行列式与ppp互素,进一步可以得到
    (det(A′),pe)=1 (det(A'),p^e) = 1 (det(A),pe)=1
    这等价于
    A′∈GLn(Zpe) A' \in GL_n(\mathbb Z_{p^e}) AGLn(Zpe)

因此,每存在111A∈GLn(Zp)A \in GL_n(\mathbb Z_{p})AGLn(Zp)就存在∣S∣n2|S|^{n^2}Sn2A′∈GLn(Zpe)A' \in GL_n(\mathbb Z_{p^e})AGLn(Zpe)与之对应,并且不重叠。即:
∣GLn(Zpe)∣=∣GLn(Zp)∣⋅∣S∣n2=∣GLn(Zp)∣⋅p(e−1)n2 |GL_n(\mathbb Z_{p^e})| = |GL_n(\mathbb Z_{p})| \cdot |S|^{n^2} = |GL_n(\mathbb Z_{p})| \cdot p^{(e-1)n^2} GLn(Zpe)=GLn(Zp)Sn2=GLn(Zp)p(e1)n2

实例 - GLn(Z26)GL_n(\mathbb Z_{26})GLn(Z26)

由于m=21×131m = 2^1 \times 13^1m=21×131,因此有
GLn(Z26)≅GLn(Z2)×GLn(Z13) GL_n(\mathbb Z_{26}) \cong GL_n(\mathbb Z_{2}) \times GL_n(\mathbb Z_{13}) GLn(Z26)GLn(Z2)×GLn(Z13)
GLn(Z2)GL_n(\mathbb Z_{2})GLn(Z2)的大小为:
∣GLn(Z2)∣=(2n−1)(2n−2)⋯(2n−2n−1)×2(1−1)n2 |GL_n(\mathbb Z_{2})| = (2^n-1)(2^n-2)\cdots(2^n-2^{n-1}) \times 2^{(1-1)n^2} GLn(Z2)=(2n1)(2n2)(2n2n1)×2(11)n2
GLn(Z13)GL_n(\mathbb Z_{13})GLn(Z13)的大小为:
∣GLn(Z13)∣=(13n−1)(13n−13)⋯(13n−13n−1)×13(1−1)n2 |GL_n(\mathbb Z_{13})| = (13^n-1)(13^n-13)\cdots(13^n-13^{n-1}) \times 13^{(1-1)n^2} GLn(Z13)=(13n1)(13n13)(13n13n1)×13(11)n2
得到:
∣GLn(Z26)∣=(2n−1)(2n−2)⋯(2n−2n−1)⋅(13n−1)(13n−13)⋯(13n−13n−1) |GL_n(\mathbb Z_{26})| = (2^n-1)(2^n-2)\cdots(2^n-2^{n-1}) \cdot (13^n-1)(13^n-13)\cdots(13^n-13^{n-1}) GLn(Z26)=(2n1)(2n2)(2n2n1)(13n1)(13n13)(13n13n1)
这就是 Hill 加密方案的密钥空间大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值