Skip to content

算法Algorithm

同态乘法后的重线性化

Relinearization

在明确的模数与低位消息模型中,把同态乘法产生的秘密平方项用基数分解和求值密钥压回线性密文,并核算新增噪声。

形式陈述 ​

两个线性密文相乘后,解密表达式会出现秘密的平方。重线性化用公开的辅助密文替换这些高次秘密项,把密文长度压回原来的形式。[1, §3.2]

先固定一个标量教学模型。密文为 c=(c0,c1)∈Zq2,按模同余运算,q≥3 为奇数,秘密为整数 s;其中心化解密相位满足

[c0+c1s]q=μ+2e,|μ+2e|<q/2.

[⋅]q 表示取 (−q/2,q/2] 中的代表,输出该整数模2的值。这里采用低位消息编码;它与Regev 加密的半模数偏移编码不同,不能把二者的乘法公式混用。实际高维 LWE 或环方案还要指定向量/多项式结构与误差分布;这个一维模型只用来解释操作,不宣称安全。

两个输入相乘,先得到长度三的系数

(w0,w1,w2)=(c0d0, c0d1+c1d0, c1d1)(modq),

因为

(1)(c0+c1s)(d0+d1s)=w0+w1s+w2s2(modq).

选基数 B≥2,令 ℓ=⌈logB⁡q⌉,把 w2 的标准代表展开为

w2=∑j=0ℓ−1djBj,0≤dj<B.

公开求值密钥 Kj=(kj,0,kj,1),要求它们满足

(2)kj,0+kj,1s=Bjs2+2ϵj(modq).

服务器输出

(3)c′=(w0+∑jdjkj,0,w1+∑jdjkj,1)(modq).

式 (3) 不需要知道 s,但密钥生成方必须按具体安全构造产生式 (2) 的掩码。这里所谓“加密 Bjs2”指具有该相位关系的求值材料,并非把超出一位消息空间的整数硬塞进普通一位加密接口。

直觉

乘法把原来的秘密基 (1,s) 扩成 (1,s,s2)。重线性化提供一份公开的“替换字典”:每个 Bjs2 都有一个仍用 (1,s) 解密的带噪表示。

将公开系数 w2 拆成小数字后,只需按这些数字组合字典项。之所以先拆位,是因为直接用可能接近 q 的大系数乘一份含噪字典项,会同步把误差放大近 q 倍。

例子与边界

模257的三坐标变两坐标 ​

取 q=257,s=3,两份教学密文为

c=(252,2),d=(249,3).

它们的相位分别为 252+6=258≡1 与 249+9=258≡1,都表示消息1、误差零。相乘的系数为

(w0,w1,w2)=(40,226,6).

核对:40+226⋅3+6⋅9=772≡1(mod257)。乘法后仍正确,只是秘密基里多了 s2。

用二进制 6=2+4,只有 d1=d2=1 非零。选两份演示求值材料

K1=(8,4),K2=(17,7).

它们满足 8+4⋅3=20=2s2+2,以及 17+7⋅3=38=4s2+2;各自 ϵj=1。式 (3) 给出

c′=(40+8+17,226+4+7)=(65,237).

现在只用线性秘密即可解密:65+237⋅3=776≡5(mod257),而 5=1+2⋅2。输出消息仍为1,新误差为2,恰是两份辅助误差之和。

不变量与噪声预算 ​

把式 (2) 代入式 (3),得到关键不变量

c0′+c1′s=w0+w1s+w2s2+2∑jdjϵj(modq).

因此重线性化只多加入一项可核算的误差。如果原输入相位为 μ1+2e1、μ2+2e2,乘法阶段的误差为

e×=μ1e2+μ2e1+2e1e2.

重线性化后则为

e′=e×+∑jdjϵj.

若每项 |ϵj|≤Ekey,新增误差至多 ℓ(B−1)Ekey。这是一项增加,不是噪声刷新。还须检查中心化相位没有越过 q/2;否则模奇数 q 的回绕会改变最后模2的结果。

基数较大使 ℓ 较小、辅助密钥较短,但每位最大值 B−1 更大。实际参数在存储、计算和误差之间取舍。标量操作需要 O(ℓ) 次模乘加,求值材料含 2ℓ 个模 q 元素;环方案还要乘入其多项式运算成本。

推论与应用

相关密钥材料不能免费公开 ​

普通 CPA 安全只允许归约加密自己知道的挑战消息。式 (2) 的明文却依赖同一秘密 s,所以“它是一份加密,因而安全”并不是证明。使用同钥重线性化时,需要具体方案的密钥相关消息安全定理,或明确列出额外假设。

另一种层级做法把旧秘密的幂加密在独立的新密钥下。此时应切换整个解密基,包括常数、一次和二次项,而不只是把式 (2) 的 s 字面换成新秘密。密钥依赖形成有向无环链时,可以按适当逆序做CPA 混合;循环回到原密钥则需要另行处理循环依赖。

上述恒等式使用模同余,不依赖把整数代表固定成唯一一组。但噪声大小依赖所选代表和数字约定,证明必须把“模数下相等”与“作为小整数有界”分别记录。

重线性化是某些同态方案的长度管理步骤,模数切换处理缩放与舍入,自举处理重新求值解密。这三项可能在一个系统中合作,不能因都用于深电路就把其作用混成“降噪”。GSW 则用另一种矩阵表示避开了这里的秘密平方项。

参考资料
关系图谱10 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

使用的工具