形式陈述
两个线性密文相乘后,解密表达式会出现秘密的平方。重线性化用公开的辅助密文替换这些高次秘密项,把密文长度压回原来的形式。[1, §3.2]
先固定一个标量教学模型。密文为 ,按模同余公理库模同余Congruence modulo n两整数之差被给定正整数整除时成立的等价关系。运算, 为奇数,秘密为整数 ;其中心化解密相位满足
表示取 中的代表,输出该整数模2的值。这里采用低位消息编码;它与Regev 加密公理库Regev 的 LWE 公钥加密Regev encryption从带噪公钥方程的随机子集和构造一位加密,推导精确解密间隔,并分开判定LWE替换与剩余哈希的统计步骤。的半模数偏移编码不同,不能把二者的乘法公式混用。实际高维 LWE 或环方案还要指定向量/多项式结构与误差分布;这个一维模型只用来解释操作,不宣称安全。
两个输入相乘,先得到长度三的系数
因为
选基数 ,令 ,把 的标准代表展开为
公开求值密钥 ,要求它们满足
服务器输出
式 (3) 不需要知道 ,但密钥生成方必须按具体安全构造产生式 (2) 的掩码。这里所谓“加密 ”指具有该相位关系的求值材料,并非把超出一位消息空间的整数硬塞进普通一位加密接口。
直觉
乘法把原来的秘密基 扩成 。重线性化提供一份公开的“替换字典”:每个 都有一个仍用 解密的带噪表示。
将公开系数 拆成小数字后,只需按这些数字组合字典项。之所以先拆位,是因为直接用可能接近 的大系数乘一份含噪字典项,会同步把误差放大近 倍。
例子与边界
模257的三坐标变两坐标
取 ,两份教学密文为
它们的相位分别为 与 ,都表示消息1、误差零。相乘的系数为
核对:。乘法后仍正确,只是秘密基里多了 。
用二进制 ,只有 非零。选两份演示求值材料
它们满足 ,以及 ;各自 。式 (3) 给出
现在只用线性秘密即可解密:,而 。输出消息仍为1,新误差为2,恰是两份辅助误差之和。
不变量与噪声预算
把式 (2) 代入式 (3),得到关键不变量
因此重线性化只多加入一项可核算的误差。如果原输入相位为 、,乘法阶段的误差为
重线性化后则为
若每项 ,新增误差至多 。这是一项增加,不是噪声刷新。还须检查中心化相位没有越过 ;否则模奇数 的回绕会改变最后模2的结果。
基数较大使 较小、辅助密钥较短,但每位最大值 更大。实际参数在存储、计算和误差之间取舍。标量操作需要 次模乘加,求值材料含 个模 元素;环方案还要乘入其多项式运算成本。
推论与应用
相关密钥材料不能免费公开
普通 CPA 安全只允许归约加密自己知道的挑战消息。式 (2) 的明文却依赖同一秘密 ,所以“它是一份加密,因而安全”并不是证明。使用同钥重线性化时,需要具体方案的密钥相关消息安全定理,或明确列出额外假设。
另一种层级做法把旧秘密的幂加密在独立的新密钥下。此时应切换整个解密基,包括常数、一次和二次项,而不只是把式 (2) 的 字面换成新秘密。密钥依赖形成有向无环链时,可以按适当逆序做CPA 混合公理库混合论证Hybrid argument在一串相邻实验间逐步替换组件并累加不可区分优势的证明方法。;循环回到原密钥则需要另行处理循环依赖。
上述恒等式使用模同余公理库模同余Congruence modulo n两整数之差被给定正整数整除时成立的等价关系。,不依赖把整数代表固定成唯一一组。但噪声大小依赖所选代表和数字约定,证明必须把“模数下相等”与“作为小整数有界”分别记录。
重线性化是某些同态方案公理库同态加密与紧致求值Homomorphic encryption在公钥加密上加入公开求值接口,分开求值正确性、紧致性、深度参数与输入保密,并用非紧致反例解释真正外包了什么。的长度管理步骤,模数切换公理库同态密文的模数切换Modulus switching逐坐标缩放舍入LWE型密文,推导消息编码偏移与秘密范数造成的新误差,区分绝对噪声变小、相对噪声和BGV保明文舍入。处理缩放与舍入,自举公理库同态自举刷新Bootstrapping for FHE把旧密文作为公开常量、旧私钥位作为新密钥下的密文,求值解密电路以刷新表示,并区分功能余量、独立密钥链和循环安全。处理重新求值解密。这三项可能在一个系统中合作,不能因都用于深电路就把其作用混成“降噪”。GSW 则用另一种矩阵表示避开了这里的秘密平方项。
参考资料