两类密码体制
一、对称密钥密码体制
- 所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。
- 这种加密系统又称为对称密钥系统。
1.1.对称密钥的缺点与优点
缺点:
- 若通信双方使用的密钥通过网络传输,会有被他人截获的风险,因此密钥不适合在网上传输。
- 若用户A想与多个用户通信需要知道多个密钥,密钥维护量大。
优点:效率高。
1.2.数据加密标准 DES
- 数据加密标准 DES 属于常规(对称)密钥密码体制,是一种分组密码。
- 数据加密分为:加密算法和加密密钥两部分。
- 在加密前,先对整个明文进行分组。每一个组长为 64 位。
- 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。
- 最后将各组密文串接起来,即得出整个的密文。
- 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。
1.3.DES 的保密性
-
DES 的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译 DES 方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。
-
DES 是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。
-
DES算法的保密性取决于加密时使用密钥的长度:
使用56位密钥加密,破解需要3.5或21分钟;
使用128位密钥加密,破解需要5.4x10的18次方年。
二、公钥密码体制(非对称密钥密码体制)
-
公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
-
使用的密钥分为公钥和私钥,两种密钥成对使用。使用公钥加密和私钥解密;使用私钥加密和公钥解密。
-
现有最著名的公钥密码体制是RSA 体制,它基于数论中大数分解问题的体制,由美国三位科学家 Rivest, Shamir 和 Adleman 于 1976 年提出并在 1978 年正式发表的。
2.1.加密密钥与解密密钥
-
公钥和私钥密钥对,是由计算机产生的随机数通过算法得出的两部分。
-
在公钥密码体制中,加密密钥(即公钥) PK(Public Key) 是公开信息,而解密密钥(即私钥或秘钥) SK(Secret Key) 是需要保密的。
-
加密算法 E 和解密算法 D 也都是公开的。
-
虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。
2.2.公钥算法的特点
- 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:
- 解密密钥是接收者专用的秘钥,对其他人都保密。
- 加密密钥是公开的,但不能用它来解密,即:
- 加密和解密的运算可以对调,即可用公钥加密,私钥解密;也可用私钥加密,公钥解密。
2.3.公钥密码体制加密过程
- 若用户A要与用户B进行加密通信,首先B要把自己的公钥PKB发送给A,A使用B的公钥对通信的明文X进行加密,生成密文Y,密文Y通过因特网传输到用户B处,用户B使用自己的私钥SKB对密文Y进行解密得到明文X;
- 如果密文Y在因特网上传输的过程中被用户C截获了,用户C无论是使用用户B的公钥PKB,还是自己的私钥SKC都无法对密文Y进行解密。只有用B的私钥SKB才能解密用B的公钥PKB加密的明文。
- 用户B想要与其他用户进行加密通信,只需要把自己的公钥告诉对方即可。公钥是公开的,没有公钥对应的私钥,即使密文被截获也不能被解密,只要保管好私钥,就能达到较高的安全程度。
- 公钥密码体制的缺点为效率低。
2.4.实际应用过程
实际进行加密通信时,往往综合使用对称加密和非对称加密的方式。如图所示:B想要给A发送一份500M的文件,如果直接使用A的公钥对500M文件进行加密将会耗费大量时间;
实际做法为:B产生一个相对简单的对称公钥A2,首先使用A2对文件进行加密,由于A2比较简单加密耗时较短。然后使用A的公钥对对称密钥A2进行加密。最后将A、A2和已加密文件组成的整体发送给用户A 。
用户A收到之后,使用私钥解密得到对称公钥A2,再使用A2对文件进行解密得到文件。
总结:实际应用过程中使用对称加密和非对称加密相结合的方式,既具备了对称加密的高效率,也具备了非对称加密的安全性。