无需登录 数据私有 本地保存

3DES 加密解密工具 - 三重数据加密标准在线

12
0
0
0
✓ 已复制到剪贴板

3DES 加密解密工具

三重数据加密标准 · Triple DES · 在线加密解密

块大小: 64位 密钥: 192位
加密配置
密钥与向量
密钥长度提示将显示在此处
加密时留空将自动生成随机IV
明文输入
密文输出 加密模式
加密时若未填写IV,系统将自动生成随机IV并显示在IV输入框中,请妥善保存IV用于解密。 ECB模式无需IV,且不推荐用于加密超过一个块的数据。
常见问题与知识点

3DES(Triple DES,三重数据加密标准)是DES加密算法的增强版本。它对每个数据块应用三次DES加密操作,使用两个或三个不同的密钥。加密过程为:加密(K1) → 解密(K2) → 加密(K3),即EDE模式。3DES的密钥总长度为168位(有效位,三个56位密钥),块大小与DES相同为64位(8字节)。虽然3DES比单DES更安全,但相较于AES速度较慢,美国NIST已于2023年正式弃用3DES,推荐使用AES。

  • DES:密钥56位,块大小64位,已不安全,可被暴力破解。
  • 3DES:密钥168位(有效),块大小64位,安全性提升但速度较慢,已被逐渐淘汰。
  • AES:密钥128/192/256位,块大小128位,速度快且安全性高,为当前主流加密标准。
推荐新项目使用AES-256-GCM,仅在兼容遗留系统时使用3DES。

ECB(电子密码本模式):每个块独立加密,相同明文块产生相同密文块,无法隐藏数据模式。不需要IV,但不安全,不推荐使用。
CBC(密码块链接模式):每个块与前一个密文块异或后再加密,需要IV向量。安全性较高,是常用的块加密模式。
CFB/OFB/CTR:将块密码转换为流密码的模式,适用于需要流式加密的场景。
一般推荐使用CBC模式配合随机IV。

3DES支持以下密钥长度:
24字节(192位):三个独立密钥K1、K2、K3各8字节,提供最高安全性(168位有效密钥强度)。
16字节(128位):两个密钥,K1和K2各8字节,K3=K1(即加密-解密-加密使用K1和K2)。
8字节(64位):单一密钥,K1=K2=K3,此时等同于单DES(不推荐)。
本工具推荐使用24字节密钥以获得完整安全性。密钥不足24字节时CryptoJS会自动处理扩展。

IV(初始化向量)是一个随机或伪随机的数据块,用于在CBC、CFB、OFB、CTR等模式中初始化加密过程。它确保即使使用相同密钥加密相同明文,每次产生的密文也不同。对于3DES,IV长度必须为8字节。IV不需要保密,但必须是不可预测的(通常使用随机生成)。ECB模式不需要IV。解密时必须使用与加密时相同的IV。

由于3DES是块加密算法(块大小8字节),当明文长度不是8字节的整数倍时需要填充。
PKCS7:最常用,填充字节值等于填充长度(如缺3字节则填充3个0x03)。
ISO 9797-1:填充一个0x80后跟0x00直至填满。
ANSI X.923:填充0x00,最后一个字节为填充长度。
ISO 10126:填充随机字节,最后一个字节为填充长度。
Zero Padding:填充0x00(明文末尾不能有0x00否则无法区分)。
No Padding:不填充,明文长度必须正好是8字节的整数倍。一般推荐使用PKCS7。

3DES的安全性虽然高于单DES,但已不再被视为强加密算法。其有效密钥强度为112位(两个密钥)或168位(三个密钥),但存在中间相遇攻击等已知弱点,且64位的块大小在加密大量数据时容易遭受Sweet32攻击。美国NIST已于2023年正式弃用3DES。对于新系统,强烈建议使用AES-256-GCMChaCha20-Poly1305。3DES目前主要用于兼容某些遗留金融系统(如EMV芯片卡支付)。