非对称加密协议的实现过程
普通非对称加密实现过程
Alice是发送者,Bob是接受者
Alice先对原始信息使用hash算法进行摘要,并且用Alice的私钥对摘要进行加密形成数字签名
Alice将原始信息、数字签名和自己的证书用一个对称密钥进行加密,加密后发送给Bob
Alice使用Bob的公钥对对称密钥进行加密,将加密后的密钥信封发送给Bob
Bob收到数据包后,使用自己的私钥对密钥信封解密获得对称密钥
Bob使用对称密钥对(原始信息、数字签名和证书)加密包进行解密
Bob从证书中取得Alice的公钥
Bob使用Alice的公钥对数字签名进行解密获得摘要
Bob使用相同的hash对原始信息进行摘要获得摘要1
Bob将摘要和摘要1进行对比,如果相同则可以确定原始信息在发送途中并没有被篡改
https协议的tls实现过程
客户端向服务器端发送随机数1和许多的加密套件
服务器端接收,将随机数2、选择的某一个加密套件、证书、自己的公钥发送给客户端
客户端验证证书有效性,用随机数1加上随机数2生成预主密钥,用服务器发过来的公钥对预主密钥进行加密,将预主密钥发送给服务器
服务器接收预主密钥,用私钥解密,用选择的加密套件对随机数1、随机数2加上预主密钥(解密后)加密生成()