马上就考试了,在线等,火急…对称密钥和非对称密钥区别

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:00:33

密码学中两种常见的密码算法为对称密码算法(单钥密码算法)和非对称密码算法(公钥密码算法)。

对称密码算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要保密,密钥就必须保密。对称算法的加密和解密表示为:

Ek(M)=C

Dk(C)=M

对称算法可分为两类。一次只对明文中的单个位(有时对字节)运算的算法称为序列算法或序列密码。另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的算法称为分组算法或分组密码。现代计算机密码算法的典型分组长度为64位――这个长度大到足以防止分析破译,但又小到足以方便作用。

这种算法具有如下的特性:

Dk(Ek(M))=M

常用的采用对称密码术的加密方案有5个组成部分(如图所示)

l)明文:原始信息。

2)加密算法:以密钥为参数,对明文进行多种置换和转换的规则和步骤,变换结果为密文。

3)密钥:加密与解密算法的参数,直接影响对明文进行变换的结果。

4)密文:对明文进行变换的结果。

5)解密算法:加密算法的逆变换,以密文为输入、密钥为参数,变换结果为明文。

对称密码术的优点在于效率高(加/解密速度能达到数十兆/秒或更多),算法简单,系统开销小,适合加密大量数据。

尽管对称密码术有一些很好的特性,但它也存在着明显的缺陷,包括:

l)进行安全通信前需要以安全方式进行密钥交换。这一步骤,在某种情况下是可行的,但在某些情况下会非常困难,甚至无法实现。

2)规模复杂。举例来说,A与B两人之间的密钥必须不同于A和C两人之间的密钥,否则给B的消息的安全性就会受到威胁。在有1000个用户的团体中,A需要保持至少999个密钥(更确切的说是1000个,如果她需要留一个