TFHE-Key Packing,Smooth KS Process,Key Unrolling,Approximate Gadget Decomposition

参考文献:

  1. [BMMP18] Bourse F, Minelli M, Minihold M, et al. Fast homomorphic evaluation of deep discretized neural networks[C]//Advances in Cryptology–CRYPTO 2018: 38th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 19–23, 2018, Proceedings, Part III 38. Springer International Publishing, 2018: 483-512.
  2. [CDKS21] Chen H, Dai W, Kim M, et al. Efficient homomorphic conversion between (ring) LWE ciphertexts[C]//International Conference on Applied Cryptography and Network Security. Cham: Springer International Publishing, 2021: 460-479.
  3. [MP21] Micciancio D, Polyakov Y. Bootstrapping in FHEW-like cryptosystems[C]//Proceedings of the 9th on Workshop on Encrypted Computing & Applied Homomorphic Cryptography. 2021: 17-28.
  4. [LMK+23] Lee Y, Micciancio D, Kim A, et al. Efficient FHEW bootstrapping with small evaluation keys, and applications to threshold homomorphic encryption[C]//Annual International Conference on the Theory and Applications of Cryptographic Techniques. Cham: Springer Nature Switzerland, 2023: 227-256.
  5. [KLD+23] Kim A, Lee Y, Deryabin M, et al. LFHE: Fully homomorphic encryption with bootstrapping key size less than a megabyte[J]. Cryptology ePrint Archive, 2023.
  6. [DKM+24] De Micheli G, Kim D, Micciancio D, et al. Faster amortized FHEW bootstrapping using ring automorphisms. Public Key Cryptography 2024 (4): 322-353.

[KLD+23] 关注 Blind Rotation Key 的传输开销,用于客户端能力受限的场景。

Packing and Reconstruction

对于 TFHE-type 盲旋转算法,自举密钥形如 { R G S W z ( s i ) } 0 ≤ i ≤ n − 1 \{RGSW_z(s_i)\}_{0\le i\le n-1} {RGSWz(si)}0in1,其中 R G S W z ( s i ) = ( R L W E z ′ ( s i ) , R L W E z ′ ( s i z ) ) RGSW_z(s_i) = (RLWE_z'(s_i), RLWE_z'(s_iz)) RGSWz(si)=(RLWEz(si),RLWEz(siz)),这里 R L W E z ′ ( m ) = { R L W E z ( m B j ) } 0 ≤ j ≤ d d − 1 RLWE_z'(m)=\{RLWE_z(mB^j)\}_{0\le j\le d_d-1} RLWEz(m)={RLWEz(mBj)}0jdd1

容易发现,RGSW 密文由一堆 RLWE 密文组成,每个 RLWE 密文都只加密了常数多项式。因此 [KLD+23] 将它们系数打包在少量 RLWE 密文中,然后使用 [CDKS21] 的分圆塔算法提取各个系数。疑问:FHEW-type 中的非常数单项式,如何打包?

对于自举密钥的第一分量 R L W E z ′ ( s i ) RLWE_z'(s_i) RLWEz(si),可以打包为:

在这里插入图片描述

其中的 N − 1 N^{-1} N1 是为了抵消分圆塔上 Trace 的缩放因子。然后使用如下的自同构,
ψ N + 1 ( m ) = ∑ i = 0 N / 2 − 1 m 2 i X 2 i − ∑ i = 0 N / 2 − 1 m 2 i + 1 X 2 i + 1 , ∀ m ∈ Z [ X ] / ( X N + 1 ) \psi_{N+1}(m) = \sum_{i=0}^{N/2-1} m_{2i}X^{2i} - \sum_{i=0}^{N/2-1}m_{2i+1}X^{2i+1}, \forall m \in \mathbb Z[X]/(X^N+1) ψN+1(m)=i=0N/21m2iX2ii=0N/21m2i+1X2i+1,mZ[X]/(XN+1)
利用 [CDKS21] 的算法来提取 RLWE 密文 p b k k pbk_k pbkk 中的各个系数:

在这里插入图片描述

