格密码–LWE,DLWE和ss-LWE
0.数学符号
数学符号 | 含义 | 备注 |
---|---|---|
Zq\mathbb{Z}_qZq | 模qqq的整数集合,即{0,1,2,...,q−1}\{0,1,2,...,q-1\}{0,1,2,...,q−1} | 用于定义LWE、DLWE、ss-LWE等问题中矩阵和向量的元素取值范围,是基础整数环 |
x∈RSx \in_R Sx∈RS | xxx从集合SSS中均匀随机(且独立)地选取 | 如s∈RZqns \in_R \mathbb{Z}_q^ns∈RZqn表示秘密向量sss随机选自该向量空间,用于LWE等问题中随机参数的选取 |
LWE(m,n,q,B)\text{LWE}(m, n, q, B)LWE(m,n,q,B) | 学习错误问题:给定A∈RZqm×nA \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n、b=As+e(modq)b = As + e \pmod{q}b=As+e(modq),寻找秘密向量sss,其中s∈RZqns \in_R \mathbb{Z}_q^ns∈RZqn,e∈R[−B,B]me \in_R [-B, B]^me∈R[−B,B]m且B≪q/2B \ll q/2B≪q/2 | 由Regev在2005年提出,核心是从带误差的线性方程中恢复秘密,是格密码的核心困难问题 |
A∈RZqm×nA \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n | AAA是一个mmm行nnn列的矩阵,元素属于Zq\mathbb{Z}_qZq,且随机选取 | LWE问题的输入矩阵,用于构造带误差的线性方程b=As+e(modq)b = As + e \pmod{q}b=As+e(modq) |
s∈RZqns \in_R \mathbb{Z}_q^ns∈RZqn | sss是一个nnn维列向量,元素属于Zq\mathbb{Z}_qZq,且随机选取 | LWE问题中的秘密向量,是需要求解的目标 |
e∈R[−B,B]me \in_R [-B, B]^me∈R[−B,B]m | eee是一个mmm维列向量,每个分量在−B-B−B到BBB之间,且随机选取 | LWE问题中的误差向量,“短”特性由B≪q/2B \ll q/2B≪q/2保证,是问题困难性的关键 |
b=As+e(modq)b = As + e \pmod{q}b=As+e(modq) | 向量bbb由矩阵AAA与秘密向量sss的乘积加误差向量eee后模qqq得到 | LWE问题的核心方程,b∈Zqmb \in \mathbb{Z}_q^mb∈Zqm是已知输入,用于反推秘密sss |
DLWE(m,n,q,B)\text{DLWE}(m, n, q, B)DLWE(m,n,q,B) | 决策性学习错误问题:给定(A,c)(A, c)(A,c),判断ccc是b=As+e(modq)b = As + e \pmod{q}b=As+e(modq)还是随机向量r∈RZqmr \in_R \mathbb{Z}_q^mr∈RZqm | 是LWE的判定性版本,需区分“带误差的线性组合”与“纯随机向量” |
r∈RZqmr \in_R \mathbb{Z}_q^mr∈RZqm | rrr是一个mmm维列向量,元素属于Zq\mathbb{Z}_qZq,且随机选取 | DLWE中用于对比的随机向量,与bbb以等概率作为ccc的候选 |
ss-LWE(m,n,q,B)\text{ss-LWE}(m, n, q, B)ss-LWE(m,n,q,B) | 短秘密学习错误问题:秘密向量s∈R[−B,B]ns \in_R [-B, B]^ns∈R[−B,B]n,其余同LWE | 是LWE的变体,秘密向量也具有“短”特性,与LWE等价(可双向归约) |
Roundq(x)Round_q(x)Roundq(x) | 模qqq的取整函数,将xxx映射到最近的{0,1}\{0, 1\}{0,1}(如LWE加密解密中) | 在解密中用于从c2−sTc1c_2 - s^T c_1c2−sTc1还原明文m∈{0,1}m \in \{0,1\}m∈{0,1},核心是判断值是否接近000或⌈q/2⌋\lceil q/2 \rfloor⌈q/2⌋ |
ss-DLWE(n,n,q,B)ss\text{-DLWE}(n, n, q, B)ss-DLWE(n,n,q,B) | 短秘密决策性学习错误问题:基于ss-LWE的判定性版本 | 与ss-LWE等价,在公钥加密安全性证明中作为困难问题假设 |
c1=ATr+zc_1 = A^T r + zc1=ATr+z | 加密过程中计算的第一部分密文,其中ATA^TAT是AAA的转置,r,z∈R[−B,B]nr, z \in_R [-B, B]^nr,z∈R[−B,B]n | Lindner-Peikert公钥加密方案中的密文分量,依赖公钥AAA |
c2=bTr+z′+m⌈q/2⌋(modq)c_2 = b^T r + z' + m \lceil q/2 \rfloor \pmod{q}c2=bTr+z′+m⌈q/2⌋(modq) | 加密过程中计算的第二部分密文,其中bTb^TbT是bbb的转置,z′∈R[−B,B]z' \in_R [-B, B]z′∈R[−B,B],m∈{0,1}m \in \{0,1\}m∈{0,1} | Lindner-Peikert公钥加密方案中的密文分量,嵌入明文mmm,依赖公钥bbb |
sTc1s^T c_1sTc1 | 秘密向量sss的转置与密文c1c_1c1的内积 | 解密过程中用于消除密文中的公开信息,还原含明文的误差项 |
1.LWE定义
2005年LWE(Learning With Errors)问题被Regev提出。
LWE(m,n,q,B)\text{LWE}(m, n, q, B)LWE(m,n,q,B):给定随机矩阵A∈RZqm×n\boldsymbol{A} \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n、秘密向量s∈Zqn\boldsymbol{s} \in \mathbb{Z}_q^ns∈Zqn、误差向量e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(B≪q/2B \ll q/2B≪q/2),以及样本b=As+e(modq)\boldsymbol{b} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq),目标是恢复秘密向量s\boldsymbol{s}s。 LWE问题的核心方程为:
(a11a12…a1na21a22…a2n⋮⋮⋱⋮am1am2…amn)⏟m×n 随机矩阵 A(s1s2⋮sn)⏟n×1 秘密向量 s+(e1e2⋮em)⏟m×1 短误差向量 e ≡ (b1b2⋮bm)⏟m×1 样本向量 b(modq)
\underbrace{
\begin{pmatrix}
a_{11} & a_{12} & \dots & a_{1n} \\
a_{21} & a_{22} & \dots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \dots & a_{mn}
\end{pmatrix}
}_{m \times n \text{ 随机矩阵 } \boldsymbol{A}}
\underbrace{
\begin{pmatrix} s_1 \\ s_2 \\ \vdots \\ s_n \end{pmatrix}
}_{n \times 1 \text{ 秘密向量 } \boldsymbol{s}}
+
\underbrace{
\begin{pmatrix} e_1 \\ e_2 \\ \vdots \\ e_m \end{pmatrix}
}_{m \times 1 \text{ 短误差向量 } \boldsymbol{e}}
\; \equiv \;
\underbrace{
\begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix}
}_{m \times 1 \text{ 样本向量 } \boldsymbol{b}}
\pmod{q}
m×n 随机矩阵 Aa11a21⋮am1a12a22⋮am2……⋱…a1na2n⋮amnn×1 秘密向量 ss1s2⋮sn+m×1 短误差向量 ee1e2⋮em≡m×1 样本向量 bb1b2⋮bm(modq)
矩阵乘法和加法的逐行展开(共 mmm(样本数量) 个方程,变量为 s1,s2,…,sns_1, s_2, \dots, s_ns1,s2,…,sn(n是秘密向量sn是秘密向量\boldsymbol sn是秘密向量s的维度),误差 e1,…,eme_1, \dots, e_me1,…,em 是隐藏的短向量):
{a11s1+a12s2+⋯+a1nsn+e1≡b1(modq)a21s1+a22s2+⋯+a2nsn+e2≡b2(modq)⋮am1s1+am2s2+⋯+amnsn+em≡bm(modq)
\begin{cases}
a_{11}s_1 + a_{12}s_2 + \dots + a_{1n}s_n + e_1 \equiv b_1 \pmod{q} \\
a_{21}s_1 + a_{22}s_2 + \dots + a_{2n}s_n + e_2 \equiv b_2 \pmod{q} \\
\vdots \\
a_{m1}s_1 + a_{m2}s_2 + \dots + a_{mn}s_n + e_m \equiv b_m \pmod{q}
\end{cases}
⎩⎨⎧a11s1+a12s2+⋯+a1nsn+e1≡b1(modq)a21s1+a22s2+⋯+a2nsn+e2≡b2(modq)⋮am1s1+am2s2+⋯+amnsn+em≡bm(modq)
2.LWE参数
1.参数B分析
1.如果B=0B = 0B=0(即e=0:没有误差),那么原式可以化为As=bA\boldsymbol{s} = \boldsymbol{b}As=b(mod q)可以被快速解决。(ISIS中类似的方程是无法快速找到解的,而这里却可以,两者的核心区别是对解是否有约束)
2.如果BBB=(q−1)/2(q-1)/2(q−1)/2(误差过大),秘密sss无法恢复(信息论上不可能)
3.实际中取==B<q/4B<q/4B<q/4确保误差既能掩盖关系,又能通过合理约束使解唯一
4.(Arora - Ge定理)若误差范围==B 的渐近增长速度严格慢于 n\sqrt{n}n(即当 nnn 趋近于无穷大时,BBB 相对于 n\sqrt{n}n 可忽略不计 ),且样本数量 ( m ) 足够大(满足 m≫nm \gg nm≫n ),则带误差学习问题(LWE)可在 亚指数时间(例如 2nϵ2^{n^\epsilon}2nϵ ,其中 0<ϵ<10 < \epsilon < 10<ϵ<1 )内被求解。
2.参数m和n分析
当m>>n的时,LWE会有唯一解(s,e\boldsymbol{s,e}s,e)。LWE解的唯一性仅在:以向量 As(modq)A\boldsymbol{s} \pmod{q}As(modq) 为中心的 qnq^nqn个球中,任意两个都不重叠。 得以保证。
3.D-LWE(Decisional LWE)
定义:
DLWE(m,n,q,B)\text{DLWE}(m, n, q, B)DLWE(m,n,q,B):给定随机矩阵A∈RZqm×n\boldsymbol{A} \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n、秘密向量s∈Zqn\boldsymbol{s} \in \mathbb{Z}_q^ns∈Zqn、误差向量e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(B≪q/2B \ll q/2B≪q/2),以及样本b=As+e(modq)\boldsymbol{b} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq)。和随机向量r∈RZqm\boldsymbol{r\in_R }\mathbb{Z}_q^mr∈RZqm。输出的c\boldsymbol{c}c两种情况1.c=b\boldsymbol{c}=\boldsymbol{b}c=b(1/2的概率) 2.c=r\boldsymbol{c}=\boldsymbol{r}c=r(1/2)的概率。目标是对于给定的(A,c\boldsymbol cc)显著高于1/2的概率能够区分:c=b\boldsymbol{c}=\boldsymbol{b}c=b还是c=r\boldsymbol{c}=\boldsymbol{r}c=r
4.LWE与DLWE等价
Claim 1: DLWE ≤ LWE
目标:用 LWE 求解器区分 DLWE 实例 (A,c)(\boldsymbol{A}, \boldsymbol{c})(A,c) 是真实样本还是随机样本。
步骤:
- 输入 DLWE 实例 (A,c)(\boldsymbol{A}, \boldsymbol{c})(A,c),其中 c\boldsymbol{c}c 可能是:
- 真实样本:c=As+e(modq)\boldsymbol{c} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}c=As+e(modq)
- 随机样本:c=r∈RZqm\boldsymbol{c} = \boldsymbol{r} \in_R \mathbb{Z}_q^mc=r∈RZqm
- 调用 LWE 求解器处理 (A,c)(\boldsymbol{A}, \boldsymbol{c})(A,c):
- 若返回唯一有效解 (s,e)(\boldsymbol{s}, \boldsymbol{e})(s,e)(满足 As+e≡c(modq)\boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \equiv \boldsymbol{c} \pmod{q}As+e≡c(modq) 且 e∈[−B,B]m\boldsymbol{e} \in [-B, B]^me∈[−B,B]m),则判定 c\boldsymbol{c}c 为真实样本
- 若求解器失败(无解或超时),则判定 c\boldsymbol{c}c 为随机样本
合理性:
- 当 c=b\boldsymbol{c} = \boldsymbol{b}c=b 时,LWE 求解器能以高概率找到解(唯一解假设下)
- 当 c=r\boldsymbol{c} = \boldsymbol{r}c=r 时,方程 As+e≡r(modq)\boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \equiv \boldsymbol{r} \pmod{q}As+e≡r(modq) 无解(因 r\boldsymbol{r}r 独立于 A\boldsymbol{A}A)
Claim 2: LWE ≤ DLWE
目标:用 DLWE 求解器恢复 LWE 实例 (A,b)(\boldsymbol{A}, \boldsymbol{b})(A,b) 的秘密向量 s\boldsymbol{s}s(逐个分量猜测)。
假设原始矩阵和向量为:
A=(a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn),b=(b1b2⋮bm),Δ=(δ1δ2⋮δm)
\boldsymbol{A} = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{pmatrix}, \quad
\boldsymbol{b} = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix}, \quad
\boldsymbol{\Delta} = \begin{pmatrix} \delta_1 \\ \delta_2 \\ \vdots \\ \delta_m \end{pmatrix}
A=a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn,b=b1b2⋮bm,Δ=δ1δ2⋮δm
-
构造新矩阵 A′\boldsymbol{A}'A′:
- 将 Δ\boldsymbol{\Delta}Δ 加到 A\boldsymbol{A}A 的第一列:
A′=(a11+δ1a12⋯a1na21+δ2a22⋯a2n⋮⋮⋱⋮am1+δmam2⋯amn) \boldsymbol{A}' = \begin{pmatrix} a_{11} + \delta_1 & a_{12} & \cdots & a_{1n} \\ a_{21} + \delta_2 & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} + \delta_m & a_{m2} & \cdots & a_{mn} \end{pmatrix} A′=a11+δ1a21+δ2⋮am1+δma12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn
-
构造新向量 b′\boldsymbol{b}'b′:
b′=(b1+d⋅δ1b2+d⋅δ2⋮bm+d⋅δm) \boldsymbol{b}' = \begin{pmatrix} b_1 + d \cdot \delta_1 \\ b_2 + d \cdot \delta_2 \\ \vdots \\ b_m + d \cdot \delta_m \end{pmatrix} b′=b1+d⋅δ1b2+d⋅δ2⋮bm+d⋅δm
正确性分析:
令秘密向量 s=(s1,s2,…,sn)T\boldsymbol{s} = (s_1, s_2, \dots, s_n)^Ts=(s1,s2,…,sn)T,原始方程:
b=As+e(modq)
\boldsymbol{b} = \boldsymbol{A} \boldsymbol{s} + \boldsymbol{e} \pmod{q}
b=As+e(modq)
-
当 s1=ds_1 = ds1=d 时:
b′=b+dΔ=As+e⏟b+dΔ \boldsymbol{b}' = \boldsymbol{b} + d \boldsymbol{\Delta} = \underbrace{\boldsymbol{A} \boldsymbol{s} + \boldsymbol{e}}_{\boldsymbol{b}} + d \boldsymbol{\Delta} b′=b+dΔ=bAs+e+dΔ
代入 A′\boldsymbol{A}'A′ 的定义:
A′s=(A+[Δ0⋯0])s=As+s1Δ \boldsymbol{A}' \boldsymbol{s} = \left( \boldsymbol{A} + \begin{bmatrix} \boldsymbol{\Delta} & \boldsymbol{0} & \cdots & \boldsymbol{0} \end{bmatrix} \right) \boldsymbol{s} = \boldsymbol{A} \boldsymbol{s} + s_1 \boldsymbol{\Delta} A′s=(A+[Δ0⋯0])s=As+s1Δ
因为 s1=ds_1 = ds1=d,有:
b′=As+e+dΔ=As+s1Δ+e=A′s+e \boldsymbol{b}' = \boldsymbol{A} \boldsymbol{s} + \boldsymbol{e} + d \boldsymbol{\Delta} = \boldsymbol{A} \boldsymbol{s} + s_1 \boldsymbol{\Delta} + \boldsymbol{e} = \boldsymbol{A}' \boldsymbol{s} + \boldsymbol{e} b′=As+e+dΔ=As+s1Δ+e=A′s+e
此时 (A′,b′)(\boldsymbol{A}', \boldsymbol{b}')(A′,b′) 是合法 LWE 样本。 -
当 s1≠ds_1 \neq ds1=d 时:
b′=As+e+dΔ=A′s+e⏟LWE 结构+(d−s1)Δ \boldsymbol{b}' = \boldsymbol{A} \boldsymbol{s} + \boldsymbol{e} + d \boldsymbol{\Delta} = \underbrace{\boldsymbol{A}' \boldsymbol{s} + \boldsymbol{e}}_{\text{LWE 结构}} + (d - s_1) \boldsymbol{\Delta} b′=As+e+dΔ=LWE 结构A′s+e+(d−s1)Δ
其中 (d−s1)≠0(d - s_1) \neq 0(d−s1)=0,且 Δ\boldsymbol{\Delta}Δ 均匀随机独立于 A′\boldsymbol{A}'A′,因此 (d−s1)Δ(d - s_1) \boldsymbol{\Delta}(d−s1)Δ 是均匀随机向量,使得 b′\boldsymbol{b}'b′ 与 A′\boldsymbol{A}'A′ 独立。此时 (A′,b′)(\boldsymbol{A}', \boldsymbol{b}')(A′,b′) 是随机样本。 至此通过DLWE得到了s1s_1s1
通过以下操作可以恢复整个秘密 s\boldsymbol{s}s
-
遍历 d∈Zqd \in \mathbb{Z}_qd∈Zq,用 DLWE 求解器测试 s1=ds_1 = ds1=d。
-
找到正确的 s1s_1s1 后,构造新问题:
-
更新向量: b(2)=b−s1⋅第一列(A)(modq)\boldsymbol{b}^{(2)} = \boldsymbol{b} - s_1 \cdot \text{第一列}(\boldsymbol{A}) \pmod{q}b(2)=b−s1⋅第一列(A)(modq)
-
更新矩阵: A(2)=移除 A 的第一列\boldsymbol{A}^{(2)} = \text{移除 } \boldsymbol{A} \text{ 的第一列}A(2)=移除 A 的第一列
-
递归求解 (s2,…,sn)(s_2, \dots, s_n)(s2,…,sn):
b(2)=A(2)(s2⋮sn)+e(modq) \boldsymbol{b}^{(2)} = \boldsymbol{A}^{(2)} \begin{pmatrix} s_2 \\ \vdots \\ s_n \end{pmatrix} + \boldsymbol{e} \pmod{q} b(2)=A(2)s2⋮sn+e(modq)
-
5.ss-LWE
1.定义:
ss-LWE(m,n,q,B)\text{ss-LWE}(m, n, q, B)ss-LWE(m,n,q,B):给定随机矩阵A∈RZqm×n\boldsymbol{A} \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n、秘密向量s∈[−B,B]n\boldsymbol{s} \in [-B,B]^ns∈[−B,B]n、误差向量e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(B≪q/2B \ll q/2B≪q/2),以及样本b=As+e(modq)\boldsymbol{b} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq),目标是恢复秘密向量s\boldsymbol{s}s。
2.LWE和ss-LWE的等价性
Claim 1 ss-LWE(m,n,q,B)≤\leq≤LWE(m,n,q,B)
显然成立的,ss-LWE只是在LWE基础上加强了对sss的约束。
Claim 2 LWE(m,n,q,B)≤\leq≤ ss-LWE(m,n,q,B)
**目标:**通过 矩阵分块与逆运算,将LWE的“模 qqq 随机秘密”转化为ss-LWE的“短误差组合”,利用ss-LWE的求解能力。
步骤:
-
输入:LWE实例 (A,b)(A, \boldsymbol{b})(A,b),满足 b=As+e(modq)\boldsymbol{b} = A\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq),其中 s∈Zqn\boldsymbol{s} \in \mathbb{Z}_q^ns∈Zqn(模 qqq 随机),e∈[−B,B]m\boldsymbol{e} \in [-B,B]^me∈[−B,B]m(短误差)。
-
矩阵分块:
设 A=[A1A2]A = \begin{bmatrix} A_1 \\ A_2 \end{bmatrix}A=[A1A2](A1∈Zqn×nA_1 \in \mathbb{Z}_q^{n \times n}A1∈Zqn×n,A2∈Zq(m−n)×nA_2 \in \mathbb{Z}_q^{(m-n) \times n}A2∈Zq(m−n)×n),
b=[b1b2]\boldsymbol{b} = \begin{bmatrix} \boldsymbol{b_1} \\ \boldsymbol{b_2} \end{bmatrix}b=[b1b2](b1∈Zqn\boldsymbol{b_1} \in \mathbb{Z}_q^nb1∈Zqn,b2∈Zqm−n\boldsymbol{b_2} \in \mathbb{Z}_q^{m-n}b2∈Zqm−n),
e=[e1e2]\boldsymbol{e} = \begin{bmatrix} \boldsymbol{e_1} \\ \boldsymbol{e_2} \end{bmatrix}e=[e1e2](e1∈[−B,B]n\boldsymbol{e_1} \in [-B,B]^ne1∈[−B,B]n,e2∈[−B,B]m−n\boldsymbol{e_2} \in [-B,B]^{m-n}e2∈[−B,B]m−n)。
-
构造ss-LWE实例:
假设 A1A_1A1 可逆(随机矩阵下高概率成立),定义 A′=−A2A1−1∈Zq(m−n)×nA' = -A_2 A_1^{-1} \in \mathbb{Z}_q^{(m-n) \times n}A′=−A2A1−1∈Zq(m−n)×n,
定义新样本:b′=A′b1+b2(modq)\boldsymbol{b'} = A'\boldsymbol{b_1} + \boldsymbol{b_2} \pmod{q}b′=A′b1+b2(modq)。
b′=−A2A1−1(A1s+e1)+A2s+e2=−A2s−A2A1−1e1+A2s+e2=A′e1+e2(modq) \begin{align*} \boldsymbol{b'} &= -A_2 A_1^{-1} (A_1 \boldsymbol{s} + \boldsymbol{e_1}) + A_2 \boldsymbol{s} + \boldsymbol{e_2} \\ &= -A_2 \boldsymbol{s} - A_2 A_1^{-1} \boldsymbol{e_1} + A_2 \boldsymbol{s} + \boldsymbol{e_2} \\ &= A'\boldsymbol{e_1} +\boldsymbol{e_2} \pmod{q} \end{align*} b′=−A2A1−1(A1s+e1)+A2s+e2=−A2s−A2A1−1e1+A2s+e2=A′e1+e2(modq)
其中,e1,e2\boldsymbol{e_1}, \boldsymbol{e_2}e1,e2 是 短向量(因 e\boldsymbol{e}e 短),故 (A′,b′)(A', \boldsymbol{b'})(A′,b′) 是 合法ss-LWE实例(维度为 (m−n)×n(m-n) \times n(m−n)×n)。 -
恢复LWE的解:
若ss-LWE求解器输出 (e1,e2)(\boldsymbol{e_1}, \boldsymbol{e_2})(e1,e2),则通过分块逆运算可反推原秘密 s\boldsymbol{s}s(利用 b1=A1s+e1\boldsymbol{b_1} = A_1 \boldsymbol{s} + \boldsymbol{e_1}b1=A1s+e1,解线性方程 A1s=b1−e1A_1 \boldsymbol{s} = \boldsymbol{b_1} - \boldsymbol{e_1}A1s=b1−e1)。
对比维度 | LWE(Learning With Errors) | DLWE(Decisional LWE) | ss-LWE(Short-Secret LWE) |
---|---|---|---|
问题类型 | 搜索型问题 | 决策型问题 | 搜索型问题(LWE的变体) |
核心定义 | 给定随机矩阵 A∈RZqm×n\boldsymbol{A} \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n、样本 b=As+e(modq)\boldsymbol{b} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq),其中 s∈RZqn\boldsymbol{s} \in_R \mathbb{Z}_q^ns∈RZqn,e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(B≪q/2B \ll q/2B≪q/2) | 给定随机矩阵 A∈RZqm×n\boldsymbol{A} \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n 和向量 c\boldsymbol{c}c,判断 c\boldsymbol{c}c 是 b=As+e(modq)\boldsymbol{b} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq)(真实样本)还是随机向量 r∈RZqm\boldsymbol{r} \in_R \mathbb{Z}_q^mr∈RZqm | 给定随机矩阵 A∈RZqm×n\boldsymbol{A} \in_R \mathbb{Z}_q^{m \times n}A∈RZqm×n、样本 b=As+e(modq)\boldsymbol{b} = \boldsymbol{A}\boldsymbol{s} + \boldsymbol{e} \pmod{q}b=As+e(modq),其中 s∈R[−B,B]n\boldsymbol{s} \in_R [-B, B]^ns∈R[−B,B]n(短秘密),e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(B≪q/2B \ll q/2B≪q/2) |
目标 | 恢复秘密向量 s\boldsymbol{s}s | 以显著高于1/2的概率区分 c\boldsymbol{c}c 是真实样本还是随机样本 | 恢复短秘密向量 s\boldsymbol{s}s |
秘密向量约束 | s∈RZqn\boldsymbol{s} \in_R \mathbb{Z}_q^ns∈RZqn(模 qqq 均匀随机,无“短”约束) | s∈RZqn\boldsymbol{s} \in_R \mathbb{Z}_q^ns∈RZqn(同LWE) | s∈R[−B,B]n\boldsymbol{s} \in_R [-B, B]^ns∈R[−B,B]n(短向量,分量范围远小于 qqq) |
误差向量约束 | e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(短误差,B≪q/2B \ll q/2B≪q/2) | e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(同LWE) | e∈R[−B,B]m\boldsymbol{e} \in_R [-B, B]^me∈R[−B,B]m(同LWE) |
输入参数 | (A,b)(\boldsymbol{A}, \boldsymbol{b})(A,b) | (A,c)(\boldsymbol{A}, \boldsymbol{c})(A,c)(c\boldsymbol{c}c 为真实样本或随机向量) | (A,b)(\boldsymbol{A}, \boldsymbol{b})(A,b) |
与其他问题的关系 | 与DLWE等价(双向归约);与ss-LWE等价(双向归约) | 与LWE等价(双向归约) | 与LWE等价(双向归约);与ss-DLWE(短秘密决策型LWE)等价 |
核心特性 | 格密码核心困难问题,通过带误差的线性方程隐藏秘密 | 从“判定”角度刻画LWE的困难性,更易用于安全性证明 | 秘密向量为短向量,更贴近工程直觉,且不降低困难性(与LWE等价) |
主要参考:
https://cryptography101.ca/