密码学中格的两面性
1. 引言
RSA可视为Coppersmith单变量模多项式方程定理的较弱版本。本文后续将介绍格的基本定义、算法问题、复杂度结果、算法结果,以及格规约在寻找多元线性方程小根方面的应用。
2. 格问题
2.1 定义
- 格的定义 :格是$\mathbb{R}^n$的离散(加法)子群,$\mathbb{Z}^n$的子群是整数格。格也可定义为一组线性无关向量的所有整数线性组合,即$L = \left{\sum_{i = 1}^{d}n_ib_i | n_i \in \mathbb{Z}\right}$,其中$b_i$在$\mathbb{R}$上线性无关,这组向量$b_i$称为格基。
- 格的维度 :所有基的元素个数相同,记为$\dim(L)$,称为格的维度(或秩),它等于格所张成的向量子空间$\text{span}(L)$的维度。
- 格的体积 :当$\dim(L) \geq 2$时,格有无限多个基,任意两个基通过某个幺模矩阵(行列式为$\pm1$的整数矩阵)相关联,所有基共享相同的格拉姆行列式$\det_{1\leq i,j\leq d}\langle b_i, b_j\rangle$。格的体积$\text{vol}(L)$(或行列式)定义为该格拉姆行列式的平方根,对应于由$b_i$张成的平行六面体的$d$维体积。在全维格($\dim(L) = n$)的重要情况下,体积等于任何格基行列式的绝对值。如果格是整数格,体积还等于$L$在$\mathbb{Z}^n$中的指数$[\ma