数据加密算法
3DES介绍
- 3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。
加解密过程
- 设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,M代表明文,C代表密文,这样:
- 3DES加密过程为:C=Ek3(Dk2(Ek1(M)))
- 3DES解密过程为:M=Dk1(EK2(Dk3(C)))
- K1、K2、K3决定了算法的安全性,易百采用K1等于K3,并且使用ECB/NoPadding填充模式。
加密举例
设pinKey为: 9D93D15D6A3913AB4151C456A80841EF
,则:
K1 = 9D93D15D6A3913AB
K2 = 4151C456A80841EF
K3 = 9D93D15D6A3913AB
原始数据M表示HEX为:3132333435363738
,加密如下:
DES1_RESULT = Ek(M,K1)
DES2_RESULT = Dk(DES1_RESULT,K2)
C = Ek(DES2_RESULT,K3)
最终加密结果C为:C63AABF759BDE968
解密举例
设pinKey为: 9D93D15D6A3913AB4151C456A80841EF
,则:
K1 = 9D93D15D6A3913AB
K2 = 4151C456A80841EF
K3 = 9D93D15D6A3913AB
密文数据C表示HEX为:C63AABF759BDE968
,解密如下:
DES1_RESULT = Dk(C,K3)
DES2_RESULT = Ek(DES1_RESULT,K2)
M = Dk(DES2_RESULT,K1)
最终解密结果M为:3132333435363738
No Comments