全同态加密:TFHE

参考文献:

  1. Cheon J H, Stehlé D. Fully homomophic encryption over the integers revisited[C]//Advances in Cryptology–EUROCRYPT 2015: 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, April 26-30, 2015, Proceedings, Part I. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015: 513-536.
  2. Chillotti I, Gama N, Georgieva M, et al. Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds[C]//Advances in Cryptology–ASIACRYPT 2016: 22nd International Conference on the Theory and Application of Cryptology and Information Security, Hanoi, Vietnam, December 4-8, 2016, Proceedings, Part I 22. Springer Berlin Heidelberg, 2016: 3-33.
  3. Chillotti I, Gama N, Georgieva M, et al. TFHE: fast fully homomorphic encryption over the torus[J]. Journal of Cryptology, 2020, 33(1): 34-91.
  4. TFHE:环面上全同态加密方案学习笔记

TFHE 是 FHEW 的改进,主要的优化思路是:使用 LWE 与 GSW 的"外积",取代 GSW 与 GSW 的“内积”,从而使得计算复杂度降低了一个多项式因子

Real Torus

( R , + , × ) (R,+,\times) (R,+,×) 是一个交换环,一个集合 M M M 叫做 R R R - (左) 模,如果 ( M , + ) (M,+) (M,+) 是一个阿贝尔群,并且存在一个bi-distributive(双分布?)、homogeneous(齐次)的 external operation (product), ⋅ : R × M → M \cdot: R \times M \to M :R×MM,即:对于任意的 r , s ∈ R r,s \in R r,sR x , y ∈ M x,y \in M x,yM,都有,

  • 1 R ⋅ x = x 1_R \cdot x = x 1Rx=x
  • ( r + s ) ⋅ x = r ⋅ x + s ⋅ x (r+s) \cdot x = r \cdot x+ s \cdot x (r+s)x=rx+sx
  • r ⋅ ( x + y ) = r ⋅ x + r ⋅ y r \cdot (x+y) = r \cdot x + r \cdot y r(x+y)=rx+ry
  • ( r × s ) ⋅ x = r ⋅ ( s ⋅ x ) (r \times s) \cdot x = r \cdot(s \cdot x) (r×s)x=r(sx)

T : = R / Z \mathbb T := \mathbb R/\mathbb Z T:=R/Z 是集合 { r ( m o d 1 ) : r ∈ R } \{r \pmod 1: r \in \mathbb R\} { r(mod1):rR},这叫做实数环面(real Torus)。由于 mod 1 projectionreal product 不兼容(例如, 0 T × 0. 5 T 0_\mathbb T \times 0.5_\mathbb T 0T×0.5T 是未定义的,容易验证 0 × 0.5 ≠ 1 × 0.5 0 \times 0.5 \neq 1 \times 0.5 0×0.5=1×0.5),因此 Torus 不是 Ring。不过,容易发现 T \mathbb T T 是个 Z \mathbb Z Z-模(比如, 0 Z ⋅ 0. 5 T = 0 T 0_\mathbb Z \cdot 0.5_\mathbb T = 0_\mathbb T 0Z0.5T=0T 是 well define 的)。

简记 T N [ X ] : = R [ X ] / ( X N + 1 , 1 ) \mathbb T_N[X] := \mathbb R[X]/(X^N+1,1) TN[X]:=R[X]/(XN+1,1) Z N [ X ] : = Z [ X ] / ( X N + 1 ) \mathbb Z_N[X] := \mathbb Z[X]/(X^N+1) ZN[X]:=Z[X]/(XN+1),易知 ( T N [ X ] k , + , ⋅ ) (\mathbb T_N[X]^k,+,\cdot) (TN[X]k,+,) 是一个 Z N [ X ] \mathbb Z_N[X] ZN[X]-模。

同时,如果 M M M 是个 R R R-模,那么它的向量或矩阵 M n , m ( M ) \mathcal M_{n,m}(M) Mn,m(M) 也是 R R R-模。因此, M n , m ( T ) \mathcal M_{n,m}(\mathbb T) Mn,m(T) Z \mathbb Z Z-模, M n , m ( T N [ X ] k ) \mathcal M_{n,m}(\mathbb T_N[X]^k) Mn,m(TN[X]k) Z N [ X ] \mathbb Z_N[X] ZN[X]-模。

B : = { 0 , 1 } ⊂ Z \mathbb B := \{0,1\} \subset \mathbb Z B:={ 0,1}Z,简记 B N [ X ] : = B [ X ] / ( X N + 1 ) ⊂ Z N [ X ] \mathbb B_N[X] := \mathbb B[X]/(X^N+1) \subset \mathbb Z_N[X] BN[X]:=B[X]/(XN+1)ZN[X]

在这里插入图片描述

