格密码中的困难问题

目录

写在前面

一. SVP问题

二. GapSVP问题

三. uSVP问题

四. uSVP与GapSVP问题之间的归约

五. 整数旋转格上的困难问题

5.1 格同构

5.2 y-ZSVP问题


写在前面

本文章主要关注SVP问题的变式,以及它们的关系。其中包含SVP问题,GapSVP问题,uSVP问题。以及旋转格上这些困难问题的理解。

一. SVP问题

一般利用正整数n来代表格的维度,也就是:

n\in Z^+

格困难问题会出现近似因子的概念,该值通常是一个与n相关的公共参数:

\gamma=\gamma(n)\geq 1

首先我们先来看第一个很常用的格困难问题,全称叫y-approximate shortest vector problem,通常会被简称为y-SVP问题。

因为目标是输出一个格向量,所以这是一个search问题。

也就是给定格L的格基B:

尝试寻找一个非零的格向量:

该格向量的长度相对较短,也就是满足:

二. GapSVP问题

介绍的第二个问题的全称叫做decision-y-approximate shortest vector problem。该问题简称为y-GapSVP问题。

因为该问题的输出结果只有YES或者NO,所以这叫做判定性问题(decision版本)。

该问题也是给定一个格L的格基B:

外加一个大于0的常数r>0

来判定该格最短向量长度到底满足哪一种情况。

第一种叫YES instance,也就是:

第二种叫NO instance,也就是:

当然,该问题的前提是要保证最短向量的长度只会出现这两种情况之一,不会出现介于中间的情况(问题无定义)。

从直觉来看,GapSVP要比SVP问题“简单”一丢丢。

三. uSVP问题

y-uSVP问题的全称为unique shortest vector problem with gap y。

因为这个问题的本质也是寻找最短的非零格向量,所以这也是一个search问题。

相比于普通的SVP问题,该问题前提限定了:

也就是第二短的格向量比第一短的格向量的y倍还要长。这个性质其实可以间接反应格的稀疏程度。换句话说,如果这两者相差的越大,那么最后的\lambda_1(L)就越好求。

这个问题的目标也是找到一个格向量:

使其长度刚好最短:

四. uSVP与GapSVP问题之间的归约

在格困难问题的归约中,一般会设定近似因子为多项式范畴,也就是:

论文[LM09]证明:在维持格维度不变的情况下,y-uSVP可以使用Cook归约到y-GapSVP上。

[LM09] Vadim Lyubashevsky and Daniele Micciancio. On Bounded Distance Decoding, Unique Shortest Vectors, and the Minimum Distance Problem. In CRYPTO, 2009. 3, 9, 22

如果这些困难问题的近似因子为常数会发生什么?

比如在y-GapSVP问题中,如果近似因子取常数范围,也就是:

\gamma=1.93+o(1)

那么解决该问题的计算难度其实是指数复杂度:

2^{\frac{n}{2}+o(n))}

对计算复杂性感兴趣的小伙伴可以翻看此论文[ADR15]:

[ADRS15] Divesh Aggarwal, Daniel Dadush, Oded Regev, and Noah Stephens-Davidowitz. Solving the shortest vector problem in 2n time using discrete Gaussian sampling. In STOC, 2015. 1, 2, 5,6, 9, 18, 21

五. 整数旋转格上的困难问题

n维整数格可以直接写为:

Z^n

5.1 格同构

如果有两个格,它们的维度均为n。且存在一种正交变换R:

R\in O_n(R)

使得可以将一个格旋转成另外一个格,也就是:

那么这两个格就是同构的,英文写做isomorphic(注意跟格同态区分开来)。

其中最常见的就是n维整数格的旋转格同构:

5.2 y-ZSVP问题

y-ZSVP问题的全称为y-approximate shortest vector problem on rotations of Z^n

这个问题的本质是在n维整数旋转格上寻找最短的非零格向量,所以其本质也是一个search问题,近似因子的定义与前面类似:

\gamma=\gamma(n)\geq 1

来总结下这个问题的标准定义。

给定格基B:

B\in R^{n\times n}

格L与n维整数格Z^n同构,也就是:

L\cong Z^n

目标是寻找一个格向量:

v\in L

使其长度有上限:

||v||\leq \gamma\cdot \lambda_1(L)

当然,如果近似因子y=1时,那么这个就是最原始的ZSVP问题。之前对于该问题也有过一些解释,可以参看之前的博客:

【格密码基础】详解ZSVP问题-CSDN博客

细心的小伙伴会发现,其实ZSVP问题的本质就是找出格的旋转角度,所以这个其实就是格同构问题:Lattice isomorphism problem LIP问题。

如果LIP问题真的是NP-困难的话,那么直觉上可以设计很多新的格公钥密码方案。比如:

给定一个同构格:

将格L的坏基作为公钥。

根据以上讨论,我们知道找出标准正交基,也就是旋转角度是困难的。所以这个方向是可行的。

从本质上讲,找出n维整数格的同构形式的标准正交基的过程,可以多项式时间归约到ZSVP问题上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值