安全级别(security level)

在密码学中,安全级别是一个加密基元(如一个密文或者一个哈希函数)所能达到的安全强度的测量,其单位通常为bit。一个加密方案是n-bit安全的,意味着一个攻击者想要攻破该方案,必须执行至少2^n次操作。例如AES-128(密钥长度为128bit)的安全级别为128-bit,大概约等于3072-bit的RSA。

目标安全级别是说,该方案设计时必须达到的安全级别。如果攻击者可以以一个更低的代价攻破这个方案,就说明没有达到目标安全级别。

不同的加密方案对“攻破”的定义不一定一样,要看该方案所解决问题的安全需求。比如一个加密方案,如RAS,根据某些明密文对,找到RSA的密钥。一个哈希函数,可能是找到一个哈希值为某定值的原像,也就是哈希函数的原像稳固问题,也可能是找到两个明文的哈希值是一样的,也就是碰撞问题。

通常来说,对于对称加密方案,其安全级别是密钥的长度,比如AES-128的安全级别是128bit。当然对于哈希函数来说,原像问题是密钥的长度,而碰撞问题是密钥长度的一半。不过Phelix(一种根据MAC异或操作的流密码)具有256bit的密钥,却只提供了128bit的安全级别。SHA-3的SHAKE变体,对于256bit的输出,原像和碰撞的安全级别都是128bit。

对于非对称加密来说,有一点不一样。通常来书,非对称加密都是基于某个数学困难问题,该问题从一个方向(加密方向)是简单的,而其逆方向(解密方向)是困难的,需要某个帮助信息(密钥)才能简单解决。攻破该加密方案往往可以规约成解决某个困难问题,比如RSA可以规约到大整数分解问题。所以,非对称加密的安全级别是根据目前解决该困难问题最好的算法所需要的时间来定义的。而且,这些算法往往比暴力破解更加快。

对于“攻破”一个加密方案,是指能够找到一个攻破该方案的算法,其所需要的操作低于他声称的安全级别。但是,在实际中却不一定能够做到。

现在的话,小于2^{80}是可以解决的。而2^{80}2^{100}可能在未来一段时间可以解决。

参考:

维基百科:security level

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