一般来说, distributions over the torus do not have expectation nor variance(例如,均匀分布)。但是,如果分布 χ \chi χ集中的concentrated,它的 support 包含在 T \mathbb T T 上的某个半径 1 4 \dfrac{1}{4} 41 的球内),那么还是可以定义期望和方差的:

  • V a r ( χ ) : = min ⁡ x ˉ ∈ T ∑ χ ∣ x − x ˉ ∣ 2 Var(\chi) := \min_{\bar x \in \mathbb T} \sum \chi|x-\bar x|^2 Var(χ):=minxˉTχxxˉ2
  • E ( χ ) : = arg ⁡ min ⁡ x ˉ ∈ T ∑ χ ∣ x − x ˉ ∣ 2 E(\chi) := \arg\min_{\bar x \in \mathbb T} \sum \chi|x-\bar x|^2 E(χ):=argminxˉTχxxˉ2

我们说 T n \mathbb T^n Tn 或者 T N [ X ] k \mathbb T_N[X]^k TN[X]k 上的分布 χ ′ \chi' χ 是集中的,当今当它的每一个系数都是独立的集中的分布。类似于实数域上的性质,对于 e 1 , e 2 ∈ Z e_1,e_2 \in \mathbb Z e1,e2Z,集中分布的线性组合 χ = e 1 ⋅ χ 1 + e 2 ⋅ χ 2 \chi = e_1 \cdot \chi_1 + e_2 \cdot \chi_2 χ=e1χ1+e2χ2,它也是集中的,并且

  1. E ( χ ) = e 1 ⋅ E ( χ 1 ) + e 2 ⋅ E ( χ 2 ) E(\chi) = e_1 \cdot E(\chi_1) + e_2 \cdot E(\chi_2) E(χ)=e1E(χ1)+e2E(χ2)
  2. V a r ( χ ) ≤ e 1 2 ⋅ V a r ( χ 1 ) + e 2 2 ⋅ V a r ( χ 2 ) Var(\chi) \le e_1^2 \cdot Var(\chi_1) + e_2^2 \cdot Var(\chi_2) Var(χ)e12Var(χ1)+e22Var(χ2)

对于 T k \mathbb T^k Tk 上的向量 x x x,我们定义
∥ x ∥ p : = min ⁡ u ∈ x + Z k ( ∥ u ∥ p ) \|x\|_p := \min_{u \in x+\mathbb Z^k}(\|u\|_p) xp:=ux+Zkmin(up)

满足三角不等式,但它不是范数: T k \mathbb T^k Tk 不是向量空间,且 ∥ ⋅ ∥ p \|\cdot\|_p p 不是齐次的。不过 ∥ ⋅ ∥ p \|\cdot\|_p p 是 sub-homogeneous 的, ∥ m ⋅ x ∥ p ≤ ∣ m ∣ ∥ x ∥ p , ∀ m ∈ Z \|m \cdot x\|_p \le |m|\|x\|_p, \forall m \in \mathbb Z mxpm∣∥xp,mZ。对于多项式 P ∈ T N [ X ] P \in \mathbb T_N[X] PTN[X],定义 ∥ P ∥ p : = ∥ P ⃗ ∥ p \|P\|_p := \|\vec P\|_p Pp:=P p,其中 P ⃗ ∈ [ − 0.5 , 0.5 ] N \vec P \in [-0.5,0.5]^{N} P [0.5,0.5]N 是它的系数表示。

对于矩阵 A ∈ M p , q ( T N [ X ] ) A \in \mathcal M_{p,q}(\mathbb T_N[X]) AMp,q(TN[X]),我们定义
∥ A ∥ ∞ : = max ⁡ i , j ∥ a i , j ∥ ∞ \|A\|_\infty := \max_{i,j} \|a_{i,j}\|_\infty A:=i,jmaxai,j

Lipschitz function:我们说函数 f : T m → T n f:\mathbb T^m \to \mathbb T^n f:TmTn κ \kappa κ-Lipschitz 的,如果满足
∥ f ( x ) − f ( y ) ∥ ∞ ≤ κ ∥ x − y ∥ ∞ , ∀ x , y \|f(x)-f(y)\|_\infty \le \kappa\|x-y\|_\infty, \forall x,y f(x)f(y)κxy,x,y

即任意两点间的连线斜率是“一致有界”的,上界 κ \kappa κ 叫做 Lipschitz 常数

Scale-Invariant LWE

FHEW 采用了 Cheon 等人提出的 Scale-Invariant LWE 变体(回顾下 BFV 中的除以模数):令秘密 s ∈ Z n s \in \mathbb Z^n sZn,令 ξ \xi ξ 是实数域 R \mathbb R R 上的错误分布,定义 L W E s , ξ LWE_{s,\xi} LWEs,ξ T n × T \mathbb T^n \times \mathbb T Tn×T 上的分布,样本形如 ( a , b ) (a,b) (a,b),其中 a ∈ T n a \in \mathbb T^n aTn 是均匀随机的,错误 e ← ξ e \leftarrow \xi eξ,计算 b : = s ⋅ a + e b:=s \cdot a+e b:=sa+e(先是环作用,然后是群加法)。类似一般的 LWE 问题,这个变体也分为 Search 和 Decision 两个版本。

