关于格的维度与秩定义的疑问及术语一致性澄清请求
我一直以为格的维度等于其基向量的数量,也就是形如:
$$\mathcal{L}(\mathbf{b}_1,...,\mathbf{b}n)= \left{\sum{i=1}^n x_i\mathbf{b}_i:x_i \in \mathbb{Z}\right}$$
的格维度为$n$。这个认知来自两本经典教材:
Hoffstein, Jeffrey等人所著的《An Introduction to Cryptography》(2014年Springer New York版,第388页)明确提到:
格$\mathcal{L}$的维度是其基中包含的向量数量。
Gama, Nicolas与Phong Q. Nguyen合著的《Predicting Lattice Reduction》里写道:
$\mathcal{L}$等于所有$\mathbf{b}_i$的整数线性组合构成的集合$\mathcal{L}(\mathbf{b}_1,...,\mathbf{b}d)= \left{\sum{i=1}^d x_i\mathbf{b}_i:x_i \in \mathbb{Z}\right}$,整数$d$就是格$\mathcal{L}$的维度。
这里需要说明的是,Gama等人的定义里$d$和前文中的$n$指代的是同一个数值。
不过最近我在阅读Micciancio, Daniele与Shafi Goldwasser的《Complexity of lattice problems: a cryptographic perspective》(Springer Science & Business Media第671卷,2002年版)时,发现了完全不同的术语定义——书的第1页给出了和上文一致的格的数学表达式,但描述是:
$\mathbb{R}m$中的格是由$\mathbb{R}m$中$n$个线性无关向量$\mathbf{b}_1,...,\mathbf{b}_n$(满足$m\geq n$)的所有整数组合构成的集合。整数$n$和$m$分别被称为格的秩和维度。
这就出现了明显的术语冲突:前两本教材里定义的“维度”,在这本教材里被叫做“秩”。举个直观的例子,由$\mathbf{b}_1=[0, 1]$生成的格$\mathcal{L}(\mathbf{b}_1)$,按照前两个定义是1维的,但按第三个定义却是2维的,同时它的秩为1。
我现在有点困惑,想请教大家:是不是格密码领域里关于“维度”和“秩”的术语并没有统一的标准,完全取决于作者的习惯?还是我在理解这些定义的时候遗漏了什么关键点?
备注:内容来源于stack exchange,提问作者scribe

