原文教材 与 参考资料:

Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].

该书项目地址(可以免费获取):http://toc.cryptobook.us/

博客为对该书的学习笔记,并非原创知识,帮助理解,整理思路。

11.4 Encryption based on a trapdoor function scheme 

本小节该书介绍了如何使用陷门函数在随机谕言机模型下构造一个语义安全的加密方案。

废话不多说,该给给出的方案如下:

  • 该加密方案使用陷门函数的秘钥生成算法作为一个本方案秘钥生成算法。
  • 首先加密方选择随机数x , 用陷门公钥Pk加密随机数x得到y , 然后计算x的哈希值k , 最后使用对称加密算法以k作为密钥对消息m进行加密得到部分密文c, 输出(y , c)作为对m的最终加密结果密文。
  • 当接受方具备一个陷门私钥sk, 并收到密文(y,c)时,解密算法运行如下,首先使用sk解密y得到x,进一步,计算x的哈希值得到对称秘钥,最终使用对称算法得到消息m。

安全性证明:

这里是在随机谕言机模型下对该方案具备SS-CPA安全性进行证明,加密方案中的哈希函数作为一种随机谕言机O出现,挑战者在加密时需要使用哈希函数H时将直接向随机谕言机发起询问,由随机谕言机来回答哈希询问。并且,挑战者和敌手都能具有访问该随机谕言机的权限。

故,综合上述内容,该方案应该具备以下的安全属性(安全定理):

上述定理的来源,或者说为什么要如此定义安全性?

本质上我们在描述一个方案是安全的时候,其实我们说的是该方案每一个组件是安全的并且组合起来在某些已经公知的模型中也是安全的,这才是可证明安全。这里要和UC安全区分来看,UC注重的是每个组件之间的通用可组合,而安全规约这里注重的是在现有的安全模型下保持安全性。

首先,该方案是在随机谕言机模型下证明的,其中哈希函数此时被处理为一个随机谕言机,那么此时哈希函数的安全性已经被理想化,此刻,如果存在该单项陷门函数与语义安全的对称加密方案,那么该方案亦是语义安全的。

进一步,从挑战游戏上来说,如果存在一个SS敌手A在随机谕言机模型下能够攻击该方案,那么存在一个SS敌手B1可以攻击其中语义安全的对称加密方案,以及一个SS敌手B2能够攻击该陷门函数,其中B1,B2均可以调用A作为自己的子程序。

证明思路:有了上述的分析,证明思路更加清晰了,首先构造基于随机谕言机的Game,然后给出基本的敌手优势描述,进一步,在证明时将随机谕言机处理成为一个可以查询的表格结构,并使用Difference lemma (该引理的重要之处在于将两个不同分布的游戏放到同一个概率空间下,目的是通过Z事件概率刻画敌手区分Game的优势)。

证明下述不等式成立:

首先,定义Game 0,

初始阶段:

挑战者生成公钥对,并随机的选取对称秘钥x, 并使用公钥加密加密这个对称秘钥,就是一种秘钥封装机制。挑战者随机选择一个对称秘钥k, 并随机选择一个比特b,  并将这个(x, k)写入随机谕言机的实现表格Map。然后,将公钥pk发送给敌手A。

询问阶段:

(1)加密询问:当挑战者收到一个加密请求时,挑战者访问随机谕言机表格使用初始的生成的对称秘钥k和选择的随机比特b进行加密,并将加密结果返回给敌手。

(2)随机谕言机询问:不论是敌手还是挑战者都能够访问随机谕言机,输入x 随机谕言机返回一个对应的随机数。如果表格中存在则返回对应的值,如果表格中不存询问的x, 则现场产生一个随机的k返回。

定义Game 1:

Game 1 和 Game 0 区别不大,但是没有上述第3步骤,如下图:

即,此时随机语言谕言机实现表格中没有初始化的条目,这就意味着挑战者加密使用对称密钥并不一定在谕言机表格中有相应的x来询问对应。如果想要使得Game0 和 Game1 表现出相同的运行结果与过程,在Game 1中敌手必须询问Game 0中的x。我们定义这个事件为Z,根据Difference Lemma 引理,我们得到如下表达式:

如果Z发生,那么敌手的某一个随机谕言机请求就是y的逆,此时可以认为敌手攻破陷门函数。所以自然而然的,我们此处可以使用一个陷门函数敌手B来调用SS-RO敌手针对方案中使用的陷门函数进行攻击,显然此时B敌手的优势就是Z事件的概率。

具体来说,此时可以比较方便的将挑战者改造成为一个陷门函数攻击游戏挑战者,然后构造陷门敌手B调用SS敌手A来于陷门函数攻击挑战者交互,如下图所示:

所以,得到陷门敌手描述:

进一步,在Game 1中,密钥k被用来加密挑战密文,得到密文c,如果说一个敌手能够攻破该对称加密方案,那么也一定能够攻击成功上述整个加密方案,也可以说,如果敌手A能够攻破上述整个方案那么一定存在一个针对该对称方案的SS敌手。

故,根据语义安全的定义,也很容易将上述Game 1改造成为一个SS的攻击游戏,所以得到下述敌手优势:

综上所述,下式成立。

《A Graduate Course in Applied Cryptography》Chapter 11 Public key encryption (2)ss-trapdoor function相关推荐

  1. 《A Graduate Course in Applied Cryptography》Chapter 21 Authenticated Key Exchange (1)

    原文教材 与 参考资料: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取) ...

  2. 《A Graduate Coursse in Applied Cryptography》chapter 2 Encryption (1)

    <A Graduate Coursse in Applied Cryptography>chapter 2 Encryption (1) 原文教材:         Boneh D, Sh ...

  3. 《A Graduate Course in Applied Cryptography》Chapter 12 Chosen ciphertext secure pkc(4)finish

    原文教材 与 参考资料: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取) ...

  4. 《A Graduate Course in Applied Cryptography》Chapter 13 Digital Signatures(2)

    原文教材 与 参考资料: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取) ...

  5. 《A Graduate Course in Applied Cryptography》Chapter 13 Digital Signatures(4)

    原文教材 与 参考资料: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取) ...

  6. 《A Graduate Course in Applied Cryptography》Chapter 15 Elliptic curve cryptography and pairings (1)

    原文教材 与 参考资料: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取) ...

  7. 《A Graduate Course in Applied Cryptography》Chapter 13 Digital Signatures(3)

    原文教材 与 参考资料: Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J]. 该书项目地址(可以免费获取) ...

  8. 《从零开始的 RPG 游戏制作教程》第十期:信息反馈(下)

    目录 1. 前言 2. 第一期:制作基础场景 3. 第二期:让勇者和怪物登场 4. 第三期:基础的数值设计 5.第四期:从理论的角度简单聊聊关卡 6.第五期:制作物品和技能 7.第六期:设置怪物掉落物 ...

  9. 读《从0开始学大数据》-- 学习笔记和感想随笔(一)

    主要记录阅读<从0开始学大数据>课程的学习笔记.课程系统性的介绍大数据的发展史.大数据系统的原理及架构.大数据生态体系中的主要产品.如何进行呢大数据开发实践.大数据平台开发及系统集成.使用 ...

最新文章

  1. SSO单点登录之——JWT
  2. Struts2【一】 配置介绍
  3. Intelij IDEA 常用快捷键
  4. 数据可视化分析票房数据报告_票房收入分析和可视化
  5. 2021年上半年系统集成项目管理工程师综合知识真题及答案解析
  6. centos7卸载旧jdk安装新jdk1.8
  7. 为 Windows 系统替换优雅的苹果字体
  8. java json转二进制数据_Json二进制数据
  9. QT项目--简易音乐播放器
  10. 手写数字识别Mnist数据集和读取代码分享
  11. 100天精通Python(基础篇)——第19天:练习题:我要买票吗
  12. 在php中调用接口以及编写接口
  13. 如何把数据思维应用到业务经营中
  14. 从四大造字法看文字所承载的文化_从造字法看体验文化
  15. 对话姚期智:中国人工智能界是怎么被我教出来的?
  16. windows BitLocker对U盘加密过程
  17. 川崎机器人signal_川崎机器人信号表
  18. springboot2.0日志配置 logback的使用和logback.xml详解
  19. CLLocationManager定位经纬度,MKReverseGeocoder地址解析, MKMapView 地图显示 iphone
  20. Unity中摄像机围绕物体旋转的功能

热门文章

  1. VUE 中 通过v-bind:src 图片不显示问题
  2. UI-- DrawCall
  3. 2022年全球市场排卵试纸总体规模、主要生产商、主要地区、产品和应用细分研究报告
  4. 【Get深一度】高斯白噪声之——散粒噪声(shot noise )
  5. 长春java兴趣班,长春的兴趣班存在一条“鄙视链”,看完扎心了
  6. 访问量大灾倍解决方案
  7. 【嵌入式】STM32串口通信
  8. 万向区块链董事长肖风莅临成都链安 对成都链安在区块链安全方面的贡献高度赞扬...
  9. 矩阵分解(4) -- 特征分解
  10. 电商货源模式有哪些?萌啦带你找到合适货源!