欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

《Introduction to modern cryptography》CCA 安全 小结

程序员文章站 2022-03-03 20:33:13
《Introduction to modern cryptography》CCA 安全CCA Chosen-Ciphertext AttacksCCA 攻击主要是针对公钥密码学所提出的一种安全定义,对于公钥密码学而言,用户往往从多个其他想要和他通信的用户处接受密文,而对于对称密码学而言,用户往往从指定的参与者处接受密文。这就存在一个问题,公钥所面对的境况比对称密码所面对的情景就复杂不少。对于CCA而言,我们考虑以下的情况:敌手A 获得了 S 发送给R的一段密文,那么敌手A可以选择一些密文发送给R...

《Introduction to modern cryptography》CCA 安全

CCA Chosen-Ciphertext Attacks

CCA 攻击主要是针对公钥密码学所提出的一种安全定义,对于公钥密码学而言,用户往往从多个其他想要和他通信的用户处接受密文,而对于对称密码学而言,用户往往从指定的参与者处接受密文。这就存在一个问题,公钥所面对的境况比对称密码所面对的情景就复杂不少。

对于CCA而言,我们考虑以下的情况:敌手A 获得了 S 发送给R的一段密文,那么敌手A可以选择一些密文发送给R,R则会对A所发送的密文进行解密,然后做出反应,那么A即可获得相关的信息。敌手A可以直接向R发送密文,R有可能直接会解密,那么A则会得到全部解密明文或者其他相关的内容。

以上就是CCA的动机,CCA也是抽象出来的一种捕获公钥密码安全的攻击模式,下文给出一个CCA不可区分实验的形式化描述:

                                               《Introduction to modern cryptography》CCA 安全 小结

1. 运行秘钥生成算法,得到公钥与私钥。

2. 敌手可以获得公钥,以及访问解密预言机的能力,输出两个长度相等的密文给挑战者。

3. 控制解密预言机的挑战者,随机选择一个比特,然后将加密的密文发送给敌手,即为挑战密文。

4. 敌手可以继续与解密谕言机进行交互,但是限制是不能询问解密谕言机。最后敌手输出一个猜测比特。

5. 如果敌手猜测成功,则结束CCA实验。

接着,给出在CCA模型下不可区分的形式化定义:

                       《Introduction to modern cryptography》CCA 安全 小结

安全定义和之前CPA的定义类似。

陷门置换  Trapdoor Permutations

陷门置换是对于一类函数的归类,一个陷门置换族定义如下:

                                  《Introduction to modern cryptography》CCA 安全 小结

一组多项式时间算法被定义为一个陷门置换族。

1. Gen 参数生成算法,输入为1^n, 输出为(I, td),DI 是定义域上的一个置换f的表盒,Dtd是允许求逆的陷门信息。即为,在一个函数族中,存在编号为I的一个函数f, 则对应存在一个计算这个函数逆的陷门信息td.

2. Gen1 表示运行Gen算法,仅仅有一个输出I,这要求此时的函数组为一个单向陷门置换。

3. Samp 是一个概率性算法,由Gen生成的函数f的到一个实例。 

4.lnv 是一个确定的求逆算法,使用陷门信息能够求出函数f 的逆。

陷门置换其实本质上只是一个数学的定义,在密码学中,我们应该对陷门置换的定义加以限制方可使用。密码学中的陷门置换指的是“单向陷门置换”,我们要求缺少陷门信息求逆是困难的。

例如,RSA就是一个陷门置换

1. Gen  ->  e, d, N

2. Samp -> x

3. Eval -> y = x^e mod N

4. Invert -> x = y^d mod N

公钥加密中的陷门置换

陷门置换中要求求逆是复杂的,但是这并不意味着从中获取原像的信息就是复杂的。但是如果我们使用陷门置换构造一个公钥密码协议,那么必须考虑其中比特的提取难度,只有你的方案能尽可能的捕获所有可能的不安全因素,你才能说自己的方案是相对安全的。使用陷门置换构造公钥方案的形式化描述如下:

                           《Introduction to modern cryptography》CCA 安全 小结

即,敌手从函数值中提取出相关困难比特的概率 小于等于 二分之一 加 可忽略概率。

其中,hard-core predicate 的描述如下:

                         《Introduction to modern cryptography》CCA 安全 小结

                        《Introduction to modern cryptography》CCA 安全 小结

一个简单的方式如下所述:

                             《Introduction to modern cryptography》CCA 安全 小结

由于敌手是难以一个高的优势提取困难比特值的,使用这个困难比特 异或 明文消息,得到密文。

敌手如果想要破解这个方案,就需要求出y 的原像,才能破解这个方案。

使用陷门置换构造公钥方案满足CCA安全

定理描述如下:

                              《Introduction to modern cryptography》CCA 安全 小结

方案构造描述如下:

                              《Introduction to modern cryptography》CCA 安全 小结

证明:

安全模型如下:

                            《Introduction to modern cryptography》CCA 安全 小结

敌手行为如下:

                                《Introduction to modern cryptography》CCA 安全 小结

概率计算如下:

                   《Introduction to modern cryptography》CCA 安全 小结

                    《Introduction to modern cryptography》CCA 安全 小结

                               《Introduction to modern cryptography》CCA 安全 小结

本文地址:https://blog.csdn.net/zmrlinux/article/details/107591676

相关标签: 密码学