3.2关于安全的定义
定义背后的思想,敌人不能从密文获取明文的信息。因此要定义语义安全。
先从定义不可区分性开始
上述定义说明了,如果在上面的实验中,任何PPT敌手的成功概率的最大值高于0.5的部分可以忽略,则一个加密方案是安全的。
下面这个例子很具体的说明了不可区分加密的思想
下面是与之等价的定义
即如果敌手具备较高概率根据密文猜测出明文的某位bit的话,则不满足不可区分的加密。
上述的明文的某个bit是明文的一个信息,它可以表示为一种关于明文信息的函数。因此我们可以推广到任意的关于明文的函数,类似地,我们有以下Claim
下面来定义语义安全
这里的定义又是一次推广,之前m的选取是一个均匀分布,现在是给定一个分布,并且又通过给予敌手h(m),来模拟外部的关于m信息被泄露给敌手。
安全需求陈述的是, 当给予密文时, A猜测f(m的成功概率和某个不给予密文的算法A'本质上是一样的。因此 ,密文Enck(m)没有泄露任何关于f(m)的信息。
这样,对安全保证的形式化描述就建立起来了。此外,我们还有