对于自举密钥的第二分量 R L W E z ′ ( s i z ) RLWE_z'(s_iz) RLWEz(siz),为了减小噪声增长,不是采用 BV-Mult,而是采用了 BV-type KS,给定 ( b i j , a i j ) ∈ R L W E ( s i B j ) (b_{ij}, a_{ij}) \in RLWE(s_iB^j) (bij,aij)RLWE(siBj)。这个在 [DKM+24] 中称为 “ R L W E ′ RLWE' RLWE to R G S W RGSW RGSW scheme switching” 技术:
b i j ⋅ ( 0 , 1 ) + a i j ⊙ R L W E z ′ ( z 2 ) = R L W E ( ( b i j + a i j z ) z ) = R L W E ( s i B j z ) b_{ij} \cdot (0,1) + a_{ij} \odot RLWE_z'(z^2) = RLWE((b_{ij}+a_{ij}z)z) =RLWE(s_iB^jz) bij(0,1)+aijRLWEz(z2)=RLWE((bij+aijz)z)=RLWE(siBjz)
因此,所需的密钥包括:打包的盲旋转密钥的第一部分、用于解包的密钥切换密钥、用于计算盲旋转密钥的第二部分的密钥切换密钥。密钥生成算法:

在这里插入图片描述

密钥重建算法:

在这里插入图片描述

Smooth Converting Process

在 FHEW/TFHE 的自举噪声中,盲旋转之后的密钥切换噪声有较大影响,而参数集(本身较小)对于自举噪声的规模十分敏感(LWE 的模数增大 1 1 1 比特、ACC 的维度翻倍)。

