当前位置: 华文问答 > 科学

除了R

2014-11-28科学

基于格的难题你只说了一个RLWE,不知你是不是已经了解基于格的其它难题。引用刚才在另外一个问题中的回复。

密码学难题还有很多。说几个比较热门的。基于格的密码难题 \rm SVP 和 \rm CVP ,这两个难题都是抗量子的。还有基于他们构建的LWE和RLWE问题,它们是构建全同态加密的基础。 相关的知识内容可关注我并去我专栏学习。 下面我们来讲下基本的\rm SVP 和 \rm CVP 。

最短向量问题 \rm SVP

让我们定义最基本的涉及格的计算难题:最短向量问题,简称 \rm SVP 。 在这里,我们给出了一个格,需要我们找到最短的非零格点。 更准确地说,\rm SVP 有三个变体,这取决于我们是否必须实际找到最短的向量,找到它的长度,或者仅仅取决于它是否比某些给定的数字小:

  • Search \rm SVP : 给定格基 B∈\mathbb{Z}^{m×n} 求 v∈\mathcal{L}(B) ,使 ||v||=λ_1(\mathcal{L}(B)) 。
  • Optimization \rm SVP : 给定格基 B∈\mathbb{Z}^{m×n} ,找到 λ_1(\mathcal{L}(B)) 。
  • Decisional \rm SVP :给定格基 B∈\mathbb{Z}^{m×n} 和有理数 r\in \mathbb{Q} ,判断λ_1(\mathcal{L}(B))\leq r 是否成立。
  • 注意,我们限制格基由整数向量组成,而不是任意的实向量。这样做的目的是使输入以有限的多位表示,这样我们就可以将 \rm SVP 视为一个标准的计算难题。我们还可以允许格基由有理向量组成。这将导致一个本质上等价的定义,因为通过缩放,可以使所有有理数坐标都是整数。

    上述三个变体之间的两个简单关系是,决策变体不比优化变体更难,优化变体不比搜索变体更难。 事实上,可以证明逆向也是正确的:优化变量不比决策变量更难,搜索变量不比优化变量更难。 总之,这三个变体本质上是等价的。

    最近的向量问题 \rm CVP

    另一个基本格难题是最近的向量问题,简称 \rm CVP ,i.e.,目标是找到最接近给定空间点的格点。 和以前一样,对于任何近似因子 \gamma \geq 1 ,我们可以定义三个变体:

  • Search \rm CVP_\gamma : 给定格基 B∈\mathbb{Z}^{m×n} 和向量 t\in \mathbb{Z}^{m} ,查找 v\in \mathcal{L(B)} 使得 ||v-t|| \leq \gamma \cdot {\rm {dist}} (t, \mathcal{L}(B)) 。
  • Optimization \rm CVP_\gamma :给定格基 B∈\mathbb{Z}^{m×n} 和向量 t\in \mathbb{Z}^{m } ,求 d 使d≤{\rm dist}(t,\mathcal{L}(B))≤\gamma\cdot d 。
  • Promise \rm CVP_\gamma : 由 a triple (B,t,r) 给出一个难题实例,其中 B∈\mathbb{Z}^{m×n} 是格基, t∈\mathbb{Z}_m, r∈\mathbb{Q} 。 在 YES 实例中, {\rm dist}(t,\mathcal{L}(B)≤r 。在没有情况下, {\rm dist}(t,\mathcal{L}(B)\geq r 。
  • \rm CVP 和 \rm SVP 都是困难的计算问题,我们将在本课程后面更详细地讨论这些问题。 还有一些格中容易计算的问题,如:

  • Membership : 给定格基 B∈\mathbb{Z}^{m×n} 和向量 v\in \mathbb{Z}^{m} ,decide v 是否属于 \mathcal{L}(B) 。 方程 Bx=v 可以看作是 n 个变量中的 m 线性方程组。 因此,我们可以通过高斯消除来有效地解决它。 如果一个解存在,并且它恰好在 \mathbb{Z}^n (as opposed to \mathbb{Q}^n )中,则输出YES;否则输出NO。
  • Equivalence : 给定格基 B_1, B_2∈\mathbb{Z}^{m×n} , decide if \mathcal{L}(B_1) = \mathcal L(B_2) 。 为了解决这个问题,我们检查了两件事: B_1 的每一列都包含在 \mathcal L(B_2) 中, B_2 的每一列都包含在 \mathcal L(B_1) 中。 如果 \mathcal{L}(B_1) = \mathcal L(B_2) ,则满足这两个检查。 相反,如果满足这些检查,则 \mathcal{L}(B_1) \subseteq \mathcal L(B_2) 和 \mathcal{L}(B_1) \supseteq \mathcal L(B_2) ,因此 \mathcal{L}(B_1) = \mathcal L(B_2) 。