Page 420 - 《软件学报》2026年第1期
P. 420
曹金政 等: 格上困难问题量子求解算法综述 417
f : X = [M 1 ] → Z g : Y = [M 2 ] → Z, 的碰撞需要查询标准预言机的次数, 则其复杂度分析如下. 搜索
,
表示找到函数
√
算法调用常数次检测算法, 而检测算法的查询复杂度为 O( M 1 M 2 /l) 次插入/删除操作和 O(l+m) 次预言机查询;
( )
2 1/3 2 量子碰撞
当 M 1 ⩽ M 2 < M 时, 令 l = m = Θ (M 1 M 2 ) ; 当 M 2 ⩾ M 时, 令 l = m = M 1 ; 综合以上分析, Claw-Finding
1 1
算法总体的时间复杂度如下:
1/3
O((M 1 M 2 ) log(M 1 )), M 1 ⩽ M 2 < M 2
1
Q 2 (claw finding (M 1 , M 2 )) = .
1/2 2
O(M log(M 1 )), M 2 ⩽ M
2 1
董经等人 [47] 针对 NTRU 的求解修改了 Claw-Finding 量子碰撞算法, 使其适用于 NTRU 的多比特输出形式.
√
由于算法中所搜索函数的自变量分别为 f 3 和 f 1 f 2 , 根据分析可得算法复杂度为 O( | f 1 f 2 |/N). 除了理论上的复杂度
下降, 基于 Claw-Finding 量子碰撞的 NTRU 量子密钥恢复相比基于 Grover 搜索的量子密钥恢复不需要维护大规
模的指数列表, 同时不需要强量子预言假设, 实现难度更低. 综合对 NTRU 的量子密钥恢复, 基本的设计思路是在
密钥搜索的过程中应用 Grover 搜索、量子碰撞搜索等技术, 结合量子算法的特殊性质对算法加速. 在具体的攻击
方法中, 还针对 NTRU 的密钥的特殊结构与具体量子加速方法的实现方式, 进一步提高密钥搜索攻击效率. 下一
步可以考虑优化问题归约方法, 将原问题转化为新的量子计算问题, 并利用量子碰撞的最新成果 [101–103] 进一步提
高算法效率. 此外, 可以结合侧信道信息 [104] , 改进对 NTRU 的分析方法.
7 CVP 的量子算法
最近向量问题 (closest vector problem, CVP) 是格理论中重要的基础问题, 也是多种格公钥密码设计与分析的
必要工具. 格密码研究中较受关注的是 CVP 的一种变体, 即有界距离解码问题 (bounded distance decoding, BDD).
该问题中, 需要寻找与目标向量间距离小于给定值的格向量. CVP 与多数格问题相似, 存在两类量子求解方法: 第
一, 与 SVP 类似, 使用量子枚举等通用量子求解算法进行处理; 第二, 根据问题特定结构设计直接求解算法. 本节
据此分类方法, 对 CVP、BDD 的量子求解算法进行介绍, 基本脉络如图 13 所示.
基础求解 枚举 量子枚举算法
方法 算法
量子剪枝改进
CVP 问题
基于系统范式的量子算法
特殊求解 基于归约的量子算法
方法
基于 Voronoi 图的量子算法
图 13 CVP 量子求解算法分类
CVP 的基础求解算法方面, 较有代表性的是量子枚举算法. Aono 等人 [57] 将针对 CVP 的枚举算法进行量子
化, 并进一步推广至 BDD 问题的求解. 设目标向量为 u, 量子枚举算法可输出集合 L∩S 中的向量, 其中 S =
Ball n (u,R). 接下来通过比较所有向量与 u 的距离, 获得满足条件的向量. 枚举的具体过程与 SVP 求解过程类似,
可以视为对枚举树的深度优先搜索: 深度为 n−k 的节点代表 π k+1 (L)∩S 中的格点, 当算法遍历 π k+1 (L)∩S 中每个
点时, 通过以该点为中心遍历一个小球体可得到 π k (L)∩S 中所有格点. 除了基本的枚举算法, Aono 等人还针对圆
柱体剪枝等多种剪枝技术进行量子算法设计, 实现枚举的多方面加速. 以 BDD 的求解为基础, 作者探讨了该量子
算法在 LWE 求解中的应用.
CVP 的特殊求解算法方面, Eldar 等人 [62] 利用系统范式 (systematic normal form) 进行格的平滑分析, 并依此设
计量子算法, 可以在特定参数下有效求解 BDD 问题. Eldar 等人 [63] 更进一步提出一种量子求解算法, 利用量子傅
里叶变换、量子相位估计等手段, 可将最差情况的 BDD 实例归约为随机格上的 BDD, 并提出了一种多项式级的
量子求解算法. Aggarwal 等人 [105] 对 Eldar 等人提出的算法进行了详细讨论, 给出了量子算法与对应经典算法的原
理分析. 在此基础上, Aggarwal 等人将 BDD 的研究成果与格向量采样等技术结合, 提出了新的量子筛法, 以
2 0.8345n 的时间复杂度求解 SVP. 另一种重要的 CVP 求解算法是基于 Voronoi 图的算法 [106] , 主要原理是将空间分

