Bootstrap

【格密码基础】详解ZSVP问题

目录

一. 引入

二. ZSVP问题的定义

三. 对ZSVP问题的理解

四. 与ZSVP问题相关的归约

写在最后


一. 引入

我们知道最简单的n维格就是整数格Z^n,这个格的格基就是单位阵。

在格密码领域,我们也都认为整数格最简单,为啥这样讲呢?

Z^n中最短的非零向量就是标准的格向量\pm e_1,\cdots,\pm e_n,每个向量的长度都是1.想想就开心,这相当于我们解决了这个格上的SVP问题。

备注:SVP:Shortest Vector Problem

很明显在整数格Z^n其他所有计算性格基本问题都会变得很简单。但,如果现在我们把问题难度提升一点,先看一个格基B:

我的问题是请找出该格上最短的非零向量?

很明显,这是一个四维的格。好像问题还不是很容易解决。

那如果我接着补充,这个格其实是将整数格Z^n进行旋转得到的。所谓旋转其实就是使用了一个n维的正交矩阵(orthogonal matrix)R,记为:

R\in O_n(R)

旋转后的格可以记为:

RZ^n

我们知道旋转是不改变向量的长度的,那么在这个旋转格上,最短的非零向量长度肯定还是1,但具体是哪个向量就没那么好找了。

先公布前面那个问题的答案,将最短的非零格向量记为BZ,其中向量Z其实是:

Z=(59,396,225,-326)^T

其中T代表转置。

我们今天就是尝试分析,在旋转格上找出最短的非零向量。

二. ZSVP问题的定义

先给一个方便理解的定义。

首先第一步对整数格Z^n进行旋转;

怎么旋转是未知的。接着第二步在旋转后的格上寻找最短的非零向量。

这个定义已经很好理解了,再给一个官方定义吧。

Given a basis for L, find a shortest non-zero vector in the rotation L of Z^n

三. 对ZSVP问题的理解

在格密码学界,是否存在一个多项式时间算法来解决ZSVP目前还是一个开放性问题。

polynomial-time algorithm: 多项式时间算法  

open question:开放性问题

接着回忆起来,我们知道最原始的SVP问题肯定是NP-困难的。所以解决SVP问题目前最快的算法,其时间复杂度为:

2^{n+o(n)}

当然,从定义来看ZSVP问题还是有点特殊的。所以,不难看出ZSVP问题肯定要比SVP问题简单那么一丢丢。已有的研究表明,目前最快解决ZSVP问题的算法,其计算复杂度为:

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

两个一对比就看出来,不管SVP还是ZSVP都挺难的。

我们知道在格密码领域,解决困难问题的第一步通常都是格基约化算法。比如把刚才那个格基约化得“好看”一点。

格基约化算法本质是将格基变得更加正交,对整个格进行旋转是不影响格基的正交性质。所以在实际算法分析中,对格Z^n或格RZ^n进行格基约化是等效的。也就是论文中最喜欢用的“rotation invariant”。研究表明BKZ算法非常好用。

格密码之所以这么引入注意,其中一个原因就是它可以实现最坏情况到一般情况的归约:

worst case to average case

(这里先挖个坑吧,以后有时间再补上)

易得,ZSVP跟SVP类似,都是最坏情况下的格困难问题。

ZSVP问题虽然不知道最短的非零向量到底是哪一个,但其长度肯定是1.那么有没有什么算法可以用来攻击ZSVP问题呢?

启发式的筛法(sieve)是最直接用来攻击ZSVP问题的,其中比较好用的就是Gauss筛法了。

如果旋转角度比较特殊的话,比如90度,很明显ZSVP问题就会变得很简单,也就当然存在多项式时间算法了。

四. 与ZSVP问题相关的归约

论文[Szy03]近似解决ZSVP问题的方法是找到了一大堆长度为c\sqrt n的格向量,其中c为常数。

这个方法的本质就是实现了ZSVP问题到c\sqrt n- SVP问题的归约,其中c\sqrt n- SVP为近似(approximate)SVP问题。

[Szy03] Michael Szydlo. Hypercubic lattice reduction and analysis of GGH and NTRU signatures. InEUROCRYPT, 2003. 1, 4

但目前大多用的还是从ZSVP到\gamma-uSVP的归约。其中\gamma为近似系数,通常会影响到归约的时间复杂度,也就是:

(\frac{n}{\gamma^2})^{\gamma^2}\quad \gamma\leq \frac{\sqrt n}{2}

以上所提到的ZSVP,SVP和uSVP问题都是格基本问题的search版本。另外,GapSVP问题是decision版本。

在这些归约中,格稀疏化算法都非常好用(sparsification based reduction)。

写在最后

本文章的核心内容主要参考2023年密码学顶会欧密论文:

Bennett, H., Ganju, A., Peetathawatchai, P., Stephens-Davidowitz, N. (2023). Just How Hard Are Rotations of \mathbb {Z}^n? Algorithms and Cryptography with the Simplest Lattice. In: Hazay, C., Stam, M. (eds) Advances in Cryptology – EUROCRYPT 2023. EUROCRYPT 2023. Lecture Notes in Computer Science, vol 14008. Springer, Cham. https://doi.org/10.1007/978-3-031-30589-4_9

;