格(Lattice)

格(Lattice)密码学理论数学基础

格的基本定义

\(格\)是欧几里得空间 ℝⁿ 中一组向量的所有整数线性组合构成的离散加法子群。形式化地,给定一组线性无关的向量 \(\mathbf{b}_1, \dots, \mathbf{b}_d \in \mathbb{R}^n\),由它们生成的格定义为:
\(\mathcal{L} = \left\{ \sum_{i=1}^d x_i \mathbf{b}_i : x_i \in \mathbb{Z} \right\}\)
其中 \(d\) 称为格的秩,\(n\) 为空间维数。若 \(d=n\),则称格为满秩格

格基与基变换

向量集合 \(B = \{\mathbf{b}_1, \dots, \mathbf{b}_d\}\) 称为格 \(\mathcal{L}\) 的一组基。同一个格可以由不同的基生成,这些基通过幺模变换相互关联:

\(B\)\(B'\) 是同一格的两组基,则存在一个幺模矩阵 \(U \in \mathbb{Z}^{d \times d}\)(即满足 \(\det(U) = \pm 1\)),使得 \(B' = B \cdot U\)

行列式的几何意义

格的\(行列式\) \(\det(\mathcal{L})\) 定义为基向量构成的行列式的绝对值:
\(\det(\mathcal{L}) = |\det(B)|\)
几何上,它表示格的基本平行多面体(由基张成)的体积。行列式是格的不变量,与基的选取无关。当 \(d=n\) 时,\(\det(\mathcal{L})\) 等于 \(ℝ^n\) 空间中每个格点平均占有的体积的倒数,反映了格的密度

格点的稠密度

在满秩格中,格点在空间中的\(稠密度\)定义为每单位体积中的平均格点数,即:
\(\rho = \frac{1}{\det(\mathcal{L})}\)
直观上,行列式越小,格点越密集

最小距离与连续极小量

最小距离 \(\lambda_1(\mathcal{L})\) 是格中非零向量最短的欧几里得范数:
\(\lambda_1(\mathcal{L}) = \min_{\mathbf{v} \in \mathcal{L} \setminus \{\mathbf{0}\}} \|\mathbf{v}\|\)

连续极小量 \(\lambda_i(\mathcal{L})\)\(1 \leq i \leq d\))定义为最小的实数 \(r\),使得格中存在 \(i\) 个线性无关的向量,其范数均不超过 \(r\)
\(\lambda_i(\mathcal{L}) = \min \{ r : \dim(\text{span}( \mathcal{L} \cap \overline{B}_r(0) )) \geq i \}\)
其中 \(\overline{B}_r(0)\) 是半径为 \(r\) 的闭球。显然 \(\lambda_1 \leq \lambda_2 \leq \cdots \leq \lambda_d\)

向量范数与距离

格理论中常用的范数包括:

  • \(欧几里得范数(ℓ²范数)\)\(\|\mathbf{v}\|_2 = \sqrt{\sum v_i^2}\)
  • \(最大值范数(ℓ∞范数)\)\(\|\mathbf{v}\|_\infty = \max_i |v_i|\)
  • 一般 ℓᵖ 范数

假设我们有一个 n 维向量 \(\mathbf{x} = (x_1, x_2, \dots, x_n)\)

1. Lp 范数 (ℓp-norm) - \(\|\mathbf{x}\|_p\)

这是一个范数家族,用一个参数 \(p\) 来定义。对于 \(p \geq 1\),它的定义是:
\(\|\mathbf{x}\|_p = \left( |x_1|^p + |x_2|^p + \dots + |x_n|^p \right)^{1/p} = \left( \sum_{i=1}^{n} |x_i|^p \right)^{1/p}\)
核心思想:

  1. 对每个分量取绝对值
  2. 对每个分量的 p 次方求和
  3. 对总和开 p 次方根
  • 当 p=2 时: \(\|\mathbf{x}\|_2 = \sqrt{|x_1|^2 + |x_2|^2 + \dots + |x_n|^2}\)
    • 这就是最熟悉的欧几里得范数,通常所说的向量的长度。对应二维或三维空间中的直线距离

2. L1 范数 (ℓ1-norm) - \(\|\mathbf{x}\|_1\)

L1 范数是 Lp 范数在 \(p=1\) 时的特例
定义:
\(\|\mathbf{x}\|_1 = |x_1| + |x_2| + \dots + |x_n| = \sum_{i=1}^{n} |x_i|\)
核心思想:
就是向量所有分量绝对值的总和。
曼哈顿距离: 在曼哈顿这样的城市里,从 A 点到 B 点,不能直接穿过建筑物,只能沿着街道(东西向和南北向)走。走过的总路程就是两点坐标差的绝对值之和


