网络安全讲座之二:加密的应用(1)
加密的优势
加密提供以下四种服务,见表
服务 | 解释 |
数据保密性 | 这是使用加密的通常的原因。通过小心使用数学方程式,你可以保证只有你打算接收的人才能查看它。 |
数据完整性 | 对需要更安全来说数据保密是不够的。数据仍能够被非法破解并修改。一种叫HASH的运算方法能确定数据是否被修改过。 |
认证 | 数字签名提供认证服务。 |
不可否定性 | 数字签名允许用户证明一条信息交换确实发生过。金融组织尤其依赖于这种方式的加密,用于电子货币交易。 |
加密强度
加密文件一个常被讨论但又经常被误解的方面是加密强度。什么构成了加密的强度?什么是被美国出口法保护的?哪种级别的加密是被不同的安全需要所要求的?如何确定加密的有效强度?
加密强度取决于三个主要因素:
首先是算法的强度,包括几个因素,例如,除了尝试所有可能的密钥组合之外的任何方法都不能数学的使信息被解密。从我们的角度而言,我们应该使用工业标准的算法,它们已经被加密学专家测试过无数次,任何一个新的或个体的配方将不被信任直到它被商业的认证。
第二个因素是密钥的保密性,一个合乎逻辑但有时被忽略了的方面,没有算法能够发挥作用如果密钥受到损害,因此,数据的保密程度直接与密钥的保密程度相关,注意区分密钥和算法,算法不需要保密,被加密的数据是先与密钥共同使用,然后再通过加密算法。
第三个因素是密钥程度,这是最为人所知的一个方面,根据加密和解密的应用程序,密钥的长度是由”位”为单位,在密钥的长度上加上一位则相当于把可能的密钥的总数乘以二倍,简单的说构成一个任意给定长度的密钥的位的可能组合的个数可以被表示为2的n次方,这儿的n是一个密钥长度,因此,一个40位密钥长度的配方将是2的40次方或1099511627776种可能的不同的钥,与之形成鲜明对比的是现代计算机的速度。
尽管可能加密的密钥的总数是非常大的,专门的计算机现在可以在不到一天时间内试验许多种密钥的组合,在一九三三年,Michael wiener 研制出一种专门的计算机,专门破译DES(一种使用56-位密钥的算法)。在研制的过程中他发现设计所需要的费用是呈直线型的,考虑到他的结果和Moore的法则的因子(此法则指出计算力大约每18个月增长一倍)。其实任何密码都能破解而无论它的长度,想像一下这样的密钥利用现代的机器去破解是多么的快速。简单的说,一个人或组织在密钥破解的装备上花的钱越多,则密钥就会被越快的破解,这种断言最近已经得到证实。Electronic Frontier Foundation建造的专门的计算机最近在不到三天的时间内破译了一个64位基础的密码。