密码学中的安全性证明

安全性证明的定义是这样的:

所谓密码算法的安全性证明就是判定在一个普通的攻击模型中,密码算法和所依赖的可信密码学算法问题之间的规约关系,如果算法的攻破(即攻击者赢)意味着某一在密码学中可信问题的解决,则说明该算法是安全的,即安全性得到证明。

第一次看这个概念,很懵,难道一个可以攻破的密码的算法是安全的吗?很懵,于是去找了密码学比较好的朋友询问。

原来应该是这样理解的:

一般的安全性证明需要假设:敌手可以攻破这个方案,最后规约到敌手可以解决一个困难性问题。这样和公理中困难性问题的假设矛盾了,所以可以证明这个方案是安全的。

把密码方案安全性规约到困难性问题,也就是敌手只有解决困难性问题才可以攻破这个方案,而这往往是不可能的,所以可以证明这个密码方案是安全的。

你可能感兴趣的:(密码学)