我们称 phase(相位)是一个关于秘密 s s s 的线性函数 ϕ s : T n × T → T \phi_s:\mathbb T^n \times \mathbb T \to \mathbb T ϕs:Tn×TT,定义为 ϕ s ( a , b ) : = b − s ⋅ a \phi_s(a,b) := b-s \cdot a ϕs(a,b):=bsa,容易看出 L W E s , ξ LWE_{s,\xi} LWEs,ξ 就是 ϕ s \phi_s ϕskernel 的近似 ϕ s ( L W E s , ξ ) = e ≈ 0 \phi_s(LWE_{s,\xi})=e \approx 0 ϕs(LWEs,ξ)=e0

由于 ϕ s ( a , b ) = μ \phi_s(a,b) = \mu ϕs(a,b)=μ 的一个 trivial preimage 是 ( 0 n , μ ) (0^n,\mu) (0n,μ),根据线性关系,
ϕ s ( L W E s , ξ + ( 0 n , μ ) ) = e + μ ≈ μ ∈ T \phi_s(LWE_{s,\xi}+(0^n,\mu)) = e+\mu \approx \mu \in \mathbb T ϕs(LWEs,ξ+(0n,μ))=e+μμT

因此,我们可以构造一个 symmetric-key variant Regev’s encryption scheme,定义明文空间为离散集合 M ∈ T M \in \mathbb T MT(例如 { 0 , 0.5 } \{0,0.5\} { 0,0.5}),加密为 E n c s ( μ ∈ M ) : = L W E s , ξ + ( 0 n , μ ) Enc_s(\mu \in M) := LWE_{s,\xi}+(0^n,\mu) Encs(μM):=LWEs,ξ+(0n,μ),解密为 D e c s ( c ∈ T n + 1 ) : = r o u n d ( ϕ s ( c ) , M ) Dec_s(c \in \mathbb T^{n+1}) := round(\phi_s(c),M) Decs(cTn+1):=round(ϕs(c),M)。只要 ξ \xi ξ 的高斯参数 α = O ( R / p ) \alpha=O(R/\sqrt p) α=O(R/p )(对应的标准差为 σ = α 2 π \sigma=\alpha\sqrt{2\pi} σ=α2π ),则解密正确的概率是压倒性的 1 − 2 − p 1-2^{-p} 12p,其中 R R R M M Mpacking radius

如果想要得到 asymmetric variant 的方案,只需要将公钥 p k pk pk 定义为随机 L W E s , ξ LWE_{s,\xi} LWEs,ξ 的样本列表,加密算法中的 L W E s , ξ LWE_{s,\xi} LWEs,ξ 简单地修改为 small random subset sum ∑ i ∈ I p k i \sum_{i \in I} pk_i iIpki,而解密算法不变。

TLWE

TFHE 定义了一个抽象的 Scale-Invariant Generalization LWE over the Torus,它可以被实例化为多种问题:LWE、RLWE、MLWE 以及 Approx-GCD、NTRU。

