原文教材 与 参考资料:

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

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

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

12.6  CCA security via a generic transformation

本节主要描述的是一个自然的将CPA方案转换为CCA方案的方法,成为Fujisaki-Okamoto transformation, 这个转换技术允许有效的将一个公钥加密方案(即使安全性弱于CCA),转换为一个CCA安全的加密方案在随机谕言机模型下。当然,目前存在不依赖于随机谕言机的转换方案,但是我们需要注意的是存在不依赖于随机谕言机的转换方法,但是那些方法目前效率较低。

Fujisaki-Okamoto技术亦可以将部分基于格的方案,基于编码的方案与NTRU方案转换为CCA安全的,在随机谕言机模型下。

The Fujisaki-Okamoto transformation 

该技术允许从单向概率公钥加密方案构造一个单向陷门函数协议(即使有像谕言机),我们可以将FFO嵌入到TDF with 1CCA cipher 的方案中,从而获得一个RO-CCA的公钥加密协议。

得到如下的方案:

加密算法:E是一个概率性算法,亦可使用一个确定性的表达方式,不过要加上随机空间,如下所示:E(pk,x:r)。

解密算法:D是一个确定性的解密算法,不过收到错误密文不在返回一个终止符号,而是返回一个默认消息。

FO转换应用于一个公钥加密算法(CPA)的流程如下:

将原始公钥加密方案的加密算法修改一个单向陷门函数:

接着就是证明新的方案满足两个属性,单向性与不可预测性:

 单向性:很难从密文计算得到明文,详细的游戏细节描述如下:

不可预测性:对于同一个明文的加密获得同样密文的概率可以忽略,这将有效的降低密文的可延展性(CCA)。形式化的定义如下:

值得注意的是,单向假设和不可预测假设都已经被语义安全所实现,非常容易将任意的公钥加密协议转换为一个满足上述假设的方案,在不影响原本的单向假设下。

如果U(随机化明文的函数)可以被视作为随机谕言机模型,并且该加密方案是单向且不可预测的,那么陷门函数协议FFO,是单向的在给于原像谕言机下,由于Fujisaki-Okamoto transformation。(这将意味着可以直接转换为本书12.4、5节提到的基于RO-1CCA的CCA构造)。

那么,我们将得到攻击该方案敌手的优势如下所示:

首先,定义Game 0运行敌手A和FFO在随机谕言机版本的陷门攻击游戏中,进一步修改挑战者构造Game 1,2。定义Wj 为敌手在Game j中,敌手的所有随机谕言机请求中包含秘密值x的事件。假设敌手对自己所有的输出都需要进行随机谕言机请求,那么显然,如果敌手在Game 0中的优势如下:

在Game 0中,挑战者必须响应敌手的随机谕言机请求和镜像请求。使用Map记录随机谕言机的的输入与输出,敌手可以进行任意次的随机谕言机请求和任意次的镜像请求。并且使用另外一个表格Pre来跟踪敌手随机谕言机请求,记为Pre[y] = x,用以记录y的原像。

 Game 0: 描述如下所示:

Game 1:修改的部分如下:

将第(2)步修改为:

定义在Game 1中发生的事件为Z1,也就是说敌手提交了一个原像谕言机请求如下:

那么,由Difference lemma 可以得到:

如果Z1发生,意味着敌手找到了一个y`,与挑战y不相等,与之对应的原像x没有被作为随机谕言机请求过并且y`是一个合法的可以用私钥sk解密的y`, 即为存在原像。对于这种情况,在Game 1中,只可能是下述两种情况之一:

在x与其询问原像相同的情况下,得到不同的加密值。或者,x与其询问原像不同,r对于敌手又是独立的,并且计算加密得到询问y`。由单向陷门函数的加密不可预测性,得到一下不等式:

 Game 2: 与Game 1相同,除了修改原像谕言机描述如下:

这里相比于Game 1不在使用私钥sk,那么此时Game2 和 Game1 输出相同,得到如下等式:

Pr[W2]   = Pr[W1]

Game 3: 进一步, 删除步骤 (1) 得到Game3

删除步骤1后,游戏2 和 游戏3的唯一区别为,是否有x的初始化赋值,那么只要敌手不询问到x, W3 和 W2的是相同的,所以有:

