找回密码
 立即注册

QQ登录

只需一步,快速开始

shefei121

注册会员

1

主题

5

帖子

65

积分

注册会员

积分
65

活字格认证

最新发帖
shefei121
注册会员   /  发表于:2011-2-15 11:59  /   查看:9250  /  回复:3
我在网上搜索资料的时候看到了您的这篇关于Biff8加密文档的读取的文章,地址如下
http://gcdn.grapecity.com/showtopic-254.html

我参照了[MS-OFFCRYPTO] 这篇文档关于EncryptedVerifier字段的解释,并参照Bruce Schneier著的[Appliey Cryptography]中提到的RC4算法,自己做了一下试验,试验对象为使用Office Excel生成的带有密码的xls文档,通过解析,取得FilePass各字段的内容,但是失败了。我自己计算出来的结果与文件中的结果不同(按照论坛中您提到的步骤)。

我怀疑出错的地方可能在以下两点:
1)MD5 hash算法:我是调用.net framework中的System.Security.Cryptography.MD5CryptoServiceProvider类的ComputeHash(byte[])方法,请问是否正确?
2)RC4算法:参照[Appliey Cryptography],其中讲到需要将密钥首先进行混淆得到s_box,长度为256,但是在 [MS-OFFCRYPTO]这篇文章中提到EncryptedVerifier字段是由40-bit RC4加密算法生成,我不是很清楚所谓的40-bit RC4表示什么意思,能否请您指教?

十分感谢!!

3 个回复

倒序浏览
shefei121
注册会员   /  发表于:2011-2-15 12:00:00
沙发

回复 1# shefei121 的帖子

另外,如果您的时间允许,能否请您把某些步骤的结果发送给我(例如生成的Key的值,以及verifier和verifierHash解密出来的值),我可以作为一个参考,我的FilePass字段如下 ,文档的密码是"123":
  1. wEncryptionType(2bytes): 01 00
  2. EncryptionVersionInfo(4bytes): 01 00 01 00
  3. Salt(16bytes):F4 10  5A A7 25 47 BB 1E 92 EA D5 49 FE E4 68 C5
  4. Verifier(16bytes): 80 6A  48 7E 65 E8 1F F6 FA 84 54 8E A9 D3 EE F6
  5. VerifierHash(16bytes): F4 4D  3C 7E C7 6B A7 DD DD 3D 2F EC A9 57 17 43
复制代码
回复 使用道具 举报
Carl
版主   /  发表于:2011-2-15 14:16:00
板凳
你好,这个帖子是从以前的知识库里迁移过来的,年代比较久远~
幸运的是,原来的示例代码还在
请查看http://gcdn.grapecity.com/showtopic-254.html,对比一下你的实现。
希望对你有帮助~
愿 Engine 归于沉寂,Timer 停止运动,Message Queue 不再流淌,Data Source 为我掌握
回复 使用道具 举报
shefei121
注册会员   /  发表于:2011-2-15 14:49:00
地板
成功了,非常感谢版主,问题是出在我的RC4算法上面,但是完全不知道怎么得出的,应用密码学这本书写的也不是很详细。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部