Abstract TLWE problems:令 I ⊆ Z [ X ] I \subseteq \mathbb Z[X] IZ[X] 是一个理想,定义 R : = Z [ X ] / I \mathfrak R:=\mathbb Z[X]/I R:=Z[X]/I T I [ X ] : = T [ X ] / I \mathbb T_I[X] := \mathbb T[X]/I TI[X]:=T[X]/I,函数 phase 是一族 Lipschitz morphism(态射) { ϕ s : R M → T I [ X ] } S \{\phi_s:{}_\mathfrak R M \to \mathbb T_I[X]\}_S { ϕs:RMTI[X]}S。我们说 general TLWE problem 是由 R M {}_\mathfrak R M RM 上的错误分布 ξ \xi ξ、一族由秘密 s s s 索引的态射 { ϕ s } S \{\phi_s\}_S { ϕs}S 所指定的。我们定义 homogeneous TLWE distribution U ker ⁡ ( ϕ s ) + ξ \mathcal U_{\ker(\phi_s)}+\xi Uker(ϕs)+ξ,并可定义 Search 和 Decision 两个版本的问题。

  1. 如果设置 I = ( X + 1 ) I=(X+1) I=(X+1),那么 R = Z , T I [ X ] = T \mathfrak R = \mathbb Z, \mathbb T_I[X] = \mathbb T R=Z,TI[X]=T
    1. 设置 M = T n + 1 M=\mathbb T^{n+1} M=Tn+1 以及 ϕ s ( a , b ) = b − s ⋅ a \phi_s(a,b)=b-s \cdot a ϕs(a,b)=bsa​,其中 S ⊆ Z n S\subseteq \mathbb Z^n SZn,那么这是 scale-invariant LWE
    2. 设置 M = Z q n + 1 M=\mathbb Z_q^{n+1} M=Zqn+1 以及 ϕ s ( a , b ) = ( b − s ⋅ a ) / q \phi_s(a,b)=(b-s \cdot a)/q ϕs(a,b)=(bsa)/q,其中 S ⊆ Z q n S\subseteq \mathbb Z_q^n SZqn,那么这是 LWE mod q
    3. 设置 M = T M=\mathbb T M=T 以及 ϕ p ( x ) = p ⋅ x \phi_p(x)=p \cdot x ϕp(x)=px,其中 S ⊆ Z S\subseteq \mathbb Z SZ,那么这是 (dual) approx-GCD problem
  2. 如果设置 I = ( X N + 1 ) I=(X^N+1) I=(XN+1),那么 R = Z N [ X ] , T I [ X ] = T N [ X ] \mathfrak R = \mathbb Z_N[X], \mathbb T_I[X] = \mathbb T_N[X] R=ZN[X],TI[X]=TN[X]
    1. 设置 M = T N [ X ] 2 M=\mathbb T_N[X]^{2} M=TN[X]2 以及 ϕ s ( a , b ) = b − s ⋅ a \phi_s(a,b)=b-s \cdot a ϕs(a,b)=bsa,其中 S ⊆ Z N [ X ] S\subseteq \mathbb Z_N[X] SZN[X],那么这是 Ring LWE
    2. 设置 M = T N [ X ] k × ( k + 1 ) M=\mathbb T_N[X]^{k \times (k+1)} M=TN[X]k×(k+1) 以及 ϕ s ( a , b ) = b − s ⋅ a \phi_s(a,b)=b-s \cdot a ϕs(a,b)=bsa,其中 S ⊆ Z N [ X ] k S\subseteq \mathbb Z_N[X]^k SZN[X]k,那么这是 Module LWE
    3. 设置 M = T N [ X ] 2 M=\mathbb T_N[X]^{2} M=TN[X]2 以及 ϕ f , g ( x , y ) = f x − g y \phi_{f,g}(x,y)=fx-gy ϕf,g(x,y)=fxgy,其中 S ⊆ Z N [ X ] 2 S\subseteq \mathbb Z_N[X]^2 SZN[X]2,那么这是 scale invariant NTRU

接下来,TFHE 定义了一个典范的 TLWE。

Canonical T®LWE problem:令 k ≥ 1 k \ge 1 k1 是正整数, N ∈ Z + N\in \mathbb Z^+ NZ+ 2 2 2 的幂次, α ∈ R ≥ 0 \alpha \in \mathbb R_{\ge 0} αR0 是标准差。密钥空间 S = B N [ X ] k S = \mathbb B_N[X]^k S=BN[X]k,其中的 s s s n ≈ k N n \approx kN nkN 比特均匀随机数。相位 ϕ s \phi_s ϕs 是定义在 M = T N [ X ] k × T N [ X ] M = \mathbb T_N[X]^k \times \mathbb T_N[X] M=TN[X]k×TN[X] 上的 n n n-Lipschitz 函数 ϕ s ( a , b ) = b − s ⋅ a \phi_s(a,b) = b-s \cdot a ϕs(a,b)=bsa,错误分布为 ξ = ( 0 k , D T N [ X ] , α ) \xi=(0^k,D_{\mathbb T_N[X],\alpha}) ξ=(0k,DTN[X],α),那么一个齐次 TLWE 样本就形如 ( a , s ⋅ a + e ) ∈ M (a,s \cdot a+e) \in M (a,sa+e)M,其中的 mask 取自 a ← U T N [ X ] k a \leftarrow \mathcal U_{\mathbb T_N[X]^k} aUTN[X]k,error 取自 e ← D T N [ X ] , α e \leftarrow D_{\mathbb T_N[X],\alpha} eDTN[X],α

  • 我们说一个样本是 trivial 的,如果 a = 0 a=0 a=0,此时的样本形如 ( 0 k , e ) (0^k,e) (0k,e)

  • 我们说一个样本是 noiseless 的,如果 α = 0 \alpha=0 α=0,此时的样本形如 ( a , s ⋅ a ) (a,s \cdot a) (a,sa)

现在,Regev’s cryptosystem 可以被抽象为:

  1. 秘钥空间为 ϕ s \phi_s ϕs 的 index R : = Z [ X ] / I \mathfrak R :=\mathbb Z[X]/I R:=Z[X]/I
  2. 消息空间为 ϕ s \phi_s ϕs 的 image T I [ X ] : = T [ X ] / I \mathbb T_I[X] := \mathbb T[X]/I TI[X]:=T[X]/I
  3. 密文空间为 ϕ s \phi_s ϕs 的 domain R M {}_\mathfrak R M RM
  4. 消息 μ \mu μ 的密文是 random preimage 的近似 U ϕ s − 1 ( μ ) + ξ \mathcal U_{\phi_s^{-1}(\mu)}+\xi Uϕs1(μ)+ξ,对于 Canonical Form 来说就是 U ker ⁡ ( ϕ s ) + ξ + ( 0 k , μ ) \mathcal U_{\ker(\phi_s)}+\xi+(0^k,\mu) Uker(ϕs)+ξ+(0k,μ)
  5. 密文 c c c 的(近似的)明文是它的 image ϕ s ( c ) \phi_s(c) ϕs(c)

