格密码基础 —— Lattices

  • \(Lattice\)\(n\)维线性空间\(V\)中具有周期性结构的点集合,也可以视作\(\mathbb{R}^n\)的一个离散加法子群。
  • 定义1:给定\(n\)个线性无关向量\(\vec{b_1},\vec{b_2},\cdots,\vec{b_n}\in\mathbb{R}^m\),由它们产生的格被定义为:

    \[\mathcal{L}(\vec{b_1},\vec{b_2},\cdots,\vec{b_n})=\{\sum x_i\vec{b_i}|x_i\in\mathbb{Z}\} \]

    我们把\(\vec{b_1},\vec{b_2},\cdots,\vec{b_n}\)叫做格的基。等价地,如果定义\(B=\left(\begin{matrix}\vec{b_1} & \vec{b_2} & \cdots & \vec{b_n}\end{matrix}\right)_{m×n}\),那么\(B\)生成的格为:

    \[\mathcal{L}(B)=\mathcal{L}(\vec{b_1},\vec{b_2},\cdots,\vec{b_n})=\{B\vec{x}|\vec{x}\in\mathbb{Z}^n\} \]

    我们说格的秩为\(n\),其维数为\(m\),显然\(n\leq m\),其中如果\(n=m\),则称格为满格。
  • 定义2:格\(\mathcal{L}(B)\)中的基向量的所有线性组合所形成的集合,就叫做这组基向量所张成(生成)的空间(\(span\)):

    \[span(\mathcal{L}(B))=span(B)=\{B\vec{y}|\vec{y}\in\mathbb{R}^n\} \]

  • 定义3:对于任意格基\(B\),定义

    \[\mathcal{P}=\{B\vec{x}|\vec{x}\in\mathbb{R}^n,\forall i:0\leq x_i<1\} \]

    为格\(\mathcal{L}(B)\)的基础区域,\(\mathcal{P}(B)\)取决于\(B\)。并且,如果我们在\(\mathcal{L}(B)\)的每一个格点处放置一个\(\mathcal{P}(B)\)的副本,就可以得到\(span(B)\)
  • 如何判断给定的向量集是否构成格的\(basis\)
    一个格可能有不同的基,给定一个格的前提下,判定一个向量集是否是该格的基。
    • 引理1:设\(\mathcal{L}\)为秩为\(n\)的格,设\(\vec{b_1},\vec{b_2},\cdots,\vec{b_n}\in\mathcal{L}\)\(n\)个线性无关的格向量。\(\vec{b_1},\vec{b_2},\cdots,\vec{b_n}\)表示为\(\mathcal{L}\)\(basis\),当且仅当\(\mathcal{P}(\vec{b_1},\vec{b_2},\cdots,\vec{b_n})∩\mathcal{L}=\{\vec{0}\}\)
      证明:
      必要性:
      \(B=\left(\begin{matrix}\vec{b_1} & \vec{b_2} & \cdots & \vec{b_n}\end{matrix}\right)\)\(\mathcal{L}\)的基,由于\(\mathcal{L}\)\(B\)的所有整数的线性组合,而\(\mathcal{P}(B)\)被定义为\(B\)线性组合的集合,其系数在\([0,1)\)之间,由线性无关向量表出向量的方式唯一且\(\mathcal{L}\)\(\mathcal{P}(B)\)的系数交集是\(\vec{0}\),因此\(\mathcal{P}(B)∩\mathcal{L}=\{\vec{0}\}\)
      充分性:
      \(\mathcal{L}∩\mathcal{P}(B)=\{\vec{0}\}\),因为\(\mathcal{L}\)为秩\(n\)的格,\(B\)是线性无关的(一定为线性空间的基),对于\(y_i\in\mathbb{R}\),可以将任何格向量\(\vec{x}\in\mathcal{L}\)写成\(\sum y_i\vec{b_i}\)。由定义,\(\mathcal{L}\)是离散的加法群,加法计算是封闭的,所以一定有\(\vec{x}'=\sum(y_i-\lfloor y_i \rfloor)\vec{b_i}\in \mathcal{L}\)。根据假设,\(\vec{x}'=\vec{0}\),由线性无关向量的定义,\(y_i=\lfloor y_i\rfloor\),即\(y_i\)是整数,\(\vec{x}\)\(B\)的整数线性组合。
  • 如何确定两个给定的\(basis\),即\(B_1\)\(B_2\)是否等价?即生成相同的格(\(\mathcal{L}(B_1)=\mathcal{L}(B_2)\))?
    • 定义4:假设矩阵为\(U\in\mathbb{Z}^{n×n}\)\(|U|=±1\),则称\(U\)为幺模矩阵。
    • 引理2:如果\(U\)是幺模矩阵,那么\(U^{-1}\)也是幺模矩阵,特别是\(U^{-1}\in\mathbb{Z}^{n×n}\)
    • 引理3:两个\(basis\)是等价的,当且仅当\(B_2=B_1U\),其中\(U\)表示某个幺模矩阵。
      证明:
      必要性:
      \(\mathcal{L}(B_1)=\mathcal{L}(B_2)\),则\(span(B_1)=span(B_2)\),于是一定存在过渡矩阵\(U\)使得\(B_2=B_1U\)。由于\(\vec{b_{2,i}}\in\mathcal{L}(B_1)\),则\(U\in\mathbb{Z}^{n×n}\);同理,存在矩阵\(V\in\mathbb{Z}^{n×n}\),使得\(B_1=B_2V\)\(B_2=B_1U=B_2VU\),进一步有\(B_2^TB_2=(VU)^TB_2^TB_2(VU)\),两边取行列式,可以得到\(det(B_2^TB_2)=(det(VU)^2)det(B_2^TB_2)\),从而一定有\(det(V)\cdot det(U)=±1\)。矩阵的乘法只涉及到(+,×)运算,没有(÷)运算,因此如果\(A\)是整数矩阵,则\(det(A)\)一定是整数,故\(det(U)=±1\)
      充分性:
      假设\(B_2=B_1U\)\(U\)为幺模矩阵,因为幺模矩阵一定是整数矩阵,那么\(B_2\)的列向量\(\vec{b_{2,i}}\)一定包含在\(\mathcal{L}(B_1)\)中,即\(\mathcal{L}(B_2)\subseteq \mathcal{L}(B_1)\)。并且由引理2可知\(B_1=B_2U^{-1}\),同理,\(\mathcal{L}(B_1)\subseteq\mathcal{L}(B_2)\)\(\mathcal{L}(B_1)=\mathcal{L}(B_2)\)得证。
  • 作为一个直接的推论,\(B\)\(\mathbb{Z}^n\)\(basis\),当且仅当\(B\)是幺模矩阵。
    因为\(\mathbb{Z}^n\)可由\(I_n\)生成,即\(\mathcal{L}(I_n)=\mathbb{Z}^{n}\)\(det(I_n)=1\)。由引理3可得,\(\mathcal{L}(B)=\mathbb{Z}^n\leftrightarrow B\in\mathbb{Z}^{n×n}\ and det(B)=±1\)
  • 另一种确定两个\(basis\)是否等价的方法是在下面的引理中给出的:
    • 引理4:两个\(basis\)是等价的,当且仅当一个可以通过列上(基向量)的以下操作从另一个\(basis\)中获得:
      1. \(\vec{b_i}\leftarrow \vec{b_i}+k\vec{b_j}[k\in\mathbb{Z}]\)
      2. \(\vec{b_i}\leftrightarrow \vec{b_j}\)
      3. \(\vec{b_i}\leftarrow -\vec{b_i}\)
  • 定义5:设\(\mathcal{L}\)是秩为\(n\)的格,定义\(\mathcal{L}\)的行列式为\(det(\mathcal{L})=vol(\mathcal{P})\),其中\(vol(\mathcal{P})\)称为基本区域\(\mathcal{P}\)的体积。\(n=1\)时,\(vol(\mathcal{P})\)指的是长度;\(n=2\)时,\(vol(\mathcal{P})\)值得是面积;\(\cdots\cdots\)
    \(det(\mathcal{L})=\sqrt{det(B^TB)}\),在\(\mathcal{L}\)是满格的前提下,\(B\)是方阵,于是有\(det(\mathcal{L})=|det(B)|\)
    格的行列式是一个很好的定义,由引理3可知,同一个格即使在选择的基不同的情况下,\(det(B_1)=det(B_2)\),这意味着格的行列式只取决于格本身,与基的选取无关。这和基本区域只取决于格本身是相通的。
    • 格的行列式与其密度成反比:行列式越小,格的密度越大,这个当我们将\(\mathcal{P}\)的副本放置在\(\mathcal{L}\)的格点上时可以铺满整个空间又是相通的。

参考资料:

posted @ 2026-08-02 21:47  chen_xing  阅读(9)  评论(0)    收藏  举报