1. 前言
针对任伟译《现代密码学——原理与协议》这本书中,将reduction一词翻译成“规约”,根据笔者在网上查阅资料,最终认为翻译成“归约”更贴合实际。
在密码学中,如果给予敌手足够的时间,那么一个计算安全的密码加密方案迟早会有被攻破的一天。而实际上,为了证明某方案是计算安全的,需要证明该密码方案被攻破的时间下界。一般来说,即证明该密码方案不能在多项式时间内被攻破。
这又引出了另外一个更复杂的问题:如何证明一个密码加密方案无法在多项式时间内被攻破。而目前我们依然无法证明此类问题的下界。
因此取而代之,采取另一个策略:假设某个低层次难题很难解决,证明在此难题基础上的加密方案是安全的。这就是“归约证明”的基本思想。
2. 归约证明简述
上面提到,“归约证明”的基本思想即:假设某个低层次难题很难解决,证明在此难题基础上的加密方案是安全的。因此,针对“求证某加密方案的下界”问题被转化为“陈述一个显式规约,说明如何将任何概率不可忽略的且成功攻破该构造方案的有效敌手A,转化为成功解决该难题的有效算法A'”。
在这里说明:反证法不是“归约证明”所必需的。
《现代密码学——原理与协议》在3.1.3节中提到“归约证明”的解题概要是基于反证法实现的,这里简要叙述一遍:
待证:
假设难题X不能通过任何多项式时间算法以不是可忽略的概率被解决(通俗地说,即X不能在有效时间内被有效地解决),证明密码构造方案是安全的。
过程:
- 现有有效敌手A攻击
,此敌手成功的概率是
。
- 构造有效算法“归约”A',该算法将敌手A作为子程序来使用,试图解开难题X。指定难题X的一个实例输入,算法A'会对A模拟一个
的实例,要求满足:A'模拟的实例足够逼真,A无法区分此实例是A'模拟的还是
本身;如果A成功攻破A'模拟的
的实例,则A'可以以大于多项式倒数的概率解决难题X的实例。
- 因此,如果
不可忽略,则A'解决难题的X的概率也不可忽略。这与题设中的假设矛盾。
- 总结:给定此关于难题X的假设,不存在有效敌手以不可忽略的概率解决构造方案
。
图解:

3. 定长对称密钥加密的敌手不可区分性
3.1 定长对称密钥加密方案
令是带扩展因子
的伪随机数生成器。

3.2 伪随机数生成器
的伪随机性
对所有概率多项式时间的区分器,从
中随机选取
,从
中随机选择种子
,存在可忽略函数
,满足
。
3.3 定长对称密钥加密方案的敌手不可区分性
若是一个伪随机数生成器,则定长对称密钥加密方案
在窃听者存在的情况下不可区分。
分析:
分别创建两个情景: 敌手攻击
和敌手
攻击
。
- 敌手
攻击
:
伪随机数生成器生成字符串
有两种方式:真随机和伪随机。
随机地选择
交给敌手
来判断该
是随机的还是伪随机的。若
输出
满足
,则敌手
成功。
因此有两种情况:
如果给
的是
,则
如果给
的是
,则敌手
成功的概率表示为:
且伪随机数生成器满足
图解:

- 敌手
攻击
定义一个修改的加密方案,对应“一次一密”加密方案。
敌手生成两个长度为
的字符串
和
。
随机选择
,计算密文
交给
来判断
来自
还是
。若敌手
判断正确,则成功。其中
,
为明文。
如果随机获取,则类似于“一次一密”,有
如果由伪随机数生成器生成,则有
,那么概率表示为:
如果下面不等式成立,就可以说明加密协议是安全的:
图解:

证明:记敌手攻击
,敌手
攻击
。
根据上面分析和“归约证明”的基本思想,正式说明逻辑命题等价式表示为:
![]()
将上面所述合并,由敌手来模拟敌手
的挑战者(过程2)。图解如下:

如果随机获取,则
如果由伪随机数生成器生成,则
因为敌手的挑战者由区分器
构造:当
收到
时,
构造密文
,然后将
发送给
。所以此时
和
挑战成功的概率是相等的。
根据不等式
可得
即敌手无法区分两个消息所对应的密文,得证。
4. 参考文献
乔纳森.卡茨,耶胡达.林德尔著,任伟译,现代密码学——原理与协议,国防工业出版社,2017年第一版第4次印刷.
314

被折叠的 条评论
为什么被折叠?



