明文攻击
因为在misc审核考试中遇到了这一类题目,由于出题人说有手就行,于是我恶补了这一块内容
关于明文攻击一些不得不说的内容
明文攻击的条件:
一个压缩包,和拥有一个已知的存在压缩中出现的文件。
明文攻击的原理:
将已知文件进行ZIP加密后和待解密的ZIP里已知文件进行hex对比,两者的区别就是ZIP加密的三个key(压缩包中的每个文件都是通过这三个Key进行加密压缩的),由此得到加密文件的三个key。(一个非常抽象的概念,就是由结果来推理过程吧)
你输入的密码,首先被转换成3个32bit的key,所以可能的key的组合是2^96,这是个天文数字,如果用暴力穷举的方式是不太可能的,除非你的密码比较短或者有个厉害的字典。压缩软件用这3个key加密所有包中的文件,这也就是说,所有文件的key是一样的,如果我们能够找到这个key,就能解开所有的文件。如果我们找到加密压缩包中的任意一个文件,这个文件和压缩包里的文件是一样的,我们把这个文件用同样的压缩软件同样的压缩方式进行无密码的压缩,得到的文件就是我们的Known plaintext。用这个无密码的压缩包和有密码的压缩包进行比较,分析两个包中相同的那个文件,抽取出两个文件的不同点,就是那3个key了,如此就能得到key。两个相同文件在压缩包中的字节数应该相差12个byte,就是那3个key了。虽然我们还是无法通过这个key还原出密码,但是我们已经可以用这个key解开所有的文件,所以已经满足我的要求了,而且要以前的密码也没什么用呀,我只要文件。
明文攻击的工具:
AZPR
例:
1.zip

查看文件,我们要解压的1.zip中也存在《青玉案元夕》于是我们用相同的方式进行压缩
然后进行明文攻击。