加解密技术原理
加解密技术概览
加解密定义
加密:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,通过这样的途径来达到保护数据不被非法人员窃取、阅读的目的。
解密:数据解密的过程就是对密文使用相应的算法和密钥进行解密处理,将密文解密成明文的过程
加密的安全取决于
- 密钥的生成、管理、存储
- 加密算法的安全性
- 加解密的环境
加密的目的
通过加密可保证信息的机密性、完整性、鉴别性和不可否认性
对称加密算法
对称加密又称为共享密钥加密,它使用同一个密钥对数据进行加密和解密。即:发送和接收数据的双方必须使用相同的密钥
对称加密算法的加密和解密都是用 \(\color{red}{同一个密钥}\)
如图所示:客户端和服务器进行数据交互,采用对称加密算法
客户端与服务器事先协商好对称密钥A
优缺点
优点:
- 加密和解密计算速度较快,效率较高
- 占用资源空间较少
缺点:
- 存在密钥分发、管理的问题
- 存在源认证(身份认证)问题
常见的对称加密算法
非对称加密算法
非对称加密使用两个不同的密钥,公开密钥(简称公钥)和私有密钥(简称私钥)。公钥和私钥是一对,如果用公钥对数据加密,只有用对应的私钥才能解密。
- 非堆成加密算法需要\(\color{red}{一组密钥对}\),分别是\(\color{red}{公钥}\)和\(\color{red}{私钥}\),这两个密钥成对出现。
- 非对称加密解决了对称密钥的发布和管理问题,一个用于加密信息,另一个则用于解密信息。
- 通常以公钥作为加密密钥,以私钥作为解密密钥
如图所示:客户端与服务器进行数据交互,采用非对称加密算法
服务器通过明文将公钥发送给客户端,客户端使用服务器发来的公钥对数据进行加密,然后将数据发送给服务器,服务器用相对应的私钥对客户端发来数据进行解密
优缺点
优点:
- 解决了密钥分发、管理的问题
- 安全性较对称密钥略高
缺点:
- 加密和解密计算速度较慢,运行效率较低
- 占用资源空间较大
- 存在源认证(身份认证)问题
常见的对称加密算法
非对称加密和对称加密结合
- 对称加密的优点在于加密和解密的计算速度快,适合对体量较大的数据进行加密和解密;非对称加密的缺点在于加密和解密的计算速度较慢,只适合对很小的数据进行加密和解密
- 非对称加密的优点在于可以明文将公钥发送给对方,让对方使用公钥加密,自己使用对应的私钥解密即可,解决了密钥分发,管理的问题。对称加密在分发密钥时有被第三者截获的风险。
- 利用非对称加密算法分发管理密钥方便的优势,对称加密算法加解密计算速度的优势,我们取长补短,用非对称加密来加密对称加密的共享密钥,然后在互联网上交换对称加密的共享密钥,然后使用对称加密对数据进行加密传递完美解决问题
典型应用场景
HTTPS(Hypertext Transfer Protocol Secure)就是采用了这种方案。通过非对称加密交换对称加密密钥,然后使用对称加密算法加密业务数据