定义(格的基本区域) P⊂Rn:{P+x∣x∈L}\mathcal{P} \subset \mathbb{R}^n : \{ \mathcal{P} + \bm{x} | \bm{x} \in \mathcal{L} \}P⊂Rn:{P+x∣x∈L}是Rn\mathbb{R}^nRn的一种划分。
用P\mathcal{P}P对格点取模会呈现周期规律,即很多点“值”重复,例如上图中的绿色点为一组、红色点为一组、蓝色点为一组、棕色点为一组等。
商群和陪集的概念乍一看很迷惑,但其实很好理解,请参考文章
注意: 这里格的基本区域P\mathcal{P}P取半开区域,以上图二维格为例,可以是左边界、下边界为闭边界,而右边界、上边界为开边界,这样格中的所有点就均只属于一个基本区域,即每个陪集在每个基本区域中也只有一个点。
由于对格进行取模,故t+L\bm{t} + \mathcal{L}t+L又可表示为(B∨)t(mod1)(\bm{B}^\vee) \bm{t} ~ (\mathrm{mod} ~ 1)(B∨)t (mod 1)。注意,由于t+L\bm{t} + \mathcal{L}t+L不在格上,故对偶空间基向量乘以该点结果不会是整数,除以1必然有小数部分,而这个小数部分可以独立地代表不同的商群。(个人疑问: 这里的mod\mathrm{mod}mod物理意义理解起来感觉怪怪的,为什么是小数部分?推测可能是计算机实际上没有整除这一功能,除以1还是会有小数部分;或者就是为了表示起来简单方便,用模1表示取小数部分)
如何求对偶格基上一篇文章给出了参考答案:格密码学习笔记(五):对偶格。
利用格陪集,CVP可以有另外一种定义方式。这里公开课视频讲得有点抽象,我尝试写笔记结合推测解释一下。
定义(CVP) 给定一个格陪集t+L\bm{t} + \mathcal{L}t+L,在该格陪集中找到距离原点最近的点。
以上图为例,对于CVP给定的点t\bm{t}t,利用对偶格基相乘再模1可以获取陪集t+L\bm{t} + \mathcal{L}t+L中的所有点,即浅粉色的那部分点,找到距离原点最近的浅粉色点(绿色箭头所指),则t−e\bm{t} - \bm{e}t−e即CVP问题的解。
下一篇:rest开发