Page 268 - 《软件学报》2021年第9期
P. 268
2892 Journal of Software 软件学报 Vol.32, No.9, September 2021
法才能满足 IND-CDA 安全性.Bellare 等人表示:IND-CDA 安全性本质上是对 PRIV 安全性的一种变形,两者的
关系是适应性 IND-CDA 安全性比 PRIV 安全性强,而非适应性 IND-CDA 安全性等价于 PRIV 安全性.下面给出
具体的 RtD=(RtD.P,RtD.K,RtD.E,RtD.D)构造.为方便起见,我们将随机性公钥密码算法记为 RPKE=(RPKE.P,
RPKE.K,RPKE.E,RPKE.D),将确定性公钥密码算法记为 DPKE=(DPKE.P,DPKE.K,DPKE.E,DPKE.D).
k
k
• 参数生成算法 RtD.P(1 ):输入安全参数 k,先运行算法 RPKE.P(1 )→Par r ,得到随机性公钥密码算法
k
RPKE 的系统参数 Par r ;再运行算法 DPKE.P(1 )→Par d ,得到确定性公钥密码算法 DPKE 的系统参数
Par d ,输出(Par r ,Par d );
k
• 密钥生成算法 RtD.K(1 ):输入安全参数 k,运行算法 RPKE.K(Par r )→(pk r ,sk r )和 DPKE.K(Par d )→(pk d ,
sk d ),输入算法的公私钥对(pk=(pk r ,pk d ),sk=(sk r ,sk d ));
• 加密算法 RtD.E((pk r ,pk d ),m,r):输入公钥 pk=(pk r ,pk d )、被 加密消息 m 和一个随机 数 r,先计算
l
RPKE.E(pk r ,m,r)→c,再计算 DPKE.E(pk d ,c||10 )→C,输出密文 C.其中,l=n d −|c|−1,n d 表示 DPKE 算法的明
l
文长度,0 表示有 l 个 0;
• 解密算法 RtD.D(C,(sk r ,sk d )):输入私钥 sk=(sk r ,sk d )和密文 C,计算 DPKE.D(sk d ,C)→c,RPKE.D(sk r ,c)→m,
输出 m.
证明结果表明:若公钥加密算法 RPKE=(RPKE.P,RPKE.K,RPKE.E,RPKE.D)是 IND-CPA 安全的,则上述 RtD
构造满足 IND-CDA 安全性.
2.3 PtD算法
PtD 也是 Bellare 等人在文献[18]中提出的一种构造对冲公钥加密算法的方法.所谓的 PtD 加密是指先对消
息 m 进行填充,输出 m′,再用一个确定性加密算法对 m′进行加密,输出最终的密文 C.下面介绍具体的 PtD=
(PtD.P,PtD.K,PtD.E,PtD.D)加密算法,我们 将确 定性公钥密码算法记为:DPKE=(DPKE.P,DPKE.K,DPKE.E,
DPKE.D).
k
k
• 参数生成算法 PtD.P(1 ):输入安全参数 k,运行确定性加密算法的参数生成算法 DPKE.P(1 )→Par d ,输
出确定性公钥加密算法的系统参数 Par d ;
• 密钥生 成算法 PtD.K(Par d ): 输入系统参数 Par d , 运行确定性 公钥加密算 法的密钥生 成算法
DPKE.K(Par d )→(pk d ,sk d ),输出公私钥对(pk d ,sk d );
• 加密算法 PtD.E(pk d ,m,r):输入系统参数 Par d 、随机 数 r、明文 m,运行确定 性公钥加密 算法
DPKE.E(pk d ,r||m)→C,输出密文 C;
• 解密算法 PtD.D(C,sk d ):输入密文 C,私钥 sk d ,运行解密算法 DPKE.D(sk d ,C)→m,输出消息 m.
证明结果表明,上述对冲加密算法 PtD=(PtD.P,PtD.K,PtD.E,PtD.D)满足 IND-CDA 安全性.
在 2017 年的美密会上,Boldyreva 等人从实际出发,研究了在密码库 OpenSSL 中可实现的对冲加密算法以
[2]
及对冲加密算法的安全性质 .他们定义了两个新的对冲安全性质,即 MM-CCA(message-message security
against chosen ciphertext attack)和 MMR-CCA(message-message-randomness security against chosen ciphertext
attack).作者指出,第 2.2 节、第 2.3 节中所述的 IND-CDA 安全性等价于 MMR-CPA 安全性(message-message-
randomness security against chosen plaintext attack).文献[18]的研究结果已经表明:RtD算法和 PtD算法在满足一
定约束条件时可达到 IND-CDA 安全性,即 MMR-CPA 安全性.所以在文献[2]中,Boldyreva 等人将该结果进行扩
展,研究了 RtD 算法和 PtD 算法相应的 CCA 安全性.证明结果表明,对于 RtD 算法,当确定性算法选用
RSA-DOAEP 时,算法可达到 MM-CPA 和 IND-CPA 安全;当概率性算法选用关联数据的单射加密算法,则算法
可达到 MMR-CCA 和 IND-CCA 安全性.而对于 PtD 算法,当确定性算法选用 RSA-DOAEP 时,算法可满足
MM-CCA 和 IND-CCA 安全性.同时,文献[2]中的作者还基于关联数据的可验证加密算法和陷门置换函数构造
了一个混合加密算法,并给出安全性分析.结果表明,该混合加密算法可满足 MMR-CCA 和 IND-CCA 安全性.他
们的另一研究结果表示, RSA-OAEP 算法在随机预言模型中可达到 MM-CCA 安全性.这在实际应用中非常有
意义,因为 RSA-OAEP 包含在现有很多密码库中,可直接访问现有密码库的中的高级程序接口而易于实现.