三段式加密原理

技术交流
0 400

学习本知识,需要了解一下预备知识:

摘要算法 对称加密 非对称加密

三段式加密,顾名思义,就是数据传输过程中,加密数据由三段(数据摘要 + 对称加密数据 + 数字信封)组成。三段分别采用以上三种类型的加密算法。

对称算法与非对称算法的优缺点:

  • 对称算法效率高,但由于其密钥暴露,安全性低
  • 非对称算法只暴露公钥,私钥保密,所以其安全性比对称加密高,但其效率低

三段式加密算法则采其众所长,利用对称算法对明文数据进行加密、非对称算法对对称密钥进行加密,即保证了加密效率,也保障了密钥的安全性。

本文示例采用 MD5 + DES +RSA 三种算法。

在数据传输前,请求方和服务方会约定一对公私钥,请求方持有公钥(publicKey),服务方持有私钥(privateKey); 对称密钥(desKey)由请求方随机生成。

下面来张图作示意说明:

str1 = MD5( 明文 text + desKey ); str2 = DES( 明文 ); str3 = RSA( publicKey , desKey ); 三段之间一般的分隔符 split 一般采用 char 29 ; str = str1 + split + str2 + split + str3 ;

服务方接受到数据之后,处理步骤如下:

以 分隔符(char 29) 对请求密文数据 str 进行分割,得到 str1、str2、str3; 用约定的非对称私钥(privateKey) 对str3 进行解密,获得 DES密钥明文 desKey; 用 desKey 对 str2 进行解密,获得明文 text; 对明文 text 与 对称密钥 desKey 之和 进行 MD5加密; 将步骤4所得结果与 str1 进行比较: 如果相同,则数据处理完成; 如果不同,则可能数据在传输过程中有可能篡改,数据处理失败;

作者:离线中__

链接:https://www.jianshu.com/p/2062199c99fa

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。