如何获得 FHE Circuit Privacy

本文探讨了如何在FHE(FullyHomomorphicEncryption)中实现电路隐私,介绍了噪声洪泛、滚转消毒策略和GSW风格方法。噪声洪泛通过增加噪声来隐藏电路信息,而Soak-Spin-Repeat和GSW-styleFHE则提供了更高效且近似因子较小的隐私保护。
摘要由CSDN通过智能技术生成

参考文献:

  1. [AJL+12] Asharov G, Jain A, López-Alt A, et al. Multiparty computation with low communication, computation and interaction via threshold FHE[C]. EUROCRYPT 2012: 483-501
  2. [DS16] Ducas L, Stehlé D. Sanitization of FHE Ciphertexts[C]. EUROCRYPT (1) 2016: 294-310
  3. [BPMW16] Bourse F, Del Pino R, Minelli M, et al. FHE Circuit Privacy Almost for Free[C]. CRYPTO (2) 2016: 62-89
  4. Klein’s algorithm
  5. Noise Flooding
  6. FHE Circuit Privacy for Free

FHE Circuit Privacy

这里给出 ThFHE 的接口定义:

在这里插入图片描述

我们可以将 FHE 以及 PKE 作为 ThFHE 的特殊实例:FHE 就是设置 n = t = 1 n=t=1 n=t=1,并且合并 PartDec 以及 Combine 成为 Dec;ThPKE 就是固定 C = i d C=id C=id,也就是丢弃了 Eval。

定义 c d i s t s ( X , Y ) cdist_s(X,Y) cdists(X,Y) 表示在任意的规模 s s s 电路下,分布 X , Y X,Y X,Y 之间的计算距离(computational distance with respect to size s s s circuits)。我们定义 ThFHE 的电路隐私:

在这里插入图片描述

它保证任意的容许电路下的同态计算结果和新鲜加密的密文是计算不可区分的,从而不泄露所计算电路的信息。

How to get it

接下来的问题就是如何获得电路隐私,本质上就是消除密文噪声中包含的电路信息。这里介绍三种方法:噪声洪泛、滚转消毒、直接构造电路隐私的 GSW 方案,它们都提供了统计不可区分性(自然是计算安全的)。

Noise Flooding Techniques

[AJL+12] 构造了第一个 ThFHE,为了保护 PartDec 电路(含有各个 Party 的私钥 SS 信息)的隐私性,他们使用了噪声洪泛。

Smudging Lemma:安全参数 κ \kappa κ,令 B 1 , B 2 B_1,B_2 B1,B2 是正整数, e 1 ∈ [ − B 1 , B 1 ] e_1 \in [-B_1,B_1] e1[B1,B1] 是固定整数, e 2 ← [ − B 2 , B 2 ] e_2 \leftarrow [-B_2,B_2] e2[B2,B2] 是均匀随机数。那么只要 B 1 / B 2 = n e g l ( κ ) B_1/B_2 = negl(\kappa) B1/B2=negl(κ),则 e 2 e_2 e2 的分布与 e 1 + e 2 e_1+e_2 e1+e2 的分布统计不可区分。确切地说,这两个分布之间的统计距离为:
Δ = 1 2 ∑ x = − ( B 1 + B 2 ) B 1 + B 2 ∣ P r [ e 2 = x ] − P r [ e 1 + e 2 = x ] ∣ = 1 2 ( ∑ x = − ( B 1 + B 2 ) − B 2 1 B 2 + ∑ x = B 2 B 1 + B 2 1 B 2 ) = B 1 B 2 \Delta = \dfrac{1}{2}\sum_{x=-(B_1+B_2)}^{B_1+B_2}\Big| Pr[e_2=x] - Pr[e_1+e_2=x] \Big| = \dfrac{1}{2}\left( \sum_{x=-(B_1+B_2)}^{-B_2}\dfrac{1}{B_2} + \sum_{x=B_2}^{B_1+B_2}\dfrac{1}{B_2} \right) = \dfrac{B_1}{B_2} Δ=21x=(B1+B2)B1+B2 Pr[e2=x]Pr[e1+e2=x] =21 x=(B1+B2)B2B21+x=B2B1+B2B21 =B2B1
因此,假如某个同态计算得到的密文是 c t ( s ) = E C C ( m ) + e ct(s)=ECC(m)+e ct(s)=ECC(m)+e,其中噪声界是 ∥ e ∥ ≤ B \|e\| \le B eB,那么需要设置 B ′ = B ⋅ 2 O ( κ ) B' = B \cdot 2^{O(\kappa)} B=B2O(κ),然后采样一个污染噪声 e ′ ← [ − B ′ , B ′ ] e' \gets [-B',B'] e[B,B],计算被污染的密文 c t ′ ( s ) = E C C ( m ) + ( e + e ′ ) ct'(s)=ECC(m)+(e+e') ct(s)=ECC(m)+(e+e),那么计算下的区分优势不会超过 B / B ′ = 2 − O ( κ ) = n e g l ( κ ) B/B'=2^{-O(\kappa)}=negl(\kappa) B/B=2O(κ)=negl(κ)

