HTTPS加密原理 - awokezhou/Communication GitHub Wiki
HTTP的问题
HTTP采用明文传输,所有报文内容都暴露在网络中,容易被窃取和篡改
对称加密的不足
对称加密指通信双方使用相同的密钥进行加密和解密
- 发送方:明文+密钥=密文
- 接收方:密文-密钥=明文 这里“+”和“-”指的是加密和解密 问题在于通信双方必须协商密钥,传输密钥会被窃取
非对称加密
非对称加密指公钥加密的内容,必须用私钥解密,私钥加密的内容,必须用公钥解密 在通信双方发送内容之前,使用非对称加密方式协商对称加密的密钥
- A:明文发送自己的公钥
- B:使用A的公钥加密内容(对称加密密钥)
- A:使用自己的私钥解密内容,获取对称加密密钥
数学原理
数论事实,将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