形式陈述
模数切换把模 q 的密文转换到较小模数 p ,同时尽量保持解密消息。它不是仅把每个整数取模 p ;核心动作是先按比例 p / q 缩放,再舍入。[1]
先采用Regev 型高位消息编码 公理库 Regev 的 LWE 公钥加密 Regev encryption 从带噪公钥方程的随机子集和构造一位加密,推导精确解密间隔,并分开判定LWE替换与剩余哈希的统计步骤。 。设密文 c = ( v , u 1 , … , u n ) ,整数秘密向量 t = ( 1 , − s 1 , … , − s n ) ,满足
⟨ c , t ⟩ = μ Δ q + e + k q , Δ q = ⌊ q / 2 ⌋ , μ ∈ { 0 , 1 } . c 的坐标取固定整数代表,k 吸收模回绕,e 是相对编码中心的小整数残差。令 3 ≤ p < q ,逐坐标定义
c j ′ = ⌊ p q c j ⌉ , ρ j = c j ′ − p q c j , | ρ j | ≤ 1 2 . 平局采用固定舍入规则;计算后可以再模 p 。写 Δ p = ⌊ p / 2 ⌋ ,则
⟨ c ′ , t ⟩ = μ Δ p + e ′ + k p , (1) e ′ = p q e + ⟨ ρ , t ⟩ + μ ( p q Δ q − Δ p ) . 把 t T 看成实数行矩阵,其诱导无穷范数 公理库 矩阵范数与诱导算子范数 Matrix norm · Induced matrix norm · Operator norm of a matrix 用诱导范数和常用可计算矩阵范数度量线性映射的放大能力,并区分算子范数、Frobenius 范数与谱半径。 是绝对行和 ‖ t ‖ 1 ,故
(2) | e ′ | ≤ p q | e | + 1 2 ‖ t ‖ 1 + | p q Δ q − Δ p | . 若右侧严格小于 Δ p / 2 ,按新模数的两中心判决仍正确。最后的编码项小于1,不能在奇模数之间无说明地删掉。式 (1) 是代数正确性关系;换模后的分布是否符合某项安全假设是另一个问题。
算法对 n + 1 个坐标分别执行整数乘法、除法与舍入,共 O ( n ) 次缩放舍入操作,不需要私钥。每次操作的位成本取决于 log q ,因此不能把模数位长当作免费常数。
直觉
想象把模圆周连同消息中心一起缩小。若能保留实数坐标,旧噪声就会恰好乘以 p / q ;但密文必须仍由整数构成,因此每一坐标要向附近格点舍入。
解密不是分别看各坐标,而是与秘密向量作内积。一个半单位的舍入误差,乘上绝对值34的秘密坐标,就可能变成17。短秘密之所以重要,来自这个实际放大,而不是“模数越小噪声自然越小”的直觉。
图片加载失败
例子与边界
257降到67:每一项都能复算
取秘密 s = 2 、t = ( 1 , − 2 ) 、μ = 1 ,密文 c = ( v , u ) = ( 155 , 10 ) 。旧相位为
155 − 2 ⋅ 10 = 135 = 128 + 7 , 故旧误差为7。缩放舍入得到
v ′ = ⌊ 67 ⋅ 155 257 ⌉ = 40 , u ′ = ⌊ 67 ⋅ 10 257 ⌉ = 3. 新相位为 40 − 2 ⋅ 3 = 34 = 33 + 1 ,新误差确为1。分别看式 (1) 的三项:
p q e = 469 257 , ρ v − 2 ρ u = − 105 − 202 257 , p q Δ q − Δ p = 95 257 . 相加恰为 257 / 257 = 1 。这次舍入项与旧误差相抵消,但通用上界不能指望每次都有这种好运。
大秘密让原本正确的密文换模后出错
仍取 q = 257 , p = 67 ,现在 s = 34 、c = ( 7 , 140 ) 。旧相位
7 − 34 ⋅ 140 = − 4753 = 130 − 19 ⋅ 257 对应消息1、误差2。缩放后的坐标为 ( 2 , 36 ) ,新相位模67为
2 − 34 ⋅ 36 ≡ 51 ( mod 67 ) . 51离消息中心33为18,离0只需绕回16,于是新解密为0。旧噪声很小仍不足以保证成功;舍入误差经秘密坐标放大,越过了新判决边界。此例是相位恒等式的教学演示,不声称大或小的一维秘密有密码学安全性。
绝对噪声与相对噪声
忽略舍入时,e ′ = ( p / q ) e ,所以 | e ′ | 变小,但
| e ′ | p = | e | q . 相对间隔没有凭空扩大;加入舍入后还可能略差。模数切换可以缩短表示,并在特定同态编码的逐层分析中抑制后续误差增长,但它不等于恢复一份新鲜噪声分布。
推论与应用
BGV的低位编码需要另一种舍入
BGV 型教学关系常写成 μ = [ ⟨ c , t ⟩ ] q mod r ,这里 r ≥ 2 为整数,消息藏在小相位的模 r 值里,而不是0与半模数之间的距离。这时普通最近整数舍入未必保持消息。
若 q ≡ p ≡ 1 ( mod r ) ,可把 c j ′ 选为离 ( p / q ) c j 最近、并满足 c j ′ ≡ c j ( mod r ) 的整数。每坐标舍入误差至多 r / 2 。设旧中心化相位为 h = ⟨ c , t ⟩ − k q ,则候选新相位为
h ′ = ⟨ c ′ , t ⟩ − k p = p q h + ⟨ ρ , t ⟩ . 只要 | h ′ | < p / 2 ,它就确实是新中心化相位。又因坐标保模 r 、p ≡ q ( mod r ) ,有 h ′ ≡ h ( mod r ) ,消息保持。充分条件可写为
p q | h | + r 2 ‖ t ‖ 1 < p / 2. 这个条件、舍入约束和高位编码的式 (1) 是两套匹配关系,不能各取一半拼起来。[1, Definition 6 and Lemma 4]
例如 r = 2 、仍用 q = 257 , p = 67 、t = ( 1 , − 2 ) ,取 c = ( 29 , 10 ) ,旧相位为9,消息为1。普通舍入给 ( 8 , 3 ) ,新相位2,错误变成0。要求保留各坐标奇偶后,最近选择为 ( 7 , 2 ) ,新相位3,仍为1。
在固定密钥已知正确的密文上,公开确定性换模只是后处理,不会增加外部观察者已有的区分能力。不过“所得样本就是某组新参数的标准 LWE 样本”是更强的分布声称,需要单独归约,不能由式 (1) 自动推出。
重线性化 公理库 同态乘法后的重线性化 Relinearization 在明确的模数与低位消息模型中,把同态乘法产生的秘密平方项用基数分解和求值密钥压回线性密文,并核算新增噪声。 控制秘密基的维数,模数切换控制数值尺度与表示位数;自举 公理库 同态自举刷新 Bootstrapping for FHE 把旧密文作为公开常量、旧私钥位作为新密钥下的密文,求值解密电路以刷新表示,并区分功能余量、独立密钥链和循环安全。 则同态求值解密。规划深电路时,应把三者的成本与正确性余量分别计入。
参考资料