据明代万达数据安全专家介绍,影响密码系统安全的基本因素包括密码算法的复杂性、密钥的保密性和密钥的长度。所用密码算法的复杂度或安全强度取决于密码设计和解密技术的水平,是密码系统安全性的保证。
1.密钥的保密性
关于密码系统的安全性,尤其是密钥的保密性,早在1883年,科克霍夫就在他的著作《军事密码学》中提出了以下原则:即使密码系统中的算法被密码学家所知,也不应该有助于导出明文或密钥。这一原理被后世广泛接受,称为科克霍夫原理,并成为密码系统设计的重要原则之一。
换句话说,科克霍夫原理意味着在评估密码系统的安全性时,假设攻击者知道当前使用的所有密码方法。系统的保密性不取决于加密系统或算法的保密性,而是取决于密钥。这是因为攻击者最终可能通过逆向工程分析获得密码算法;攻击者通过收集大量明文/密文对来分析和破解密码算法;在密码算法的实际使用中,不排除很多知道算法一些内部机制的人有意无意地泄露了算法原理。
由于现代密码学依赖于密钥,因此密钥的安全管理是密码学应用中非常重要的一个环节。只有当密钥是安全的并且不容易被对手获得或破解时,才能保证实际通信或加密数据的安全性。密钥管理主要研究如何在不安全的环境下向用户分发密码信息,使密钥得到安全有效的使用。它在安全策略的指导下,处理从密钥生成到最终销毁的全过程,包括密钥生成、存储、备份/恢复、加载、分发、保护、更新、泄漏、撤销、销毁等。密钥管理本身是一个非常复杂的问题,是保证密码安全的关键。密码管理方法因使用的密码系统而异。
2.密码算法的复杂性
密码算法的复杂性是保证密码安全的基本条件。
如果一个密码系统使用的密码算法不够复杂,或者看起来很复杂,但实际上存在体制上的弱点,那么攻击者很容易利用它,不需要尝试所有的密钥就很容易得到明文。单表替代密码是最容易被破解的密码算法之一。在这个密码系统中,虽然可能的密钥数是26!~ 410 ^ 26,但密码学家几分钟就能破解算法。
3.密钥长度
除了密码算法的复杂性之外,密钥长度也是保证密码系统安全性的一个基本因素。
破解一把钥匙最简单的方法就是尝试所有可能的钥匙,看看到底用的是哪把。在这种攻击中,要尝试的密码数量与要检索的整个密钥空间密切相关,即与秘密的长度密切相关。如果密钥长度为16位,则有2 ^ 16=可能的密钥,而在DES算法中,如果密钥长度为56位,则有2 ^ 56=7.210 ^ 16个可能的密钥。1977年,又承担了破译DES的特殊机器。如果每秒钟可以尝试一百万个密钥,那么尝试所有56位的密钥大约需要2285年。如果一个算法使用64位的密钥,那么机器要花好几年的时间来尝试所有的密钥。
4.密码系统安全评估方法
评估密码系统安全性的主要方法有三种:
相关阅读
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除
标签: #密码算法最新动态