基于密码学中格的基础知识相关介绍(学习笔记)

全同态学习(i春秋课程https://www.ichunqiu.com/course/50439 课时一:基于密码学中格的基础知识相关介绍)

一、什么是格

格是一组由一些线性无关的向量组成的点(全部整数组合)。其中v_{1}, ..., v_{n}称为基, a_{1}, ..., a_{n}应为整数。而图上的这些点,都是可以通过比如基v_{1}, v_{2} 组合得来的。

基并不是唯一的:图中的两对基都能形成图上所示的格。

二、3L算法

3L算法(用于估计格内的最短近似向量),以上是最开始的用途。。

而后,与密码学结合:

越来越多的应用,人们探索用格及其运算来构造密码算法,诸如公钥加密等。

三、为什么使用格来构造密码算法?

格 more secure than 整数分解等等,可以抵御量子计算机的攻击。而且,有时候可满足更多功能。

underlying of 格困难问题:给定一点,我们无法知道其是从哪点来的,因为维度可以很高(可沿很多方向移动)。但在实际应用中,这个问题被封装成LWE、SIS等问题。

格的优势:

而且,格可以用于实现其他密码功能(如全同态加密,当使用普通的整数分解问题就实现不了)。

四、可证明安全

困难问题:将加密方案规约成某困难问题。

平均情况困难问题vs.最坏情况困难问题:

平均困难问题:不然,如果你相信分解整数是难的,那就是相信在平均情况下分解整数是难的。所以不是意味着相信所有整数都难以分解,而是一些是难以分解的。所以可能一部分比例的(比如1%)的整数分解相关方案是可被破解的。

最坏情况困难问题:

任选左框的一个“格”,都可以映射到右框的任意一个加密算法。也就是说,如果我们发现1%的密码算法被破解了,那么所有的格函数都被破解了。于是:1、安全性更高;2、不需要担心如何选择加密方案所涉及的参数(按照安全证明的范围来就好)。

五、现代基于格的密码算法

以上是现代lattice-work的两个方面。

还有一个方面是:基于特定格代数结构而构造(可大幅度提高效率),即ring-SIS, ring-LWE (ideal lattices)。

六、格的技术方面介绍

1、格的定义

定义1:L(B),B是n*n矩阵(其列向量为基向量)

定义2:R^{n}上的某离散加法子群(离散:点是分散的;加法子群:加法操作是封闭的)

2、基生成格

如何判断两对基生成同样的格:

幺模矩阵U (unimodular matrix)

3、周期性函数

陪集:基本区域,其他区域的点都可以映射到里面(例如,以下两个灰色都是)

有下列性质:

If x=a1b1+...+anbn,

then  x mod P(B)=(a1 mod 1)b1+...+(an mod 1)bn

于是引出一个重要的性质:一个点在格上当且仅当这个点模P(B)后所得到的点是0点!

in fact,我们不是要考虑点的位置,而是要考虑点和格之间的关系。

这里的P(B)是某个基本区域(一般可称平行多面体)。

ps.基本区域不一定要是平行四边形:

4、行列式(determinant)

det(L)=\left | det(B) \right |=基向量(即B的列向量)所构成平行多面体的体积,因此行列式表示格点的密度(det越大,密度越小)。

5、连续极小

\lambda _{1}(L):格L中最短非零向量的l2范式距离(欧几里得距离)。

\lambda _{k}(L):包含k个线性不相关的球的最小直径

6、Gram-Schmidt正交

实现:对一组有序基做处理,投影每一个向量到之前向量的正交空间。如下图例子(但要注意的是,投影出来的~v2不是格点,~v2的形式见上图):

Gram-Schmidt正交同样也构成基本区域:

将n个基向量先GS正交,再正则化,得到一组基向量(线性代数意义上,非格点)。而后把基向量的长度作为图示的矩阵形式(上三角矩阵),于是矩阵又变成了可表示格点。同时满足两个性质,其中第二个性质比较重要!(给出了\lambda _{1}的下界),但是证明听不懂。。

7、Minkowski's 定理

8、Computation Problems (困难问题)

第一个可用高斯消元法,看能否用那些基向量来表示v

第二个可用检查是否由幺模矩阵来转换得来;或者用更简单的方法:取B1每一个基元素,看是否在B2中,而后反过来再检查一遍。

当涉及到几何问题,就更难了:

最短向量问题(SVP),以及其变种(如近似最短向量问题)

最短不相关向量问题(SIVP)

最近向量问题(CVP):给定一个点,求与这个点最大\gamma倍最近的格点。

以及BDD问题(定距离编码问题)

 

 

 

 

 

 

 

 

 

 

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值