混合加密的底层逻辑

混合加密的底层逻辑

甲乙之间进行混合加密的流程:

前提:假如甲乙之间需要传输一个加密文件A,甲乙分别有自己的公钥和私钥,私钥只有自己有,公钥已通过CA证书传给对方。

甲传送:

  1. 甲要创建对称秘钥,将文件A进行对称加密,然后再用乙的公钥将对称秘钥进行加密,目的是这样就只有乙能解开这个加密文件了。
  2. 甲需要先将文件A进行哈希算法,产生文件A的原始摘要,再用甲的私钥对摘要进行签名,生成数字签名,目的是防止篡改所传输的文件A。
  3. 将加密后的文件A、加密后的对称秘钥、数字签名、验证甲身份的CA证书一起传输给乙。

乙接收后:

  1. 乙用自己的私钥解密出对称秘钥。
  2. 乙用对称秘钥解密出文件A。
  3. 乙校验甲的CA证书:签发机构可信、证书在有效期内、无吊销记录,验证通过后取出甲的公钥。
  4. 乙使用甲的公钥验证数字签名,得到文件A的原始摘要;乙还要对解密出的文件A重新执行相同的哈希算法,计算文件A的摘要,对比两份摘要是否一致;摘要一致则文件合法可用、不一致则判定文件被篡改,签名无效,需要丢弃数据。