格密码:困难问题(LWE,SIS,SIVP,BDD,GapSVP)

目录

一. 前言

二. 困难问题之间的关系

2.1 SIS,SVP,SIVP关系

2.2 search-LWE/decision-LWE,GapSVP关系

三. 备注


一. 前言

格密码中有一个原语叫做multilinear map,常应用于code obfuscation,这个领域出现了非常多新设计的困难问题。但这些困难问题有一个致命的弱点,暂时不能实现最坏情况一般情况的安全归约,所以不被一些密码学家承认。但这其实是一个常见的发展路径,早些年全同态依赖的困难问题也是特殊设计的,只是后来不断发展后可归约到标准的LWE/RLWE困难问题。

所以,本文章尝试梳理格密码论文中常用的困难问题之间的关系。具体对问题的解释可以看我之前的博客。

SIS short integer solution 短整数解问题
SVP shortest vector problem 最短向量问题
SIVP shortest independent vectors problem 最短线性独立向量问题
LWE learning with errors 容错学习问题
BDD bounded distance decoding problem 有限距离解码问题
GapSVP decisional shortest vector problem 判定性最短向量问题

格密码:困难问题(LWE,SIS,SIVP,BDD,GapSVP)_第1张图片

二. 困难问题之间的关系

2.1 SIS,SVP,SIVP关系

给定\beta>0SIS_{q,\beta}可以看成q-ary垂直格\Lambda^\bot(A)上平均情况的近似SVP问题。

有关q-ary格的解释,可以看这篇博客:

格密码基础:q-ary格-CSDN博客

对于这个结论可以从两个角度理解。

角度1:随机选取一个矩阵A\in Z_q^{n\times m},对于任意m=poly(n),找到一个相对短的非零格点z\in \Lambda^\bot(A)

角度2:找到一个m维的整数向量z\in Z^m,使其满足如下:

Az=0\quad mod\ q\quad ||z||\leq \beta

当让模数取得足够大时,也就是q\geq \beta\sqrt n\cdot \omega(\sqrt{logn}),解决SIS_{q,\beta}问题的困难性与最坏情况下的SIVP_{\tilde O(\beta\sqrt n)}类似。

2.2 search-LWE/decision-LWE,GapSVP关系

LWE问题中噪声的分布要求参数\alpha>0(通常为标准差)。先说结论,LWE_{q,\alpha}问题可以看成平均情况下,格\frac{1}{q}\Lambda(A^t)上的BDD问题。之所以有个\frac{1}{q},是因为后续均标准化,也就是模1.

把任意实数模1,形成的一个集合,该集合实际上为加法群

T=\frac{R}{Z}

将实数R上的高斯概率分布记为D_\alpha,其中\alpha为标准差。

固定向量s\in Z_q^{n},均匀且随机取a\leftarrow Z_q^{n},e\leftarrow D_\alpha,接着计算:

(a,b=\langle a,s\rangle/q+e \quad mod\ 1)

由于a在变动,可以形成很多样本,将其记为LWE分布A_{s,\alpha},该分布的样本空间为Z_q^{n}\times T.

定义Search-LWE_{q,\alpha}问题:

A_{s,\alpha}中抽取m=poly(n)个样本,求s。

定义Decision-LWE_{q,\alpha}问题:

可能从A_{s,\alpha}中抽取一些样本,也可能从Z_q^{n}\times T中均匀且随机抽一些样本,判断样本来源。

从数学的角度来看,这两个问题差异很大。但其实密码学中已经有了很多的归约来证明两者的本质很类似。

q\geq 2\sqrt n/\alpha时,Search-LWE_{q,\alpha}在最坏情况下,可归约到SIVP_{\tilde O(n/\alpha)},遗憾的是这个过程需要用到量子归约。

只有当q足够大时,Search-LWE_{q,\alpha}才可归约到GapSVP和BDD问题。

刚才我们是使用样本的角度来进行解释,如果将样本写在一起,就可以形成矩阵,也就是:

A\in Z_q^{n\times m},b\in T^m,e\in R^m

这三者之间的关系,如下:

b=(A^ts)/q+e\quad mod\ 1

这样b就可以是一个向量,与q-ary格上的格点,或者q-ary垂直格的对偶格上的格点相关。简单来讲就是,向量b是如下格的一个格点+一个高斯噪声:

\Lambda^\bot(A)^*=\frac{1}{q}\Lambda(A^t)

实际上应用的时候,噪声e'\in Z^m为离散高斯分布,其标准差可以取\sqrt 2\alpha q

如果你看b中除以q不爽,也可以将其写为:

b'=A^ts+e'\quad mod\ q

三. 备注

以上其实包含很多归约过程,如果有人关注的话,以后再补上吧。

你可能感兴趣的:(格密码,困难问题,安全性归约)