4.8 密码算法小结
公钥密码虽然具有一些单钥算法无法比拟的优点,但关于公钥算法的以下认识也是不对的:
● 公开密钥密码算法更安全。决定算法安全性的不是体制,从前面可以看到算法的安全性和密钥长度相关。要得到和对称算法同样的安全性,公钥算法需要更大的密钥长度。
● 公开密钥密码使对称密钥密码过时了。公开密钥密码算法计算量大,加密数据的速率较低。实际应用中人们通常将对称密码和公钥密码结合在一起使用,比如:利用DES或者AES来加密信息,而采用RSA来传递会话密钥。
● 公钥的分发是简单和一目了然的。公钥的分发虽然不需要保密,但需要保证公钥的真实性。这也需要相应的技术。
对称密码算法运算速度快、密钥短,可用于多种用途,比如随机数产生和Hash函数的构造,历史悠久,但面临密钥管理的困难。使用对称密码的通信双方是平等的,所以不能为发送者提供保护。
非对称密码算法只需保管私钥,可以相当长的时间保持不变,需要的密钥数目较小,但运算速度慢,密钥尺寸大,出现的历史很短。使用非对称密码通信的双方是不平等的,因为加密消息和验证签名的人不能解密同一信息和产生同样的签名。