funcCPA(4)

4.On the Achievability of funcCPA for Existing Schemes

在这部分我们提出我们的结果在对于存在HE方案funcCPA安全的可实现性。在积极的一面,我们证明了funcCPA-security 对于所有有限级的同态方案带有独立的级别密钥(independent level keys)(定义12)是可满足的,例如,在4.1部分关于BV[9],BGV[8]和B\FV[7,18]有限级的全同态方案(leveled HE schemes)。相反的,我们展示funcCPA-security对于同态方案支持不经意密钥提取(oblivious secret key extraction)(定义14),例如,在4.2部分BV[9]和BGV[8]暗示了弱循环安全。

4.1 funcCPA Security of leveled HE Schemes

在这部分我们证明对于自然的有限级HE方案funcCPA-security 成立,例如BV[9],BGV[8]和B\FV[7,18](provided they are CPA-secure)。为了证明这个,我们首先再制定CPA和funcCPA的定义,为了捕捉有限级HE方案的安全性(leveled-funcCPA)。接下来,我们展示了CPA暗示funcCPA对于leveled HE方案满足一个自然的性质,我们叫做独立级别的密钥(independent level keys),并且总结BV,BGV,B/FV(略微修改求值密钥)是leveled-funcCPA-secure。

Security Definitions for leveled HE. 我们处理有限级HE方案用共同结构,每一级别联系一个结合的密钥(通常,公钥,私钥,和求值密钥),并且每个密文用一个(efficiently recognizable)级别关于密钥联系,这个密钥使用在密文中。在这些方案,这是足够去使用恰当level keys去加密,解密,和求值。例如,这成立在BV[9],BGV[8],B/FV[7,18]和CKKS[13]。

对于有限级HE,CPA-security的定义对于标准CPA定义是相似的,并且这两者唯一的不同是敌手选择级别关于挑战密文被加密的能力,定义10。这保证了方案的安全性对于所有级别并且不仅仅对特别的一个。更一般地,

 现在我们定义funcCPA关于leveled HE 表示为leveled-funcCPA。这里,除了挑战密文的级别,"decrypt-function-encrypt"预言机是修改返回下一级别的密文。这是,为了回答l级别的询问,密文首先使用sk_{l}解密,然后要求的函数是计算明文并且结果是加密的在下一级别公钥pk_{l-1},然后返回给敌手,看定义11。更一般地,

 CPA implies funcCPA for leveled HE.  在这部分我们定义一个自然的性质关于leveled HE 方案,我们叫做independent level keys并且展示了funcCPA-security对满足这个性质的所有方案成立。(提供它们是CPA-secure)。非正式地,我们说一个leveled HE 方案有独立级别的密钥如果公钥和私钥对对于每一个水平能被独立的取样,并且对于每一个级别的求值密钥能被从当前级别的私钥和下一级别的公钥有效的生成。看定义12.

