Excel密文文档恢复方法、计算机设备及存储介质技术

技术编号:27210617 阅读:88 留言:0更新日期:2021-01-31 12:46
本发明专利技术公开了一种Excel密文文档恢复方法、计算机设备及存储介质,该文档恢复方法包括以下步骤:构建Excel文档的密钥彩虹表:根据Excel文档采用的RC4加密算法构建彩虹表;破译Excel密文文档的解密密钥:利用彩虹表攻击来破译Excel文档的中间密钥,并作为解密密钥;解密还原出对应的Excel明文文档:利用破译的解密密钥和Excel文档密文数据存储结构信息解密还原出明文文档。本发明专利技术中破解密钥的彩虹表只需要构建一次,生成的彩虹表适用于所有Excel密文文档的密钥破译,从而实现Excel密文文档的恢复。本发明专利技术的文档恢复方法与文档加密口令的复杂度无关,避免了现有文档破解方法中复杂口令无法破解的缺点,并能有效地还原RC4加密的Excel文档。的Excel文档。的Excel文档。

【技术实现步骤摘要】
Excel密文文档恢复方法、计算机设备及存储介质


[0001]本专利技术涉及文档恢复
,尤其涉及一种Excel密文文档恢复方法、计算机设备及存储介质。

技术介绍

[0002]Excel是微软公司为使用Windows和Apple Macintosh操作系统的用户编写的电子表格软件,由于具有界面直观、计算功能出色以及图表工具完善等优点,已经成为了目前最流行的数据处理软件。Excel软件对其产生的电子表格文档提供了加密保护功能,用户可以设置两种类型的文档保护口令,一种是文档的打开口令,另一种是文档修改口令。用户只有输入了正确的文档打开口令才能浏览文档内容,而文档修改口令是决定用户是否具备修改文档的权限。文档打开后,即使不输入文档修改口令也是可以查看文档内容的,因此文档打开口令更为重要。
[0003]实际中,用户对设置的文档打开口令时常有遗忘的情况发生,一旦重要的文档无法打开,将会给个人或公司带来比较严重的损失。另外,在司法电子取证场景中也常常面临解密Excel密文文档的需求。因此研究Excel密文文档的解密具有重要的实际价值。
[0004]要解密Excel密文文档,若是破解了文档的打开口令,则可以直接输入口令完成文件内容的自动解密。因此,通过破解口令来解密文档是比较直观的方法。事实上,目前对Excel密文文档的解密还原也是通过恢复文档口令来实现的。针对Excel的口令恢复,市面上主要有三个知名的口令恢复工具,包括Elcomsoft公司的Advanced Office Password Recovery,Passware公司的Passware Kit Forensic以及Passfab公司的PassFab for Excel。这三种工具都提供了对Excel密文文档的口令破解功能,破解方式包括三种:字典攻击、掩码攻击、暴力攻击。字典攻击是通过依次尝试口令字典里的每个口令来找出正确的文档打开口令,口令恢复的成功与否取决于字典里是否存在用户口令。掩码攻击是对尝试的口令人为地事先确定某些位置的字符,这就要求必须知道目标用户的部分口令信息,虽然从理论上可以缩小口令搜索的范围,但实际中这些部分口令信息也基本上是靠猜测来决定,如生日、姓名缩写等。暴力攻击一般是在前两种口令破解方式失败后采用穷举模式来搜索口令空间,若用户设置的口令较长或是口令复杂度较高,则暴力攻击常常不能奏效。因此,依靠对口令空间进行搜索的破解方式通常情况下口令恢复率不高,而且恢复的时间不能确定。
[0005]综合看来,当前对Excel密文文档的解密还原基本还是依靠破解口令的方式,虽然采用口令字典或者掩码破解能够一定程度上提升破解的成功率,但还存在以下主要问题:
[0006](1)复杂口令难以破解成功。若目标用户的口令长度较长或设置的口令采用了多种字符类型的混合模式,此时尝试的口令空间很大,难以进行成功破解。
[0007](2)密文文档的口令恢复时间较长,不能满足实际时效需求。实际中密文文档的口令破解时间越短越有实用价值,有时甚至要求对文档进行实时解密。现有方法的口令破解速度难以满足这样的实际需求。
[0008](3)密文文档口令破解的成功率不高。通过对现有破解工具的测试发现口令破解的成功率并不高,不能保证能对目标密文文档进行成功破解。

技术实现思路

[0009]为了解决上述问题,本专利技术提出一种Excel密文文档恢复方法、计算机设备及存储介质,可用于2003版本及之前的Excel加密文档的解密还原实现文档恢复,其技术方案如下。
[0010]本专利技术的一种Excel密文文档恢复方法,包括以下步骤:
[0011]步骤一、构建Excel文档的密钥彩虹表:根据Excel文档采用的RC4加密算法构建彩虹表;
[0012]步骤二、破译Excel密文文档的解密密钥:利用彩虹表攻击来破译Excel文档的中间密钥,并作为解密密钥;
[0013]步骤三、解密还原出对应的Excel明文文档:利用步骤二中破译的解密密钥和Excel文档密文数据存储结构信息解密还原出明文文档。
[0014]进一步的,步骤一中,彩虹表的构建为:选择密钥空间K中m个起始点S1,S2,

