首先明确一个概念:网上说的“私钥”和“密钥”是同一个东西,因为英文都是“private key”
对称加密:
- A 想向 B 发送密文
- 两个人之间有一个共同的密钥
- A 通过共同的密钥加密明文后发送给 B
- B 收到后再用这个共同的密钥去解密
缺点:要想使用对称加密,那么分享信息的各个个体之间都需要分享这个密钥。只要有一个人的密钥被盗后就可以轻而易举地解密了。
非对称加密:
- A 想向 B 发送密文
- B 就先把自己的公钥给 A
- A 用这个公钥去加密自己的明文,然后发送给 B
- B 收到用公钥加密的明文,然后在用自己的私钥去解密
相对于对称加密,非对称加密即使公钥泄漏,但私钥是一方单独存储的,所以相对安全一点。但是有没有消息泄漏的风险呢?
有,假如 C 想获取这个密文,可以冒充B去发送公钥 ,A 拿到公钥其实是C的,然后返回加密后的密文给C,C再用自己的私钥解密就可以了。简单来说就是 C 冒充 B,然后和 A 进行通信。
网友评论