公钥加密方案在选择密文攻击下的不可区分性
IND-CPA安全仅保证敌手是完全被动情况的安全,不能保证敌手主动情况(如向网络中注入消息)的安全。
为了描述敌手的主动攻击,前人提出一种选择密文攻击(Chosen Ciphertext Attack,CCA)的概念,其中敌手在获得目标密文以前,可以访问解密喻言机。敌手获得目标密文后,希望获得目标密文对应的明文的部分信息。
公钥加密方案在选择密文攻击下的IND游戏如下:
(1)初始化。挑战者产生系统,敌手获得系统的公开钥。
(2)训练。敌手向挑战者做解密询问,即取密文CT给挑战者,挑战者解密后,将明文给敌手。
(3)挑战,敌手输出两个长度相同的消息,再从挑战者接收的密文,其中随机值。
(4)猜测,敌手输出,如果,则敌手攻击成功。
以上攻击过程称为午餐时间攻击,相当于有一个执行解密运算的黑河,掌握黑盒的人在午餐时间离开后,敌手能使用黑河对自己选择的密文解密。午餐过后,给敌手一个目标密文,敌手试图对目标密文解密,但不能再使用黑盒。
敌手的优势定义为安全参数的函数:
如果对任何多项式时间的敌手,存在一个可忽略函数,使得,那么我们就称这个加密算法在选择密文攻击下具有不可区分性,或者称为IND-CCA安全。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hibara!