,S
m
,定义从密文空间C到密钥空间K的约化函数R:C

K,以及复合函数F(k)=R(E
k
(p));利用函数F对这m个起始点S
i
进行计算,得到m条彩虹链,计算完成后只存储起点和终点对(S
i
,E
i
),由此得到的表就是所要建立的彩虹表。
[0015]进一步的,彩虹表构建时还需要如下的参数:密钥空间N、密钥破解成功率p、彩虹表个数n、单个彩虹表链数m、彩虹链长度t以及存储空间M,这些参数的关联性如公式(1)-(3)所示;
[0016]n=-ln(1-p)/2
ꢀꢀꢀ
(1)
[0017]m=M/n
ꢀꢀꢀ
(2)
[0018]t=-(N/M)ln(1-p)
ꢀꢀꢀ
(3)。
[0019]进一步的,针对中间密钥的破译,此时密码算法E为RC4,需要产生206个字节的密钥流ks,并截取第191到206的共16个字节的密钥流ks,加密函数E
k
(p)即为该截断的RC4密钥流生成函数,记为TRC4(ks,16);约化函数R把16字节的密钥流ks缩减到5个字节,直接截取密钥流ks前5个字节,记为R(ks,5);利用加密函数E
k
(p)和约化函数R对不同的起点生成彩虹链,并存储所有的起点和终点对(S
i
,E
i
)得到彩虹表。
[0020]进一步的,步骤二中,破译时中间密钥时,读取Excel密文文档702字节偏移处开始的16字节数据作为目标密文C0,然后与16字节的明文0x20进行异或,得到16字节的密钥流Ks0;将约化函数R作用于密钥流Ks0得到密钥Y1,然后利用函数F从密钥Y1开始不断进行迭代,每迭代一次就将计算结果Y
s
与存储的终点E
i
进行比对,直到有相同的匹配为止;找到匹配后,将匹配的链从起点S
j
开始重新生成该链并得到密钥k=X
j(t-s)
=F
(t-s-1)
(S
j
),并验证等式TRC4(ks,16)=Ks0是否成立;若成立,则验证密钥k的正确性,若验证通过,则密钥k为正确的中间密钥,否则返回彩虹表继续寻找匹配再次计算密钥k。
[0021]进一步的,验证密钥k的正确性时,采用以下中间密钥正确性验证方法:
[0022]a)读取密文文档RC4加密头结构数据,解析并提取出16字节的EncryptedVerifier值和16字节的EncryptedVerifierHash值;
[0023]b)利用RC4算法和彩虹表破译出的密钥k解密出EncryptedV本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Excel密文文档恢复方法,其特征在于,包括以下步骤:步骤一、构建Excel文档的密钥彩虹表:根据Excel文档采用的RC4加密算法构建彩虹表;步骤二、破译Excel密文文档的解密密钥:利用彩虹表攻击来破译Excel文档的中间密钥,并作为解密密钥;步骤三、解密还原出对应的Excel明文文档:利用步骤二中破译的解密密钥和Excel文档密文数据存储结构信息解密还原出明文文档。2.根据权利要求1所述的一种Excel密文文档恢复方法、计算机设备及存储介质,其特征在于,步骤一中,彩虹表的构建为:选择密钥空间K中m个起始点S1,S2,

,S
m
,定义从密文空间C到密钥空间K的约化函数R:C

K,以及复合函数F(k)=R(E
k
(p));利用函数F对这m个起始点S
i
进行计算,得到m条彩虹链,计算完成后只存储起点和终点对(S
i
,E
i
),由此得到的表就是所要建立的彩虹表。3.根据权利要求2所述的一种Excel密文文档恢复方法、计算机设备及存储介质,其特征在于,彩虹表构建时还需要如下的参数:密钥空间N、密钥破解成功率p、彩虹表个数n、单个彩虹表链数m、彩虹链长度t以及存储空间M,这些参数的关联性如公式(1)-(3)所示;n=-ln(1-p)/2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)m=M/n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)t=-(N/M)ln(1-p)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)。4.根据权利要求2所述的一种Excel密文文档恢复方法、计算机设备及存储介质,其特征在于,针对中间密钥的破译,此时密码算法E为RC4,需要产生206个字节的密钥流ks,并截取第191到206的共16个字节的密钥流ks,加密函数E
k
(p)即为该截断的RC4密钥流生成函数,记为TRC4(ks,16);约化函数R把16字节的密钥流ks缩减到5个字节,直接截取密钥流ks前5个字节,记为R(ks,5);利用加密函数E
k
(p)和约化函数R对不同的起点生成彩虹链,并存储所有的起点和终点对(S
i
,E
i
)得到彩虹表。5.根据权利要求3所述的一种Excel密文文档恢复方法、计算机设备及存储介质,其特征在于,步骤二中,破译时中间密钥时,读取Excel密文文档702字节偏移处开始的16字节数据作为目标密文C0,然后与16字节的明文0x20进行异或,得到16字节的密钥流Ks0;将约化函数R作用于密钥流Ks...

【专利技术属性】
技术研发人员:张李军于飞吉庆兵谈程石玉
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1