Https与对称加密和非对称加密的关系
程序员文章站
2022-05-15 16:59:37
...
疫情期间在家休息几天后,在头条偶读一片关于https中使用的什么加密方式的文章,由于知识模糊不清,特用这篇文章整理一下
1.首先
什么是对称加密和非对称加密
对称加密:
加密过程:
f1(k,data) = x 得到密文
f2(k,x) = data 得到明文
其中f1和f2是两个加密函数(常见的“对称**”加密算法主要有DES、3DES(TripleDES)、AES、RC2、RC4、RC5和Blowfish等,具体每个算法的实现我就不再这里说了,感兴趣的自己取查找)
缺点:黑客得到秘钥k之后,就能得到明文,假若服务器为每一位用户存储一个k,显然不太现实,所以此加密方式不适用于https
非对称加密:
加密过程:
过程1:客户端 到 服务端
f(pk,data) = Y
f(sk,Y) = data
过程2: 服务端 到 客户端
f(sk,data) = Y1
f(pk,Y1) = data
pk是公钥,所有人都可以获取
sk是私钥,只有服务器有
f是非对称加密算法,非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等
缺点:客户端向服务端发送数据的时候,利用公钥加密,服务端用私钥解密,这个过程是安全的
但服务端向客户端发送数据的时候,试想一下,使用过程2中服务端使用私钥加密得到密文Y1,客户端用pk解密得到data,但pk是大家都能获取到的,所以黑客是可以根据pk获取到明文的,所以也不适用于https
结合两种加密算法的有点,https采用 对称+非对称加密来保证安全,大致的过程如下图,具体的细节还需要深入
大概的过程就是这样,附加一个视频连接,可以去看看:https://www.bilibili.com/video/av66187268?from=search&seid=200498362715329720
上一篇: 一、关于接口安全加密传输对称加密与非对称加密的理解
下一篇: 1.1 安全机制