12 q 元格与模线性方程 整理日期:2026-10-16。
前置笔记:01 格与格基 、02 基本区域、格行列式与正交化 、07 对偶格与对偶基 。
设 q ≥ 2 q\ge2 q ≥ 2 为整数,
Z q = Z / q Z , A ∈ Z q n × m , n ≤ m . \mathbb Z_q=\mathbb Z/q\mathbb Z,
\qquad
A\in\mathbb Z_q^{n\times m},
\qquad n\le m. Z q = Z / q Z , A ∈ Z q n × m , n ≤ m .
向量按列排列,长度使用欧氏范数。记 A ~ ∈ Z n × m \widetilde A\in\mathbb Z^{n\times m} A ∈ Z n × m 为 A A A 的任意整数代表矩阵。
1. q q q 元格与两种矩阵表示
满足
q Z m ⊆ Λ ⊆ Z m \boxed{
q\mathbb Z^m\subseteq\Lambda\subseteq\mathbb Z^m
} q Z m ⊆ Λ ⊆ Z m
的格称为 q q q 元格 (q q q -ary lattice)。
由于加入 q q q 的整数倍不改变成员关系,一个整数向量是否属于 Λ \Lambda Λ ,完全由它模 q q q 后的剩余类决定。
给定矩阵 A A A ,有两种常用构造。
模核格:由齐次模方程定义。
Λ q ⊥ ( A ) = { x ∈ Z m : A x ≡ 0 ( m o d q ) } . \boxed{
\Lambda_q^\perp(A)
=
\{x\in\mathbb Z^m:Ax\equiv0\pmod q\}.
} Λ q ⊥ ( A ) = { x ∈ Z m : A x ≡ 0 ( mod q )} .
它包含所有满足模线性约束的整数向量,是模 q q q 核空间在整数空间中的全部提升。
模像格:由模 q q q 的行空间生成。
Λ q ( A ) = { x ∈ Z m : x ≡ A T s ( m o d q ) ,某个 s ∈ Z q n } . \boxed{
\Lambda_q(A)
=
\left\{
x\in\mathbb Z^m:
x\equiv A^{\mathsf T}s\pmod q
\text{,某个 }s\in\mathbb Z_q^n
\right\}.
} Λ q ( A ) = { x ∈ Z m : x ≡ A T s ( mod q ) ,某个 s ∈ Z q n } .
等价地,
Λ q ( A ) = A ~ T Z n + q Z m . \Lambda_q(A)
=
\widetilde A^{\mathsf T}\mathbb Z^n
+
q\mathbb Z^m. Λ q ( A ) = A T Z n + q Z m .
这里使用的是 A T A^{\mathsf T} A T 的像,也就是 A A A 的行向量在模 q q q 意义下生成的集合。加入 q Z m q\mathbb Z^m q Z m ,才能得到所有整数提升。
两者都是 Z m \mathbb Z^m Z m 的加法子群,并且都包含 q e 1 , … , q e m qe_1,\ldots,qe_m q e 1 , … , q e m ,因此都是 R m \mathbb R^m R m 中的满秩格。定义及满秩性见 Micciancio《Random Lattices and Lattice-Based Cryptography》,Fall 2019,§2,PDF 第 4 页 。
需要区分:模核的有限域维数可以小于 m m m ,但对应整数格的秩仍为 m m m 。矩阵 A A A 描述模约束或模生成关系;实际的格基则是一个 m × m m\times m m × m 的整数矩阵。
2. 两类格的对偶关系
它们满足
Λ q ( A ) ∗ = 1 q Λ q ⊥ ( A ) , ( Λ q ⊥ ( A ) ) ∗ = 1 q Λ q ( A ) . \boxed{
\Lambda_q(A)^*
=
\frac1q\Lambda_q^\perp(A),
\qquad
\bigl(\Lambda_q^\perp(A)\bigr)^*
=
\frac1q\Lambda_q(A).
} Λ q ( A ) ∗ = q 1 Λ q ⊥ ( A ) , ( Λ q ⊥ ( A ) ) ∗ = q 1 Λ q ( A ) .
这些等式对任意整数 q ≥ 2 q\ge2 q ≥ 2 成立。见 Micciancio–Regev《Lattice-based Cryptography》,2008-07-22 作者稿,§2,PDF 第 5 页 。
证明可以直接使用像格的生成方式。向量 y y y 属于 Λ q ( A ) ∗ \Lambda_q(A)^* Λ q ( A ) ∗ ,当且仅当它与所有生成向量的内积均为整数,即
q y ∈ Z m , A ~ y ∈ Z n . qy\in\mathbb Z^m,
\qquad
\widetilde A y\in\mathbb Z^n. q y ∈ Z m , A y ∈ Z n .
令 x = q y x=qy x = q y ,条件变为
x ∈ Z m , A ~ x ∈ q Z n . x\in\mathbb Z^m,
\qquad
\widetilde A x\in q\mathbb Z^n. x ∈ Z m , A x ∈ q Z n .
因此 x ∈ Λ q ⊥ ( A ) x\in\Lambda_q^\perp(A) x ∈ Λ q ⊥ ( A ) ,得到第一个等式。再使用双对偶与缩放性质,便得到第二个等式。
所以,Λ q ⊥ ( A ) \Lambda_q^\perp(A) Λ q ⊥ ( A ) 中的“⊥ \perp ⊥ ”表示模 q q q 正交 ;它与通常的对偶格之间存在因子 q q q ,也不是实数空间中的正交补。
3. 行列式与模空间中的计数
对任意 q q q 元格,Λ / q Z m \Lambda/q\mathbb Z^m Λ/ q Z m 表示它包含的模 q q q 剩余类。由子群指数与基本区域体积的关系,
det ( Λ ) = [ Z m : Λ ] = q m ∣ Λ / q Z m ∣ . \det(\Lambda)
=
[\mathbb Z^m:\Lambda]
=
\frac{q^m}{|\Lambda/q\mathbb Z^m|}. det ( Λ ) = [ Z m : Λ ] = ∣Λ/ q Z m ∣ q m .
因此,一个 q q q 周期内包含的剩余类越多,格的行列式越小。
现在进一步假设 q q q 为素数 ,并记
r = rank Z q ( A ) . r=\operatorname{rank}_{\mathbb Z_q}(A). r = rank Z q ( A ) .
有限域线性代数给出
∣ ker A ∣ = q m − r , ∣ im A T ∣ = q r . |\ker A|=q^{m-r},
\qquad
|\operatorname{im}A^{\mathsf T}|=q^r. ∣ ker A ∣ = q m − r , ∣ im A T ∣ = q r .
于是
det ( Λ q ⊥ ( A ) ) = q r , det ( Λ q ( A ) ) = q m − r . \boxed{
\det\bigl(\Lambda_q^\perp(A)\bigr)=q^r,
\qquad
\det\bigl(\Lambda_q(A)\bigr)=q^{m-r}.
} det ( Λ q ⊥ ( A ) ) = q r , det ( Λ q ( A ) ) = q m − r .
特别地,当 A A A 满行秩,即 r = n r=n r = n 时,两者分别为 q n q^n q n 和 q m − n q^{m-n} q m − n 。满行秩情形及其等价条件见 Micciancio,§2,PDF 第 5 页,Exercise 4 。
两者的行列式乘积为 q m q^m q m ,这也与上一节的缩放对偶关系一致。
4. 非齐次模方程对应格陪集
考虑
A x ≡ u ( m o d q ) , u ∈ Z q n . Ax\equiv u\pmod q,
\qquad
u\in\mathbb Z_q^n. A x ≡ u ( mod q ) , u ∈ Z q n .
若存在一个整数解 x 0 x_0 x 0 ,则全部整数解构成
{ x ∈ Z m : A x ≡ u ( m o d q ) } = x 0 + Λ q ⊥ ( A ) . \boxed{
\{x\in\mathbb Z^m:Ax\equiv u\pmod q\}
=
x_0+\Lambda_q^\perp(A).
} { x ∈ Z m : A x ≡ u ( mod q )} = x 0 + Λ q ⊥ ( A ) .
原因是
A x ≡ u ⟺ A ( x − x 0 ) ≡ 0 ( m o d q ) . Ax\equiv u
\iff
A(x-x_0)\equiv0
\pmod q. A x ≡ u ⟺ A ( x − x 0 ) ≡ 0 ( mod q ) .
因此,齐次解集是格,非齐次解集在有解时是这个格的陪集。非零右端项对应的解集不含原点。
这也解释了短解问题的几何意义:
min A x ≡ u ( m o d q ) ∥ x ∥ = min v ∈ Λ q ⊥ ( A ) ∥ x 0 + v ∥ = dist ( − x 0 , Λ q ⊥ ( A ) ) . \min_{Ax\equiv u\;(\mathrm{mod}\;q)}\|x\|
=
\min_{v\in\Lambda_q^\perp(A)}\|x_0+v\|
=
\operatorname{dist}\bigl(-x_0,\Lambda_q^\perp(A)\bigr). A x ≡ u ( mod q ) min ∥ x ∥ = v ∈ Λ q ⊥ ( A ) min ∥ x 0 + v ∥ = dist ( − x 0 , Λ q ⊥ ( A ) ) .
找到任意解只确定了一个陪集;找到其中的短解,需要进一步优化长度。这个联系也出现在 Micciancio,§2,PDF 第 6 页,Exercise 6 及其提示 。
5. 从模矩阵写出一组格基
假设 q q q 为素数且 A A A 满行秩。通过列重排和模 q q q 上的可逆行变换,可以将其化为
A = ( I n C ) . A=\begin{pmatrix}I_n&C\end{pmatrix}. A = ( I n C ) .
下面使用重排后的坐标,并将 C C C 取为整数代表矩阵。可逆行变换保持两类格不变,列重排对应格坐标的重排。
将 x ∈ Z m x\in\mathbb Z^m x ∈ Z m 分成两块 x = ( u , v ) x=(u,v) x = ( u , v ) ,则
A x ≡ 0 ( m o d q ) ⟺ u + C v ≡ 0 ( m o d q ) ⟺ u = − C v + q z , z ∈ Z n . Ax\equiv0\pmod q
\iff
u+Cv\equiv0\pmod q
\iff
u=-Cv+qz,
\qquad z\in\mathbb Z^n. A x ≡ 0 ( mod q ) ⟺ u + C v ≡ 0 ( mod q ) ⟺ u = − C v + q z , z ∈ Z n .
所以,模核格的一组列基为
B k e r = ( q I n − C 0 I m − n ) . \boxed{
B_{\mathrm{ker}}
=
\begin{pmatrix}
qI_n&-C\\
0&I_{m-n}
\end{pmatrix}.
} B ker = ( q I n 0 − C I m − n ) .
同理,由像格的定义可得到一组列基
B i m g = ( I n 0 C T q I m − n ) . \boxed{
B_{\mathrm{img}}
=
\begin{pmatrix}
I_n&0\\
C^{\mathsf T}&qI_{m-n}
\end{pmatrix}.
} B img = ( I n C T 0 q I m − n ) .
两组基满足
B i m g T B k e r = q I m , B_{\mathrm{img}}^{\mathsf T}B_{\mathrm{ker}}
=
qI_m, B img T B ker = q I m ,
直接体现了两类格之间的缩放对偶关系。这也是从模方程表示转为格基表示的一种显式构造。
6. 与 SIS、LWE 的衔接
SIS:在模核格中寻找短的非零向量。
其核心约束为
x ∈ Λ q ⊥ ( A ) ∖ { 0 } , ∥ x ∥ ≤ β . x\in\Lambda_q^\perp(A)\setminus\{0\},
\qquad
\|x\|\le\beta. x ∈ Λ q ⊥ ( A ) ∖ { 0 } , ∥ x ∥ ≤ β .
长度限制至关重要:若只要求非零解,q e i qe_i q e i 总是现成的解。SIS 的正式定义还需要指定随机矩阵的分布和参数范围,下一篇再展开。见 Micciancio,PDF 第 1 页,Definition 1 。
LWE:观察模像格中的格点受到小误差扰动后的结果。
其整数误差形式写为
b ≡ A T s + e ( m o d q ) , b\equiv A^{\mathsf T}s+e\pmod q, b ≡ A T s + e ( mod q ) ,
其中 s ∈ Z q n s\in\mathbb Z_q^n s ∈ Z q n ,e ∈ Z m e\in\mathbb Z^m e ∈ Z m 是较短的误差向量。取 b b b 的整数代表 b ~ \widetilde b b ,则
b ~ − e ∈ Λ q ( A ) , dist ( b ~ , Λ q ( A ) ) ≤ ∥ e ∥ . \widetilde b-e\in\Lambda_q(A),
\qquad
\operatorname{dist}\bigl(\widetilde b,\Lambda_q(A)\bigr)
\le\|e\|. b − e ∈ Λ q ( A ) , dist ( b , Λ q ( A ) ) ≤ ∥ e ∥.
因此,带噪模线性方程可以解释为:给定一个靠近模像格的点,尝试恢复其背后的格点或秘密。其样本分布、搜索版与判定版将在第十四篇中明确。见 Micciancio,PDF 第 1 页,Definition 2 及其后的分布说明;第 4 页的格解释 。
引用此笔记