一:加密/解密
加密:将明文转换成密文的过程
解密:将密文转换成明文的过程
二:秘钥
秘钥的实质是一个字符串,其度量单位为bit(位),按照秘钥的使用方式,加密可以分为两大类,对称加密和非对称加密,对称加密是指加密解密都用同一把秘钥,目前最流行的对称加密算法为AES加密算法,秘钥的长度为128、192或256,安全性较高,性能较好。
- 加密分组模式:将明文分组加密,微信支付中使用AEAD_AES_256_GCM进行分组加密。
非对称加密指使用公钥加密后只能使用私钥进行解密,反过来,私钥进行加密之后也只能用公钥进行解密,其中RSA加密算法是最著名的非对称加密算法。
举个例子:假如Tom、Jerry要给朋友zhangsan发送消息,zhangsan可以将自己的公钥分发给Tom和Jerry,这样Tom和Jerry就可以用这个公钥进行加密,此时只有拥有私钥的zhangsan能对消息进行解密,保证了消息的机密性。反过来假如zhangsan用私钥进行加密,Tom及Jerry接收到消息之后用zhangsan分发的公钥进行解密,解密成功说明该消息是zhangsan发送的。
三:对称加密VS非对称加密
对称加密:
优点;运算速度快
缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息就会被破解
非对称加密:
优点:私钥严格保密,公钥任意分发,黑客获取公钥无法破解密文
缺点:运算速度很慢
四:HTTPS加密传输过程
在HTTPS传输中,既要保证传输速度也要保证传输安全性,这时候可以对服务器公钥进行非对称加密传输,服务器获取到加密的会话主秘钥之后,再用服务器私钥进行解密获取会话主密钥,然后再用对称加密进行数据传输以保证传输效率。