Encryption 我可以从加密的RAR文件中提取的最小字节数是多少?如何提取并使用CRC32进行验证

Encryption 我可以从加密的RAR文件中提取的最小字节数是多少?如何提取并使用CRC32进行验证,encryption,cryptography,Encryption,Cryptography,我有一个学校项目,其中我必须使用暴力攻击来恢复加密RAR文件的密码。很明显,在AES256加密系统上使用蛮力不是很有用,但家庭作业的目的是学习蛮力,因此破解速度并不重要。教师不允许字典攻击和已知纯文本攻击。从我在这个网站上读到的帖子中我了解到,当涉及到AES时,这些方法在破解密码方面也不是很好 通过研究各种RAR提取库,包括官方的winRAR源代码(在rarlab.com上找到)和一个名为John the Ripper的平民密码破解软件的源代码,我意识到从RAR文件中找到散列密钥是不可能的(这个

我有一个学校项目,其中我必须使用暴力攻击来恢复加密RAR文件的密码。很明显,在AES256加密系统上使用蛮力不是很有用,但家庭作业的目的是学习蛮力,因此破解速度并不重要。教师不允许字典攻击和已知纯文本攻击。从我在这个网站上读到的帖子中我了解到,当涉及到AES时,这些方法在破解密码方面也不是很好

通过研究各种RAR提取库,包括官方的winRAR源代码(在rarlab.com上找到)和一个名为John the Ripper的平民密码破解软件的源代码,我意识到从RAR文件中找到散列密钥是不可能的(这个话题也在本网站的另一个问题中讨论)

因此,对加密RAR文件进行暴力攻击的唯一实际方法是使用猜测的密码提取存档文件,并计算CRC32校验和,以查看文件是否正确提取

从RAR unlocker源代码中,我找到了CRC32的多项式,即:

X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
源代码如下:

现在我的问题是,尽管我在开始时说破解速度不是很重要,但我无法提取整个档案并计算每个猜测的CRC32。对于一个大文件,这可能意味着每次尝试都需要几分钟

所以我想,如果我能用猜出的密钥只提取归档文件的一小部分(比如说,几个字节),然后计算CRC32校验和,看看文件是否被正确提取,那么我也可以使用相同的密钥提取整个文件

这就是我现在的位置。我对密码学非常陌生,所以我不能百分之百确定我上面提出的方案是否可行。如果是,我可以从存档中提取的用于校验和的最小字节数是多少?如何从存档中提取选定的字节数


谢谢

您必须准确地提取CRC计算中包含的字节,不多也不少。因此,我必须提取32位(或4字节)信息。提取RAR归档文件的前4个字节可能吗?你是RAR专家,不是我。CRC是在档案的某个部分计算出来的,我不知道那是什么。但不管它是什么,您必须提取并解密它和CRC,然后在刚刚解密的明文上重新计算CRC,并将其与恢复的CRC进行比较。如果它们相同,你可能有正确的钥匙,如果它们不同,你肯定没有正确的钥匙。这非常有帮助。谢谢你的回复。