目录
前言
一. 格的最短向量
二. 格基正交化
2.1 基本理解
2.2 常用性质
(1)向量的正交性
(2)空间维度保持不变
(3)格基改变
(4)正交化的顺序
三. 最短向量长度下界
证明方法一:
证明方法二:
四. 格点离散
五. 格的连续最小值
总结
最短的非零向量长度是格密码中的一个基本量(定义前提为非零向量,因为格中总包含零向量,其模长为0),通常使用代量表示。用格的观点来理解:以r为半径的球内的格,只能形成一维的格的延展空间,简单来讲就是这个球内只有一个格点。
铺垫欧几里得范数,又叫范数,给定任意向量x定义为如下:
通过在格密码相关的论文中,一般被简写为||x||。
其实还有范数,定义为如下:
范数定义为如下:
首先定义圆心为原点,半径为r的m维实心球的式子,如下:
对于秩为n的格,其连续最小值定义为如下:
如下图表示了最小值和次小值的长度:
此定义表明了格的最短向量,次短向量,······的长度。
备注:格的连续最小值还跟维度相关,不能只理解为长度
在分析最短向量下界之前,需要理解格基的正交化(有的时候也叫做Gram-Schmidt正交化)。
给定n个线性独立的向量,把它们转化成n个正交的向量,这个过程就是线性代数中所谓的Gram-Schmidt正交化过程。先来看一个二维向量的例子:
保持向量不变,也就是,将向量投影到向量的正交子空间上,就可以形成。教科书式的表达,我们也可以看一下:
Project each vector on the space orthogonal to the span of the previous vectors.
正交化的过程一般是按照顺序进行的,先,再接着一直往后。给定n个线性独立的向量,Gram-Schmidt正交化的计算公式如下:
注意j的取值代表i前面所有的向量,垂直于的分量即为。
对任意,都有:
令span()代表向量形成的空间,则可得:
注意向量正交化已经把格基改的面目全非,正交化后的格基已经不能形成原来的格点,看上面那张图就很清楚了。也就是向量不一定是格的格基。
通过正交化的公式不难看出,正交化的顺序很重要,所以这个过程中应该把格基矩阵看成序列而不是集合。因为序列是受顺序影响的,集合具有无序性。
既然格基的正交化会改变格点,那岂不是很难利用在格密码上?别急,把以上公式改成与标准正交基相关即可。
给定n个线性独立的向量,其中每个向量都属于m维度,我们都知道标准正交基如下:
借助此理论,原始的格基可以表示为如下m行n列的矩阵:
其中就是格基正交化公式中的那个。
如果原始格满秩的话,也就是m=n,格基可以变成一个上三角的方阵。
若B为秩为n的格基,代表对应的Gram-Schmidt正交化结果,那么最短向量长度满足如下不等式:
此处将用两种方法来证明该定理。
与均代表长度,所以肯定都大于0,这个好证明。接下来,我们把重心放在证明上。
任取为整数非零向量,Bx即代表任意格点,我们只需要证明下列不等式恒成立即可:
取且为下标最大的非零元素。我们把格点和正交化后的格基向量相乘,由此可得如下等式:
简单分析:
对于任意的i 注意第二个等式,类似投影向量的理解。 根据向量相乘的结论,我们易得: 最终可得: 到此,证明完毕。 根据线性代数矩阵分解的理解,我们可以把格基矩阵分解成一个标准正交基矩阵和另一个矩阵,令代表标准正交基,也就是向量长度为1,我们可得如下分解(仅考虑满秩格): 从以上可以看出,在任何非零的组合中,最靠下的量最小的正值为。 对于任意两个不同格点x,y,总存在,满足。通过定义名称易理解,格是一个离散的集合。 证明: 根据格点的定义,当x和y均为格点时,x-y也必定属于格点,那么现在有两种理解方式: 该间隔一定大于0,换句话说格点离散。总结如上分析,也就是: 格的连续最小值可以用格内某向量长度表示,对于任意的,必定存在向量,使得。 证明: 依据格的最短向量概念,半径为的n维球内仅包含有限个格点。依据的定义,球内必定包含长度为的向量。 格密码的发展简史如下: 18世纪到1982年,拉格朗日、高斯、闵可夫斯基、埃尔米特等科学家开始研究格点的数学性质。 1982年到1996年进入LLL密码分析领域。 1996年到2005年第一代格密码开始出现,包含Ajtai96,AD97G, GH97。 2005年到2016年第二代格密码关注于实用化格密码算法,包含Regev0, GPV08, MP12, BLISS, NewHope, Frodo。 2016年至今,格密码开始不断标准化。证明方法二:
四. 格点离散
五. 格的连续最小值
总结