首页
社区
课程
招聘
[求助]DES算法求助
发表于: 2009-9-22 16:33 3935

[求助]DES算法求助

2009-9-22 16:33
3935
对算法不熟,目前学习中,碰到个DES加密的,不知下面的代码是加密还是解密,请哪位指点一下,谢谢!

代码如下:
push    ebx
mov     ebx, [esp+4+arg_0]
push    ebp
push    esi
mov     esi, [ebx]      已知这个字串5837a176,什么作用?
mov     eax, [ebx+4]   和这个字串26b46ade,什么作用?
mov     ecx, esi
mov     edx, eax
shr     ecx, 4
and     ecx, 0F0F0F0Fh
and     edx, 0F0F0F0Fh
xor     ecx, edx
push    edi
xor     eax, ecx
shl     ecx, 4
xor     esi, ecx
mov     edx, eax
mov     ecx, esi
and     edx, 0FFFFh
shr     ecx, 10h
xor     ecx, edx
xor     eax, ecx
shl     ecx, 10h
xor     esi, ecx
mov     ecx, eax
shr     ecx, 2
mov     edx, esi
and     ecx, 33333333h
and     edx, 33333333h
xor     ecx, edx
xor     esi, ecx
shl     ecx, 2
xor     eax, ecx
mov     edx, esi
mov     ecx, eax
and     edx, 0FF00FFh
shr     ecx, 8
and     ecx, 0FF00FFh
xor     ecx, edx
xor     esi, ecx
shl     ecx, 8
xor     eax, ecx
mov     ecx, eax
add     eax, eax
shr     ecx, 1Fh
or      ecx, eax
mov     eax, ecx
xor     eax, esi
and     eax, 0AAAAAAAAh
…… 其余代码省略

执行完毕后:5837a176变为71436f64,411c755e变为26b46ade
然后7143664 XOR 某字串1,26b46ade XOR 某字串2

上面两个“某字串(1,2)”是不是密钥?XOR之后好像是解密。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 276
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
如果已知执行完后的71436f64、26b46ade值,能推出运算前的值吗?
2009-9-22 20:06
0
游客
登录 | 注册 方可回帖
返回
//