3DES(双倍)密钥长度的为16节长
DEST是最终得到的密文。具体过程简述如下:
1)使用密钥的前8字节,对数据DATA进行加密,得到加密的结果TMP1;
2)使用密钥的后8字节,对第一的计算结果TMP1,进行解密,得到解密的结果TMP2;
3)再次使用密钥的前8字节,对第二次的计算结果TMP2,进行加密,得到加密的结果DEST。DEST就为最终的结果。
3DES(双倍)缺点 如果前8个字节和后8个字节相同,导致加密结果很容易被破解,所以有个3DES三倍加密
3DES(三倍)
对于三倍长3DES,密钥长度的为24节长。可以分为LK(密钥的左边8字节),CK(密钥的中间8字节),RK(密钥的左边8字节)。与二倍长3DES的加密过程基本相同,
只是第一次计算,使用密钥LK;第二次计算,使用密钥CK;第三次计算,使用密钥LK。基本过程如下:
DES( DATA, LK, TMP1 );
UDES( TMP1, CK, TMP2 );
DES( TMP2, RK, DEST );
3DES(三倍)加密 密钥太短,运算速度较慢 最后过渡到AES(秘钥最短为32个字节)
AES算法
这种加密方式加密速度非常快
a941b9f974791d9ab0f600750c6b6082 128位(32字节) 最高256位(64字节)
128位经过10轮加密
AES加密过程涉及到4种操作,分别是字节替代、行移位、列混淆和轮密钥加
字节替代:S盒完成一个字节到另外一个字节的映射 (8位一个字节) 比如 a9是B8
行移位:字节替换完成转为 4*4矩阵 对矩阵进行位置移动
列混淆:混淆矩阵*明文移位矩阵
轮密钥加密:轮密钥矩阵 i列,列混淆矩 i 列进行异或运算
不定长度,加密内容越少长度越短