Skip to content

算法Algorithm

Regev 的 LWE 公钥加密

Regev encryption

从带噪公钥方程的随机子集和构造一位加密,推导精确解密间隔,并分开判定LWE替换与剩余哈希的统计步骤。

形式陈述 ​

Regev 加密把LWE 样本组成公钥,再通过随机子集和加密一位。[1, §5] 设维数 n、样本数 m、模数 q≥3 和整数误差分布 χ 均按安全参数选择,令 Δ=⌊q/2⌋。本页使用均匀秘密的判定 LWE 假设,样本预算至少覆盖生成的这 m 行。

作为公钥加密,算法为:

  1. 密钥生成:均匀抽 s∈Zqn、A∈Zqm×n,独立抽 e←χm,令 b=As+e(modq)。公开 (A,b),保留 s
  2. 加密 μ∈{0,1}:新鲜均匀抽取 r∈{0,1}m,输出u=ATr(modq),v=bTr+μΔ(modq)
  3. 解密:计算 w=v−sTu(modq),按圆周模距离判断它更接近0还是 Δ,输出对应比特;平局规则预先固定

正确性需要子集误差保持在判决间隔内。一个明确充分条件是

(1)Pr[|rTe|<Δ/2]≥1−εcorr,

这里 rTe 使用整数误差代表计算。若以至少 1−δ 的概率全部 |ei|≤B,且 mB<Δ/2,就有式 (1) 的保守保证。更精细的分析可以利用误差独立性与尾界,不能把这个最坏情形和式当作最优参数。

安全证明还需要随机子集有足够熵。令

(2)η=12qn+12m.

应使 η 可忽略,例如安排 m≥(n+1)log2⁡q+2κ,则 η≤2−κ−1。噪声正确性、式 (2) 的熵余量和相应 LWE 困难性必须同时满足;任选一个能解密的小例子不代表满足后两项。

直觉

每条公钥方程都有相同秘密 s。随机选若干行相加后,线性部分仍可用同一个 s 消掉,但外部人不知道选了哪些行,也不知道秘密。

消去后只剩一团小噪声。要发送0,把这团噪声放在模圆周的零点附近;要发送1,把它移到大约半圈之外。私钥持有者知道怎样去掉线性掩码,因此能辨认两团;外部观察者的区分能力由 LWE 与子集和的统计接近性一起排除。

例子与边界

在模97中逐项消去 ​

取 q=97,n=2,m=4、s=(3,5),选下面一组教学公钥样本:

行 ai ei bi=ai⋅s+ei(mod97)
1 (2,7) 1 42
2 (8,1) −1 28
3 (4,6) 2 44
4 (9,3) −2 40

取 r=(1,0,1,1)。于是

u=(2,7)+(4,6)+(9,3)=(15,16),bTr=42+44+40=126≡29(mod97),rTe=1+2−2=1.

发送1时 Δ=48,故 v=29+48=77。私钥计算 sTu=3⋅15+5⋅16=125,得到

w=77−125≡49(mod97).

49离48只有1,离0的圆周距离为48,因此解出1。发送0时只有 v=29 改变,残差变成1,解出0。

这个例子的 m=4 明显不足以满足式 (2):四个选择比特不可能把输出铺满 973 个点。它只用于验证代数与判决,不用于展示安全参数。

严格的间隔为何是Δ/2 ​

正确消去时总有

w=μΔ+rTe(modq).

0与 Δ 之间两条圆弧长度为 Δ 和 q−Δ,较短者是 Δ。所以距离各中心严格小于 Δ/2 的邻域不会混淆。对 q=97,这给出24,而不是把 q/4=24.25 当作精确边界。

若发送1而总误差变为26,则残差为74。它离48为26,离0只需反向走23,解密反而输出0。错误来自噪声跨过判决区间,不是模线性消元本身算错。

推论与应用

两段安全替换各做什么 ​

先用混合论证把公钥 (A,As+e) 换成均匀 (A,b)。若攻击者能分辨这一步,就得到该参数与样本预算的判定 LWE 区分器;归约可直接用给定公钥运行公开加密。

现在记均匀矩阵 H=(A∣b)∈Zqm×(n+1)。对不同二进制向量 r,r′,差向量至少一项为 1 或 −1,该项在任意模 q 下都可逆。因此对每个独立均匀列,HT(r−r′) 的对应坐标均匀;同时为零的概率为 q−(n+1)。

这证明 r↦HTr 是二通用哈希族。剩余哈希引理的有限输出集版本取 Y=Zqn+1,在公开 H 的联合分布中给出

(H,HTr)≈η(H,U(Zqn+1)).

关键是连同公钥比较,而不只是说密文的边缘看起来随机。给最后一坐标加 μΔ 不改变均匀分布,因而两个挑战消息在这个混合世界中的距离至多 2η。把前后 LWE 替换的优势一起加回,就得到计算保密界。

公钥需要 (mn+m)⌈log2⁡q⌉ 位量级,单比特密文为 (n+1)⌈log2⁡q⌉ 位量级。直接加密使用 O(mn) 次模加法,解密用 O(n) 次模乘加。普通 Regev 密文直接相加会累计误差与消息编码;它并没有凭这个性质自动获得不限深度的乘法接口。

GSW把许多这样的线性掩码组织成具有 gadget 结构的矩阵,模数切换则进一步分析缩放与舍入如何改变解密残差。两者都仍需独立核算误差预算。

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

拖动节点调整位置。

显示关系

显示:依赖

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