一般地 B = κ O ( 1 ) B=\kappa^{O(1)} B=κO(1),因此需要 B ′ = κ O ( 1 ) ⋅ 2 O ( κ ) B'=\kappa^{O(1)} \cdot 2^{O(\kappa)} B=κO(1)2O(κ) 是超多项式的,这导致密文模数是超多项式的,归约到近似因子是超多项式的格问题(安全性较弱)。为了继续同态计算,它需要对参数集满足 n log ⁡ q ≥ κ 3 n \log q \ge \kappa^3 nlogqκ3 的实例执行一次自举。

Soak-Spin-Repeat Strategy

[DS16] 使用 Soak-Spin-Repeat Strategy(浸泡,甩干,重复)提供多项式模数的电路隐私性。他们只在密文上添加一个 tiny flooding,然后执行 bootstrapping,确保统计具体减小 2 2 2 因子。他们把这个过程迭代 κ \kappa κ 次,共计需要对参数集满足 n log ⁡ q ≥ κ n \log q \ge \kappa nlogqκ 的实例执行 κ \kappa κ 次自举。

[DS16] 提出了密文可消毒性(ciphertext sanitizability),如果某 FHE 方案存在如下的消毒算法

在这里插入图片描述

这里使用 λ \lambda λ 作为安全参数。简记 C μ C_\mu Cμ 是解密到 μ ∈ M \mu \in M μM 的密文集合,令 C μ ∗ C_\mu^* Cμ 是其中的低噪声子集。[DS16] 需要两个基本操作:

  1. 自举过程, R e f r e s h : ( p k ∈ P K , c ∈ C μ ) ↦ c ′ ∈ C μ ∗ Refresh: (pk \in PK, c \in C_\mu) \mapsto c' \in C_\mu^* Refresh:(pkPK,cCμ)cCμ
  2. 密文随机化, R e r a n d : ( p k ∈ P K , c ′ ∈ C μ ∗ ) ↦ c ′ ′ ∈ C μ Rerand: (pk \in PK, c' \in C_\mu^*) \mapsto c'' \in C_\mu Rerand:(pkPK,cCμ)c′′Cμ

然后,他们定义如下的运算,
W a s h : ( p k , c ) ↦ R e r a n d ( p k , R e f r e s h ( p k , c ) ) Wash: (pk,c) \mapsto Rerand(pk, Refresh(pk,c)) Wash:(pk,c)Rerand(pk,Refresh(pk,c))
以及它的 κ = p o l y ( λ ) \kappa=poly(\lambda) κ=poly(λ) 次迭代,
S a n i t i z e ( p k , c ) : = W a s h κ ( p k , c ) Sanitize(pk,c) := Wash^\kappa(pk,c) Sanitize(pk,c):=Washκ(pk,c)
这个消毒算法的安全性是:

在这里插入图片描述

由于 BGV/BFV 本身具有超多项式大小的密文模数,因此直接用噪声洪泛就可以了。[DS16] 将消毒算法应用到 FHEW 方案(多项式大小的密文模数),使用盲旋转(延迟很小)作为消毒的一环,得到了多项式近似因子的电路隐私。如图所示:

在这里插入图片描述

GSW-style FHE

噪声洪泛的安全性较弱,滚转消毒的效率很低。[BPMW16] 直接在 GSW-style 方案上几乎免费地获得了电路隐私。他们直接在每次同态运算之后添加一个小噪声,这就已经获得了电路隐私。

[BPMW16] 把确定性 Gadget 分解,替换为了随机化的 Gadget 分解(在 Gadget 格上执行 Kalien 采样算法),

在这里插入图片描述

然后给出了如下的随机化引理,它是 Gaussian leftover hash lemma 的一个变体,

在这里插入图片描述

对密文 C C C 的随机化步骤是:

在这里插入图片描述
由于 GSW 同态乘法的噪声增长的不对称性,可以利用 GSW 实现 5-PBP for NC1,它的密文模数的规模是多项式的,这就 “几乎免费地” 实现了多项式近似因子的电路隐私。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值