可证明安全的思想
可证明安全的思想就是给定一个算法A,我们提出一个新算法BA,BA把A作为子程序。输入给BA的是我们希望解决的困难问题,输入给A的是某个密码算法。然而,如果A是一个积极攻击敌手,即A可以对输入的公钥进行解密预言询问或签名预言询问。算法BA要想使用A作为子程序,就需对A的询问提供回答。算法BA需要应对以下几个问题:
它的回答应该看起来是合法的。因为加密应该能够解密,签名应该能够被验证,否则,算法A就知道它的预言机在撒谎。算法BA就不能再确保算法A是以一个不可忽略的概率成功。
它的回答应该与如果预言机是真正的解密/加密预言机时A期望的回答具有相同的概率分布。
自始至终,预言机的回答应该是一致的。
算法BA需要在不知道私钥的情况下提供这些回答。
1