论文部分内容阅读
公钥加密的选择打开安全性(security against selective opening attacks,简记为SOA安全性)是由Bellare,Hofheinz和Yilek在会议Eurocrypt 2009上正式定义的,主要是考虑多用户环境中数据的安全性:假设有多个发送者用同一个接收者的公钥进行加密,而敌手除了能够截获所有的密文,还能在现实中贿赂一部分发送者,取得他们加密的明文以及加密过程中所用的随机数。选择打开安全性的要求就是,未被贿赂的那些发送者的明文依然是保密的。目前,选择打开安全性定义主要有两类:一类是基于仿真的选择打开安全性(simulation-based SOA安全性,简记为SIM-SOA安全性),另一类是基于不可区分的选择打开安全性(indistinguishability-based SOA安全性,简记为IND-SOA安全性)。一个安全性定义通常还要考虑敌手的攻击能力,常见的敌手攻击能力主要有三种:选择明文攻击(chosen-plaintext attack,简记为CPA)、非适应性选择密文攻击(non-adaptive chosen-ciphertext attack,简记为CCA1)和适应性选择密文攻击(adaptive chosen-ciphertext attack,简记为CCA2)。敌手的这三种攻击能力依次增强。所以,相应地,SIM-SOA安全性(或IND-SOA安全性)包括SIM-SO-CPA安全性、SIM-SO-CCA1安全性和SIM-SO-CCA2安全性(或IND-SO-CPA安全性、IND-SO-CCA1安全性和IND-SO-CCA2安全性),这三种安全性也是依次增强的。自从选择打开安全性定义正式提出以来,国际密码学界在这方面做了大量的工作,研究热点主要集中于加密方案的构造以及安全性定义之间关系的发掘。在方案构造方面,目前主要有两种构造方法可以实现选择打开安全性,一种是通过Bellare,Hofheinz和Yilek(Eurocrypt 2009)提出的有损加密,另一种则是通过Fehr,Hofheinz,Kiltz和Wee(Eurocrypt 2010)提出的非承诺加密;在安全性定义之间的关系方面,目前也有不少重要结论:比如,在选择明文攻击模式下,基于仿真的选择打开安全性(SIM-SO-CPA安全性)蕴含了基于不可区分的选择打开安全性(IND-SO-CPA安全性);又比如,任意绑定(binding)的承诺加密方案都不可能具有SIM-SOA安全性。总的来说,迄今为止,密码学界在公钥加密的选择打开安全性方面已取得了一系列非常好的研究成果。但是,同时也有许多问题还有待解决:比如与选择打开安全方案构造密切相关的All-But-Many有损陷门函数(all-butmany lossy trapdoor function)(Eurocrypt 2012),其安全性证明的归约不够紧致,且安全性所基于的假设也不是标准假设;又比如,根据Pass,Shelat和Vaikuntanathan(Asiacrypt 2007)的工作,一般的密文不可延展性之间的关系本身就很复杂,而选择打开攻击模式下的密文不可延展性则根本没人研究过。我们的研究工作围绕选择打开安全性展开,主要结果包括以下三个部分。1.我们给出了两个SIM-SO-CCA2安全加密方案的构造。我们的方案是基于Fehr,Hofheinz,Kiltz和Wee(Eurocrypt 2010)的非承诺加密方案(简记为FHKW方案)而提出的。在本文中,我们对FHKW方案进行安全性分析,指出其适应性选择攻击模式下的非承诺(NC-CCA2)安全性证明根本不成立。更确切地说,Fehr等人在FHKW方案的安全性证明中构造了一个仿真器,并“证明”了该仿真器提供的理想实验与真实实验是计算不可区分的;而我们针对该仿真器构造出一个敌手,该敌手能以压倒性的优势区分该仿真器提供的理想实验与真实实验。为了解决FHKW方案安全性证明中的这个问题,我们提出了下面这两个方案:我们提出一个简化版的FHKW方案。该方案虽然只能加密单比特明文,但方案构造中剔除了原FHKW方案中不可或缺的交叉认证码,更重要的是,我们的简化版方案可以证明是NC-CCA2安全的,从而根据Fehr等人的结论,该方案也是SIM-SO-CCA2安全的。我们提出“强交叉认证码”的概念,将其用于FHKW方案的构造,由此得到了一个新版的、可以加密多比特明文的FHKW方案,最重要的是,该方案可以证明是NC-CCA2安全的,从而也是SIM-SOCCA2安全的。2.我们提出“n-含糊的All-But-Many有损陷门函数(n-evasive all-but-many lossy trapdoor function,简记为n-evasive ABM-LTF)”的概念,给出了该函数的两种构造,并利用该函数构造出了一个IND-SO-CCA2安全的加密方案。具体而言,n-evasive ABM-LTF可以视为All-But-Many有损陷门函数的一个特例,同时也是All-But-n有损陷门函数的一种推广。关于n-evasive ABM-LTF的构造,我们提出了两种方法:第一种以Paillier加密方案作为基本构件,其安全性依赖于判定性合数剩余假设;第二种以All-But-n有损陷门函数和变色龙哈希函数作为基本构件,其安全性依赖于这两个构件本身的安全性。以n-evasive ABM-LTF、有损陷门函数和哈希函数这三者作为基本构件,我们构造出了一个通用的IND-SO-CCA2安全的公钥加密方案。3.我们提出了“选择打开攻击下的密文不可延展性(non-malleability under selective opening attacks,简记为NM-SO安全性)”的正式定义,并深入研究了这个定义与一般的标准安全性定义之间的关系。更确切地说,我们从“仿真”和“不可区分”两个角度提出“选择打开攻击下的密文不可延展性”的形式化定义(分别记为SIM-NM-SO安全性和IND-NM-SO安全性),用于刻画选择打开安全的密文不可延展性。我们还深入研究了这两个新安全性定义与一般的选择打开安全性定义、一般的密文不可延展性定义之间的关系,以及这两个新定义之间的关系。根据这些关系,我们指出,我们改进后的FHKW方案是满足适应性选择密文攻击模式下的基于仿真的选择打开不可延展性的(即SIM-NM-SO-CCA2安全性);而在适应性选择密文攻击模式下,任意基于不可区分的选择打开安全(即IND-SO-CCA2安全)加密方案都满足基于不可区分的选择打开不可延展性(即IND-NM-SO-CCA2安全性)。