例如,在BV,BGV和B/FV,的确每个密文是联系一个级别并且有独立加密和解密密钥(pk_{l},sk_{l})对于每一级别。此外,求值密钥evk_{l}(在BV,BGV和B叫做密钥转换(key switching)在FV是再线性密钥(re-linearization keys))本质上是对于当前级别sk_{l}(具体地,加密sk_{l}^{'}=Powersof2(sk_{l}\otimes sk_{l}))和下一级别的公钥pk_{l}有效可计算函数的加密。

更精确地,为了生成evk_{l},他们使用一个fresh 公钥pk_{l}^{'}用来sk_{l}^{'}。这是重要的当举例说明他们的方案作为全同态方案,即,当有唯一的密钥元组(pk,sk,evk)使用在所有级别,在这种情况下使用pk(而不是pk^{'})去加密关于sk的函数要求循环安全。相反,当使用这些方案作为一个有限级HE,正如我们一样,至少密钥(pk_{l},sk_{l})是独立取样关于(pk_{l-1},sk_{l-1}),用pk_{l}加密sk_{l}^{'}不在要求循环安全。因此,关于求值密钥的生成能被修改成输出在pk_{l}加密下的sk_{l}^{'},在不损害安全的正确性。在略微的修改下的确这些方案的确满足定义12。

 我们现在证明CPA-secure 有限级HE方案带有独立级别的密钥是funcCPA-secure关于任意容许族\mathcal{G}。函数族\mathcal{G}应该是容许的在某种感觉所有的G_{n}\in \mathcal{G}是多项式时间可计算的(在安全参数下)并且有固定的输出长度,即,\left | G_{n}(x_{0}) \right | = \left | G_{n}(x_{1}) \right |对于所有x_{0},x_{1} \in \mathcal{M}。我们注意到后者平凡地成立当\mathcal{G}指定为电路族。

 

 证明:让\varepsilon =(Gen,Enc,Dec,Eval)是CPA-secure公钥有限级HE方案,信息空间为\mathcal{M}。假设存在一个容许函数族关于函数\mathcal{G}=\left\{G_{n}: \mathcal{M} \rightarrow \mathcal{M} \right\}_{n \in N}\mathcal{M}上,使得\varepsilon关于\mathcal{G}不是funcCPA-secure。那么存在一个敌手\mathcal{A}和一个多项式p(\cdot)对于无穷多的\lambda和L下式成立:

Pr[EXP_{\mathcal{A},\varepsilon ,\mathcal{G}}^{Fcpa}(\lambda,L)=1]>\frac{1}{2}+\frac{1}{p(\lambda)}                                           (1)

我们在下面展示给敌手\mathcal{A}我们可以构造敌手\mathcal{B}可以赢得实验EXP_{\mathcal{B},\varepsilon }^{cpa}(\lambda,L)带有不可忽略的优势,违反了\varepsilon是CPA-security。

敌手\mathcal{B}执行\mathcal{A},传递信息在挑战者和\mathcal{A},回答来自\mathcal{A}的任意询问(e_{l},n)pk_{l-1}加密G_{n}作用于任意信息m\in \mathcal{M}\mathcal{B}做如下事情,

  • 当从挑战者收到(pk_{l})_{l\in \left\{ 0,\cdots,L \right\}},把它传给敌手\mathcal{A}
  • 回答询问(e_{l},n)对于一个密文e_{l}级别为l通过Enc_{pk_{l-1}}(G_{n}(m)),对于任意的m\in \mathcal{M}
  • 一旦\mathcal{A}生成x_{0}x_{1}l,把他们给挑战者并且返回回答c\leftarrow Enc_{pk_{l}}(x_{b})\mathcal{A}
  • 输出\mathcal{A}输出的b^{'}

由于敌手\mathcal{A}是ppt和\mathcal{G}是容许的,敌手\mathcal{B}是ppt的。此外所有与\mathcal{A}的互动,都被\mathcal{B}完全模仿,除了对于询问的回答\left\{Enc_{pk_{l-1}}(\mathcal{G}(Dec_{sk_{l}}(\cdot))) \right\}_{l \in [L]},被使用G_{n}作用于任意一个信息模仿。

EXP^{Fcpa \#}实验表示EXP^{Fcpa}的变体,通过\mathcal{A}模拟的,即EXP^{Fcpa \#}是等同于EXP^{Fcpa}除了每个对Chal的询问(e_{l},n)是回答对任意的m\in \mathcal{M},公钥pk_{l-1}G_{n}(m)的加密。

通过EXP^{Fcpa \#}的定义这是成立:

Pr[EXP_{\mathcal{A},\varepsilon , \mathcal{M}}^{Fcpa \#}(\lambda , L) =1]=Pr[EXP_{\mathcal{B},\varepsilon}^{cpa}(\lambda , L)=1]                          (2)

此外,CPA安全和关于\varepsilon保证的独立级别密钥(在下面引理4展示的一样)\mathcal{A}EXP^{Fcpa \#}中获胜的概率和EXP^{Fcpa}中的概率是计算不可区分的。特别,

\left | Pr[EXP_{\mathcal{A},\varepsilon , \mathcal{G}}^{Fcpa \#}(\lambda,L)=1]-Pr[EXP_{\mathcal{A},\varepsilon , \mathcal{G}}^{Fcpa}(\lambda,L)=1] \right | \leq neg(\lambda)                (3)

把等式(3)和等式(1)(2)结合,有

Pr[EXP_{\mathcal{B},\varepsilon }^{cpa}(\lambda,L)=1] \geq \frac{1}{2}+\frac{1}{p(\lambda)} -neg(\lambda)                                  (4)

结合\mathcal{A}是ppt,我们得到矛盾\varepsilon是CPA-secure。完成了证明。                                                         \square

 证明在附录C

4.2 Barriers on Proving funcCPA for Existing HE Schemes 

在这部分我们证明如果BV[9],BGV[8]同态加密方案是funcCPA-secure,这是弱循环安全的。更一般的,我们展示了满足oblivious secret key extraction(ObvSK)这一性质的所有方案都成立。接下来我们首先正式定义若循环安全和ObvSK;然后证明对于支持ObvSK的方案,funcCPA-security关于恰当的族\mathcal{F}暗示了弱循环安全;通过展示BV和BGV方案支持ObvSK结束。

循环安全延伸了CPA-security去捕捉公钥加密方案的安全性抵挡敌手看见对私钥加密([11],定义2.5).这要求当前已知全同态加密方案,当他们公布在自举(bootstrapping)过程私钥的加密(这里bootstrapping[19]是同态的求值方案的解密电路对于加密的私钥的输入)。具体地,他们要求安全性成立抵挡敌手可以看见私钥编码过程中的加密,该密钥被指定为解密电路的输入(参见[9]中的定义3.8)。

正式声明,对于一个公钥加密方案\varepsilon =(Gen,Enc,Dec),使用接下来的在Chal和敌手\mathcal{A}实验(这里sk表示在编码中指定的为解密电路所需的私钥)。 

Oblivious secret key捕获了从公钥中生成密文加密与密钥相关的数据的能力,以便通过解密可以根据解密电路的需要有效地计算出编码中的密钥。

 funcCPA-security 对于方案来说支持ObvSK暗示了弱循环安全。接下来我们展示如果一个公钥加密方案\varepsilon支持ObvSK关于\mathcal{F}并且对于包含于\mathcal{F}的函数族\mathcal{G}是funcCPA-secure,那么\varepsilon是弱循环安全的。 

 证明:证明的思想是,给一个pk,首先使用Alg(来自ObcSK性质)去得到关于sk的加密数据;然后使用Enc_{pk}(\mathcal{G}(Dec_{sk}(\cdot)))(来自funcCPA的性质)去转化它们成为密文c_{sk},对sk的加密(对于解密电路的编码);最后展示-如果方案不是循环安全的-那么使用c_{sk}我们可以打破funcCPA-security。正式的细节出现在附录C.2.

作为定理12的推论,我们总结对于可自举的(bootstrappable) ObvSK方案,funcCPA-security暗示全同态在不依赖任何循环安全的假设。

 证明:这个证明是结合了两个事实。首先,通过在[19]中定理4.3.2,可自举的HE方案是弱循环安全是全同态的。第二,通过定理12,如果\varepsilon支持ObvSK关于\mathcal{F}并且关于包含于\mathcal{F}的函数族\mathcal{G}是funcCPA-secure,\varepsilon是弱循环安全。结合上面,我们总结\varepsilon是全同态。

Schemes support ObvSK.   BV和BGV是支持ObvSK方案的例子。更一般地,我们展示了ObvSK是支持对于所有公钥加密方案\varepsilon =(Gen , Enc, Dec)满足下面:

  1. 私钥sk=(1,s)和密文是来自环:                                                                                            -LWE-based 方案:Z_{q}^{n+1}                                                                                                          -RLWE-based 方案:R_{q}^{2}对于R_{q}=Z_{q}[x]/F[X]                                                                      这里q,n,d是正整数,d为2的幂次。F[X]=X^{d}+1,s有小的系数在某种程度上解密正确性成立对每个s的系数的加密。
  2. 通过内积解密(with messages encoded in the least significant bits):Dec_{sk}(c)=[[<c,sk>]_{q}]_{p}这里[z]_{x}是z除x的剩余,并且p是正整数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值