HTTPS加密原理 - awokezhou/Communication GitHub Wiki

HTTP的问题

HTTP采用明文传输,所有报文内容都暴露在网络中,容易被窃取和篡改

对称加密的不足

对称加密指通信双方使用相同的密钥进行加密和解密

  • 发送方:明文+密钥=密文
  • 接收方:密文-密钥=明文 这里“+”和“-”指的是加密和解密 问题在于通信双方必须协商密钥,传输密钥会被窃取

非对称加密

非对称加密指公钥加密的内容,必须用私钥解密,私钥加密的内容,必须用公钥解密 在通信双方发送内容之前,使用非对称加密方式协商对称加密的密钥

  • A:明文发送自己的公钥
  • B:使用A的公钥加密内容(对称加密密钥)
  • A:使用自己的私钥解密内容,获取对称加密密钥

数学原理

数论事实,将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