格密码基础:最短向量与连续最小值(附下界讨论)

目录

前言

一. 格的最短向量

二. 格基正交化

2.1 基本理解

2.2 常用性质

(1)向量的正交性

(2)空间维度保持不变

(3)格基改变

(4)正交化的顺序

三. 最短向量长度下界

证明方法一:

证明方法二: 

四. 格点离散

 五. 格的连续最小值

总结


前言

最短的非零向量长度是格密码中的一个基本量(定义前提为非零向量,因为格中总包含零向量,其模长为0),通常使用代量\lambda_1表示。用格的观点来理解\lambda_1=r:以r为半径的球内的格,只能形成一维的格的延展空间,简单来讲就是这个球内只有一个格点。

铺垫欧几里得范数,又叫l_2范数,给定任意向量x定义为如下:

||x||_2=\sqrt{\sum x_i^2}

通过在格密码相关的论文中,||x||_2一般被简写为||x||。

其实还有l_1范数,定义为如下:

||x||_1=\sum|x_i|

l_\infty范数定义为如下:

l_\infty=max|x_i|

一. 格的最短向量

首先定义圆心为原点,半径为r的m维实心球的式子,如下:

\bar B(0,r)=\lbrace x\in R^m:\ ||x||\leq r\rbrace

对于秩为n的格\Lambda,其连续最小值定义为如下:

\lambda_i(\Lambda)=inf\lbrace r|dim(span(\Lambda\cap\bar B(0,r)))\geq i\rbrace

如下图表示了最小值和次小值的长度:

格密码基础:最短向量与连续最小值(附下界讨论)_第1张图片

此定义表明了格的最短向量,次短向量,······的长度。

备注:格的连续最小值还跟维度相关,不能只理解为长度

在分析最短向量下界之前,需要理解格基的正交化(有的时候也叫做Gram-Schmidt正交化)。

二. 格基正交化

2.1 基本理解

给定n个线性独立的向量,把它们转化成n个正交的向量,这个过程就是线性代数中所谓的Gram-Schmidt正交化过程。先来看一个二维向量的例子:

格密码基础:最短向量与连续最小值(附下界讨论)_第2张图片

保持向量b_1不变,也就是\tilde b_1=b_1,将向量b_2投影到向量b_1的正交子空间上,就可以形成\tilde b_2。教科书式的表达,我们也可以看一下:

Project each vector on the space orthogonal to the span of the previous vectors.

正交化的过程一般是按照顺序进行的,先b_1,再b_2接着一直往后。给定n个线性独立的向量b_1,b_2,\cdots,b_n,Gram-Schmidt正交化的计算公式如下:

格密码基础:最短向量与连续最小值(附下界讨论)_第3张图片

注意j的取值代表i前面所有的向量,b_i垂直于\tilde{b_1},\tilde{b_2},\cdots,\tilde{b}_{i-1}的分量即为\tilde{b}_i

2.2 常用性质

(1)向量的正交性

对任意i\neq j,都有:

\langle \tilde b_i,\tilde b_j\rangle=0

(2)空间维度保持不变

令span()代表向量形成的空间,则可得:

span(b_1,b_2,\cdots,b_i)=span(\tilde{b_1},\tilde{b_2},\cdots,\tilde{b}_{i})

(3)格基改变

注意向量正交化已经把格基改的面目全非,正交化后的格基已经不能形成原来的格点,看上面那张图就很清楚了。也就是向量\tilde{b_1},\tilde{b_2},\cdots,\tilde{b}_{n}不一定是格L(b_1,b_2,\cdots,b_n)的格基。

(4)正交化的顺序

通过正交化的公式不难看出,正交化的顺序很重要,所以这个过程中应该把格基矩阵看成序列而不是集合。因为序列是受顺序影响的,集合具有无序性。

既然格基的正交化会改变格点,那岂不是很难利用在格密码上?别急,把以上公式改成与标准正交基相关即可。

给定n个线性独立的向量b_1,b_2,\cdots,b_n,其中每个向量都属于m维度R^m,我们都知道标准正交基如下:

