3.2
定理1
设哈希函数Hi,1≤i≤5,是随机的预言。进一步假设没有多项式有界算法可以以不可忽略的优势来解决BDHP。那么FullCL-PKE在IND-CCA是安全的
3.3 Comparing FullCL-PKE* to FullCL-PKE
1.新方案每次加密只需要一次配对计算。对FullCL-PKE*中公钥PA的唯一有效性测试是一个简单的群成员测试PA∈G∗1,而测试FullCL-PKE的测试有效性需要两个配对计算。与FullCL-PKE一样,可以用一个在G2中的求幂代替单配对计算,如果对同一个接收者进行重复加密。这两个方案的解密消耗相似。
2.在FullCL-PKE*中的公钥只包含G1中的一个元素,而不是FullCL-PKE中所需的两个元素。
3.FullCL-PKE*具有更好的安全保证,因为它的安全性与BDHP相关,而不是GBDHP(其中输出是一对{Q,e(P,Q)abc },输入是aP,bP,cP)。GBDHP是一个比BDHP更容易的问题,一个能解决后者的算法可以用来解决前者通过设置Q=P。注意也存在三元组(G1,G2,eˆ)对GBDHP是微不足道的,但BDGHP被认为是困难的。例如,如果订单qG1和G2不是质,而是由一个小‘q0,然后解决GBDHP不可忽略的概率1/q0,我们可以选择Q=qq0P猜解决方案hQ,eˆ(P,Q)xi,x是随机从{0,1,…,q0−1}。确定BDHP和GBDHP在通常选择的素数组中是否具有相同的硬度是很有趣的。
4 CBE
现在我们来讨论基于证书的加密(CBE),如[7]中介绍的。在证书更新CBE中,证书颁发机构(CA)负责在每个时间段内向客户推送新的证书。非正式地说,客户需要拥有其当前的证书,以便能够解密在此期间由其他各方发送给它的密文。
我们首先注意到CBE的一般定义和[7]中的具体CBE方案之间的一些不兼容性。然后,我们提出了一个简化和修正的CBE定义。
1.从[7,定义1]中的第一个属性可以看出,在构建CBE方案时,明确需要将IBE方案与标准公钥加密(PKE)方案结合起来。这限制了CBE方案的构建方式,正如我们将看到的,这是一种不必要的限制。
2.[7,定义1]的第一个属性要求PKIBE是IBE方案参数中的一个可识别的元素,可以被标记为公钥(注意,PKIBE在加密过程中也被用作一个不同的计算元素)。由于不是每个IBE方案都需要具有这个属性,这个定义限制了可用于构建CBE方案的IBE方案。同样,这个限制是不必要的。
3.虽然CBE的一般定义要求IBE和PKE的结合,但[7]中没有一个具体的CBE方案实际上使用了明确定义的IBE或PKE方案。具体的CBE方案是如何从[4]的IBE方案演变而来的,但严格来说,它们没有一个符合[7,定义1]中的通用定义。
4.[7,定义1]中CBE的一般定义使用了六种算法GenIBE、GenPKE、Upd1、Upd2、Enc和Dec,而[7,第3节]中的具体方案使用了五种算法来设置、认证、加密和解密。本质上,算法Upd1和Upd2结合起来产生算法认证,但在具体方案中没有明确的密钥生成算法。
综上所述,[7]中CBE的定义与具体的CBE方案存在不兼容性,CBE的定义中也存在一些不必要的限制。我们现在为CBE提供了另一种定义。[7]中的具体方案与我们的简化定义相一致。
定义3:
Setup 是一种以安全参数k作为输入的概率算法。它返回SKCA(认证符的主键)和包含字符串空间Λ的描述的公共参数参数。通常,该算法是由CA运行。
Set-Key-Pair 是一种概率算法,它以参数作为输入。当由客户端运行时,它返回公钥PK和私钥SK。
Certify 是一种确定性的认证算法,它以hSKCA,参数,τ,λ∈Λ,PKi作为输入。它返回Cert0τ,并将其发送给客户端。在这里,τ是一个标识时间段的字符串,而λ包含认证客户端所需的其他信息,比如客户端的标识信息,而PK是一个公钥。
Consolidate 是一种确定性的证书合并算法,以h参数、τ、λ、Cert0τi和可选的Certτ−1作为输入。它返回Certτ,即客户端在时间段τ中使用的证书。
Enc 是一种概率算法,以hτ、λ、参数、PK、Mi作为输入,其中M∈M是一个消息。它为消息M3返回一个密文C∈C。
Dec 是一种以h参数、Certτ、SK、Ci作为时间周期τ的输入的确定性算法。它返回消息M∈M或表示解密失败的特殊符号⊥。
自然,我们要求,如果C是使用输入hτ,λ,参数,PK,Mi和hSK,PKi是一个有效的密钥对,那么M是对输入h参数,Certτ,SK,Ci应用算法的结果,其中Certτ是对输入hSKCA,参数,τ,λ∈Λ,PKi。
4.1 CBE的安全模型
在[7]中,CBE的安全性是使用两个不同的游戏来定义的,对手会选择玩哪个游戏。在游戏1中,对手建模一个未经认证的实体,而在游戏2中,对手建模认证者拥有主密钥SKCA攻击一个固定实体的公钥。