Java 加密解密之对称加密算法DESede 本文转自网络 DESede 即三重DES 加密算法,也被称为3DES 或者Triple DES
使用三(或两)个不同的密钥对数据块进行三次(或两次)DES 加密(加密一次要比进行普通加密的三次要快)
三重DES 的强度大约和 112-bit 的密钥强度相当
通过迭代次数的提高了安全性,但同时也造成了加密效率低的问题
正因 DESede 算法效率问题,AES 算法诞生了
(详见: Jav a 加密解密之对称加密算法AES ) 到目前为止,还没有人给出攻击三重DES 的有效方法
对其密钥空间中密钥进行蛮干搜索,那么由于空间太大,这实际上是不可行的
若用差分攻击的方法,相对于单一 DES 来说复杂性以指数形式增长
三重DES 有四种模型 (a)DES-EEE3,使用三个不同密钥,顺序进行三次加密变换
(b)DES-EDE3,使用三个不同密钥,依次进行加密-解密-加密变换
(c)DES-EEE2,其中密钥 K1=K3,顺序进行三次加密变换
(d)DES-EDE2,其中密钥 K1=K3,依次进行加密-解密-加密变换
JDK 对DESede 算法的支持 密钥长度:112 位/168 位 工作模式:ECB/CBC/PCBC/CTR/CTS/CFB/CFB8 to CFB128/OFB/OBF8 to OFB128 填充方式:Nopadding/PKCS5Padding/ISO10126Padding/ 工作模式和填充方式请参考: JAVA 加密解密基础 十六进制工具类 Hex
jav a,见: jav a by te 数组与十六进制字符串互转 DESede 加密解密的 jav a 实现: DESede
jav a Java 代码 1
import java
security
Key; 2
import javax