@RunZhi
2017-08-24T22:36:33.000000Z
字数 2209
阅读 984
SVP
密码学
格理论
格的投影(或称投影格,翻译问题)是研究格的性质时常用到的概念,尤其是在一些格简约算法(Lattice Reduction algorithm)中。本文介绍格的投影的相关概念。本文假设读者已经对线性代数中投影(projection),正交(orthogonal),正交补集(orthogonal complement),GS(Gram-Schmidt)正交化等概念具有一定的熟悉度。
格的投影和一般的空间的投影有所差异。比如说,把一个3维空间()的所有的点投影到它的一个二维子空间中,显然所有的点仍然还会在原3维空间并且覆盖满整个二维子空间。然而,将一个格点(假设)投影到的某个子空间中,这个得到的点会是原来的格中的点吗?进一步的,把中所有格点投影到的某个子空间中,得到的点集本身会是一个格吗?
首先考虑2维整数格,将 投影到的正交补空间中。这里的是属于的子空间。显然投影后得到的点集不会是一个格,因为。
也就是说,将一个格随意投影到某个子空间中,得到结果不一定会是一个格。但是如果对投影的有要求,那么得到的结果会是一个格(未必是子格)。
定义1. Primitive Lattice(初基格?)
设为一个维的格,是一个的子格。
M 是 primitive 的,如果存在一个子空间使得。
prmitive子格的另外一个等价的不严谨的描述是可以通过扩张(增加基向量)扩张回。可以由此引出下面的定义
定义2.
设为一个维的格.一组向量称为primitive的当且仅当是的primitive子格,即使得是的基.
以下引理描述了格投影后还是格的一种情况。
引理1.
令为一个秩为d的格,令是一个秩为r且具有primitive属性的子格。定义投影操作:,它将中的点投影到 所在的最小的子空间的正交补空间(即定义1中的)中。
(该定义可能有些绕,考虑是一个秩为3的格,是一个秩为2的primitive子格,那么必然包含在某个2维子空间中(而且是最小的,由的秩为2),那么将中的点投影到这个2维子空间的正交补空间中。)是一个秩为的格。
上面的引理证明比较简单,因此这里不作赘述(注意要用到primitive性质)。根据该引理,可知将投影到也将会得到一个格。同时根据以上引理还会有如下的推论:
推论1
令为格的格基,设 为由primitive基 生成的格。定义。则是一个秩为的格。
以上推论经常用在格简约算法证明、格难题规约等地方。因为它可以使得我们对格进行归纳。比如说我们要解决秩为n的问题实例时,我们可以把它转化秩为n-1的问题实例进行归纳,将n-1问题实例的解转化为n问题实例的解。
假设现在有一个秩为的格,我们找到了里的最短向量,它一般不会在上,那么有没有什么办法,可以把这个 "lift"回呢(显然不一定会是的最短向量)。有,下图讲解的就是一个例子
将投影到对应的正交补集上得到。由GS变换可知:
而将转回原来的格中,只要:
显然是一个格点。
(高维度的下次更新吧)