参考文献:
代数结构:
Lipschitz 函数:斜率绝对值不大于 κ \kappa κ,因此被两个一次函数夹逼。
集中分布(concentrated distributions):除了可忽略的测度,概率分布的支撑集是某个半径 1 / 2 1/2 1/2 球体的子集;此时,这个实数环面上的概率分布是良的,存在良定义的期望、标准差。
底层的代数结构,
不考虑(具有同态性质的)纠错码,
对称密钥:
加密:
解密:
同态运算:
底层的代数结构,
不考虑(具有同态性质的)纠错码,
对称密钥:
加密:
解密:
同态运算:
底层的代数结构,
采用 Gadget 纠错码,设置行向量
g
=
[
2
−
1
,
2
−
2
,
⋯
,
2
−
l
]
g=[2^{-1},2^{-2},\cdots,2^{-l}]
g=[2−1,2−2,⋯,2−l],其中
α
=
2
−
l
\alpha=2^{-l}
α=2−l 是实数环面的离散化精度
2
−
l
Z
/
Z
⊆
T
2^{-l}\mathbb Z/\mathbb Z \subseteq \mathbb T
2−lZ/Z⊆T,
G
=
I
N
+
1
⊗
g
=
[
g
g
⋱
g
]
∈
Z
(
N
+
1
)
×
(
N
+
1
)
l
G = I_{N+1} \otimes g = [gg⋱g]
对应的逆变换 G − 1 G^{-1} G−1 是个随机化程序,满足 ∥ G G − 1 ( C ) − C ∥ ∞ ≤ α / 2 \|GG^{-1}(C)-C\|_\infty \le \alpha/2 ∥GG−1(C)−C∥∞≤α/2,对于任意的 C ∈ T ( N + 1 ) × ( N + 1 ) l C \in \mathbb T^{(N+1) \times (N+1)l} C∈T(N+1)×(N+1)l
对称密钥:
加密:
解密:
同态运算:
根据 Z \mathbb Z Z 模的加法, μ 1 + μ 2 ⟺ c 1 + c 2 \mu_1+\mu_2 \iff c_1+c_2 μ1+μ2⟺c1+c2
根据 Z \mathbb Z Z 模的环作用, k ⋅ μ ⟺ k ⋅ c k \cdot \mu \iff k \cdot c k⋅μ⟺k⋅c,其中 k ∈ Z k \in \mathbb Z k∈Z
同态乘法,明文空间
μ
1
∈
Z
\mu_1 \in \mathbb Z
μ1∈Z 对于密文空间
G
−
1
(
μ
2
G
)
∈
T
(
N
+
1
)
×
(
N
+
1
)
l
G^{-1}(\mu_2G) \in \mathbb T^{(N+1) \times (N+1)l}
G−1(μ2G)∈T(N+1)×(N+1)l 的环作用,
C
1
⋅
G
−
1
(
C
2
)
=
(
(
A
1
,
b
1
)
+
μ
1
G
)
⋅
G
−
1
(
(
(
A
2
,
b
2
)
+
μ
2
G
)
)
=
(
(
A
1
,
b
1
)
⋅
G
−
1
(
C
2
)
+
μ
1
C
2
)
+
μ
1
μ
2
G
C1⋅G−1(C2)=((A1,b1)+μ1G)⋅G−1(((A2,b2)+μ2G))=((A1,b1)⋅G−1(C2)+μ1C2)+μ1μ2G
它的噪声增长是不平衡的,导出了乘法链的右结合性。
底层的代数结构,
采用 Gadget 纠错码,设置
g
=
[
2
−
1
,
2
−
2
,
⋯
,
2
−
l
]
g=[2^{-1},2^{-2},\cdots,2^{-l}]
g=[2−1,2−2,⋯,2−l] 是行向量,其中
α
=
2
−
l
\alpha=2^{-l}
α=2−l 是环面的离散化精度
2
−
l
R
Z
/
R
Z
⊆
T
R
2^{-l}R_\mathbb Z /R_\mathbb Z \subseteq \mathbb T_R
2−lRZ/RZ⊆TR,
G
=
g
⊗
I
2
=
[
2
−
1
I
,
2
−
2
I
,
⋯
,
2
−
l
I
]
∈
T
R
2
×
2
l
G = g \otimes I_2 = [2−1I,2−2I,⋯,2−lI]
对应的逆变换 G − 1 G^{-1} G−1 是个随机化程序,满足 ∥ G G − 1 ( C ) − C ∥ ∞ ≤ α / 2 \|GG^{-1}(C)-C\|_\infty \le \alpha/2 ∥GG−1(C)−C∥∞≤α/2,对于任意的 C ∈ T R 2 l × 2 C \in \mathbb T_R^{2l \times 2} C∈TR2l×2
对称密钥:
加密:
解密:
同态运算:
根据 R R R 模的加法, μ 1 + μ 2 ⟺ C 1 + C 2 \mu_1+\mu_2 \iff C_1+C_2 μ1+μ2⟺C1+C2
根据 R R R 模的环作用, k ⋅ μ ⟺ k ⋅ C k \cdot \mu \iff k \cdot C k⋅μ⟺k⋅C,其中 k ∈ R k \in R k∈R
同态乘法,明文空间
μ
1
∈
R
\mu_1 \in R
μ1∈R 对于密文空间
G
−
1
(
μ
2
G
)
∈
T
R
2
×
2
l
G^{-1}(\mu_2G) \in \mathbb T_R^{2 \times 2l}
G−1(μ2G)∈TR2×2l 的环作用,
C
1
⋅
G
−
1
(
C
2
)
=
(
(
A
1
,
b
1
)
+
μ
1
G
)
⋅
G
−
1
(
(
(
A
2
,
b
2
)
+
μ
2
G
)
)
=
(
(
A
1
,
b
1
)
⋅
G
−
1
(
C
2
)
+
μ
1
C
2
)
+
μ
1
μ
2
G
C1⋅G−1(C2)=((A1,b1)+μ1G)⋅G−1(((A2,b2)+μ2G))=((A1,b1)⋅G−1(C2)+μ1C2)+μ1μ2G
它的噪声增长是不平衡的,导出了乘法链的右结合性。
非正式地,全同态模结构是五元元组 ( R , Π R , M , Π M , ⊡ ) (R,\Pi_R,M,\Pi_M,\boxdot) (R,ΠR,M,ΠM,⊡):
环 R R R 的加密方案 Π R = ( E n c R , D e c R ) \Pi_R=(Enc_R,Dec_R) ΠR=(EncR,DecR),它的密文空间是 C R \mathcal C_R CR
模 M M M 的同态加密方案 Π M = ( E n c M , D e c M ) \Pi_M=(Enc_M,Dec_M) ΠM=(EncM,DecM),它的密文空间是 C M \mathcal C_M CM
两个方案的密文之间的运算
⊡
:
C
R
×
C
M
→
C
M
\boxdot: \mathcal C_R \times \mathcal C_M \to \mathcal C_M
⊡:CR×CM→CM(外积),使得
D
e
c
M
(
E
n
c
R
(
r
)
⊡
E
n
c
M
(
m
)
)
=
r
⋅
m
,
∀
r
∈
R
,
∀
m
∈
M
Dec_M(Enc_R(r) \boxdot Enc_M(m)) = r \cdot m,\forall r \in R,\forall m \in M
DecM(EncR(r)⊡EncM(m))=r⋅m,∀r∈R,∀m∈M
TFHE 就是让 TGSW 和 TLWE、TRGSW 和 TRLWE 组成了全同态模结构,从而实现了 “外积”,
元组
(
(
Z
,
TGSW
)
,
(
T
,
TLWE
)
)
((\mathbb Z,\text{TGSW}),(\mathbb T,\text{TLWE}))
((Z,TGSW),(T,TLWE)),组成了环
Z
\mathbb Z
Z 模
T
\mathbb T
T 的全同态模结构,外积定义为:
T
G
S
W
s
(
r
∈
Z
)
⊡
α
T
L
W
E
s
(
m
∈
T
)
=
(
[
A
s
A
+
e
]
+
r
⋅
G
)
⋅
G
α
−
1
(
[
a
s
a
+
e
′
]
+
[
0
m
]
)
=
[
A
s
A
+
e
]
⋅
G
α
−
1
(
T
L
W
E
s
(
m
)
)
+
r
⋅
T
L
W
E
s
(
m
)
=
T
L
W
E
s
(
r
⋅
m
∈
T
)
TGSWs(r∈Z)⊡αTLWEs(m∈T)=([AsA+e]+r⋅G)⋅G−1α([asa+e′]+[0m])=[AsA+e]⋅G−1α(TLWEs(m))+r⋅TLWEs(m)=TLWEs(r⋅m∈T)
元组
(
(
R
Z
,
TRGSW
)
,
(
T
R
,
TRLWE
)
)
((R_\mathbb Z,\text{TRGSW}),(\mathbb T_R,\text{TRLWE}))
((RZ,TRGSW),(TR,TRLWE)),组成了环
R
Z
R_\mathbb Z
RZ 模
T
R
\mathbb T_R
TR 的全同态模结构,外积定义为:
T
R
G
S
W
s
(
r
∈
R
Z
)
⊡
α
T
R
L
W
E
s
(
m
∈
T
R
)
=
(
[
A
s
A
+
e
]
+
r
⋅
G
)
⋅
G
α
−
1
(
[
a
s
a
+
e
′
]
+
[
0
m
]
)
=
[
A
s
A
+
e
]
⋅
G
α
−
1
(
T
R
L
W
E
s
(
m
)
)
+
r
⋅
T
R
L
W
E
s
(
m
)
=
T
R
L
W
E
s
(
r
⋅
m
∈
T
R
)
TRGSWs(r∈RZ)⊡αTRLWEs(m∈TR)=([AsA+e]+r⋅G)⋅G−1α([asa+e′]+[0m])=[AsA+e]⋅G−1α(TRLWEs(m))+r⋅TRLWEs(m)=TRLWEs(r⋅m∈TR)