IIWAB

三重DES(3DES)加密步骤

IIWAB 3月前 ⋅ 136 阅读

三重DES(3DES)加密步骤

3DES 本质是DES 算法三次迭代,标准模式为 DES-EDE(加密-解密-加密),分组长度64bit,密钥分双密钥(128bit)三密钥(192bit) 两种,下面分整体流程分步操作、核心规则说明。

一、基础前提

  1. 分组:明文按 64比特(8字节) 分组,不足则填充补齐。
  2. 密钥规则(主流两种):
    • 3密钥模式:(各56bit有效密钥,总192bit)
    • 2密钥模式:(总128bit,最常用)
  3. 运算顺序:E(加密) → D(解密) → E(加密)(DES-EDE 标准)

二、完整加密步骤(单组64bit明文)

设:

  • :64bit 明文分组
  • :最终64bit 密文分组
  • :用密钥DES加密
  • :用密钥DES解密

步骤1:第一次 DES 加密

使用密钥 对明文 加密:

步骤2:第二次 DES 解密

使用密钥 对中间结果 解密:

步骤3:第三次 DES 加密

使用密钥 对中间结果 加密,得到最终密文:

合并公式


三、两种常用密钥组合写法

  1. 三密钥 3DES(192bit) 互不相同,执行上述三步。

  2. 双密钥 3DES(128bit,工业主流) 强制 ,公式简化为:


四、完整数据加密全流程(多组明文)

  1. 明文预处理 原始明文按 8字节(64bit) 切分分组,最后一组长度不足时,按 PKCS7/PKCS5 规则填充。

  2. 逐组执行 3DES-EDE 对每一个64bit分组,依次执行「加密→解密→加密」三步运算。

  3. 拼接输出 将所有分组的密文按顺序拼接,得到最终整体密文(常转十六进制/Base64 输出)。


五、补充:对应解密步骤(反向)

解密是加密逆过程,顺序反转、加解密互换:


六、关键说明

  1. 为什么用 E-D-E 而非 E-E-E? 保证向下兼容单DES:令 ,3DES 等价于标准 DES。
  2. 每个DES子过程内部,仍遵循DES原生规则:初始置换、16轮Feistel迭代、逆初始置换。
  3. 3DES 只是多次调用DES,未改变DES分组结构与轮函数。

全部评论: 0

    我有话说: