1.对称加密
对称加密:加密和解密使用的都是同一个密钥(secret key),特点:效率高,但安全性差,这是因为传输过程中密钥可能会被劫持破解
传输过程:
- 生成并发送
密钥:A端生成密钥==传输==> B端接收密钥 - AB端双向传输数据:A端用
密钥对data加密(解密) <==传输==> B端用密钥对data解密(加密)
2.非对称加密
非对称加密:密钥由一对公钥、私钥构成,使用公钥对数据进行加密,私钥对数据进行解密,特点:效率低,安全性高
传输过程:
- B端生成一对
公钥、私钥并发送公钥给A端:B端生成公钥、私钥==传输==> A端接收公钥 - 只能A向B端单向传输数据:A端用
公钥对data加密 ==传输==> B端使用私钥对data解密
3.对称和非对称加密的最佳实践
使用非对称方式对密钥进行加密
- B端生成一对
公钥和私钥,并发送公钥==传输==> A端接收公钥 - A端生成
密钥,用公钥对密钥加密 ==传输==> B端接收后,使用私钥解密得到密钥
使用对称方式双向传输数据
- A端用
密钥对data加密(解密) <==传输==> B端用密钥对data解密(加密)
为什么说对称加密不太安全呢? 我们来打个比方:
密钥是张三的一把保险柜钥匙,他又备份了一把,现在要邮递给李四。但没想到中间遇到邮局的内鬼王老五做了钥匙备份之后才把这把钥匙送到李四(这时候三人都有这把钥匙!!!)。在这之后,张三把机密文件放入保险柜并上锁(加密),然后邮递给李四,但途中被内鬼王老五悄悄用之前备份好的钥匙打开了保险柜,获取到了其中的机密文件
那么该怎么办呢?那就是结合对称加密和非对称加密一起使用,咱们书接上回:
由于上次的经验教训,张三李四变聪明了,这次是李四先把自己的小箱子(公钥)邮寄给张三,中间的内鬼王老五想打开这个小箱子啊,但是他没有这个小箱子的钥匙(私钥),所以只能摇头了。张三在收到这个小箱子时,把自己的保险柜钥匙(密钥)装了进去,然后再邮递给李四(这回王老五一样只能摇头)。李四在收到之后,用自己的钥匙(私钥)打开了这个小箱子,获取到了里边的钥匙(密钥)。在这之后,张三和李四之间的机密交流,都是通过把机密文件放入保险柜之后再邮递,王老五由于没有这个保险柜的钥匙(密钥)啊,全程都只能摇头了