当前位置: 首页 > news >正文

全同态加密: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:环面上全同态加密方案学习笔记

文章目录

  • Real Torus
  • Scale-Invariant LWE
  • TLWE
  • TGSW
  • Operators
    • Products
    • Key Switching
    • Simple Extraction
    • Blind Rotate
  • LHE & FHE

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

Real Torus

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

  • 1R⋅x=x1_R \cdot x = x1Rx=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⋅yr \cdot (x+y) = r \cdot x + r \cdot yr(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 ZT:=R/Z 是集合 {r(mod1):r∈R}\{r \pmod 1: r \in \mathbb R\}{r(mod1):rR},这叫做实数环面(real Torus)。由于 mod 1 projectionreal product 不兼容(例如,0T×0.5T0_\mathbb T \times 0.5_\mathbb T0T×0.5T 是未定义的,容易验证 0×0.5≠1×0.50 \times 0.5 \neq 1 \times 0.50×0.5=1×0.5),因此 Torus 不是 Ring。不过,容易发现 T\mathbb TT 是个 Z\mathbb ZZ-模(比如,0Z⋅0.5T=0T0_\mathbb Z \cdot 0.5_\mathbb T = 0_\mathbb T0Z0.5T=0T 是 well define 的)。

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

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

B:={0,1}⊂Z\mathbb B := \{0,1\} \subset \mathbb ZB:={0,1}Z,简记 BN[X]:=B[X]/(XN+1)⊂ZN[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 TT 上的某个半径 14\dfrac{1}{4}41 的球内),那么还是可以定义期望和方差的:

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

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

  1. E(χ)=e1⋅E(χ1)+e2⋅E(χ2)E(\chi) = e_1 \cdot E(\chi_1) + e_2 \cdot E(\chi_2)E(χ)=e1E(χ1)+e2E(χ2)
  2. Var(χ)≤e12⋅Var(χ1)+e22⋅Var(χ2)Var(\chi) \le e_1^2 \cdot Var(\chi_1) + e_2^2 \cdot Var(\chi_2)Var(χ)e12Var(χ1)+e22Var(χ2)

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

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

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

Lipschitz function:我们说函数 f:Tm→Tnf:\mathbb T^m \to \mathbb T^nf: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∈Zns \in \mathbb Z^nsZn,令 ξ\xiξ 是实数域 R\mathbb RR 上的错误分布,定义 LWEs,ξLWE_{s,\xi}LWEs,ξTn×T\mathbb T^n \times \mathbb TTn×T 上的分布,样本形如 (a,b)(a,b)(a,b),其中 a∈Tna \in \mathbb T^naTn 是均匀随机的,错误 e←ξe \leftarrow \xieξ,计算 b:=s⋅a+eb:=s \cdot a+eb:=sa+e(先是环作用,然后是群加法)。类似一般的 LWE 问题,这个变体也分为 Search 和 Decision 两个版本。

我们称 phase(相位)是一个关于秘密 sss 的线性函数 ϕs:Tn×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,容易看出 LWEs,ξLWE_{s,\xi}LWEs,ξ 就是 ϕs\phi_sϕskernel 的近似 ϕs(LWEs,ξ)=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 是 (0n,μ)(0^n,\mu)(0n,μ),根据线性关系,
ϕs(LWEs,ξ+(0n,μ))=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∈TM \in \mathbb TMT(例如 {0,0.5}\{0,0.5\}{0,0.5}),加密为 Encs(μ∈M):=LWEs,ξ+(0n,μ)Enc_s(\mu \in M) := LWE_{s,\xi}+(0^n,\mu)Encs(μM):=LWEs,ξ+(0n,μ),解密为 Decs(c∈Tn+1):=round(ϕ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−p1-2^{-p}12p,其中 RRRMMMpacking radius

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

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]/IR:=Z[X]/ITI[X]:=T[X]/I\mathbb T_I[X] := \mathbb T[X]/ITI[X]:=T[X]/I,函数 phase 是一族 Lipschitz morphism(态射){ϕs:RM→TI[X]}S\{\phi_s:{}_\mathfrak R M \to \mathbb T_I[X]\}_S{ϕs:RMTI[X]}S。我们说 general TLWE problem 是由 RM{}_\mathfrak R MRM 上的错误分布 ξ\xiξ、一族由秘密 sss 索引的态射 {ϕs}S\{\phi_s\}_S{ϕs}S 所指定的。我们定义 homogeneous TLWE distributionUker⁡(ϕs)+ξ\mathcal U_{\ker(\phi_s)}+\xiUker(ϕs)+ξ,并可定义 Search 和 Decision 两个版本的问题。

  1. 如果设置 I=(X+1)I=(X+1)I=(X+1),那么 R=Z,TI[X]=T\mathfrak R = \mathbb Z, \mathbb T_I[X] = \mathbb TR=Z,TI[X]=T
    1. 设置 M=Tn+1M=\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⊆ZnS\subseteq \mathbb Z^nSZn,那么这是 scale-invariant LWE
    2. 设置 M=Zqn+1M=\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⊆ZqnS\subseteq \mathbb Z_q^nSZqn,那么这是 LWE mod q
    3. 设置 M=TM=\mathbb TM=T 以及 ϕp(x)=p⋅x\phi_p(x)=p \cdot xϕp(x)=px,其中 S⊆ZS\subseteq \mathbb ZSZ,那么这是 (dual) approx-GCD problem
  2. 如果设置 I=(XN+1)I=(X^N+1)I=(XN+1),那么 R=ZN[X],TI[X]=TN[X]\mathfrak R = \mathbb Z_N[X], \mathbb T_I[X] = \mathbb T_N[X]R=ZN[X],TI[X]=TN[X]
    1. 设置 M=TN[X]2M=\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⊆ZN[X]S\subseteq \mathbb Z_N[X]SZN[X],那么这是 Ring LWE
    2. 设置 M=TN[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⊆ZN[X]kS\subseteq \mathbb Z_N[X]^kSZN[X]k,那么这是 Module LWE
    3. 设置 M=TN[X]2M=\mathbb T_N[X]^{2}M=TN[X]2 以及 ϕf,g(x,y)=fx−gy\phi_{f,g}(x,y)=fx-gyϕf,g(x,y)=fxgy,其中 S⊆ZN[X]2S\subseteq \mathbb Z_N[X]^2SZN[X]2,那么这是 scale invariant NTRU

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

Canonical T®LWE problem:令 k≥1k \ge 1k1 是正整数,N∈Z+N\in \mathbb Z^+NZ+222 的幂次,α∈R≥0\alpha \in \mathbb R_{\ge 0}αR0 是标准差。密钥空间 S=BN[X]kS = \mathbb B_N[X]^kS=BN[X]k,其中的 sssn≈kNn \approx kNnkN 比特均匀随机数。相位 ϕs\phi_sϕs 是定义在 M=TN[X]k×TN[X]M = \mathbb T_N[X]^k \times \mathbb T_N[X]M=TN[X]k×TN[X] 上的 nnn-Lipschitz 函数 ϕs(a,b)=b−s⋅a\phi_s(a,b) = b-s \cdot aϕs(a,b)=bsa,错误分布为 ξ=(0k,DTN[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←UTN[X]ka \leftarrow \mathcal U_{\mathbb T_N[X]^k}aUTN[X]k,error 取自 e←DTN[X],αe \leftarrow D_{\mathbb T_N[X],\alpha}eDTN[X],α

  • 我们说一个样本是 trivial 的,如果 a=0a=0a=0,此时的样本形如 (0k,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]/IR:=Z[X]/I
  2. 消息空间为 ϕs\phi_sϕs 的 image TI[X]:=T[X]/I\mathbb T_I[X] := \mathbb T[X]/ITI[X]:=T[X]/I
  3. 密文空间为 ϕs\phi_sϕs 的 domain RM{}_\mathfrak R MRM
  4. 消息 μ\muμ 的密文是 random preimage 的近似 Uϕs−1(μ)+ξ\mathcal U_{\phi_s^{-1}(\mu)}+\xiUϕs1(μ)+ξ,对于 Canonical Form 来说就是 Uker⁡(ϕs)+ξ+(0k,μ)\mathcal U_{\ker(\phi_s)}+\xi+(0^k,\mu)Uker(ϕs)+ξ+(0k,μ)
  5. 密文 ccc 的(近似的)明文是它的 image ϕs(c)\phi_s(c)ϕs(c)

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

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

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

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

根据相位的线性关系,对应组合系数 ei∈Re_i \in \mathfrak ReiR,密文 c=∑Iei⋅cic = \sum_I e_i \cdot c_ic=Ieici 满足以下关系:

  1. msg(c)=∑Iei⋅msg(ci)msg(c) = \sum_I e_i \cdot msg(c_i)msg(c)=Ieimsg(ci)
  2. Var(Err(c))≤∑I∥ei∥22⋅Var(Err(ci))Var(Err(c)) \le \sum_I \|e_i\|_2^2 \cdot Var(Err(c_i))Var(Err(c))Iei22Var(Err(ci))
  3. ∥Err(c)∥∞≤∑I∥ei∥1⋅∥Err(ci)∥∞\|Err(c)\|_\infty \le \sum_I \|e_i\|_1 \cdot \|Err(c_i)\|_\inftyErr(c)Iei1Err(ci)

TGSW

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

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

Abstract Gadget Decomposition:令 MMM 是一个 R\mathfrak RR-模,分解算法是一个有效的算法 DecH,β,ϵ(v)Dec_{H,\beta,\epsilon}(v)DecH,β,ϵ(v),其中 H∈Ml′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∈Mv \in MvM 分解为一个(随机的) small 向量 u∈Rl′u \in \mathfrak R^{l'}uRl,使得 ∥u∥∞≤β\|u\|_\infty \le \betauβ 以及 ∥u⋅H−v∥∞≤ϵ\|u\cdot H-v\|_\infty \le \epsilonuHvϵ,并且期望 Ev(u⋅H−v)=0E_v(u\cdot H-v)=0Ev(uHv)=0

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

Canonical Gadget Decomposition:对于 Canonical TLWE 样本,我们设置 M=TN[X]k+1M = \mathbb T_N[X]^{k+1}M=TN[X]k+1,令 l,Bgl,B_gl,Bg 是正整数,并设置 l′=(k+1)ll'=(k+1)ll=(k+1)l,那么 Gadget H∈Ml′=Ml′,k+1(TN[X])H \in M^{l'}=\mathcal M_{l',k+1}(\mathbb T_N[X])HMl=Ml,k+1(TN[X]) 定义为
H=[Bg−10⋯00Bg−2⋯0⋮⋮⋮Bg−l0⋯00⋮⋱⋮00⋯0Bg−10⋯Bg−2⋮⋮⋮00⋯0Bg−l]∈M(k+1)lH = \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=Bg1Bg2Bgl00000000000000Bg1Bg2BglM(k+1)l

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

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

在这里插入图片描述

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

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

Canonical T®GSW samples:回顾 Canonical TLWE samples 以及 Canonical Gadget Decomposition 中的各个参数的设置,秘密 s∈BN[X]ks \in \mathbb B_N[X]^ksBN[X]k,那么对应的 T®GSW 样本为 C∈Ml′=M(k+1)l,k+1(TN[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−μ⋅HC-\mu \cdot HCμH 的每一行都是 TN[X]k+1\mathbb T_N[X]^{k+1}TN[X]k+1 上的齐次 T®LWE 样本。

根据 phase 的线性,对于组合系数 ei∈Re_i \in \mathfrak ReiRC=∑Iei⋅CiC = \sum_I e_i \cdot C_iC=IeiCiμ=∑Iei⋅μi\mu = \sum_I e_i \cdot \mu_iμ=Ieiμi 的密文,并且
Var(C)≤∑I∥ei∥22⋅Var(Ci)∥Err(C)∥∞≤∑I∥ei∥1⋅∥Err(Ci)∥∞\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)

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

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

Operators

Products

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

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

External product:我们定义(右结合)算符 ⊡\boxdot
⊡:TGSW×TLWE→TLWE(A∈RMl′,b∈RM)↦DecH,β,ϵ(b)⋅A∈RM\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
⊠:TGSW×TGSW→TGSW(A∈RMl′,B∈RMl′)↦[A⊡b1A⊡b2⋮A⊡bl′]∈RMl′\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)TGSWAb1Ab2AblRMl

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

Key Switching

TFHE 扩展了秘钥切换的概念,定义了 TLWE 上的关于 RRR-Lipschitz 的线性态射 f:ZTp→TN[X]f:{}_\mathbb Z \mathbb T^p \to \mathbb T_N[X]f:ZTpTN[X] 的秘钥切换。假设从 K∈Bn\mathfrak K \in \mathbb B^nKBn 下的密文 c\mathfrak cc,切换到 K∈BN[X]kK \in \mathbb B_N[X]^kKBN[X]k 下的密文 ccc

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

它的输出为 c∈T(R)LWEK(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 的消息空间是 TN[X]\mathbb T_N[X]TN[X],因此它包含 NNN 个环面 T\mathbb TT 上的槽(slot)。

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

给定 RLWE 样本 c=(a,b)∈RLWEK(μ)c=(a,b) \in RLWE_K(\mu)c=(a,b)RLWEK(μ) 以及位置 p∈[N]p \in [N]p[N],我们定义 SimpleExtractp(c)SimpleExtract_p(c)SimpleExtractp(c) 的输出是一个 LWE 样本 c=(a,b)∈LWEK(μp)\mathfrak c=(\mathfrak a,\mathfrak b) \in LWE_\mathfrak K(\mu_p)c=(a,b)LWEK(μp)
aN(i−1)+j:=ai[p−j],i∈[k]b:=bp\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

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

Blind Rotate

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

在这里插入图片描述

其输出为 ACC∈TRLWEK(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 快一个小多项式因子。

在这里插入图片描述

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

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

http://www.lryc.cn/news/42122.html

相关文章:

  • 【计算机二级】综合题目
  • 初识Kafka
  • 【JavaEE】线程的状态
  • 7个最受瞩目的 Python 库,提升你的开发效率
  • 这些IT行业趋势,将改变2023
  • 蓝桥杯每日一真题——[蓝桥杯 2021 省 B] 杨辉三角形(二分+规律)
  • <C++> 类和对象(下)
  • 基于Springboot+Vue2前后端分离框架的智慧校园系统源码,智慧学校源码+微信小程序+人脸电子班牌
  • JavaEE-线程安全问题
  • 【Node.js】身份认证,Cookie和Session的认证机制,express中使用session认证和JWT认证
  • Redis删除策略和淘汰策略
  • LFM雷达实现及USRP验证【章节2:LFM雷达测距】
  • 菜鸟刷题Day5
  • 已解决AttributeError:module tensorflow no attribute app异常的正确解决方法,亲测有效!!!
  • Hadoop集群环境配置搭建
  • Thread类的基本用法
  • YOLOV8改进:如何增加注意力模块?(以CBAM模块为例)
  • Spark Streaming DStream的操作
  • 蓝桥杯冲刺 - week1
  • Leetcode27. 移除元素
  • ViewService——一种保证客户端与服务端同步的方法
  • 使用STM32F103ZE开发贪吃蛇游戏
  • 如何利用Web3D技术打造在线虚拟展览馆
  • 第二十三章 opengl之高级OpenGL(实例化)
  • C++ String类总结
  • 内网升级“高效安全”利器!统信软件发布私有化更新管理平台
  • JAVA开发(自研项目的开发与推广)
  • Mysql用户权限分配详解
  • 【TypeScript 入门】13.枚举类型
  • Python科学计算:偏微分方程1