对于 LWE 的密钥切换,使用 BV-type KS 过程。为了尽可能降低噪声,采用了枚举技术,设置:
K S K = { L W E z ( k B j s i } 0 ≤ i ≤ n − 1 , 0 ≤ j ≤ d − 1 , − B / 2 < k ≤ B / 2 KSK = \{LWE_z(kB^js_i\}_{0\le i\le n-1, 0 \le j\le d-1, -B/2 < k \le B/2} KSK={LWEz(kBjsi}0in1,0jd1,B/2<kB/2
其中 d = ⌈ log ⁡ B Q ⌉ d=\lceil\log_B Q\rceil d=logBQ,规模是 n d Q 1 / d ndQ^{1/d} ndQ1/d 个 LWE 密文,因此 d d d 越大,存储越少

密钥切换的执行:
L W E z ( m ) = ( b , 0 n ) + ∑ i , j L W E z ( h ( a i ) j ⋅ B j s i ) LWE_{z}(m) = (b,0^n) + \sum_{i,j} LWE_z(h(a_i)_j \cdot B^js_i) LWEz(m)=(b,0n)+i,jLWEz(h(ai)jBjsi)
不需要同态数乘,噪声被简单的加在一起。其中 h ( a i ) ∈ Z d h(a_i) \in \mathbb Z^d h(ai)Zd 是 Gadget 分解出的短向量,用于挑选 KSK 的某个分量。假设 KSK 的噪声方差是 σ f r e s h 2 \sigma_{fresh}^2 σfresh2,那么密钥切换噪声的方差是 d n ⋅ σ f r e s h 2 dn\cdot\sigma_{fresh}^2 dnσfresh2因此 d d d 越小,噪声越小。注意,如果使用数乘而非枚举,那么 d d d 越大 B = Q 1 / d B=Q^{1/d} B=Q1/d 越小,噪声才会越小。疑问:把 LWE 嵌入到 RLWE 上效率是否会更好,以及 RLWE 如何用枚举来降低噪声?

FHEW/TFHE 的自举流程:

  1. 原始的 FHEW 的输入输出都在最小参数集 ( q , n ) (q,n) (q,n) 上,盲旋转得到 ( Q , N ) (Q,N) (Q,N) 的 ACC 密文,首先提取出 LWE 密文,然后再依次执行 KS 和 MS(不仅仅要求 ( q , n ) (q,n) (q,n) 安全,还要求 ( Q , n ) (Q,n) (Q,n) 也是安全的,LWE 维度 n n n 不能太小)

  2. [MP21] 设置了额外的模数 q < Q K S < Q q < Q_{KS} < Q q<QKS<Q,在做 KS 之前先做一次 MS,使得模数满足 KSK 的安全需求(因为 s ∈ Z n , z ∈ R N , n < N s \in \mathbb Z^n, z \in R_N, n < N sZn,zRN,n<N),只需要 ( Q K S , n ) (Q_{KS},n) (QKS,n) 是安全的即可,LWE 维度降低

    在这里插入图片描述

  3. [CGGI20] 修改了 TFHE 的流程,使得输入输出维持在最高参数集 ( Q , N ) (Q,N) (Q,N),仅在盲旋转之前才执行 KS 和 MS,这可以降低噪声增长(从而 q q q 可以降低,使得 N N N 降低)

    在这里插入图片描述

( Q k s , N ) (Q_{ks},N) (Qks,N)-LWE 切换到 ( Q k s , n ) (Q_{ks},n) (Qks,n)-LWE,

  • KSK 的存储开销: d k s Q k s 1 / d k s N ( n + 1 ) log ⁡ Q k s d_{ks}Q_{ks}^{1/d_{ks}}N(n+1)\log Q_{ks} dksQks1/dksN(n+1)logQks
  • KS 噪声的方差: d k s N σ e r r 2 d_{ks}N\sigma_{err}^2 dksNσerr2

上述的 KS 都是在 LWE 密文上执行的,但是 LWE-KSK(尤其是枚举版本)的规模远大于 RLWE-KSK 的规模。如果直接对 ACC 做密钥切换,噪声则会变大,但是 RLWE-KS 在较小参数下对噪声很敏感。[KLD+23] 组合使用 RLWE-KS 以及 LWE-KS,降低 KSK 规模的同时,还降低了 KS-Error 的大小。

使用四个模数 q < Q k s < Q s m < Q q < Q_{ks} < Q_{sm} < Q q<Qks<Qsm<Q,使用三个维度 n < N s m < N n < N_{sm} < N n<Nsm<N,保证: ( Q k s , n ) (Q_{ks},n) (Qks,n) 安全, ( Q s m , N s m ) (Q_{sm}, N_{sm}) (Qsm,Nsm) 安全, ( Q , N ) (Q,N) (Q,N) 安全。对应的私钥是 s ∈ Z n , z s m ∈ R N s m , z ∈ R N s \in\mathbb Z^n, z_{sm} \in R_{N_{sm}}, z \in R_N sZn,zsmRNsm,zRN,那么

  • ( Q s m , N ) (Q_{sm},N) (Qsm,N)-RLWE 切换到 ( Q s m , N s m ) (Q_{sm},N_{sm}) (Qsm,Nsm)-RLWE 的密钥: R L W E z s m ′ ( z i ) RLWE_{z_{sm}}'(z_i) RLWEzsm(zi),其中 z i ∈ R N s m , 0 ≤ i ≤ N / N s m − 1 z_i \in R_{N_{sm}}, 0 \le i \le N/N_{sm}-1 ziRNsm,0iN/Nsm1 是私钥 z z z 的分片。
  • ( Q k s , N s m ) (Q_{ks},N_{sm}) (Qks,Nsm)-LWE 切换到 ( Q k s , n ) (Q_{ks},n) (Qks,n)-LWE 的密钥: L W E z ( k B j ( z ⃗ s m ) i ) LWE_z(kB^j(\vec z_{sm})_i) LWEz(kBj(z sm)i),这里的 z ⃗ s m ∈ Z N s m \vec z_{sm} \in \mathbb Z^{N_{sm}} z smZNsm 是私钥 z s m z_{sm} zsm 的系数向量。

自举的流程是:

在这里插入图片描述

两个 KSK 的总大小是:
2 d s m N log ⁡ Q s m + d k s Q k s 1 / d k s N s m ( n + 1 ) log ⁡ Q k s 2d_{sm}N\log Q_{sm} + d_{ks}Q_{ks}^{1/d_{ks}}N_{sm}(n+1)\log Q_{ks} 2dsmNlogQsm+dksQks1/dksNsm(n+1)logQks
前者是 RLWE-KSK( N / N s m N/N_{sm} N/Nsm R L W E z s m ′ RLWE'_{z_{sm}} RLWEzsm 密文),后者是 LWE-KSK( d k s Q k s 1 / d k s N s m d_{ks}Q_{ks}^{1/d_{ks}}N_{sm} dksQks1/dksNsm L W E s LWE_s LWEs 密文)。容易看出 LWE-KSK 占据主要的大小,存储比单独使用 LWE-KS 减小了 N / N s m N/N_{sm} N/Nsm 因子

两次 KS 的噪声方差是:
( Q k s Q s m ) 2 ⋅ d s m N ⋅ ( σ e r r 2 ⋅ Q s m 2 / d s m 12 ) + d k s N s m σ e r r 2 \left(\frac{Q_{ks}}{Q_{sm}}\right)^2 \cdot d_{sm}N \cdot \left(\sigma_{err}^2 \cdot \frac{Q_{sm}^{2/d_{sm}}}{12}\right) + d_{ks}N_{sm}\sigma_{err}^2 (QsmQks)2dsmN(σerr212Qsm2/dsm)+dksNsmσerr2
前者是 RLWE-KS( d s m N / N s m d_{sm}N/N_{sm} dsmN/Nsm 个系数范围 Q s m 1 / d s m Q_{sm}^{1/d_{sm}} Qsm1/dsm N s m N_{sm} Nsm 维均匀多项式的数乘,然后模切换),后者是 LWE-KS( N s m d k s N_{sm}d_{ks} Nsmdks 次加法)。容易看出 LWE-KS 的贡献占主导,噪声比单独使用 LWE-KS 也减小了 N / N s m N/N_{sm} N/Nsm 因子

Key Unrolling Technique

[BMMP18] 提出了密钥展开,以降低 Binary TFHE 的外积数量。

原始的盲旋转密钥是 R G S W z ( s i ) RGSW_z(s_i) RGSWz(si),设置 u u u 是展开因子(an unrolling factor),对应的向量集合 V = { 0 , 1 } u \ 0 u V = \{0,1\}^u \backslash 0^u V={0,1}u\0u,将 LWE 私钥分成 n / u n/u n/u 个长度 u u u 的分片,记为 s ( l ) , 0 ≤ l ≤ n / u − 1 s_{(l)}, 0\le l\le n/u-1 s(l),0ln/u1。指示函数:
∀ v ∈ V , l ∈ [ n / u ] ,    δ v , l = { 1 , s ( l ) = v , 0 , otherwise. \forall v \in V, l \in [n/u],\,\, \delta_{v,l} = \left\{\begin{aligned} 1, && s_{(l)} = v,\\ 0, && \text{otherwise.} \end{aligned}\right. vV,l[n/u],δv,l={1,0,s(l)=v,otherwise.
那么自举密钥就是 { R G S W ( δ v , l ) } v , l \{RGSW(\delta_{v,l})\}_{v,l} {RGSW(δv,l)}v,l,规模是 ( 2 u − 1 ) n / u (2^u-1)n/u (2u1)n/u 个 RGSW 密文,这比原始的 n n n R G S W ( s i ) RGSW(s_i) RGSW(si) 密文,增大了 O ( 2 u ) O(2^u) O(2u) 倍。

盲旋转算法是:
R L W E ( f ) ⊡ ( R G S W ( 1 ) + ∑ v ∈ V ( X ⟨ a ( j ) , v ⟩ − 1 ) ⋅ R G S W ( δ v , l ) ) = R L W E ( f ⋅ X ⟨ a ( l ) , s ( l ) ⟩ ) RLWE(f) \boxdot\left( RGSW(1) + \sum_{v \in V} (X^{\langle a_{(j)}, v\rangle}-1) \cdot RGSW(\delta_{v,l}) \right) = RLWE(f \cdot X^{\langle a_{(l)}, s_{(l)}\rangle}) RLWE(f)(RGSW(1)+vV(Xa(j),v1)RGSW(δv,l))=RLWE(fXa(l),s(l))
只需对于 n / u n/u n/u 次外积运算,但是需要 2 u 2^u 2u 次数乘和加法。

[ZYL+18] 设置了 V = { 0 , 1 } u V = \{0,1\}^u V={0,1}u,那么自举密钥会更大一些,但是盲旋转更加简单,噪声会更小:
R L W E ( f ) ⊡ ( ∑ v ∈ V X ⟨ a ( j ) , v ⟩ ⋅ R G S W ( δ v , l ) ) = R L W E ( f ⋅ X ⟨ a ( l ) , s ( l ) ⟩ ) RLWE(f) \boxdot\left( \sum_{v \in V} X^{\langle a_{(j)}, v\rangle} \cdot RGSW(\delta_{v,l}) \right) = RLWE(f \cdot X^{\langle a_{(l)}, s_{(l)}\rangle}) RLWE(f)(vVXa(j),vRGSW(δv,l))=RLWE(fXa(l),s(l))

Approximate Gadget Decomposition

[CGGI20] 对于实数环面(无限精度),提出了近似分解。为了减小自举密钥大小、盲旋转时间,[LMK+23] 提出了整数上的近似分解:原本的 Gadget Vector 是 g = ( 1 , B g , B g 2 , ⋯   , B g d g − 1 ) g=(1,B_g,B_g^2,\cdots,B_g^{d_g-1}) g=(1,Bg,Bg2,,Bgdg1)简单丢弃分解结果 h ( a ) h(a) h(a) 的第一个分量,它和 R G S W z ( m ) RGSW_z(m) RGSWz(m) 的外积是(这里的 m ∈ R m \in R mR 是任意的多项式,不必是单项式):
∑ i = 1 d g − 1 h ( a ) i ⋅ R L W E z ( g i m ) = R L W E z ( m ⋅ ∑ i = 1 d g − 1 g i h ( a ) i ) \sum_{i=1}^{d_g-1} h(a)_i \cdot RLWE_z(g_im) = RLWE_z\left(m \cdot \sum_{i=1}^{d_g-1} g_ih(a)_i\right) i=1dg1h(a)iRLWEz(gim)=RLWEz mi=1dg1gih(a)i
那么 BTS-Key 中的 R L W E ′ RLWE' RLWE 可以减少一个 R L W E RLWE RLWE 分量,外积也减少了一次 NTT 运算。噪声方差为:
( d g − 1 ) N σ 2 ⋅ B g 2 12 + V a r ( h ( a ) 0 ⋅ m ) (d_g-1)N\sigma^2 \cdot \frac{B_g^2}{12} + Var(h(a)_0 \cdot m) (dg1)Nσ212Bg2+Var(h(a)0m)
这里省去了一个 RLWE 数乘的噪声,但是多了一个近似误差。由于 h ( a ) 0 h(a)_0 h(a)0 是系数范围 B g B_g Bg 的均匀多项式,如果满足 V a r ( m ) ≤ σ 2 Var(m) \le \sigma^2 Var(m)σ2,这个噪声就比原始的 d g N σ 2 B g 2 / 12 d_gN\sigma^2B_g^2/12 dgNσ2Bg2/12 更小。

[KLD+23] 从打包密文中重构的盲旋转秘钥的噪声偏大( ∥ e ∥ ∞ ≥ B \|e\|_\infty \ge B eB,破坏了更多的 LSB 信息),因此只丢弃第一分量并不适合(可以丢弃更多)。他们采用 [CGGI20] 中的近似分解(把实数环面放大 Q Q Q 倍),先选取一个近似因子 δ \delta δ,然后设置
g δ = ( δ , B δ , B 2 δ , ⋯   , B d − 1 δ ) g_\delta = (\delta, B\delta, B^2\delta, \cdots, B^{d-1}\delta) gδ=(δ,Bδ,B2δ,,Bd1δ)
其中满足 B d δ ≥ Q B^d\delta \ge Q BdδQ,那么环元素 a ∈ R Q a \in R_Q aRQ 可以分解为 ( a 0 , a 1 , ⋯   , a d − 1 ) ∈ R d (a_0,a_1,\cdots,a_{d-1}) \in R^d (a0,a1,,ad1)Rd,满足 ∥ a i ∥ ∞ ≤ B / 2 \|a_i\|_\infty \le B/2 aiB/2(平衡的进制表示),使得近似误差 ∥ a − ∑ i a i B i δ ∥ ∞ \|a - \sum_i a_iB^i\delta\|_\infty aiaiBiδ 最小化。文中没说怎么找出这个近似分解,我自己想了一下,可能是这么做的:

  1. 将环元素 a ∈ R Q a \in R_Q aRQ 写成平衡的代表,系数范围 ( − Q / 2 , Q / 2 ] (-Q/2,Q/2] (Q/2,Q/2]
  2. j = d − 1 , ⋯   , 1 , 0 j=d-1,\cdots,1,0 j=d1,,1,0 依次迭代,计算 a j = ⌊ a / ( B j δ ) ⌉ a_j=\lfloor a/(B^j\delta)\rceil aj=a/(Bjδ)⌉,然后赋值 a = a − a j B j δ a = a-a_jB^j\delta a=aajBjδ,类似于浮点尾数
  3. 容易验证 ∥ a − ∑ i = j d − 1 a i B i δ ∥ ∞ ≤ B j δ / 2 \|a - \sum_{i=j}^{d-1} a_iB^i\delta\|_\infty \le B^j\delta/2 ai=jd1aiBiδBjδ/2,最终会是 ≤ δ / 2 \le \delta/2 δ/2

现在根据 g δ g_\delta gδ 来分解环元素,那么(近似的)强线性同态的密文形如:
R L W E z ′ ( m ) = ( R L W E z ( m δ ) , R L W E z ( m B δ ) , ⋯   , R L W E z ( m B d − 1 δ ) ) RLWE'_z(m) = (RLWE_z(m\delta), RLWE_z(mB\delta), \cdots, RLWE_z(mB^{d-1}\delta)) RLWEz(m)=(RLWEz(mδ),RLWEz(mBδ),,RLWEz(mBd1δ))
假设近似误差是 ϵ = a − ⟨ g δ , h δ ( a ) ⟩ ∈ R \epsilon = a-\langle g_\delta,h_\delta(a)\rangle \in R ϵ=agδ,hδ(a)⟩R,密文 R L W E ′ RLWE' RLWE 的噪声是 e ∈ R d e \in R^d eRd,那么
( a ⊙ R L W E z ′ ( m ) ) ( z ) = ⟨ h δ ( a ) , R L W E z ′ ( 0 ) + m ⋅ g δ ⟩ ( z ) = ( ⟨ h δ ( a ) , R L W E z ′ ( 0 ) ⟩ + m ⋅ ⟨ h δ ( a ) , g δ ⟩ ) ( z ) = m ⋅ a + ( ⟨ h δ ( a ) , e ⟩ − m ⋅ ϵ ) \begin{aligned} (a \odot RLWE'_z(m))(z) &= \langle h_\delta(a), RLWE'_z(0)+m \cdot g_\delta\rangle(z)\\ &= (\langle h_\delta(a), RLWE'_z(0)\rangle + m \cdot \langle h_\delta(a), g_\delta\rangle)(z)\\ &= m \cdot a + (\langle h_\delta(a), e\rangle - m \cdot\epsilon) \end{aligned} (aRLWEz(m))(z)=hδ(a),RLWEz(0)+mgδ(z)=(⟨hδ(a),RLWEz(0)⟩+mhδ(a),gδ⟩)(z)=ma+(⟨hδ(a),emϵ)
假设 R L W E ′ RLWE' RLWE 加密噪声的方差是 σ e r r 2 \sigma_{err}^2 σerr2,那么这个外积的方差是
V a r ( E r r ( a ⊙ R L W E z ′ ( m ) ) ) ≤ V a r ( ⟨ h δ ( a ) , e ⟩ ) + V a r ( m ⋅ ϵ ) ≤ d N ⋅ B 2 12 ⋅ σ e r r 2 + ∥ m ∥ 2 2 ⋅ δ 2 12 \begin{aligned} Var(Err(a \odot RLWE'_z(m))) &\le Var(\langle h_\delta(a), e\rangle) + Var(m \cdot\epsilon)\\ &\le dN\cdot \frac{B^2}{12} \cdot \sigma_{err}^2 + \|m\|_2^2 \cdot \frac{\delta^2}{12} \end{aligned} Var(Err(aRLWEz(m)))Var(⟨hδ(a),e⟩)+Var(mϵ)dN12B2σerr2+m2212δ2
如果已知 m ∈ R m \in R mR 的形式,可以预先确定 ∥ m ∥ 2 2 \|m\|_2^2 m22,从而找出对应的最合适的 δ \delta δ 取值(如果固定 B B B,则 d d d 是关于 δ \delta δ 的函数)。例如:对于盲旋转,使用 R L W E z ′ ( X a i s i ) RLWE'_z(X^{a_is_i}) RLWEz(Xaisi),因此 ∥ m ∥ 2 2 = 1 \|m\|_2^2 = 1 m22=1;对于二元秘密的密钥切换,使用 R L W E z ′ ( s ) RLWE'_z(s) RLWEz(s),因此 ∥ m ∥ 2 2 ≤ N \|m\|_2^2 \le N m22N

Implementation

参数设置、运行结果:

在这里插入图片描述

好处是通信代价小于 1 MB,且自举密钥生成时间也很小。但是由于打包/解包带来的噪声增长,为了自举正确性 ACC 的模数变得很大,导致 ACC 维度翻倍,自举时间翻倍

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值