如果在游戏3中询问到x,那么存在敌手B可以直接调用A构造一个新的OW敌手,赢得单向陷门函数攻击游戏,但是B想要从原像集合中找到该解也是比较困难的一件事,所以敌手只需要随机的从原像集合中选择一个条目作为攻击优势,因为在W3的条件下,敌手必然会请求到x,敌手总共会进行Qro次请求,所以W3发生的概率即为所有次谕言机请求概率求和,因为每次都是均匀随机选择,OWadv就是B以随机选取一个答案赢得游戏的过程,一共有Qro次询问次数,所以得到以下等式。得证。

12.6.1 A generic instantiation

给出一个通用的实际例子:

加密解密算法如上图所示,根据之前的通用构造我们可以立即得到:

实际上FO转换就是在随机谕言机模型下利用KEM密钥封装机制框架,使用一个公钥加密方案和1CCA的对称加密方案构造了一种CCA的公钥加密方案,并给出了通用构造证明,核心在于给KEM的公钥引入随机空间R保证其不可延展。

《A Graduate Course in Applied Cryptography》Chapter 12 Chosen ciphertext secure pkc(4)finish相关推荐

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

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

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

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

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

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

  4. 《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]. 该书项目地址(可以免费获取) ...

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

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

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

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

  7. 《A Graduate Course in Applied Cryptography》Chapter 11 Public key encryption (2)ss-trapdoor function

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

  8. 小啊呜产品读书笔记001:《邱岳的产品手记-15》第28讲 产品分析的套路(上):谁是利益相关者? 29讲产品分析的套路(中):解决什么问题?

    小啊呜产品读书笔记001:<邱岳的产品手记-15>第28讲 产品分析的套路(上):谁是利益相关者?& 29讲产品分析的套路(中):解决什么问题? 一.今日阅读计划 二.泛读& ...

  9. 【北京迅为】《iTOP-3568开发板快速测试手册》第4章 Buildroot系统功能测试(3)

    瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器.RK3568 支持4K 解码和 1080P 编 ...

最新文章

  1. Kraken采用CashAddr地址,BCH地址统一向前一步
  2. 内核分析PE获取DLL导出函数地址
  3. 网站导航栏如何设置更利于提升SEO优化效果?
  4. 五、curator recipes之选举主节点Leader Latch
  5. vue踩坑- 报错npm ERR! cb() never called!
  6. MFC中的InitInstance()函数应该怎样理解
  7. 将Python源码编译成pyc和pyo文件
  8. java的继承_java中的继承(一)
  9. Java使用MyEclipse构建webService简单案例
  10. 泛型类有什么作用_3 分钟带你彻底搞懂 Java 泛型背后的秘密
  11. 重启openstack服务_如何“ Kubernetize” OpenStack服务
  12. 从青铜到王者,来聊聊 Synchronized 底层实现原理 | 原力计划
  13. @value 静态变量_C语言基本知识:变量
  14. Linux系统时间和java的时间不一致
  15. 用idea创建vue项目
  16. 仙剑奇侠传脚本制作教程
  17. 机器学习与分布式机器学习_机器学习-什么是机器学习?
  18. ubuntu20.04不是所有者所以不能更改权限
  19. PowerPoint课件动画制作三例
  20. 计算机对水利方面的影响,计算机技术对于水利工程信息化系统的优化作用

热门文章

  1. 【教程】win10下安装Biolinux双系统
  2. Vue 中监控img加载完毕事件
  3. 请教个问题,我想把数据中名字的重复值删掉,只保留年纪大的怎么整呢?
  4. Angular+PrimeNg 分页器给后端传参分页
  5. 解绑数字身份,解锁新玩法与构建方式(下)
  6. 河南漯河警方承认交警代司机交罚款有错-罚款-交警罚款
  7. Windows里下载并安装phpstudy(图文详解)
  8. Ps做的图片html显示不了,为什么导入到PS的图片有图层却显示不出来?
  9. android 百度地图 itemizedoverlay,[008] 百度地图API之ItemizedOverlay的使用(Android) .
  10. tilemap 导入unity_Unity3D中Isometric Tilemap功能实践