什么是对称加密
对称加密也叫做共享密钥加密。
A和B要一起进行通信。他们手里分别都有一个私钥,注意,这两个私钥是相同的。这也就是对称加密名字的由来。
A将需要发送的信息用私钥进行加密,发送给了B。B收到信息之后,将信息使用B的私钥进行解密,就得到了信息的原文。
上述的场景就是对称加密就应用了对称加密算法。
什么是非对称加密
非对称加密又叫做公开密钥加密
对称加密有什么弊端呢?
在对称加密中,私钥的发送是一个很大的难题,通过网络发送也太不安全了,难道要线下给吗,太麻烦了。
现在来看看非对称加密,它很好地解决了上述的困境。
首先A有一个私钥也有一个公钥、B也有一个公钥和一个私钥。
需要注意的是,公钥与密钥中,使用其中一个密钥加密的数据,可以使用另一个密钥进行解密。
比如使用A的公钥加密的数据,可以使用A的私钥进行解密。
这边顺带提一下,使用
公钥加密的是加密,使用私钥加密的是签名
私钥只能自己知道,而公钥谁都知道。街边随便拉一个人都知道的那种。
A现在要给B发一条信息,信息使用B的公钥进行加密。
B收到信息之后,使用B的私钥进行加密,得到了信息原文。
上述就是非对称加密的使用。
混合加密
值得一提的是非对称加密的速度与对称加密相比较慢。
众所周知,被程序员发现了一个可以被优化的地方,那么大概率又有个新东西就要出来了,所以就有了混合加密。
混合加密其实就是对称加密和非对称加密的混合。
首先,使用非对称加密的方式,将后续要用在对称加密的密钥进行传输。
然后在确保后续要被用于对称加密算法的密钥安全送达的前提下,后续的通信采用对称加密进行通信即可。
总结
对称加密通信双方使用的密钥相同。非对称加密发送方使用接收方的公钥进行加密,接收方使用其私钥进行解密。混合加密使用非对称加密的方法传输用于进行对称加密的密钥,后续的通信使用对称加密进行通信。