如果关于 G 的 DDH 假设成立,且 H 是抗碰撞的,那么CS-PKE 是 CCA2 安全的。【证明】安全规约。
Game 0. 即为 ExpPKE,ACCA2(κ).
Game 1. 修改 Game 0 的 Enc 中的表述为 sk 表示的等价表述,见棕色部分;从敌手角度来看 Game 0 和 Game 1 完全相同.
Game 2. 处理哈希碰撞,当哈希值相等时不做处理;此时 Game 1 和 Game 2 的差别可以被哈希的抗碰撞性 bound,即 Game 1≈CRGame 2.
Game 3. 将 DDH couple 换成随机 couple,参考 CPA 安全的 Game 2,类似的可以说明 Game 2≈DDHGame 3.
Game 4 [Oracle]. 在解密时,如果不是 DDH couple,那么拒绝之(注意挑战者不一定需要 PPT,其可以是 oracle,因为后面没有规约了,都是信息论的角度)。从信息论意义上,敌手无法察觉这种改变,换句话说,就算在这个位置不添加拒绝条件,在下面检测 u1x1+αy1u2x2+αy2=v 时也会拒绝的。
类似地,写成方程组的形式,敌人原来只有 c,d,v 三个方程组,有 x1,x2,y1,y2 四个未知数,解空间为 1 维大小为 q。
即
如果 r1=logg1u1=logg2u2=r2 但 u1x1+αy1u2x2+αy2=v,那么就可以把这个方程组补充成 4 个,即
系数矩阵的行列式满秩,就能解出来 x1,x2,y1,y2;相当于在原来 1 维的解空间中直接猜到了答案,由于解空间大小 q 很大,这样的概率是可忽略的;因此可以视为没有这种情况,进而添加这个判断后,敌手也察觉不到区别,即 Game 3≈Game 4。
Game 5 [Oracle]. 即然挑战者有无限的能力,我们自然可以不用私钥解密,直接解离散对数问题。显然从挑战者的角度来说 Game 4=Game 5。
Game 6 [Oracle]. 观察到本来 e∗ 也是均匀分布的(由循环群的性质保证),因此将 e∗ 直接替换成均匀采样,敌手也无法识别,得到 Game 6。于是 Game 5≈Game 6;另外,在 Game 6 中,显然 Pr[A wins]=0.5(因为挑战者根本就没看 mb)。
综上,
即 CS-PKE 是 CCA2 安全的。