由于上述方案的解密结果是带噪的,适合于浮点数计算或者差分隐私(differential privacy)。如果需要精确值,有两种选择:

  1. 第一种,限制消息空间为 discrete subset,并使得 packing radius 大于 ξ \xi ξ 的振幅,从而可以使用园整运算获得精确值。但是,这使得非线性运算的正确性分析较为复杂,并且离散后的阿贝尔群的空间太小了。
  2. 第二种,限制噪声期望 E ( ξ ) = 0 E(\xi)=0 E(ξ)=0,从而明文就是期望值 E ( ϕ s ( c ) ) E(\phi_s(c)) E(ϕs(c))。这使得噪声分析变得简单,同时可以支持无限精度的连续明文空间。

TFHE 使用第一种方案来评估 worst case 的噪声,使用第二种方案来评估 average case 的噪声。首先需要定义一个概率空间 Ω \Omega Ω,并将 TLWE 样本视为一个随机分布,而非某个数值。我们说 c ∈ T N [ X ] k + 1 c \in \mathbb T_N[X]^{k+1} cTN[X]k+1 是一个 valid TLWE sample,当仅当 ϕ s ( c ) \phi_s(c) ϕs(c) Ω \Omega Ω 上是集中分布的。接下来定义,

  • 消息 m s g ( c ) : = E ( ϕ s ( c ) ) msg(c):=E(\phi_s(c)) msg(c):=E(ϕs(c))
  • 噪声 E r r ( c ) : = ϕ s ( c ) − m s g ( c ) Err(c):=\phi_s(c)-msg(c) Err(c):=ϕs(c)msg(c)
  • 方差 V a r ( E r r ( c ) ) : = V a r ( ϕ s ( c ) ) Var(Err(c)):=Var(\phi_s(c)) Var(Err(c)):=Var(ϕs(c))
  • 振幅 ∥ E r r ( c ) ∥ ∞ \|Err(c)\|_\infty Err(c) 定义为满足 P r [ E r r ( c ) ≥ B ] = n e g l ( λ ) Pr[Err(c) \ge B] = negl(\lambda) Pr[Err(c)B]=negl(λ) 的最大振幅(maximum amplitude

根据相位的线性关系,对应组合系数 e i ∈ R e_i \in \mathfrak R eiR,密文 c = ∑ I e i ⋅ c i c = \sum_I e_i \cdot c_i c=Ieici 满足以下关系:

  1. m s g ( c ) = ∑ I e i ⋅ m s g ( c i ) msg(c) = \sum_I e_i \cdot msg(c_i) msg(c)=Ieimsg(ci)
  2. V a r ( E r r ( c ) ) ≤ ∑ I ∥ e i ∥ 2 2 ⋅ V a r ( E r r ( c i ) ) Var(Err(c)) \le \sum_I \|e_i\|_2^2 \cdot Var(Err(c_i)) Var(Err(c))Iei22Var(Err(ci))
  3. ∥ E r r ( c ) ∥ ∞ ≤ ∑ I ∥ e i ∥ 1 ⋅ ∥ E r r ( c i ) ∥ ∞ \|Err(c)\|_\infty \le \sum_I \|e_i\|_1 \cdot \|Err(c_i)\|_\infty Err(c)Iei1Err(ci)

TGSW

由于 LWE 密文适合线性运算,但对于非线性运算似乎少了些属性(when it comes to non linear operations on the samples, TLWE seems to miss some properties)。最知名的两种解决方案是:BGV constructionsGSW constructions,TFHE 关注 GSW 的一个 Torus 上的 generalized scale invariant version 的变体。

为了控制噪声增长,TFHE 给出了一个 approximate decomposition(实数的有限精度的近似分解)。首先给出一个抽象概念,之后再给出一个典范。

Abstract Gadget Decomposition:令 M M M 是一个 R \mathfrak R R-模,分解算法是一个有效的算法 D e c H , β , ϵ ( v ) Dec_{H,\beta,\epsilon}(v) DecH,β,ϵ(v),其中 H ∈ M l ′ H \in M^{l'} HMlgadget β ∈ R > 0 \beta \in \mathbb R_{>0} βR>0quality ϵ ∈ R > 0 \epsilon \in \mathbb R_{>0} ϵR>0precision,它将任意的 TLWE 样本 v ∈ M v \in M vM 分解为一个(随机的) small 向量 u ∈ R l ′ u \in \mathfrak R^{l'} uRl,使得 ∥ u ∥ ∞ ≤ β \|u\|_\infty \le \beta uβ 以及 ∥ u ⋅ H − v ∥ ∞ ≤ ϵ \|u\cdot H-v\|_\infty \le \epsilon uHvϵ,并且期望 E v ( u ⋅ H − v ) = 0 E_v(u\cdot H-v)=0 Ev(uHv)=0

分解算法本应是随机的,但是根据 Independence Heuristic,可以近似地认为各个系数服从独立随机的集中分布,因此也可以直接使用确定性的算法。

Canonical Gadget Decomposition:对于 Canonical TLWE 样本,我们设置 M = T N [ X ] k + 1 M = \mathbb T_N[X]^{k+1} M=TN[X]k+1,令 l , B g l,B_g l,Bg 是正整数,并设置 l ′ = ( k + 1 ) l l'=(k+1)l l=(k+1)l,那么 Gadget H ∈ M l ′ = M l ′ , k + 1 ( T N [ X ] ) H \in M^{l'}=\mathcal M_{l',k+1}(\mathbb T_N[X]) HMl=Ml,k+1(TN[X]) 定义为
H = [ B g − 1 0 ⋯ 0 0 B g − 2 ⋯ 0 ⋮ ⋮ ⋮ B g − l 0 ⋯ 0 0 ⋮ ⋱ ⋮ 0 0 ⋯ 0 B g − 1 0 ⋯ B g − 2 ⋮ ⋮ ⋮ 0 0 ⋯ 0 B g − l ] ∈ M ( k + 1 ) l H = \left[\begin{array}{c|ccc|c} B_g^{-1} & 0 & \cdots & 0 & 0\\ B_g^{-2} && \cdots && 0\\ \vdots && \vdots && \vdots\\ B_g^{-l} & 0 & \cdots & 0 & 0\\ \hline \vdots && \ddots && \vdots\\ \hline 0 & 0 & \cdots & 0 & B_g^{-1}\\ 0 && \cdots && B_g^{-2}\\ \vdots && \vdots && \vdots\\ 0 & 0 & \cdots & 0 & B_g^{-l}\\ \end{array}\right] \in M^{(k+1)l} H= Bg1Bg2Bgl00000000000000Bg1Bg2Bgl M(k+1)l

它包含 l ′ = ( k + 1 ) l l'=(k+1)l l=(k+1)l R M {}_\mathfrak R M RM 中的元素,乘以系数 u ∈ R l ′ u \in \mathfrak R^{l'} uRl 后将组合出一个 R M {}_\mathfrak R M RM 中的元素 v v v,并且 β = B g / 2 \beta=B_g/2 β=Bg/2 ϵ = B g − l / 2 \epsilon=B_g^{-l}/2 ϵ=Bgl/2就是 B g B_g Bg 进制的浮点小数的有限精度表示

