隔了很久,又搞混淆非对称加密的过程了,今天回顾了一下,记录下来。
1.首先客户端和服务器采用同一套加密,解密算法。 如RSA。。等
2.客户端和服务器分别持有一个密钥对。 一个密钥对里包含两个密钥:公钥和私钥。 (一个密钥对里使用一个密钥加密的,只能使用你一个密钥解密。 如:客户端的密钥对里,用客户端产生的公钥加的密只能使用客户端产生的私钥解密,用客户端产生的私钥加的密只能用客户端的公钥解密。 服务器同理。 其中公钥加密常用于保证信息不被篡改,读取。 私钥加密常用于认证身份)。
3.传输过程:
a.客户端用自己的密钥加密数据,确保是自己身份。
b.客户端向服务器请求到服务器的公钥,用该公钥和加密算法加密a步骤已经得到加密的数据,相当于第二层加密。
c.服务器接收到数据,用自己的密钥进行b中第二层数据的解密。(由于第二层是服务器的公钥加密的,只有服务器的私钥才能解开,传输过程中取保是没有被修改过的)。
d.服务器向客户端询问客户端私钥,用该私钥解密第一层加密数据。(保证该数据是客户端发出的,不是别的程序用服务器公钥加密的伪造数据).
至此,整个数据加密,解密过程就完成了。