3. L∞ 范数 (ℓ∞-norm) - \(\|\mathbf{x}\|_\infty\)

L∞ 范数可以看作是 Lp 范数在 \(p \to \infty\) 时的极限
定义:
\(\|\mathbf{x}\|_\infty = \max(|x_1|, |x_2|, \dots, |x_n|)\)
核心思想:
就是向量所有分量中绝对值的最大值

在格密码学中,L2 范数是默认的标准。

格上的困难问题

格密码学基于几个计算困难问题,对量子算法目前仍然安全:

  1. 最短向量问题\((SVP)\):给定格基 \(B\),找到非零格向量 \(\mathbf{v} \in \mathcal{L}(B)\) 使得 \(\|\mathbf{v}\| = \lambda_1(\mathcal{L})\)

  2. 近似最短向量问题\((SVP-γ)\):给定基 \(B\) 和近似因子 \(\gamma \geq 1\),找到非零格向量 \(\mathbf{v}\) 满足 \(\|\mathbf{v}\| \leq \gamma \cdot \lambda_1(\mathcal{L})\)

  3. 最近向量问题\((CVP)\):给定格基 \(B\) 和目标向量 \(\mathbf{t} \in \mathbb{R}^n\),找到格向量 \(\mathbf{v} \in \mathcal{L}(B)\) 最小化 \(\|\mathbf{v} - \mathbf{t}\|\)

  4. 有界距离解码问题\((BDD/α)\):CVP 的变种,承诺目标向量 \(\mathbf{t}\) 距离格至多为 \(\alpha \cdot \lambda_1(\mathcal{L})\),其中 \(\alpha < 1/2\)

  5. 最短线性无关向量问题\((SIVP)\):找到 \(d\) 个线性无关的格向量,其最大长度不超过 \(\lambda_d(\mathcal{L})\) 的近似倍数

LWE 问题

现代格密码方案(如 Kyber、Dilithium)大多基于 带误差学习问题,而非直接基于 SVP 或 CVP。LWE 问题可以被视为格问题在代数形式下的等价表述

搜索版 LWE

给定参数 \(n, m, q\)\(q\) 通常为素数),目标是恢复秘密向量 \(\mathbf{s} \in \mathbb{Z}_q^n\)
输入包含 \(m\) 个样本对 \((\mathbf{a}_i, b_i)\),满足:

\[b_i = \langle \mathbf{a}_i, \mathbf{s} \rangle + e_i \pmod q \]

其中 \(\mathbf{a}_i \in \mathbb{Z}_q^n\) 是均匀随机向量,\(e_i \in \mathbb{Z}_q\) 是从离散高斯分布等误差分布中抽取的小噪声

决策版 LWE

这是安全性证明中最常用的形式。任务是区分两种分布:

  1. LWE 分布: 样本 \((\mathbf{a}, b)\) 由上述公式生成
  2. 均匀分布: 样本 \((\mathbf{u}, v)\)\(\mathbb{Z}_q^n \times \mathbb{Z}_q\) 上完全均匀随机选取
    Regev 定理 (2005): 解决决策版 LWE 问题的困难性等价于解决格上最坏情况近似 SVP 问题(在量子计算模型下)。这是格密码学具有抗量子特性的基石

结构化格——理想格与循环格

为了提高效率,实用的格密码方案通常不使用通用格,而是使用带有代数结构的格

循环格

若格 \(\mathcal{L}\) 的基向量为某个向量 \(\mathbf{a}\) 的循环移位,则称其为循环格

  • 数学对应: 对应商环 \(R = \mathbb{Z}[x] / (x^n - 1)\)
  • 运算: 格点向量的乘法对应多项式的循环卷积,可用 快速傅里叶变换 (FFT) 加速

理想格

理想格是循环格的推广。对于多项式环 \(R = \mathbb{Z}[x] / (f(x))\)(其中 \(f(x)\) 是首一不可约多项式),其中的理想 \(I\) 对应的整数向量集合即构成理想格

  • 优势: 密钥尺寸可从 \(O(n^2)\) 压缩至 \(O(n)\),运算速度大幅提升
  • Module-LWE: 为了平衡安全性和效率,NIST 标准中的 Kyber 和 Dilithium 使用了 Module-LWE,即基于多个小模理想格的直积,这避免了单一理想格可能存在的代数结构攻击风险
posted @ 2025-12-23 17:32  lumiere_cloud  阅读(3)  评论(0)    收藏  举报