https://www.jianshu.com/p/14cd2c9d2cd2 感谢!
密码学基础
密钥:是一种参数,是明文转密文或密文转明文的算法中输入的参数。
对称加密:
其加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下: 密文 + 解密算法 + 私钥 => 明文
非对称加密:
被公钥加密过的密文只能被私钥解密,过程如下:
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
被私钥加密过的密文只能被公钥解密,过程如下:
明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文
HTTPS
- 用非对称加密传输对称加密的秘钥
- 数据用对称加密传输
过程
- client请求
- server回证书+公钥(自己有私钥)
- client验证证书
- client生成随机数作为client key,用公钥加密,发送
- server用私钥解密,得到client key
- server用client key对称加密数据,发送
- client用client key解密数据
https = http + ssl / tls
(secure socket layer, transport layer security,tls是ssl后续版本)