第九章-可证明安全性理论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第九章-可证明安全性理论课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 证明 安全性 理论 课件
- 资源描述:
-
1、第8章 可证明安全性理论 可证明安全性可证明安全性(Provable security)n可证明安全性是指这样一种可证明安全性是指这样一种“归约归约”方法:首方法:首先确定密码体制的安全目标,例如,加密体制先确定密码体制的安全目标,例如,加密体制的安全目标是信息的机密性,签名体制的安全的安全目标是信息的机密性,签名体制的安全目标是签名的不可伪造性;然后根据敌手的能目标是签名的不可伪造性;然后根据敌手的能力构建一个形式化的安全模型,最后指出如果力构建一个形式化的安全模型,最后指出如果敌手能成功攻破密码体制,则存在一种算法在敌手能成功攻破密码体制,则存在一种算法在多项式时间内解决一个公认的数学困难
2、问题。多项式时间内解决一个公认的数学困难问题。8.1 可证明安全性理论的基本概念可证明安全性理论的基本概念 n公钥加密体制的安全性概念公钥加密体制的安全性概念n数字签名体制的安全性概念数字签名体制的安全性概念 n随机预言模型随机预言模型 1.公钥加密体制的安全性概念n(1)完美安全性)完美安全性(perfect security)n(2)语义安全性)语义安全性(Semantic security)n(3)多项式安全性)多项式安全性(polynomial security)(1)完美安全性)完美安全性n如果一个具有无限计算能力的敌手从给定的如果一个具有无限计算能力的敌手从给定的密文中不能获取明文
3、的任何有用信息,我们密文中不能获取明文的任何有用信息,我们就说这个加密体制具有完美安全性或信息论就说这个加密体制具有完美安全性或信息论安全性。根据安全性。根据Shannon理论知道,要达到完理论知道,要达到完美安全性,密钥必须和明文一样长并且相同美安全性,密钥必须和明文一样长并且相同的密钥不能使用两次。然而,在公钥密码体的密钥不能使用两次。然而,在公钥密码体制中,我们假设加密密钥可以用来加密很多制中,我们假设加密密钥可以用来加密很多消息并且通常是很短的。因此,完美安全性消息并且通常是很短的。因此,完美安全性对于公钥密码体制来说是不现实的。对于公钥密码体制来说是不现实的。(2)语义安全性)语义安
4、全性n语义安全性与完美安全性类似,只是我们语义安全性与完美安全性类似,只是我们只允许敌手具有多项式有界的计算能力。只允许敌手具有多项式有界的计算能力。从形式上说,无论敌手在多项式时间内能从形式上说,无论敌手在多项式时间内能从密文中计算出关于明文的什么信息,他从密文中计算出关于明文的什么信息,他也可以在没有密文的条件下计算出这些信也可以在没有密文的条件下计算出这些信息。换句话说,拥有密文并不能帮助敌手息。换句话说,拥有密文并不能帮助敌手找到关于明文的任何有用信息。找到关于明文的任何有用信息。(3)多项式安全性)多项式安全性n我们很难显示一个加密体制具有语义安全我们很难显示一个加密体制具有语义安全
5、性,然而,我们却可以比较容易显示一个性,然而,我们却可以比较容易显示一个加密体制具有多项式安全性。多项式安全加密体制具有多项式安全性。多项式安全性也称为密文不可区分性。幸运的是,如性也称为密文不可区分性。幸运的是,如果一个加密体制具有多项式安全性,那么果一个加密体制具有多项式安全性,那么我们可以显示该体制也具有语义安全性。我们可以显示该体制也具有语义安全性。因此,为了显示一个加密体制是语义安全因此,为了显示一个加密体制是语义安全的,我们只需要显示该体制是多项式安全的,我们只需要显示该体制是多项式安全的。的。n如果没有一个敌手能以大于一半的概率赢得以下如果没有一个敌手能以大于一半的概率赢得以下游
6、戏,我们就称这个加密体制具有密文不可区分游戏,我们就称这个加密体制具有密文不可区分性,或具有多项式安全性。这个敌手性,或具有多项式安全性。这个敌手A被告知某个被告知某个公钥公钥y及其相应的加密函数及其相应的加密函数fy。敌手。敌手A进行以下两个进行以下两个阶段:阶段:n寻找阶段:敌手寻找阶段:敌手A选择两个明文选择两个明文m0和和m1。n猜测阶段:敌手猜测阶段:敌手A被告知其中一个明文被告知其中一个明文mb的加密结的加密结果,这里的果,这里的b是保密的。敌手是保密的。敌手A的目标是以大于一的目标是以大于一半的概率猜对半的概率猜对b的值。的值。n从这个游戏可以看出,一个具有多项式安全性的从这个游
7、戏可以看出,一个具有多项式安全性的加密体制一定是一个概率性加密体制。否则,敌加密体制一定是一个概率性加密体制。否则,敌手手A在猜测阶段就可以计算:在猜测阶段就可以计算:c1=fy(m1)n并测试是否有并测试是否有c1=cb成立。如果成立,敌手成立。如果成立,敌手A就可就可以成功推断以成功推断b=1,否则,否则b=0。既然敌手。既然敌手A总能简单总能简单地猜测地猜测b的值,敌手的值,敌手A的优势定义为:的优势定义为:n如果:如果:n我们就称这个加密体制是多项式安全的,其中我们就称这个加密体制是多项式安全的,其中p(k)是一个多项式函数,是一个多项式函数,k是一个足够大的安全参数。是一个足够大的安
8、全参数。011Pr(,)2AbAdvA cy m mb1()AAdvp k三种基本的攻击模型三种基本的攻击模型 n选择明文攻击(选择明文攻击(Chosen Plaintext Attack,CPA),),n选择密文攻击(选择密文攻击(Chosen Ciphertext Attack,CCA)n适应性选择密文攻击(适应性选择密文攻击(Adaptive Chosen Ciphertext Attack,CCA2)。)。选择明文攻击选择明文攻击n在选择明文攻击中,敌手被告知各种各样在选择明文攻击中,敌手被告知各种各样的密文。敌手可以访问一个黑盒,这个黑的密文。敌手可以访问一个黑盒,这个黑盒只能执行加
9、密,不能进行解密。既然在盒只能执行加密,不能进行解密。既然在公钥密码体制中任何人都可以访问加密函公钥密码体制中任何人都可以访问加密函数,即任何人都可自己产生一些明文密文数,即任何人都可自己产生一些明文密文对,选择明文攻击模拟了一种非常弱的攻对,选择明文攻击模拟了一种非常弱的攻击模型。击模型。选择密文攻击选择密文攻击n选择密文攻击也称为午餐攻击,是一种比选择选择密文攻击也称为午餐攻击,是一种比选择明文攻击稍强的攻击模型。在选择密文攻击中,明文攻击稍强的攻击模型。在选择密文攻击中,敌手可以访问一个黑盒,这个黑盒能进行解密。敌手可以访问一个黑盒,这个黑盒能进行解密。在午餐时间,敌手可以选择多项式个密
10、文来询在午餐时间,敌手可以选择多项式个密文来询问解密盒,解密盒把解密后的明文发送给敌手。问解密盒,解密盒把解密后的明文发送给敌手。在下午时间,敌手被告知一个目标密文,要求在下午时间,敌手被告知一个目标密文,要求敌手在没有解密盒帮助的情况下解密目标密文,敌手在没有解密盒帮助的情况下解密目标密文,或者找到关于明文的有用信息。或者找到关于明文的有用信息。n在上面给出的多项式安全性的攻击游戏中,选在上面给出的多项式安全性的攻击游戏中,选择密文攻击允许敌手在寻找阶段询问解密盒,择密文攻击允许敌手在寻找阶段询问解密盒,但是在猜测阶段不能询问解密盒。但是在猜测阶段不能询问解密盒。适应性选择密文攻击适应性选择
11、密文攻击n适应性选择密文攻击是一种非常强的攻击适应性选择密文攻击是一种非常强的攻击模型。除了目标密文外,敌手可以选择任模型。除了目标密文外,敌手可以选择任何密文对解密盒进行询问。目前普遍认为,何密文对解密盒进行询问。目前普遍认为,任何新提出的公钥加密算法都应该在适应任何新提出的公钥加密算法都应该在适应性选择密文攻击下达到多项式安全性。性选择密文攻击下达到多项式安全性。语义安全语义安全n定义定义1 如果一个公钥加密体制在适应性选如果一个公钥加密体制在适应性选择密文攻击(择密文攻击(adaptive chosen ciphertext attacks)下是语义安全的,我们就说该体)下是语义安全的,
12、我们就说该体制是安全的。制是安全的。n定义定义2 如果一个公钥加密体制在适应性选如果一个公钥加密体制在适应性选择密文攻击下是多项式安全的,我们就说择密文攻击下是多项式安全的,我们就说该体制是安全的该体制是安全的。引理引理1 一个可展(一个可展(Malleability)的加密)的加密体制在适应性选择密文攻击下是不安全体制在适应性选择密文攻击下是不安全的。的。n证明:假设一个加密体制是可展的,当给证明:假设一个加密体制是可展的,当给定一个目标密文定一个目标密文cb时,我们可以把它修改成时,我们可以把它修改成一个相关的密文一个相关的密文cb*。这种相关的关系也应。这种相关的关系也应该存在于和该存在
13、于和mb和和mb*。然后敌手利用解密预。然后敌手利用解密预言机(解密盒)来获得言机(解密盒)来获得cb*的明文。最后敌的明文。最后敌手根据手根据mb*来恢复来恢复mb。2数字签名体制的安全性概念数字签名体制的安全性概念 n对于数字签名体制,存在以下几种伪造类对于数字签名体制,存在以下几种伪造类型:型:n(1)完全攻破)完全攻破:敌手能够产生与私钥持有者敌手能够产生与私钥持有者相同的签名,这相当于恢复出了私钥。相同的签名,这相当于恢复出了私钥。n(2)选择性伪造)选择性伪造:敌手能够伪造一个他选择敌手能够伪造一个他选择的消息的签名。的消息的签名。n(3)存在性伪造)存在性伪造:敌手能够伪造一个消
14、息的敌手能够伪造一个消息的签名,这个消息可能仅仅是一个随机比特签名,这个消息可能仅仅是一个随机比特串串 攻击模型攻击模型n 被动攻击被动攻击 在被动攻击中,敌手被告知一个公钥,要求产在被动攻击中,敌手被告知一个公钥,要求产生一个选择性伪造或存在性伪造。这是一种比生一个选择性伪造或存在性伪造。这是一种比较弱的攻击模型。较弱的攻击模型。n 积极攻击积极攻击 积极攻击中最强的攻击是适应性选择消息攻击积极攻击中最强的攻击是适应性选择消息攻击(adaptive chosen messages attacks),即),即敌手可以访问一个签名预言机,它能够产生合敌手可以访问一个签名预言机,它能够产生合法的签
15、名。敌手的目标是产生一个消息的签名,法的签名。敌手的目标是产生一个消息的签名,当然这个消息不能是已经询问过签名预言机的当然这个消息不能是已经询问过签名预言机的消息。消息。n定义定义3 如果一个数字签名体制在适应性选如果一个数字签名体制在适应性选择消息攻击下能够抵抗存在性伪造,我们择消息攻击下能够抵抗存在性伪造,我们就说该体制是安全的。就说该体制是安全的。3随机预言模型随机预言模型 n显示一个密码协议安全的现代方法是可证显示一个密码协议安全的现代方法是可证明安全性。可证明安全性的目的在于证明:明安全性。可证明安全性的目的在于证明:如果一个敌手能够攻破一个密码体制的某如果一个敌手能够攻破一个密码体
16、制的某个安全概念,那么我们就可以利用该敌手个安全概念,那么我们就可以利用该敌手做一些认为不可能的事情。做一些认为不可能的事情。n我们假设一个敌手(一个概率算法)能够我们假设一个敌手(一个概率算法)能够以一个不可忽略的概率攻破以一个不可忽略的概率攻破RSA的某个安的某个安全概念(比方说语义安全性)。对于一个全概念(比方说语义安全性)。对于一个安全参数安全参数(安全参数用于测量密钥长度的大安全参数用于测量密钥长度的大小,比如在小,比如在RSA中,安全参数可能是模数中,安全参数可能是模数n的比特数的比特数)为为k的密码体制,如果敌手成功的密码体制,如果敌手成功的概率大于的概率大于1/p(k),我们就
17、说这个敌手),我们就说这个敌手以一个不可忽略的概率成功,这里的以一个不可忽略的概率成功,这里的p是一是一个以个以k为变量的多项式。为变量的多项式。n我们假设敌手我们假设敌手A是一个被动攻击敌手,即对是一个被动攻击敌手,即对于于RSA加密,他不进行解密询问。我们现加密,他不进行解密询问。我们现在希望能够构造一个新算法在希望能够构造一个新算法BA,它能够在,它能够在输入一个整数输入一个整数n和调用多项式次敌手和调用多项式次敌手A的情的情况下,以一个不可忽略的概率输出况下,以一个不可忽略的概率输出n的因子。的因子。算法算法BA说明了如果存在敌手说明了如果存在敌手A,就存在一个,就存在一个多项式时间因
18、子分解算法,能够以一个不多项式时间因子分解算法,能够以一个不可忽略的概率解决因子分解问题。既然我可忽略的概率解决因子分解问题。既然我们目前并不相信存在这样的因子分解算法,们目前并不相信存在这样的因子分解算法,我们也可以断定这样的敌手我们也可以断定这样的敌手A是不存在的。是不存在的。可证明安全的思想可证明安全的思想n可证明安全的思想就是给定一个算法可证明安全的思想就是给定一个算法A,我们提出一,我们提出一个新算法个新算法BA,BA把把A作为子程序。输入给作为子程序。输入给BA的是我的是我们希望解决的困难问题,输入给们希望解决的困难问题,输入给A的是某个密码算法。的是某个密码算法。然而,如果然而,
19、如果A是一个积极攻击敌手,即是一个积极攻击敌手,即A可以对输入可以对输入的公钥进行解密预言询问或签名预言询问。算法的公钥进行解密预言询问或签名预言询问。算法BA要想使用要想使用A作为子程序,就需对作为子程序,就需对A的询问提供回答。的询问提供回答。算法算法BA需要应对以下几个问题:需要应对以下几个问题:n它的回答应该看起来是合法的。因为加密应该能够它的回答应该看起来是合法的。因为加密应该能够解密,签名应该能够被验证,否则,算法解密,签名应该能够被验证,否则,算法A就知道它就知道它的预言机在撒谎。算法的预言机在撒谎。算法BA就不能再确保算法就不能再确保算法A是以一是以一个不可忽略的概率成功。个不
20、可忽略的概率成功。n它的回答应该与如果预言机是真正的解密它的回答应该与如果预言机是真正的解密/加密预言加密预言机时机时A期望的回答具有相同的概率分布。期望的回答具有相同的概率分布。n自始至终,预言机的回答应该是一致的。自始至终,预言机的回答应该是一致的。n算法算法BA需要在不知道私钥的情况下提供这些回答。需要在不知道私钥的情况下提供这些回答。随机预言模型随机预言模型 n我们必须让我们必须让BA在不知道私钥的情况下能够在不知道私钥的情况下能够解密或者签名,但既然我们的体制是安全解密或者签名,但既然我们的体制是安全的,这一点意味着是不可能的。的,这一点意味着是不可能的。随机预言模型随机预言模型 n
21、为了回避这个问题,我们通常使用随机预言模型。为了回避这个问题,我们通常使用随机预言模型。n随机预言是一个理想的随机预言是一个理想的Hash函数。对于每一个新函数。对于每一个新的询问,随机预言产生一个随机值作为回答,如的询问,随机预言产生一个随机值作为回答,如果进行两次相同的询问,回答一定相同。在随机果进行两次相同的询问,回答一定相同。在随机预言模型中,我们假设敌手并不使用密码算法中预言模型中,我们假设敌手并不使用密码算法中定义的那个定义的那个Hash函数,也就是说,即使我们将随函数,也就是说,即使我们将随机预言换成真实的机预言换成真实的Hash函数时,敌手函数时,敌手A也是成功也是成功的。的。
22、n对于对于A的解密预言询问和签名预言询问,算法的解密预言询问和签名预言询问,算法BA是通过欺骗随机预言的回答来适合自己的需要的。是通过欺骗随机预言的回答来适合自己的需要的。8.2 可证明安全的公钥密码体制可证明安全的公钥密码体制RSA的安全性 n引理引理2 RSA不是多项式安全的。不是多项式安全的。n证明:假设敌手知道用户只加密了证明:假设敌手知道用户只加密了m1和和m2中的一中的一个消息。敌手还知道用户的公钥,即个消息。敌手还知道用户的公钥,即e和和n。当敌。当敌手被告知一个密文手被告知一个密文c,要求判断,要求判断c对应的明文对应的明文m是是m1还是还是m2时,敌手只需要计算:时,敌手只需
23、要计算:n如果如果 ,则敌手知道,则敌手知道m=m1。否则敌手知道。否则敌手知道m=m2。n除了以上的攻击外,除了以上的攻击外,RSA在适应性选择密文攻击在适应性选择密文攻击下也是不安全的,这主要是因为下也是不安全的,这主要是因为RSA具有同态性具有同态性质。质。1modecmn cc RSA的安全性 n定义4 给定m1和m2的加密,如果能在不知道m1或m2的条件下确定m1m2的加密结果,我们就说该加密体制具有同态性质(homomorphic property)。n根据以下方程知,RSA具有同态性质:1212()mod(mod)(mod)modeeemmnmn mnnRSA的安全性 n引理引理
24、3 RSA不是不是CCA2安全的。安全的。n证明:假设敌手想解密证明:假设敌手想解密 :n敌手首先生成一个相关的密文敌手首先生成一个相关的密文 并询问解密并询问解密预言机。敌手得到预言机。敌手得到c 的明文的明文m。然后敌手计算:。然后敌手计算:n因此,敌手获得了密文因此,敌手获得了密文c对应的明文对应的明文m。modecmn2ecc(2)2222222dededdmcccmmElGamal的安全性n引理引理4 如果如果DDH问题是困难的,那么问题是困难的,那么ElGamal加密加密体制在选择明文攻击下是多项式安全的。体制在选择明文攻击下是多项式安全的。n 证明:为了显示证明:为了显示ElGa
25、mal是多项式安全的,我们首是多项式安全的,我们首先假设存在一个能够攻破先假设存在一个能够攻破ElGamal多项式安全性的多项式安全性的多项式时间算法多项式时间算法A,然后我们给出一个使用算法,然后我们给出一个使用算法A作作为子程序的算法为子程序的算法B来解决来解决DDH问题。问题。n我们首先来回忆多项式安全性的攻击游戏:我们首先来回忆多项式安全性的攻击游戏:n在寻找阶段,输入一个公钥,输出两个消息和一些状态信息。在寻找阶段,输入一个公钥,输出两个消息和一些状态信息。n在猜测阶段,输入一个挑战密文、一个公钥、两个消息和一在猜测阶段,输入一个挑战密文、一个公钥、两个消息和一些状态信息,猜测挑战密
展开阅读全文