1. 消息鉴别码实验
运行得到密钥,即。
敌手获得输入,且能够访问预言机,最终输出,其中为消息的鉴别码。设为敌手访问预言机的问询集合。
当且仅当且,实验输出1。其中是鉴别码方案的验证方法。
如果一个消息鉴别码方案,满足敌手,存在可忽略函数,使实验,我们称其为适应性选择消息攻击下存在性不可伪造的,即安全的。
2. 伪随机函数
令是有效的、长度保留的、带密钥的函数。如果对于所有多项式时间的区分器,存在可忽略函数,满足
则是一个伪随机函数,其中是随机均匀选择的,是将比特字符串映射到比特字符串的函数集合中均匀随机选择出来的。
这部分在《密码学归约证明——选择明文攻击下的不可区分性》中已经有所描述。
3. 基于的安全的消息鉴别码方案
- :输入参数,均匀随机选择;
- :输入密钥和消息,输出标记。
- :输入密钥、消息和标记,当且仅当时输出1。
此方案我们只考虑密钥、消息和标记的长度相同的情况(即长度保留)。因此,倘若接收到长度不为的消息,则不输出;接收到长度不为的标记,输出0。
4. 适应性选择消息攻击下存在性不可伪造
若是一个,则上述构造方案是长度为的定长消息的安全的方案。
思路类似于之前的归约证明方式,定义一个区分器可以区分随机函数与,将此区分器归约到攻破上述方案。
假设一个消息鉴别码方案是将上述方案中的替换为随机函数的变体。因此在此种情况下,敌手可以认为是均匀分布在上的,因此。
现在构造区分器,目标是区分与随机函数:区分器给定输入,并且可以访问预言机:
- 运行。当敌手向其预言机问询消息时,区分器向问询并得到应答,返回给。
- 最终输出:区分器向问询并得到应答,若且从未问询过,则区分器输出1。
若的预言机是伪随机函数,则所见情形与实验中相同,满足。
若的预言机是随机函数,则所见情形与实验中相同,满足。
又,因此。
故此方案是长度为的定长消息的安全的方案。
5. 参考文献
乔纳森.卡茨,耶胡达.林德尔著,任伟译,现代密码学——原理与协议,国防工业出版社,2017年第一版第4次印刷.