代码改变世界

DES加密过程例解

2013-08-14 19:16  ProCodeX  阅读(611)  评论(0编辑  收藏  举报

DES加密算法是最被广泛使用的对称加密算法,通过示例来演示DES、TribleDES(3Key)


 

DES-ECB: 按8字节为单位进行加密,不足8字节补0
key: 1111111111111111
indata: 2222222222222222    
OutData: 950973182317F80B    

3DES-2KEY-ECB:
key: 11111111111111112222222222222222
indata: 2222222222222222
OutData:  【 A8D0B1CF0CE59870 】
3DES是一个加密-->解密-->加密的过程
so:
2222222222222222 + key 1111111111111111 加密= 950973182317F80B
950973182317F80B + key 2222222222222222 解密= 86E6896A75DB3B08
86E6896A75DB3B08 + key 1111111111111111 加密= 【 A8D0B1CF0CE59870 】

3DES-3KEY-ECB:
key: 111111111111111122222222222222223333333333333333
indata: 2222222222222222
OutData:  【 1259B7E1FEC34B9D 】
3DES是一个加密-->解密-->加密的过程
so:
2222222222222222 + key 1111111111111111 加密= 950973182317F80B
950973182317F80B + key 2222222222222222 解密= 86E6896A75DB3B08
86E6896A75DB3B08 + key 3333333333333333 加密= 【 1259B7E1FEC34B9D 】

DES-CBC: 按8字节为单位进行加密,不足8字节补0,需要初始向量
key: 1111111111111111
indata: 2222222222222222    
OutData: 【950973182317F80B】

数据为16字节
key: 1111111111111111
indata: 2222222222222222 2222222222222222   
OutData: 【 950973182317F80B 3F84B9ED2C2489F2 】   

过程:
初始向量: 0000000000000000 + 2222222222222222     异或= 2222222222222222
           2222222222222222 + key 1111111111111111 加密= 950973182317F80B
           950973182317F80B + 2222222222222222     异或= B72B513A0135DA29
           B72B513A0135DA29 + key 1111111111111111 加密= 3F84B9ED2C2489F2
           加密结果: 【 950973182317F80B 3F84B9ED2C2489F2 】

3DES-3KEY-CBC 16bytesIndata:
key: 111111111111111122222222222222223333333333333333
indata: 22222222222222222222222222222222

OutData:【 1259B7E1FEC34B9D 37237088DF667780 】
过程:
初始向量 : 0000000000000000
1、 2222222222222222 Xor  0000000000000000 = 2222222222222222
2、 2222222222222222 Ekey 1111111111111111 = 950973182317F80B
3、 950973182317F80B Dkey 2222222222222222 = 86E6896A75DB3B08
4、 86E6896A75DB3B08 Ekey 3333333333333333 = 【 1259B7E1FEC34B9D 】

5、 2222222222222222 Xor  1259B7E1FEC34B9D = 307B95C3DCE169BF
6、 307B95C3DCE169BF Ekey 1111111111111111 = 7CAD278015FBA2E2
7、 7CAD278015FBA2E2 Dkey 2222222222222222 = 6BC2EBB29F3A6A27
8、 6BC2EBB29F3A6A27 Ekey 3333333333333333 = 【 37237088DF667780 】