书签 分享 收藏 举报 版权申诉 / 74
上传文档赚钱

类型可证明安全性理论课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3343967
  • 上传时间:2022-08-22
  • 格式:PPT
  • 页数:74
  • 大小:782.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《可证明安全性理论课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    证明 安全性 理论 课件
    资源描述:

    1、第8章 可证明安全性理论 第1页,共74页。可证明安全性可证明安全性(Provable security)n可证明安全性是指这样一种可证明安全性是指这样一种“归约归约”方法:首先方法:首先确定密码体制的安全目标,例如,加密体制的安确定密码体制的安全目标,例如,加密体制的安全目标是信息的机密性,签名体制的安全目标是全目标是信息的机密性,签名体制的安全目标是签名的不可伪造性;然后根据敌手的能力构建一签名的不可伪造性;然后根据敌手的能力构建一个形式化的安全模型,最后指出如果敌手能成功个形式化的安全模型,最后指出如果敌手能成功攻破密码体制,则存在一种算法在多项式时间内攻破密码体制,则存在一种算法在多项

    2、式时间内解决一个公认的数学困难问题。解决一个公认的数学困难问题。第2页,共74页。8.1 可证明安全性理论的基本概念可证明安全性理论的基本概念 n公钥加密体制的安全性概念公钥加密体制的安全性概念n数字签名体制的安全性概念数字签名体制的安全性概念 n随机预言模型随机预言模型 第3页,共74页。1.公钥加密体制的安全性概念n(1)完美安全性)完美安全性(perfect security)n(2)语义安全性)语义安全性(Semantic security)n(3)多项式安全性)多项式安全性(polynomial security)第4页,共74页。(1)完美安全性)完美安全性n如果一个具有无限计算能

    3、力的敌手从给定的如果一个具有无限计算能力的敌手从给定的密文中不能获取明文的任何有用信息,我们密文中不能获取明文的任何有用信息,我们就说这个加密体制具有完美安全性或信息论就说这个加密体制具有完美安全性或信息论安全性。根据安全性。根据Shannon理论知道,要达到完理论知道,要达到完美安全性,密钥必须和明文一样长并且相同美安全性,密钥必须和明文一样长并且相同的密钥不能使用两次。然而,在公钥密码体的密钥不能使用两次。然而,在公钥密码体制中,我们假设加密密钥可以用来加密很多制中,我们假设加密密钥可以用来加密很多消息并且通常是很短的。因此,完美安全性消息并且通常是很短的。因此,完美安全性对于公钥密码体制

    4、来说是不现实的。对于公钥密码体制来说是不现实的。第5页,共74页。(2)语义安全性)语义安全性n语义安全性与完美安全性类似,只是我们语义安全性与完美安全性类似,只是我们只允许敌手具有多项式有界的计算能力。只允许敌手具有多项式有界的计算能力。从形式上说,无论敌手在多项式时间内能从形式上说,无论敌手在多项式时间内能从密文中计算出关于明文的什么信息,他从密文中计算出关于明文的什么信息,他也可以在没有密文的条件下计算出这些信也可以在没有密文的条件下计算出这些信息。换句话说,拥有密文并不能帮助敌手息。换句话说,拥有密文并不能帮助敌手找到关于明文的任何有用信息。找到关于明文的任何有用信息。第6页,共74页

    5、。(3)多项式安全性)多项式安全性n我们很难显示一个加密体制具有语义安全我们很难显示一个加密体制具有语义安全性,然而,我们却可以比较容易显示一个性,然而,我们却可以比较容易显示一个加密体制具有多项式安全性。多项式安全加密体制具有多项式安全性。多项式安全性也称为密文不可区分性。幸运的是,如性也称为密文不可区分性。幸运的是,如果一个加密体制具有多项式安全性,那么果一个加密体制具有多项式安全性,那么我们可以显示该体制也具有语义安全性。我们可以显示该体制也具有语义安全性。因此,为了显示一个加密体制是语义安全因此,为了显示一个加密体制是语义安全的,我们只需要显示该体制是多项式安全的,我们只需要显示该体制

    6、是多项式安全的。的。第7页,共74页。n如果没有一个敌手能以大于一半的概率赢得以下游戏,如果没有一个敌手能以大于一半的概率赢得以下游戏,我们就称这个加密体制具有密文不可区分性,或具有我们就称这个加密体制具有密文不可区分性,或具有多项式安全性。这个敌手多项式安全性。这个敌手A被告知某个公钥被告知某个公钥y及其相应及其相应的加密函数的加密函数fy。敌手。敌手A进行以下两个阶段:进行以下两个阶段:n寻找阶段:敌手寻找阶段:敌手A选择两个明文选择两个明文m0和和m1。n猜测阶段:敌手猜测阶段:敌手A被告知其中一个明文被告知其中一个明文mb的加密结果,的加密结果,这里的这里的b是保密的。敌手是保密的。敌

    7、手A的目标是以大于一半的概率猜的目标是以大于一半的概率猜对对b的值。的值。第8页,共74页。n从这个游戏可以看出,一个具有多项式安全性的加密体制从这个游戏可以看出,一个具有多项式安全性的加密体制一定是一个概率性加密体制。否则,敌手一定是一个概率性加密体制。否则,敌手A在猜测阶段在猜测阶段就可以计算:就可以计算:c1=fy(m1)n并测试是否有并测试是否有c1=cb成立。如果成立,敌手成立。如果成立,敌手A就可以成就可以成功推断功推断b=1,否则,否则b=0。既然敌手。既然敌手A总能简单地猜测总能简单地猜测b的值,敌手的值,敌手A的优势定义为:的优势定义为:n如果:如果:n我们就称这个加密体制是

    8、多项式安全的,其中我们就称这个加密体制是多项式安全的,其中p(k)是一个多项式函数,是一个多项式函数,k是一个足够大的安全参数。是一个足够大的安全参数。011Pr(,)2AbAdvA cy m mb1()AAdvp k第9页,共74页。三种基本的攻击模型三种基本的攻击模型 n选择明文攻击(选择明文攻击(Chosen Plaintext Attack,CPA),),n选择密文攻击(选择密文攻击(Chosen Ciphertext Attack,CCA)n适应性选择密文攻击(适应性选择密文攻击(Adaptive Chosen Ciphertext Attack,CCA2)。)。第10页,共74页。

    9、选择明文攻击选择明文攻击n在选择明文攻击中,敌手被告知各种各样在选择明文攻击中,敌手被告知各种各样的密文。敌手可以访问一个黑盒,这个黑的密文。敌手可以访问一个黑盒,这个黑盒只能执行加密,不能进行解密。既然在盒只能执行加密,不能进行解密。既然在公钥密码体制中任何人都可以访问加密函公钥密码体制中任何人都可以访问加密函数,即任何人都可自己产生一些明文密文数,即任何人都可自己产生一些明文密文对,选择明文攻击模拟了一种非常弱的攻对,选择明文攻击模拟了一种非常弱的攻击模型。击模型。第11页,共74页。选择密文攻击选择密文攻击n选择密文攻击也称为午餐攻击,是一种比选择明选择密文攻击也称为午餐攻击,是一种比选

    10、择明文攻击稍强的攻击模型。在选择密文攻击中,敌文攻击稍强的攻击模型。在选择密文攻击中,敌手可以访问一个黑盒,这个黑盒能进行解密。在手可以访问一个黑盒,这个黑盒能进行解密。在午餐时间,敌手可以选择多项式个密文来询问解午餐时间,敌手可以选择多项式个密文来询问解密盒,解密盒把解密后的明文发送给敌手。在下密盒,解密盒把解密后的明文发送给敌手。在下午时间,敌手被告知一个目标密文,要求敌手在午时间,敌手被告知一个目标密文,要求敌手在没有解密盒帮助的情况下解密目标密文,或者找没有解密盒帮助的情况下解密目标密文,或者找到关于明文的有用信息。到关于明文的有用信息。n在上面给出的多项式安全性的攻击游戏中,选择密文

    11、在上面给出的多项式安全性的攻击游戏中,选择密文攻击允许敌手在寻找阶段询问解密盒,但是在猜测阶攻击允许敌手在寻找阶段询问解密盒,但是在猜测阶段不能询问解密盒。段不能询问解密盒。第12页,共74页。适应性选择密文攻击适应性选择密文攻击n适应性选择密文攻击是一种非常强的攻击适应性选择密文攻击是一种非常强的攻击模型。除了目标密文外,敌手可以选择任模型。除了目标密文外,敌手可以选择任何密文对解密盒进行询问。目前普遍认为,何密文对解密盒进行询问。目前普遍认为,任何新提出的公钥加密算法都应该在适应任何新提出的公钥加密算法都应该在适应性选择密文攻击下达到多项式安全性。性选择密文攻击下达到多项式安全性。第13页

    12、,共74页。语义安全语义安全n定义定义1 如果一个公钥加密体制在适应性选如果一个公钥加密体制在适应性选择密文攻击(择密文攻击(adaptive chosen ciphertext attacks)下是语义安全的,我们就说该体)下是语义安全的,我们就说该体制是安全的。制是安全的。第14页,共74页。n定义定义2 如果一个公钥加密体制在适应性选如果一个公钥加密体制在适应性选择密文攻击下是多项式安全的,我们就说择密文攻击下是多项式安全的,我们就说该体制是安全的该体制是安全的。第15页,共74页。引理引理1 一个可展(一个可展(Malleability)的加密体)的加密体制在适应性选择密文攻击下是不安

    13、全的。制在适应性选择密文攻击下是不安全的。n证明:假设一个加密体制是可展的,当给证明:假设一个加密体制是可展的,当给定一个目标密文定一个目标密文cb时,我们可以把它修改成时,我们可以把它修改成一个相关的密文一个相关的密文cb*。这种相关的关系也应。这种相关的关系也应该存在于和该存在于和mb和和mb*。然后敌手利用解密预。然后敌手利用解密预言机(解密盒)来获得言机(解密盒)来获得cb*的明文。最后敌的明文。最后敌手根据手根据mb*来恢复来恢复mb。第16页,共74页。2数字签名体制的安全性概念数字签名体制的安全性概念 n对于数字签名体制,存在以下几种伪造类对于数字签名体制,存在以下几种伪造类型:

    14、型:n(1)完全攻破)完全攻破:敌手能够产生与私钥持有者敌手能够产生与私钥持有者相同的签名,这相当于恢复出了私钥。相同的签名,这相当于恢复出了私钥。n(2)选择性伪造)选择性伪造:敌手能够伪造一个他选择敌手能够伪造一个他选择的消息的签名。的消息的签名。n(3)存在性伪造)存在性伪造:敌手能够伪造一个消息的敌手能够伪造一个消息的签名,这个消息可能仅仅是一个随机比特签名,这个消息可能仅仅是一个随机比特串串 第17页,共74页。攻击模型攻击模型n 被动攻击被动攻击 在被动攻击中,敌手被告知一个公钥,要求产生一个在被动攻击中,敌手被告知一个公钥,要求产生一个选择性伪造或存在性伪造。这是一种比较弱的攻击

    15、模选择性伪造或存在性伪造。这是一种比较弱的攻击模型。型。n 积极攻击积极攻击 积极攻击中最强的攻击是适应性选择消息攻击积极攻击中最强的攻击是适应性选择消息攻击(adaptive chosen messages attacks),即敌),即敌手可以访问一个签名预言机,它能够产生合法手可以访问一个签名预言机,它能够产生合法的签名。敌手的目标是产生一个消息的签名,的签名。敌手的目标是产生一个消息的签名,当然这个消息不能是已经询问过签名预言机的当然这个消息不能是已经询问过签名预言机的消息。消息。第18页,共74页。n定义定义3 如果一个数字签名体制在适应性选如果一个数字签名体制在适应性选择消息攻击下能

    16、够抵抗存在性伪造,我们择消息攻击下能够抵抗存在性伪造,我们就说该体制是安全的。就说该体制是安全的。第19页,共74页。3随机预言模型随机预言模型 n显示一个密码协议安全的现代方法是可证显示一个密码协议安全的现代方法是可证明安全性。可证明安全性的目的在于证明:明安全性。可证明安全性的目的在于证明:如果一个敌手能够攻破一个密码体制的某如果一个敌手能够攻破一个密码体制的某个安全概念,那么我们就可以利用该敌手个安全概念,那么我们就可以利用该敌手做一些认为不可能的事情。做一些认为不可能的事情。第20页,共74页。n我们假设一个敌手(一个概率算法)能够我们假设一个敌手(一个概率算法)能够以一个不可忽略的概

    17、率攻破以一个不可忽略的概率攻破RSA的某个安的某个安全概念(比方说语义安全性)。对于一个全概念(比方说语义安全性)。对于一个安全参数安全参数(安全参数用于测量密钥长度的大安全参数用于测量密钥长度的大小,比如在小,比如在RSA中,安全参数可能是模数中,安全参数可能是模数n的比特数的比特数)为为k的密码体制,如果敌手成功的密码体制,如果敌手成功的概率大于的概率大于1/p(k),我们就说这个敌手),我们就说这个敌手以一个不可忽略的概率成功,这里的以一个不可忽略的概率成功,这里的p是一是一个以个以k为变量的多项式。为变量的多项式。第21页,共74页。n我们假设敌手我们假设敌手A是一个被动攻击敌手,即对

    18、是一个被动攻击敌手,即对于于RSA加密,他不进行解密询问。我们现加密,他不进行解密询问。我们现在希望能够构造一个新算法在希望能够构造一个新算法BA,它能够在,它能够在输入一个整数输入一个整数n和调用多项式次敌手和调用多项式次敌手A的情的情况下,以一个不可忽略的概率输出况下,以一个不可忽略的概率输出n的因子。的因子。算法算法BA说明了如果存在敌手说明了如果存在敌手A,就存在一个,就存在一个多项式时间因子分解算法,能够以一个不多项式时间因子分解算法,能够以一个不可忽略的概率解决因子分解问题。既然我可忽略的概率解决因子分解问题。既然我们目前并不相信存在这样的因子分解算法,们目前并不相信存在这样的因子

    19、分解算法,我们也可以断定这样的敌手我们也可以断定这样的敌手A是不存在的。是不存在的。第22页,共74页。可证明安全的思想可证明安全的思想n可证明安全的思想就是给定一个算法可证明安全的思想就是给定一个算法A,我们提出一个新,我们提出一个新算法算法BA,BA把把A作为子程序。输入给作为子程序。输入给BA的是我们希望解决的是我们希望解决的困难问题,输入给的困难问题,输入给A的是某个密码算法。然而,如果的是某个密码算法。然而,如果A是一是一个积极攻击敌手,即个积极攻击敌手,即A可以对输入的公钥进行解密预言询可以对输入的公钥进行解密预言询问或签名预言询问。算法问或签名预言询问。算法BA要想使用要想使用A

    20、作为子程序,就作为子程序,就需对需对A的询问提供回答。算法的询问提供回答。算法BA需要应对以下几个问题:需要应对以下几个问题:n它的回答应该看起来是合法的。因为加密应该能够解密,签它的回答应该看起来是合法的。因为加密应该能够解密,签名应该能够被验证,否则,算法名应该能够被验证,否则,算法A就知道它的预言机在撒谎。就知道它的预言机在撒谎。算法算法BA就不能再确保算法就不能再确保算法A是以一个不可忽略的概率成功。是以一个不可忽略的概率成功。n它的回答应该与如果预言机是真正的解密它的回答应该与如果预言机是真正的解密/加密预言机时加密预言机时A期望的回答具有相同的概率分布。期望的回答具有相同的概率分布

    21、。n自始至终,预言机的回答应该是一致的。自始至终,预言机的回答应该是一致的。n算法算法BA需要在不知道私钥的情况下提供这些回答。需要在不知道私钥的情况下提供这些回答。第23页,共74页。随机预言模型随机预言模型 n我们必须让我们必须让BA在不知道私钥的情况下能够在不知道私钥的情况下能够解密或者签名,但既然我们的体制是安全解密或者签名,但既然我们的体制是安全的,这一点意味着是不可能的。的,这一点意味着是不可能的。第24页,共74页。随机预言模型随机预言模型 n为了回避这个问题,我们通常使用随机预言模型。为了回避这个问题,我们通常使用随机预言模型。n随机预言是一个理想的随机预言是一个理想的Hash

    22、函数。对于每一个新的函数。对于每一个新的询问,随机预言产生一个随机值作为回答,如果进询问,随机预言产生一个随机值作为回答,如果进行两次相同的询问,回答一定相同。在随机预言模行两次相同的询问,回答一定相同。在随机预言模型中,我们假设敌手并不使用密码算法中定义的那型中,我们假设敌手并不使用密码算法中定义的那个个Hash函数,也就是说,即使我们将随机预言换函数,也就是说,即使我们将随机预言换成真实的成真实的Hash函数时,敌手函数时,敌手A也是成功的。也是成功的。n对于对于A的解密预言询问和签名预言询问,算法的解密预言询问和签名预言询问,算法BA是通是通过欺骗随机预言的回答来适合自己的需要的。过欺骗

    23、随机预言的回答来适合自己的需要的。第25页,共74页。8.2 可证明安全的公钥密码体制可证明安全的公钥密码体制第26页,共74页。RSA的安全性 n引理引理2 RSA不是多项式安全的。不是多项式安全的。n证明:假设敌手知道用户只加密了证明:假设敌手知道用户只加密了m1和和m2中的一个消中的一个消息。敌手还知道用户的公钥,即息。敌手还知道用户的公钥,即e和和n。当敌手被告。当敌手被告知一个密文知一个密文c,要求判断,要求判断c对应的明文对应的明文m是是m1还是还是m2时,时,敌手只需要计算:敌手只需要计算:n如果如果 ,则敌手知道,则敌手知道m=m1。否则敌手知道。否则敌手知道m=m2。n除了以

    24、上的攻击外,除了以上的攻击外,RSA在适应性选择密文攻击下也在适应性选择密文攻击下也是不安全的,这主要是因为是不安全的,这主要是因为RSA具有同态性质。具有同态性质。1modecmn cc 第27页,共74页。RSA的安全性 n定义4 给定m1和m2的加密,如果能在不知道m1或m2的条件下确定m1m2的加密结果,我们就说该加密体制具有同态性质(homomorphic property)。n根据以下方程知,RSA具有同态性质:1212()mod(mod)(mod)modeeemmnmn mnn第28页,共74页。RSA的安全性 n引理引理3 RSA不是不是CCA2安全的。安全的。n证明:假设敌手

    25、想解密证明:假设敌手想解密 :n敌手首先生成一个相关的密文敌手首先生成一个相关的密文 并询问解密预并询问解密预言机。敌手得到言机。敌手得到c 的明文的明文m。然后敌手计算:。然后敌手计算:n因此,敌手获得了密文因此,敌手获得了密文c对应的明文对应的明文m。modecmn2ecc(2)2222222dededdmcccmm第29页,共74页。ElGamal的安全性n引理引理4 如果如果DDH问题是困难的,那么问题是困难的,那么ElGamal加密体制加密体制在选择明文攻击下是多项式安全的。在选择明文攻击下是多项式安全的。n 证明:为了显示证明:为了显示ElGamal是多项式安全的,我们首先是多项式

    26、安全的,我们首先假设存在一个能够攻破假设存在一个能够攻破ElGamal多项式安全性的多项式多项式安全性的多项式时间算法时间算法A,然后我们给出一个使用算法,然后我们给出一个使用算法A作为子程序的作为子程序的算法算法B来解决来解决DDH问题。问题。n我们首先来回忆多项式安全性的攻击游戏:我们首先来回忆多项式安全性的攻击游戏:n在寻找阶段,输入一个公钥,输出两个消息和一些状态信息。在寻找阶段,输入一个公钥,输出两个消息和一些状态信息。n在猜测阶段,输入一个挑战密文、一个公钥、两个消息和一些状态信息,在猜测阶段,输入一个挑战密文、一个公钥、两个消息和一些状态信息,猜测挑战密文对应的明文是哪个消息。猜

    27、测挑战密文对应的明文是哪个消息。第30页,共74页。ElGamal的安全性的安全性 ElGamal密文为:密文为:(gk,mhk)其中其中k是一个随机整数,是一个随机整数,h是公钥。是公钥。给定给定gx、gy和和gz,解决,解决DDH问题的算法问题的算法B执行如下步骤:执行如下步骤:令令h=gx。(m0,m1,s)=A(寻找阶段(寻找阶段,h)。)。设置设置c1=gy。从从0,1中随机选择一个数中随机选择一个数b。设置设置c2=mbgz。b=A(猜测阶段(猜测阶段,(c1,c2),h,m0,m1,s)。)。如果如果b=b,输出,输出“TRUE”,否则输出,否则输出“FALSE”。第31页,共7

    28、4页。n下面解释为什么算法下面解释为什么算法B解决了解决了DDH问题。问题。n当当z=xy,在猜测阶段输入给算法,在猜测阶段输入给算法A的将是的将是mb的一个合法的一个合法加密。如果算法加密。如果算法A真正能够攻破真正能够攻破ElGamal的语义安全性,的语义安全性,那么输出的那么输出的b 将是正确的,算法将是正确的,算法B将输出将输出“TRUE”。n当当z xy时,在猜测阶段输入给算法时,在猜测阶段输入给算法A的几乎不可能是合的几乎不可能是合法的密文,即不是法的密文,即不是m0或或m1的加密,在猜测阶段输出的加密,在猜测阶段输出的的b 与与b将是独立的。因此,算法将是独立的。因此,算法B将以

    29、相等的概率输将以相等的概率输出出“TRUE”或或“FALSE”。第32页,共74页。ElGamal的安全性n引理引理5 ElGamal加密体制是可展的。加密体制是可展的。证明:给定密文:证明:给定密文:(c1,c2)=(gk,mhk)敌手可以在不知道敌手可以在不知道m、随机数、随机数k、私钥、私钥x的情的情况下产生消息况下产生消息2m的合法密文:的合法密文:(c1,2c2)=(gk,2mhk)第33页,共74页。ElGamal的安全性的安全性n引理引理6 ElGamal加密体制不是加密体制不是CCA2安全的。安全的。n证明:假设敌手想解密:证明:假设敌手想解密:c=(c1,c2)=(gk,mh

    30、k)n敌手首先生成一个相关的密文敌手首先生成一个相关的密文c=(c1,2c2)并并询问解密预言机。敌手得到询问解密预言机。敌手得到c 的明文的明文m。然。然后敌手计算:后敌手计算:2 1222222222xkxkxkxkc cmmh gmg gmm第34页,共74页。RSA-OAEPn即使对于被动攻击敌手,即使对于被动攻击敌手,RSA也不能提供也不能提供一个语义安全的加密体制。为了使一个系一个语义安全的加密体制。为了使一个系统安全,我们需要在加密前对明文增加冗统安全,我们需要在加密前对明文增加冗余信息,或者是对密文增加冗余信息。这余信息,或者是对密文增加冗余信息。这里的填充应该是随机性的,以便

    31、产生一个里的填充应该是随机性的,以便产生一个非确定性加密算法。非确定性加密算法。第35页,共74页。RSA-OAEPn目前使用最多的填充方法是由目前使用最多的填充方法是由Bellare和和Rogaway提出的最优非对称加密填充提出的最优非对称加密填充(Optimized Asymmetric Encryption Padding,OAEP)方法。)方法。OAEP可以用于可以用于任何陷门单向置换函数,尤其是任何陷门单向置换函数,尤其是RSA函数。函数。OAEP用于用于RSA时称为时称为RSA-OAEP。在随机。在随机预言模型中,我们可以显示预言模型中,我们可以显示RSA-OAEP在在适应性选择密

    32、文攻击下是语义安全的。适应性选择密文攻击下是语义安全的。第36页,共74页。OAEPn设设f是任何是任何k比特到比特到k比特的陷门单向置换函数。比如说,比特的陷门单向置换函数。比如说,k=1024时,时,f可以是可以是RSA函数函数c=me。n设设k0和和k1表示两个数(比如表示两个数(比如k0,k1128)。设)。设n=k k0 k1和两和两个个Hash函数为函数为n设设m是是n比特的消息,我们使用下面的函数来加密消息比特的消息,我们使用下面的函数来加密消息m。n其中表示其中表示k1个个0跟随着跟随着m,R是长度为是长度为k0的随机比特串,的随机比特串,|表示连接。表示连接。我们可以把我们可

    33、以把OAEP看成是两轮看成是两轮Feistel网络,网络,010,10,1kn kG:010,10,1kn kH:11()(|0()|(|0()kkE mf mGRRH mGR第37页,共74页。1|0()kmG R 1(|0()kRH mG R 1|0()kmG R 1|0km R R G H 第38页,共74页。n为了解密E(m),我们可以计算11|()|0()|(|0()kkATRH TmG RRH mG R第39页,共74页。RSA-OAEP n定理定理1 在随机预言模型中,我们将在随机预言模型中,我们将G和和H模模拟成随机预言机。假设拟成随机预言机。假设RSA问题是一个困问题是一个困

    34、难问题,难问题,RSA-OAEP加密方案在适应性选加密方案在适应性选择密文攻击下是语义安全的。择密文攻击下是语义安全的。第40页,共74页。n证明:我们首先将证明:我们首先将RSA函数函数f写成:写成:n然后将然后将RSA-OAEP定义为:定义为:01*0,10,1(/)(,)(|)modkn keZ NZfs ts tN:1(|0)(),()ksmG rtrH s第41页,共74页。n我们可以证明我们可以证明RSA问题与函数问题与函数f的单向性是的单向性是等价的,且从等价的,且从f(s,t)恢复出恢复出s与从与从f(s,t)恢复出恢复出(s,t)是同样困难的。接下来的任务就是如何是同样困难的

    35、。接下来的任务就是如何利用攻破利用攻破RSA-OAEP的敌手的敌手A来构造一个能来构造一个能够解决够解决RSA函数单向性的算法函数单向性的算法BA,即对于,即对于固定的固定的RSA模数模数N,给定,给定c*=f(s*,t*),要求,要求算法算法BA计算出计算出s*。第42页,共74页。n在寻找阶段,在寻找阶段,A产生两个消息产生两个消息m0和和m1,BA选择选择b0,1并假设并假设c*是是mb的加密密文。在猜测阶段,的加密密文。在猜测阶段,BA将将c*发送发送给给A,要求,要求A猜测猜测c*是是m0的密文还是的密文还是m1的密文,即的密文,即b=0还是还是b=1。同时,算法。同时,算法BA必须

    36、回答必须回答A的询问,包括的询问,包括Hash函数函数G的询问,的询问,Hash函数函数H的询问和解密预言询的询问和解密预言询问。为了保持一致性,问。为了保持一致性,BA维护两个列表维护两个列表L1和和L2。这。这两个列表开始都为空,两个列表开始都为空,L1用于跟踪用于跟踪A对预言机对预言机G的询的询问,问,L2用于跟踪用于跟踪A对预言机对预言机H的询问。下面详细解释的询问。下面详细解释BA是如何回答这些询问的。是如何回答这些询问的。第43页,共74页。nG()询问:对于列表询问:对于列表L2中的任何询问中的任何询问,BA检查是否检查是否有下式成立:有下式成立:n如果上式成立,我们就已经完成了

    37、对如果上式成立,我们就已经完成了对f在在c*求逆的任务,求逆的任务,我们仍然可以继续模拟我们仍然可以继续模拟G并设置:并设置:n如果对于任何的如果对于任何的上式都不成立,上式都不成立,BA在在G的值域上随的值域上随机选择一个数来回答机选择一个数来回答A并将该数记录到列表并将该数记录到列表L1中。中。*(,()cfH 1()(|0)kbGm第44页,共74页。nH()询问:询问:BA在在H的值域上随机选择一个数的值域上随机选择一个数来回答来回答A并将该数记录到列表并将该数记录到列表L2中。对于列中。对于列表表L1中的任何询问中的任何询问,BA检查是否有下式成检查是否有下式成立:立:n如果上式成立

    38、,我们同样完成了对如果上式成立,我们同样完成了对f在在c*求求逆的任务。逆的任务。*(,()cfH 第45页,共74页。n解密询问:给定一个密文解密询问:给定一个密文c,BA查找列表查找列表L1和和L2使其满足:对于一对使其满足:对于一对和和,如果设:,如果设:n那么那么c=f(,)且且的尾部至少有的尾部至少有k1个比特为个比特为0。如果上述情况成立,。如果上述情况成立,BA返回返回的首部的的首部的n个比特,否则个比特,否则BA返回该密文是不合法的。返回该密文是不合法的。n如果一个按照正确方式产生的密文能够通如果一个按照正确方式产生的密文能够通过上述的解密预言机,我们肯定能够获得过上述的解密预

    39、言机,我们肯定能够获得原始的明文原始的明文,(),()HG 第46页,共74页。n们需要显示上述的解密预言机能够们需要显示上述的解密预言机能够“欺骗欺骗”敌手敌手A。如果敌手。如果敌手A能够以一个不可忽略的能够以一个不可忽略的优势攻破优势攻破RSA-OAEP的语义安全性,算法的语义安全性,算法BA就能够以一个不可忽略的概率对就能够以一个不可忽略的概率对f求逆。求逆。第47页,共74页。n我们知道,我们知道,BA已经假设了已经假设了c*=f(s*,t*)是是mb的加密密文。因此,这里应该存在一个的加密密文。因此,这里应该存在一个r*满足:满足:n我们首先要显示模拟解密预言失败的概率我们首先要显示

    40、模拟解密预言失败的概率是可以忽略的,然后显示只要敌手是可以忽略的,然后显示只要敌手A能够以能够以一个不可忽略的概率猜对一个不可忽略的概率猜对b,那么,那么s*被提交被提交给给H预言机进行询问的概率就是不可忽略的。预言机进行询问的概率就是不可忽略的。只要只要s*被提交给被提交给H预言机进行了询问,我们预言机进行了询问,我们就可以攻破就可以攻破f的单向性的单向性。*()rH st1*()(|0)kbG rsm第48页,共74页。将将CPA体制变成体制变成CCA2体制体制 n假设我们有一个在选择明文攻击下是语义假设我们有一个在选择明文攻击下是语义安全的公钥加密体制,如安全的公钥加密体制,如ElGam

    41、al。这样的。这样的体制应该是非确定性的。我们可以将加密体制应该是非确定性的。我们可以将加密函数写为:函数写为:E(m,r)n其中,其中,m是需要加密的消息,是需要加密的消息,r是输入的随是输入的随机数。解密函数用机数。解密函数用D(c)表示。对于表示。对于ElGamal加密体制来说,我们有:加密体制来说,我们有:E(m,r)=(gr,myr)第49页,共74页。将将CPA体制变成体制变成CCA2体制体制 nFujisaki和Okamoto显示了如何将在选择明文攻击下是语义安全的体制转变成在适应性选择密文攻击下是语义安全的体制。他们的结论只适用于随机预言模型。n将上述的加密函数变为:其中H是H

    42、ash函数n解密函数变为:n我们需要检查是否有下式成立:n如果上式成立,我们恢复消息 ,否则,我们返回该密文是不合法的。(,)(|,(|)E m rE m r H m r()mD c(,()cE m H m|mm r 第50页,共74页。n于于ElGamal体制来说,加密算法变为体制来说,加密算法变为n这个算法的效率比原始算法要稍低一些。这个算法的效率比原始算法要稍低一些。(|)(|)(,(|)H m rH m rgm r y第51页,共74页。BF方案加密对于明文对于明文m0,1n,首先随机选取一个整数,首先随机选取一个整数r Zq*,然后计算然后计算 U=rP,V=m H2(gIDr)这里

    43、这里gID=(QID,Ppub),则密文则密文C=(U,V)。)。随机选择一个随机选择一个R 0,1n,r=H3(R,m)U=rP,V=R H2(gIDr),W=m H4(R)密文密文C=(U,V,W)第52页,共74页。BF方案解密为了解密一个密文为了解密一个密文C=(U,V),计算:),计算:m=V H2(SID,U)为了解密一个密文为了解密一个密文C=(U,V,W),计算计算R=V H2(SID,U),m=W H4(R),设设r=H3(R,m),测试时候有测试时候有U=rP,如果成立,输出,如果成立,输出m,否则拒绝,否则拒绝这个密文这个密文第53页,共74页。nE.Fujisaki a

    44、nd T.Okamoto,Secure integration of asymmetric and symmetric encryption schemes,Proc.Crypto 1999,pp.537-554,1999.第54页,共74页。8.3 可证明安全的数字签名体制第55页,共74页。分叉引理n我们首先来介绍一下分叉引理,它适用于下面类型我们首先来介绍一下分叉引理,它适用于下面类型的数字签名算法:的数字签名算法:n为了对消息为了对消息m签名,签名者执行如下步骤:签名,签名者执行如下步骤:n签名者产生一个承诺签名者产生一个承诺 。n签名者计算签名者计算 。n签名者计算签名者计算 ,它是

    45、关于,它是关于 和和u的的“签名签名”。n签名算法的输出为签名算法的输出为 。n在在DSA中,中,这里,这里,r=(gk mod p)mod q。11(|)uhm21112(,(|),)hm1()uh m12(,()mod)r kuxrq第56页,共74页。n在在Schnorr签名方案中签名方案中1kg1(|)uhm2()modxukq第57页,共74页。n在随机预言模型中,假设敌手在随机预言模型中,假设敌手A能以一个不能以一个不可忽略的概率产生一个存在性伪造,即敌可忽略的概率产生一个存在性伪造,即敌手手A输出输出 。我们假设敌手。我们假设敌手A进行了进行了 这个关键的这个关键的Hash询问,

    46、否则,我们可以替敌询问,否则,我们可以替敌手手A进行这个询问。进行这个询问。12(,)mu1(|)uhm第58页,共74页。n算法算法BA使用相同的随机磁带和稍微不同的随机预言运行使用相同的随机磁带和稍微不同的随机预言运行敌手敌手A两次。敌手两次。敌手A运行多项式时间并且进行多项式次运行多项式时间并且进行多项式次Hash询问。如果前后两次对所有的询问。如果前后两次对所有的Hash询问都给予相询问都给予相同的回答,敌手同的回答,敌手A将输出相同的签名。然而,算法将输出相同的签名。然而,算法BA在前后两次对随机预言都给予相同的回答,只是对一在前后两次对随机预言都给予相同的回答,只是对一个随机的个随

    47、机的Hash询问给予不同的回答。这个询问给予不同的回答。这个Hash询问将询问将以一个不可忽略的概率等于这个关键的以一个不可忽略的概率等于这个关键的Hash询问,询问,即算法即算法BA将以一个不可忽略的概率获得一个消息将以一个不可忽略的概率获得一个消息m的的两个签名,这个消息两个签名,这个消息m具有不同的具有不同的Hash询问回答。换询问回答。换句话说,我们获得:句话说,我们获得:1212(,)(,)mumu和第59页,共74页。n我们试图利用敌手我们试图利用敌手A的两个输出解决困难问的两个输出解决困难问题,这就是算法题,这就是算法BA目标。目标。第60页,共74页。n定理定理2 在随机预言模

    48、型中,假设离散对数在随机预言模型中,假设离散对数问题是一个困难问题,问题是一个困难问题,Schnorr签名方案在签名方案在被动攻击下是安全的被动攻击下是安全的。第61页,共74页。n证明:设输入给算法BA的是一个我们希望解决的离散对数问题y=gx,输入给敌手A的是一个公钥y。根据分叉引理,我们可以以一个不可忽略的概率获得两个签名:n其中 是第一次运行敌手A时的预言询问,n 是第二次运行敌手A时的预言询问。1212(,()mod)(,()mod)kkmguxukqmguxukq和1(|)uhm1(|)uhm 第62页,共74页。n算法算法BA的目标是恢复出的目标是恢复出x。既然我们有。既然我们有

    49、 ,我们一定有我们一定有 。所以我们有:。所以我们有:n既然既然 ,则,则A0。算法。算法BA就能够通过下就能够通过下式求解要求的离散对数问题。式求解要求的离散对数问题。11kkmodAxBq()modAuuq22()modBquu1modxA Bq第63页,共74页。下面显示下面显示Schnorr签名方案在积极攻击签名方案在积极攻击下也是安全的。下也是安全的。n为了能够在积极攻击下提供证明,我们需为了能够在积极攻击下提供证明,我们需要显示算法要显示算法BA是如何回答算法是如何回答算法A的签名询问的签名询问的。为了做到这一点,我们利用随机预言的。为了做到这一点,我们利用随机预言模型。我们利用算

    50、法模型。我们利用算法BA能够选择能够选择Hash函数函数输出的能力。输出的能力。第64页,共74页。n在没有私钥的情况下,算法在没有私钥的情况下,算法BA给出签名的给出签名的过程称为签名询问的模拟。签名询问的模过程称为签名询问的模拟。签名询问的模拟说明了在随机预言模型中积极攻击并不拟说明了在随机预言模型中积极攻击并不比被动攻击更具有威力。任何积极攻击都比被动攻击更具有威力。任何积极攻击都可以通过模拟签名询问来转变为被动攻击。可以通过模拟签名询问来转变为被动攻击。第65页,共74页。n下面给出在下面给出在Schnorr签名方案中签名询问的模拟过程。签名方案中签名询问的模拟过程。我们假设模拟器保存

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:可证明安全性理论课件.ppt
    链接地址:https://www.163wenku.com/p-3343967.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库