《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].

        该书项目地址(可以免费获取):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保证其不可延展。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值