Page 416 - 《软件学报》2026年第1期
P. 416

曹金政 等: 格上困难问题量子求解算法综述                                                            413



                 5.   输出⊥
                 6.  在  L  中选取新生成的   k  维 ′  LWE  采样  (a i ,b i )
                 (区分阶段)
                                                                              ′
                 7. 使用傅里叶变换以     m BKW  个新  LWE  采样作为输入并求解, 作为原      LWE  解的  k  个分量
                 8. 递归进行前两阶段, 恢复完整的秘密向量            s
                 9. 输出  s

                    上述量子    BKW  算法在经典算法的基础上, 通过反复调用量子               Grover 搜索实现了格向量组合环节的平方级
                 加速. 更进一步, 相比原始      BKW  算法每次只组合一对向量, c-求和         BKW  每次进行   c 个向量的组合, 通过调节       c 值
                 可以改变算法的时间复杂度存储折中. 给定              n  维  LWE  问题, 其中模数   q = n , 噪音标准差  δ = n , 则  BKW  算法的
                                                                           ν q
                                                                                          ν δ
                 时间复杂度    T = 2 θ(1+ϵ)   和空间复杂度  M = 2 µ(1+ϵ)  可以表示为:

                                               1     ν q          1    ν q
                                           θ = t ·  ·     ·n, µ = m·  ·     ·n,
                                               2        1         2       1
                                                  ν q −ν δ +        ν q −ν δ +
                                                        2                 2
                 其中, 不同  BKW  版本的复杂度参数       t、m  如表  5  所示. 应用量子搜索方法后, BKW      算法的时间复杂度得到了平方
                 级的下降. 下一步量子       BKW  算法在向量组合阶段的发展方向有: (1) 给出更精确的量子                BKW  复杂度估计; (2) 参
                 考量子筛法等, 探索      BKW  算法结构与更多量子加速技术的融合应用.

                                               表 5 c-求和  BKW  算法复杂度参数

                               类型              算法              t            m           条件
                                             原始BKW             1            1           -
                              经典算法                                         logc
                                            c-求和BKW           logc                      c ⩾ 2
                                                                           c−1
                                                               1
                                             原始BKW                          1           -
                                                               2
                              量子算法                           clogc         logc
                                            c-求和BKW                                     c ⩾ 2
                                                             2(c−1)        c−1

                  5.2   基于量子傅里叶变换的 LWE 求解
                    第  5.1  节介绍了  BKW  第  1  阶段中利用  Grover 量子搜索算法加速向量组合的算法原理和复杂度. 第               1  阶段之
                 后, BKW  第  2  阶段需要使用快速傅里叶变换恢复秘密向量, 此过程也可以使用量子加速技术, 即量子傅里叶变换
                 (quantum Fourier transform, QFT) [92–94] . 量子傅里叶变换不仅应用于求解  LWE  的量子  BKW  算法, 同时也是求解
                 LWE  的对偶攻击    (dual attack) [42,95] 的重要组成部分. 对偶攻击经过  Guo  等人  [96] 的改进, 已经在求解  LWE  的效率上
                 超过  Primal 方法; Albrecht 等人  [42] 指出, 对偶攻击能够量子傅里叶变换结合; Pouly    等人  [95] 给出了对偶攻击的理论
                 证明. 下面以对偶攻击为例介绍量子傅里叶变换在求解                 LWE  问题的应用.
                    对偶攻击的基本思路是将          LWE  转化为格上小整数解问题, 并用傅里叶变换找到秘密向量. 首先, 将                  A  矩阵分

                 块表示为    A = [A 0 |A 1 ], 并将  s 相应地分段表示为   s = [s 0 |s 1 ], 则有  b ≡ A 0 · s 0 + A 1 · s 1 +e mod q. 随后, 要求找到向量

                         T
                 x, y 使得   x · A 0 ≡ y mod q, 这一操作相当于求小整数解问题, 可以通过对偶格上的格基约化实现. 此时有等式               < x, b >
                   T        T                      T                                              T
                 ≡ x · A 0 · s 0 + x · A 1 · s 1 + < x,e >=< y, s 0 > +x · A 1 · s 1 + < x,e >. 接下来, 对任意可能的  s 1  计算  < x, b > −x · A 1 · s 1 .
                                                                                                  T
                                                                       s
                 对随机的    s 1  值, 得到的值均匀随机分布; 而当     s 1  猜测恰好是秘密向量   的对应分量时, 得到的          < x, b > −x · A 1 · s 1
                                  s 1  的过程可以通过傅里叶变换实现, 进而使用量子傅里叶变换达到量子加速效果.
                 是一个小值. 这个猜测
                    要将量子傅里叶变换应用于对偶攻击, 需解决的关键问题是计算余弦值                           cos(2π(< w i , b >)/q). 定义   f W (b) =
                 1  ∑ N−1
                                                                                                   ˆ
                                                                          ˆ
                                                                                        n
                        cos(2π(< w i , b >)/q). 对任意   ϵ, δ > 0, 存在量子算法可以实现预言  O, 使得给定   b ∈ Z  后得到输出  O(b), 以
                 N   i=0                                                               q
                              |O(b)− f W (b)| ⩽ ϵ, 此结果保证了量子傅里叶变换可以适用于对偶攻击. 在进行傅里叶变换后, 将
                               ˆ
                 1−δ 的概率满足
   411   412   413   414   415   416   417   418   419   420   421