『壹』 对称加密和非对称加密的,优缺点
密码学中常见的两种加密算法包括对称加密算法与非对称加密算法。对称加密算法,又称单钥密码算法,其加密密钥与解密密钥相同,能够从解密密钥中推算出加密密钥。在多数情况下,加密与解密密钥一致。这类算法也被称为秘密密钥算法或单密钥算法。为了安全通信,发送方与接收方需预先协商一个密钥。对称加密算法的安全性依赖于密钥的保密性。一旦密钥泄露,任何人都可进行加密与解密操作。因此,加密与解密密钥必须严格保密,以确保通信保密性。对称加密算法的加密与解密过程表示为:Ek(M)=CDk(C)=M。
对称加密算法可分为两类。一类是序列算法或序列密码,仅对明文中的单个位(或字节)进行运算;另一类是分组算法或分组密码,对明文的一组位进行运算,这些位组被称为分组。现代计算机密码算法的分组长度通常为64位,足以防止分析破译,但又便于使用。这类算法具有的特性是:Dk(Ek(M))=M。
常见的对称加密方案包括五个组成部分:1)明文:原始信息;2)加密算法:以密钥为参数,对明文进行置换与转换的规则,结果为密文;3)密钥:加密与解密算法的参数,直接影响对明文的变换结果;4)密文:明文的变换结果;5)解密算法:加密算法的逆变换,以密文为输入,密钥为参数,变换结果为明文。
对称加密算法的优点在于高效、算法简单、系统开销小,适合加密大量数据。然而,对称加密算法也存在明显缺陷。首先,安全通信前需要安全地交换密钥,这在某些情况下难以实现。其次,规模复杂。例如,A与B之间的密钥必须不同于A与C之间的密钥,否则B的安全性会受威胁。在一个拥有1000个用户的团体中,A需要保持至少999个密钥(更准确地说是1000个,如果她需要保留一个密钥给自己)。对于该团体中的其他用户,情况相同。这意味着该团体需要近50万个不同的密钥!进一步推而广之,n个用户的团体需要N2/2个不同的密钥。通过应用基于对称加密的中心服务结构,上述问题部分缓解。在这个体系中,团体中的任何用户与中心服务器共享一个密钥,因此需要存储的密钥数量大致等于团体人数。中心服务器还可以为以前不认识的用户充当“介绍人”。然而,中心服务器必须始终保持在线状态,一旦服务器掉线,用户间的通信将无法进行。这意味着中心服务器是通信成败的关键和攻击的焦点,也是庞大组织通信服务的“瓶颈”。
非对称加密算法的特点在于加密密钥与解密密钥不同,且不能由其中一个密钥推导出另一个密钥。对称密钥算法和非对称密钥算法的对比显示,对称密钥算法的加密与解密使用相同的密钥,或者能从加密密钥容易推导出解密密钥。对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点。而非对称密钥算法则具有加解密速度慢,密钥尺寸大,发展历史较短等特点。