量子计算机的出现,将使得绝大多数现有公钥密码算法(如RSA、Lifted-Elgamal、DGK等)的安全性大大降低,因为上述加密算法所依赖的底层数学困难问题将被解决。以容错学习问题(Learning with Errors Problem, LWE)和环上容错学习问题(Ring Learning with Errors Problem, RLWE)为例,这些问题可以归约到格上的困难问题,而目前不存在求解格上困难问题的多项式时间算法和量子算法,因此可以基于格上困难问题(包括LWE、RLWE等问题)设计安全高效并可抵挡量子攻击的公钥密码算法。BFV加密算法可将基于LWE的全同态构造协议推广到基于RLWE的协议中,支持对密文进行任意形式计算,具有更广泛的适用范围。基于BFV加密算法的后量子安全特性,我们将其应用于单边近邻检测协议。
给定安全参数`λ` ,`f(x)` 为分圆多项式`Φ_m(x)` ,且满足`deg(f)=Φ_m(x)` ,设`R=Z`[`x`]/`(f(x))` ,令 `q=q(λ)≥2`为整数;对于随机元素 `s∈R_q`和 `R`上的分布`χ=χ(λ)` ,`A_(s,χ)^((q))` 表示一个分布`(a,[a*s+e]_q)` ,其中`a←R_q` 且噪声`e←χ` 。
对于上述BFV协议,共产生四轮通信,轮次较多,将会产生较大的通信开销和延迟,从而影响整个PPLP协议的运行效率。因此,在优化后的算法中,我们通过调整协议中部分步骤的运行次序,将该PPLP协议通信轮数缩减为2轮。
优化后的协议通过调整部分运算顺序,将通信轮次由三轮降至两轮,该协议在原协议基础上做了如下改动:
(1)用户A和B将在协议初输入各自位置坐标,且同态加密的相关参数计算和布隆过滤器的设置均提前至步骤1中完成。
(2)在步骤2中,客户端(用户A)无需进行代数运算,服务端(用户B)只需实现同态加法运算,并进行第二轮通信。