-
-
[求助]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之后好像是解密。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!