为什么要用混合加密?
首先我们需要先了解对称加密
概念:采用单钥密码系统的加密方法,同一个密钥加密和解密,常用的对称加密算法DES、3DES、AES、RC2、RC5等。
通俗的说就是你家大门锁和钥匙,你家里有都有大门钥匙来开这一把锁。
那他有什么优点呢?
1.加密计算量小,计算快,适合一些大数量进行加密。
那他有什么缺点呢?
1.密钥传输问题,拥有密钥的一方必须要给另一方传输它的密钥,否者另一方无法加密解密。刚刚说到加密解密都是同一把钥匙,所以那钥匙的保密性至关重要。加密者如何在请求时把密钥传输给对方呢?
2.密钥管理问题,好比你家大门钥匙,全天下的人都用钥匙开锁,不就会存在不同家大门钥匙一样的情况吗。对称加密也同样存在这样的问题。
额外提到一个问题:
会有人质疑对称加密的加密不安全性,被对称加密过的数据确实存在被暴力破解的风险,但这种风险是相对较低的。我们暂且不考虑这个问题。
什么是非对称加密?
概念:非对称加密有两个密钥:一个公钥一个私钥。公钥私钥成对存在。如果公钥对数据加密那就只能用私钥解密,这是他的一个很重要的特点。
特点:算法强度强,因此存在解密性能消耗高,但是安全呀。
公钥对数据加密那就只能用私钥解密。
提到上面的密钥传输问题,我们就会想到它的传输问题。这里它的传输过程是,公钥私钥在后端经过计算生成后,私钥进行数据库存储,不予公开,所以不走传输。公钥公开,任何人可见。不存在泄密行的问题。
人们想用对称加密存在密钥传输问题,想用非对称加密又存在算法强度强,性能消耗大的问题。于是就诞生了混合加密。
什么是混合加密,一般就是将 用户的数据用对称加密算法加密,
用非对称算法对对称机密的密钥进行加密
发送数据
私钥解密非对称数据
用解密后的密钥去解密用户数据
这样非对称解密的数据量小占用性能相对小,对称加密密钥传输更安全。