归约证明
基本思想:
假设某个低层次难题很难解决,证明在此难题基础上的加密方案是安全的。
本质:
构造/证明一个逻辑命题:Y 是安全的 → X是安全的。Y是我们的前提假设,X是我们所构造的所要证明的协议。
简述:
针对“求证某加密方案的下界”问题
被转化为
“**说明如何将任何概率不可忽略的且成功攻破该构造方案的有效敌手A,转化为成功解决该难题的有效算法A’ **”。
待证:
假设难题X 不能通过任何多项式时间算法以不可忽略的概率被解决***(通俗地说,即假设 难题X 不能在有效时间内被有效地解决)***,
证明密码构造方案是安全的。
利用反正法:Π是不安全的→ 难题X被有效解决
过程:
- 现在有一个有效敌手A攻击Π,此敌手成功的概率是ε(n)。
- 构造有效算法“归约”A’,该算法将敌手A作为子程序来使用,试图解开难题X。指定难题X的一个实例x输入,算法A’会对A模拟一个Π的实例,(要求满足:A’模拟的实例足够逼真,A无法区分此实例是A’模拟的还是本身),如果A成功攻破A’模拟的的实例,则A’可以以大于多项式倒数(1/p(n))的概率解决难题X的实例x。
- 因此,如果ε(n)不可忽略,则A‘解决难题X的概率ε(n)/p(n)也不可忽略。这与题中的假设矛盾。
- 总结:给定此关于难题X的假设,不存在有效敌手以不可忽略的概率解决构造方案Π。
疑问:
- 现在题中的假设是什么 ?
- 难题X 归约到 Π ?
归约:
Reducing A(已知的) to B(要证明的)
即A<=B ,B比A难,如果B能解决,即知道B的解集,那么A一定可以被解决。