近似分解算法 D e c H , β , ϵ : M → R l ′ Dec_{H,\beta,\epsilon}:M \to \mathfrak R^{l'} DecH,β,ϵ:MRl 定义如下:

在这里插入图片描述

接下来,我们定义 TGSW 样本。首先是抽象描述,接下来是典范描述。

Abstract TGSW samples:回顾 Abstract TLWE samples 中的 ξ , ϕ s , R M \xi,\phi_s,{}_\mathfrak R M ξ,ϕs,RM,以及 H ∈ M l ′ H \in M^{l'} HMl 对应的 D e c H , β , ϵ Dec_{H,\beta,\epsilon} DecH,β,ϵ,我们说 C ∈ M l ′ C \in M^{l'} CMl 是一个关于 μ ∈ R \mu \in \mathfrak R μR 的fresh TGSW sample,当仅当 C = Z + μ ⋅ H C=Z+\mu \cdot H C=Z+μH,其中 Z ∈ M l ′ Z\in M^{l'} ZMl 的每个 element 都是一个关于 s ∈ B N [ X ] k s \in \mathbb B_N[X]^k sBN[X]k 的齐次 TLWE 样本。我们说 C C C 是一个 valid TGSW sample,当仅当存在一个 μ ∈ R \mu \in \mathfrak R μR 使得 C − μ ⋅ H C-\mu \cdot H CμH 的每个 element 都是 valid TLWE sample。另外,我们将 TLWE 的相位扩展为 ϕ s ( C ) ∈ T I [ X ] l ′ \phi_s(C) \in \mathbb T_I[X]^{l'} ϕs(C)TI[X]l,它的每个分量就是对 C C C 的各个 element 分别计算相位。

Canonical T®GSW samples:回顾 Canonical TLWE samples 以及 Canonical Gadget Decomposition 中的各个参数的设置,秘密 s ∈ B N [ X ] k s \in \mathbb B_N[X]^k sBN[X]k,那么对应的 T®GSW 样本为 C ∈ M l ′ = M ( k + 1 ) l , k + 1 ( T N [ X ] ) C \in M^{l'} = \mathcal M_{(k+1)l,k+1}(\mathbb T_N[X]) CMl=M(k+1)l,k+1(TN[X]),它包含 ( k + 1 ) l (k+1)l (k+1)l 行,且 C − μ ⋅ H C-\mu \cdot H CμH 的每一行都是 T N [ X ] k + 1 \mathbb T_N[X]^{k+1} TN[X]k+1 上的齐次 T®LWE 样本。

根据 phase 的线性,对于组合系数 e i ∈ R e_i \in \mathfrak R eiR C = ∑ I e i ⋅ C i C = \sum_I e_i \cdot C_i C=IeiCi μ = ∑ I e i ⋅ μ i \mu = \sum_I e_i \cdot \mu_i μ=Ieiμi 的密文,并且
V a r ( C ) ≤ ∑ I ∥ e i ∥ 2 2 ⋅ V a r ( C i ) ∥ E r r ( C ) ∥ ∞ ≤ ∑ I ∥ e i ∥ 1 ⋅ ∥ E r r ( C i ) ∥ ∞ \begin{aligned} Var(C) &\le \sum_I \|e_i\|_2^2 \cdot Var(C_i)\\ \|Err(C)\|_\infty &\le \sum_I \|e_i\|_1 \cdot \|Err(C_i)\|_\infty \end{aligned} Var(C)Err(C)Iei22Var(Ci)Iei1Err(Ci)

另外,如果 s s s 是二元系数的,那么任意的 A ∈ M p , k + 1 ( T N [ X ] ) A \in \mathcal M_{p,k+1}(\mathbb T_N[X]) AMp,k+1(TN[X]),都有
∥ ϕ s ( A ) ∥ ∞ ≤ ( 1 + k N ) ∥ A ∥ ∞ \|\phi_s(A)\|_\infty \le (1+kN)\|A\|_\infty ϕs(A)(1+kN)A

也就是说,Canonical TGSW samples 中定义的 ϕ s \phi_s ϕs 是一族 ( 1 − k N ) (1-kN) (1kN)-Lipschitz 函数。

Operators

Products

TFHE 观察到,GSW 的不对称性有两个方面,

  1. 如 AP14 所描述的噪声增长的不对称性,这可以支持长链乘法。
  2. 解密操作的不对称性,即大部分运算是不必要的,只有所谓 “big coefficient” 对应的那一个 LWE 样本被用于解密出明文。

External product:我们定义(右结合)算符 ⊡ \boxdot
⊡ : T G S W × T L W E → T L W E ( A ∈ R M l ′ , b ∈ R M ) ↦ D e c H , β , ϵ ( b ) ⋅ A ∈ R M \begin{aligned} \boxdot: TGSW \times TLWE &\to TLWE\\ (A \in {}_\mathfrak R M^{l'},b \in {}_\mathfrak R M) &\mapsto Dec_{H,\beta,\epsilon}(b) \cdot A \in {}_\mathfrak R M \end{aligned} :TGSW×TLWE(ARMl,bRM)TLWEDecH,β,ϵ(b)ARM

容易验证它是 μ A ⋅ μ b \mu_A \cdot \mu_b μAμb 的密文。噪声分析如下,

在这里插入图片描述
在这里插入图片描述

而 GSW 的“内积”可以被视为多个“外积”组成的向量。

Internal Product:我们定义(右结合)算符 ⊠ \boxtimes
⊠ : T G S W × T G S W → T G S W ( A ∈ R M l ′ , B ∈ R M l ′ ) ↦ [ A ⊡ b 1 A ⊡ b 2 ⋮ A ⊡ b l ′ ] ∈ R M l ′ \begin{aligned} \boxtimes: TGSW \times TGSW &\to TGSW\\ (A \in {}_\mathfrak R M^{l'},B \in {}_\mathfrak R M^{l'}) &\mapsto \begin{bmatrix} A \boxdot b_1\\ A \boxdot b_2\\ \vdots\\ A \boxdot b_{l'}\\ \end{bmatrix} \in {}_\mathfrak R M^{l'} \end{aligned} :TGSW×TGSW(ARMl,BRMl)TGSW Ab1Ab2Abl RMl

容易验证它是 μ A ⋅ μ B \mu_A \cdot \mu_B μAμB 的密文,噪声分析与 External product 基本一致。

Key Switching

TFHE 扩展了秘钥切换的概念,定义了 TLWE 上的关于 R R R-Lipschitz 的线性态射 f : Z T p → T N [ X ] f:{}_\mathbb Z \mathbb T^p \to \mathbb T_N[X] f:ZTpTN[X] 的秘钥切换。假设从 K ∈ B n \mathfrak K \in \mathbb B^n KBn 下的密文 c \mathfrak c c,切换到 K ∈ B N [ X ] k K \in \mathbb B_N[X]^k KBN[X]k 下的密文 c c c

对于公开的态射 f f f,秘钥切换的例程为 P u b K S ( f , K S , c ) PubKS(f,KS,\mathfrak c) PubKS(f,KS,c),如图:

在这里插入图片描述

它的输出为 c ∈ T ( R ) L W E K ( f ( μ 1 , ⋯   , μ p ) ) c \in T(R)LWE_K(f(\mu_1,\cdots,\mu_p)) cT(R)LWEK(f(μ1,,μp)),噪声分析为

在这里插入图片描述

对于秘密的态射 f f f,方便起见使用增广形式的私钥(第 n + 1 n+1 n+1 分量置为 − 1 -1 1),此时 ϕ K ( c ) = − K ⋅ c \phi_\mathfrak K(\mathfrak c) = -\mathfrak K \cdot \mathfrak c ϕK(c)=Kc。秘钥切换的例程为 P r i v K S ( K S ( f ) , c ) PrivKS(KS^{(f)},\mathfrak c) PrivKS(KS(f),c),如图:

在这里插入图片描述

它的输出为 c ∈ T ( R ) L W E K ( f ( μ 1 , ⋯   , μ p ) ) c \in T(R)LWE_K(f(\mu_1,\cdots,\mu_p)) cT(R)LWEK(f(μ1,,μp)),噪声分析为

在这里插入图片描述

Simple Extraction

由于 T®LWE 或 T®GSW 的消息空间是 T N [ X ] \mathbb T_N[X] TN[X],因此它包含 N N N 个环面 T \mathbb T T 上的槽(slot)。

对于 n = k N n=kN n=kN,LWE 的秘钥 K ∈ B n \mathfrak K \in \mathbb B^n KBn 和 RLWE 的秘钥 K ∈ B N [ X ] k K \in \mathbb B_N[X]^k KBN[X]k 可以相互转化(对应于同样的 n n n 长二元向量表示),并且 RLWE 的密文可以被视作是:LWE 密文的第一分量不断反循环移位,从而获得一系列的 LWE 密文的第二分量(仔细想一下 T N [ X ] \mathbb T_N[X] TN[X] Z N [ X ] \mathbb Z_N[X] ZN[X] 环作用,其中理想为 I = ( X N + 1 ) I=(X^N+1) I=(XN+1)

给定 RLWE 样本 c = ( a , b ) ∈ R L W E K ( μ ) c=(a,b) \in RLWE_K(\mu) c=(a,b)RLWEK(μ) 以及位置 p ∈ [ N ] p \in [N] p[N],我们定义 S i m p l e E x t r a c t p ( c ) SimpleExtract_p(c) SimpleExtractp(c) 的输出是一个 LWE 样本 c = ( a , b ) ∈ L W E K ( μ p ) \mathfrak c=(\mathfrak a,\mathfrak b) \in LWE_\mathfrak K(\mu_p) c=(a,b)LWEK(μp)
a N ( i − 1 ) + j : = a i [ p − j ] , i ∈ [ k ] b : = b p \begin{aligned} \mathfrak a_{N(i-1)+j} &:= a_i[p-j], i \in [k]\\ \mathfrak b &:= b_p \end{aligned} aN(i1)+jb:=ai[pj],i[k]:=bp

其中 a i ∈ T N [ X ] a_i \in \mathbb T_N[X] aiTN[X] 使用 N N N-antiperiodic indexes 的系数向量表示,即 a i [ j ] a_i[j] ai[j] X N − j X^{N-j} XNj 的系数。

Blind Rotate

有时候旋转一个多项式(乘以 X i X^i Xi)是有必要的。如果旋转程度被 LWE 加密 ( a , b ) ∈ Z p + 1 (a,b) \in \mathbb Z^{p+1} (a,b)Zp+1,多项式被 RLWE 加密 c ∈ T N [ X ] c \in \mathbb T_N[X] cTN[X],盲旋转的算法如下:

在这里插入图片描述

其输出为 A C C ∈ T R L W E K ( X ⟨ s , a ⟩ − b ⋅ v ) ACC \in TRLWE_K(X^{\langle s,a \rangle-b} \cdot v) ACCTRLWEK(Xs,abv),噪声分析为

在这里插入图片描述

LHE & FHE

TFHE 先提出了一个 LHE 的自动机模型:布尔门电路,使用 TGSW 密文作为控制线,使用 TLWE 密文作为数据线。然后使用“外积”来计算 Bootstrapping,这比使用“内积”的 FHEW 快一个小多项式因子。

在这里插入图片描述

还有 随机函数查找表、水平打包、垂直打包 等等技术。

作者没细看,略啦 (づ。◕ᴗᴗ◕。)づ

猜你喜欢

转载自blog.csdn.net/weixin_44885334/article/details/129741518