穷追猛打:破译Foxmail“密码天书”
2006-11-06 10:07:03 来源:WEB开发网核心提示: 第二步:再记住一个恒定的值:5A(其实也是由上面的a1~a8计算而来,具体方法就不多说了),穷追猛打:破译Foxmail“密码天书”(3),记为C0,这个C0我们在下面会用到,所以用a1~a5分别与b2~b6进行异或运算,得到Di(即D1~D5这5位数),第三步:取邮箱密码加密后的密文,在
第二步:再记住一个恒定的值:5A(其实也是由上面的a1~a8计算而来,具体方法就不多说了),记为C0,这个C0我们在下面会用到。
第三步:取邮箱密码加密后的密文,在本例中为:BB6DFB5DF061,将它们两两分开,得到:BB,6D,FB,5D,F0,61,分别记为b1,b2,b3,b4,b5,b6。由于此加密密文的总长度为12,所以我们可以判断邮箱真正地密码长度为12÷2-1=5,即邮箱密码为5位。
第四步:计算Ci的值(Ci为一系列数的总和,即C1,C2,C3,C4,C5……)。其中,C1由C0(即16进制的0x5A)和第一位密文(即b1,也就是我们这个例子中的BB)经异或运算得来。由于C0=0X5A,所以C1=C0^0XF9=0xE1,其中“^”代表异或运算。大家可以使用Windows自带的计算器来进行计算,点击“开始→程序→附件→计算器”即可打开计算器(图4),计算器中的“XOR”就代表异或运算。由此得到:
C1为0xE1
C2由b2直接继承得到,为0x6D
C3由b3直接继承得到,为0xFB
C4由b4直接继承得到,为0x5D
C5由b5直接继承得到,为0xF0
这样,我们就得到了至关重要的参数Ci。
第五步:下面请大家用从第二位起的密文(即b2)和密钥对应的ASCII码(即Ai)作异或运算,由于我们已经知道密码为5位,所以用a1~a5分别与b2~b6进行异或运算,得到Di(即D1~D5这5位数)。在我们这个例子中,可以得到:
D1=b2^a1=6D^7E=13
D2=b3^a2=FB^64=9F
更多精彩
赞助商链接