密钥的安全性要求

TIME:2019-03-21   click: 252 次

对称密码系统的安全性取决于两个因素:算法的强度和密钥的长度。

这里假设算法强度是完美的。所谓完美,指的是除了穷举搜索密钥空间(又称蛮力攻击)之外,没有任何其他更好的方法来破译密码系统。也就是说,算法必须坚固到没有比蛮力攻击更好的方法。这往往是很不容易做到的。密码学是一门非常精细奇妙的艺术,很多看上去貌似非常完美的密码系统往往是十分脆弱的。即使是很坚固的密码体制,哪怕是只要有一点小小的改动就会变得非常脆弱。

根据 Kerckhoffs假设,密码体制的安全性应该依赖于密钥的安全性,而不是依赖于算法细节的安全性,这是密码学界公认的基本准则之一。如果一个新的密码体制的安全强度依赖于攻击者不知道算法内部的操作细节,这将必败无疑。如果坚信对算法内部细节的保密要比公开算法细节而让密码学学术专家来分析更能提高密码体制的安全性,这也是大错特错的。甚至认为没有人能将源代码反汇编出来或者将算法分析出来更是极其天真的想法。

当人们]假设算法强度是完美的,也就是加密算法除了穷举密钥攻击之外无任何其他捷径能够破译这个密码系统时,那么密钥长度和每秒可以实现的搜索密钥数决定了密码体制的安全性。

那么密钥的长度到底应该多长才合适呢?这就要求人们首先要确定自己需要多高的安全性。通常对密钥的长度的选择需要综合考虑信息价值的大小、信息保密期的长短以及攻击者的计算能力、成本等诸多因素一般来说,信息价值越大、保密期越长、攻击者计算能力越强,则要求密钥长度越长;反之越短。

密钥的长度对密钥的强度有直接的影响。密码系统的安全性主要依赖于密钥,而不是依赖于算法的具体细节。选择密钥长度不能太长也不能太短。如果密钥过长,对信息进行加密和解密所进行的计算复杂度也越高,对计算机的要求也越高,使用者所需要付出的成本也越高。但是如果是密钥过短,穷举搜索攻击法很容易就能破译。

 

上一篇:密钥的分类和作用 下一篇:密钥