卷积模格的降维方法
1. 卷积模格的旋转不变性
对于任意向量 $u = [u_0, u_1, \ldots, u_{N - 1}]$,定义其(右)旋转为 $\rho(u) = [u_{N - 1}, u_0, u_1, \ldots, u_{N - 2}]$。多次应用 $\rho$ 可得到 $k$ 重旋转,记为 $u^{(k)} = \rho^k(u) = [u_{N - k}, u_{N - k + 1}, \ldots, u_{N - k - 1}]$。
通过卷积积的定义可轻松计算得出 $\rho(u * v) = u * \rho(v)$,重复应用此规则可得 $\rho^k(u * v) = u * \rho^k(v)$,其中 $k \in Z$($\rho$ 的负幂定义为左旋转)。
设 $L(c, q)$ 为卷积模格(CML),对 $L(c, q)$ 的定义同余式应用 $\rho^k$ 可得 $c * \rho^k(u) \equiv \rho^k(v) \pmod{q}$。这表明若 $[u, v] \in L(c, q)$,则其所有旋转 $[u^{(k)}, v^{(k)}]$ 也都在 $L(c, q)$ 中。
需注意,向量的旋转向量与原向量长度相同。特别地,CML 的最短向量问题(SVP)最多有 $N$ 个不同解,对应于任意一个最短向量的 $N$ 种旋转。类似地,若 CML 的最近向量问题(CVP)的目标向量 $t \in R^n$ 具有旋转不变性(即其所有坐标相同),则 CVP 最多也有 $N$ 个不同解。
2. 卷积模格的模式方法
密码学中常用的卷积格通常被构造为包含短的二进制(或三进制)向量,即这些格中很多短向量的许多坐标为零。
超级会员免费看
订阅专栏 解锁全文
63万+

被折叠的 条评论
为什么被折叠?



