HTTPS简析
非对称加密
Client用公钥进行加密,Server用私钥进行解密。
单向陷门函数:通过x可以求出f(x,h),通过 f(x,h) 和 h 可以求出 F(x,h)。在非对称加密中,公钥为 f(x,h) ,私钥为 h ,即可以用公钥将传输的信息 x 加密,接收方利用私钥 h 和公钥 f(x,h) 函数对结果 F(x,h) 进行解密 。
缺点: 算法复杂,效率不高。
公钥由CA发放的原因:防止第三放伪造Server的公钥,Client发送信息到第三方,第三方用自己的私钥解密进而窃取信息。
CA的数字签名算法:
- 通过Server的公钥的一些信息计算哈希出h1。
- 将h1由CA私钥加密生成前面数字证书。
- 客户端收到数字证书后哈希计算除h2。
- 通过操作系统的CA公钥解密数字证书对比h1和h2。
对称加密
使用同一个密钥进行加密和解密。
**缺点:**无法做到安全的密钥交换。
总结
在HTTPS中,一般使用非对称和对称相结合的方式,先用非对称加密方式传递对称加密所需的密钥,再用这个密钥进行对称加密方式传输。