格密码LLL算法:如何解决最短向量SVP问题(1)

目录

前言

一. LLL算法的应用

二. 格基约化

总结


前言

在本节中,提出一个解决最短向量(SVP)问题的算法。在1982年,A.K.Lenstra,H.W.Lenstra,Jr和L.lovasz提出一种解决SVP问题的算法,通常称之为LLL算法。

在1801年,Gauss曾给出一个解决二维空间的SVP算法。某种意义上,LLL算法可以看成解决多维空间SVP问题的算法。在1987年,Schnorr改进过LLL算法,将计算复杂性改进到2^{O(\frac{n(loglogn)^2}{logn})}

一. LLL算法的应用

1. 在整数和有理数的范畴内,分解多项式。

2. 找到多项式方程足够精确的代数解。

3. 确定线性关系。给定实数集合\lbrace x_1,\ldots,x_n\rbrace,如果能找到一个整数集合\lbrace a_1,\ldots,a_n\rbrace,使得a_1x_1+\ldots+a_nx_n=0,其中a_i不全为0,则称此实数集合满足整数关系。

4. 整数规划。整数规划属于典型的NP完全类问题,对于有限变量数量的整数规划问题,LLL算法可以在多项式时间内输出最优解。

5. 可规约到格的另一个基本问题:最近向量问题(CVP)。

6. 在密码分析中应用广泛,例如攻击密码协议。LLL算法可以攻击基于背包向量的密码系统,以及攻击基于低公共指数的RSA系统。

例1:如将x^2-1分解成x+1x-1

例2:如x^2-2=0的输出解为1.414213,x^2+4x-3=0的输出解为0.645751。

例3:如,确定arctan(1)\approx0.785398,arctan(\frac{1}{5})\approx0.197395,arctan(\frac{1}{239})\approx0.004184的整数关系。经过LLL算法可输出:arctan(1)-4arctan(\frac{1}{5})+arctan(\frac{1}{239})=0(此等式又被称为Machin 公式)。

为了方便分析,后续统一讨论在满秩格以及l2正则下的LLL算法。为了全方位了解LLL算法,可以分为以下三个部分:

1. 定义LLL格基约化;

2. 确定格基约化算法;

3. 分析运行时间;

二. 格基约化

在求解SVP问题时,最先想到的就是对格基的多种线性组合尝试,其中最难的部分就是让两个坐标同时变小,如下图:

格密码LLL算法:如何解决最短向量SVP问题(1)_第1张图片

首先需要Gram-Schmidt正交化知识的铺垫。

定义1

给定n个线性独立的向量b_1,\ldots,b_n\in R^n,对b_1,\ldots,b_n的Gram-Schmidt正交化过程定义为:

\tilde b_i=b_i-\sum_{j=1}^{i-1}\mu_{i,j}\tilde b_j                      \mu_{i,j}=\frac{\langle b_i,\tilde b_j\rangle}{\langle\tilde b_j,\tilde b_j\rangle}

正交基不改变基本区的面积,而且当基向量比较接近时长度最短,如下图:

格密码LLL算法:如何解决最短向量SVP问题(1)_第2张图片

定义2 \delta-LLL格基约化需满足如下两个条件:

  1. \forall 1\leq i\leq n, j<i.\lvert\mu_{i,j}\rvert\leq\frac{1}{2}
  2. \forall 1\leq i<n.\delta\lVert\tilde b_i\rVert^2\leq\lVert\mu_{i+1,i}\tilde b_i+\tilde b_{i+1}\rVert^2

LLL算法最终输出的基称为LLL约化基。

格基约化性质(1) 总存在算法能实现格基约化。

格基约化性质(2)\delta=\frac{3}{4}是该算法的一个特例,LLL算法成立的前提条件\frac{1}{4}<\delta<1

格基约化性质(3)

根据LLL约化基的定义可得:

由于\tilde b_i\tilde b_{i+1} 相互垂直,可得:

由此可得\tilde b_{i+1}不会比\tilde b_i短太多。

格基B在经过正交化处理后,可以看成如下:
 

格密码LLL算法:如何解决最短向量SVP问题(1)_第3张图片

LLL约化基的定义保证了上三角的值不到同行的一半,由此可将上述矩阵改为:

格密码LLL算法:如何解决最短向量SVP问题(1)_第4张图片

从相邻基向量的长度关系推导,以2\times 2矩阵为例,可得如下:

格密码LLL算法:如何解决最短向量SVP问题(1)_第5张图片

Schnorr就在此矩阵的基础上。类推到k\times k矩阵(k>2)。

总结

格密码作为抗量子密码的候选算法之一,在欧美布局已久,成果丰富,国内起步较晚,目前缺乏对本领域的创新性贡献。

2012年美国NIST立项后量子密码标准项目,计划2024年推出产业标准;

2015年欧盟地平线科技2020计划抗量子旗舰项目,整合欧盟力量参与NIST标准竞选;

欧盟联合组队,在国际抗量子密码算法竞赛中遥遥领先。

格密码LLL算法:如何解决最短向量SVP问题(1)_第6张图片

你可能感兴趣的:(格密码,算法,线性代数,同态加密)