\frac{\tilde b_1}{||\tilde b_1||},\cdots,\frac{\tilde b_n}{||\tilde b_n||}

借助此理论,原始的格基可以表示为如下m行n列的矩阵:

格密码基础:最短向量与连续最小值(附下界讨论)_第4张图片

其中\mu就是格基正交化公式中的那个\mu

如果原始格满秩的话,也就是m=n,格基可以变成一个上三角的方阵。

三. 最短向量长度下界

若B为秩为n的格基,\tilde {B}代表对应的Gram-Schmidt正交化结果,那么最短向量长度满足如下不等式:

\lambda_1(L(B))\geq min ||\tilde{b_i}||>0

此处将用两种方法来证明该定理。

\lambda_1(L(B))min ||\tilde{b_i}||均代表长度,所以肯定都大于0,这个好证明。接下来,我们把重心放在证明\lambda_1(L(B))\geq min ||\tilde{b_i}||上。

证明方法一:

任取x\in Z^n为整数非零向量,Bx即代表任意格点,我们只需要证明下列不等式恒成立即可:

||Bx||\geq min||\tilde b_i||

j\in \lbrace 1, \ldots ,n\rbracex_j为下标最大的非零元素。我们把格点和正交化后的格基向量相乘,由此可得如下等式:

简单分析:

  • 第一个等号:格点=格基乘以整数组合
  • 第二个等号:向量正交的定义
  • 第三个等号:向量乘以向量等于向量长度的平方

对于任意的i

<b_i,\tilde b_j>=0,\quad <b_j,\tilde b_j>=<\tilde b_j,\tilde b_j>

注意第二个等式,类似投影向量的理解。

根据向量相乘的结论,我们易得:

|\langle Bx,\tilde b_j\rangle|\leq ||Bx||\cdot ||\tilde b_j||

 最终可得:

||Bx||\geq |x_j|||\tilde b_j||\geq ||\tilde b_j||\geq min ||\tilde b_i||

到此,证明完毕。

证明方法二: 

根据线性代数矩阵分解的理解,我们可以把格基矩阵分解成一个标准正交基矩阵和另一个矩阵,令\bold{\hat{B}}代表标准正交基,也就是向量长度为1,我们可得如下分解(仅考虑满秩格):

格密码基础:最短向量与连续最小值(附下界讨论)_第5张图片

从以上可以看出,在任何非零的组合中,最靠下的量最小的正值为\lVert \tilde{b}_i\rVert

四. 格点离散

对于任意两个不同格点x,y,总存在\xi>0,满足\lVert x-y\rVert>\xi。通过定义名称易理解,格是一个离散的集合。

证明:

根据格点的定义,当x和y均为格点时,x-y也必定属于格点,那么现在有两种理解方式:

  1. x-y整体看成新的格点
  2. x-y看成两个向量相减,可以代表向量x与向量y之间的间隔

该间隔一定大于0,换句话说格点离散。总结如上分析,也就是:

格密码基础:最短向量与连续最小值(附下界讨论)_第6张图片

 五. 格的连续最小值

格的连续最小值可以用格内某向量长度表示,对于任意的1\leq i \leq n,必定存在向量v_i\in \Lambda,使得\lVert v_i\rVert=\lambda_i(\Lambda)

证明:

依据格的最短向量概念,半径为2\lambda_i(\Lambda)的n维球内仅包含有限个格点。依据\lambda_i的定义,球内必定包含长度为\lambda_i(\Lambda)的向量。

总结

格密码的发展简史如下:

18世纪到1982年,拉格朗日、高斯、闵可夫斯基、埃尔米特等科学家开始研究格点的数学性质。

1982年到1996年进入LLL密码分析领域。

1996年到2005年第一代格密码开始出现,包含Ajtai96,AD97G, GH97。

2005年到2016年第二代格密码关注于实用化格密码算法,包含Regev0, GPV08, MP12, BLISS, NewHope, Frodo。

2016年至今,格密码开始不断标准化。

格密码基础:最短向量与连续最小值(附下界讨论)_第7张图片

你可能感兴趣的:(格密码,网络安全,线性代数,矩阵,抽象代数,密码学,安全,安全架构)