一、对称加密
概念:加密和解密用同一对密钥的加密技术,叫对称加密。
加密方式:DES、3DES、AES,安全性依次从低到高。
示意图:
重点来讲下AES加密:
- 取代DES成为新标准的一种对称密码算法
- AES的密钥长度有128、192、256bit三种
- 目前AES,已经逐步取代DES、3DES,成为首选的对称密码算法
二、非对称加密,也称公开密钥
概念:加密和解密用不同的密钥的加密技术,叫非对称加密。
典型的加密方式:RSA算法
加密步骤:
- 消息接收者端生成一对公钥和私钥,其中公钥公开出去,给消息发送者加密用;私钥自己保管,不对外泄露。
- 任何人都可以拿到公钥,用公钥加密后将密文发送给接收者。
- 由于私钥只有原来的接收者有,所以其他人就算用公钥去解密,也是没用的。
- 接收者拿到密文后,用原来保管的私钥,进行解密拿到明文。
流程图:
三、两种方式各自的缺点:
- 对称密码的缺点:不能很好地解决密钥配送问题
- 非对称密码的缺点:加解密速度比较慢
四、混合密码系统
概念:将对称密码和公钥密码的优势相结合的方法
优点:解决了公钥密码速度慢的问题;通过公钥密码解决了对称密码的密钥配送问题。
应用:网络上的密码通信所用的SSL/TSL都运用了混合密码系统。
会话密钥的生成:
- 为本次通信随机生成的临时密钥
- 作为对称密码的密钥,用于加密消息,提高速度
加密步骤:
- 首先,消息发送者要拥有消息接收者的公钥
- 生成会话密钥,作为对称密码的密钥,加密消息
- 用消息接收者的公钥,加密会话密钥
- 将上两步生成的加密结果,一并发送给消息接收者
最终,发出去的消息包括两部分:
- 用公钥加密后的会话密钥(非对称加密)
- 用会话密钥加密的消息(对称加密)
解密步骤:
- 接收者拿到
用公钥加密后的会话密钥
的消息,用自己的私钥进行解密,得到真实的密钥 - 拿到步骤1中解密后的密钥,用该密钥解密消息内容。
示意图:
五、混合加密的一些思考
1. 为什么加密消息主体要用对称加密?
因为消息主体信息量大,发送频繁,而对称加密速度快,效率高。
2. 为什么加密会话密钥要用非对称加密?
因为会话密钥一般比较短,而且通常只需要发送一次即可,所以对速度要求不高,但对安全性要求很高,非对称加密满足这个要求。