基本概念
对称加密:加密和解密用同一份密钥;
非对称加密:加密和解密用不同的密钥,分别是私钥和公钥,这两份密钥是成对出现的,公钥加密过的密文只有对应的私钥能解密;私钥签名过的密文通过对应的公钥可以正确验签。原则上私钥是不能在网络中传播的。
目标
场景:甲要给乙发送一段机密信息
乙要想确保这次信息传递的机密性、完整性、可信赖性,需要规避以下几条潜在风险:
风险一:明文在传递时可能被截获并读取;
风险二:密文在传递过程中可能被篡改;
风险三:密文可能并不是来自于甲;
对应解决方案
方案一(对称加密):针对上文中说到的风险一,最直接能想到的方案就是甲在发出明文时对其进行加密,这里用到的是对称密钥,然后将密文和密钥分开发送,乙在拿到密钥和密文后用密钥对密文进行解密即可;
问题:就算是分开发送,明文和密钥还是有被同时截获的可能,这就跟没加密一样;
方案二(非对称加密):针对上面这种情况,只要保证对称密钥在传递时不能读取或解析出来就齐活了。这时需要用到非对称加密算法对对称密钥进行保护。乙的公钥是公开的,甲可以拿它来对上文中的对称秘钥进行加密并发送,然后乙用自己的私钥解密加密过的对称密钥即可。只要乙的私钥不上网,黑客就无法解密出加密过的对称秘钥,进而也就不能解密密文;
问题:虽然黑客不能解密密文,但是他还没有放弃,他想:至少我可