对于密码保护文件,我很好奇密码恢复是如何工作的。我想知道7-zip加密机制的确切流程:!!
7-zip在CBC模式下使用AES-256加密算法对文件或文件夹进行加密.密钥是使用SHA-256哈希函数从用户的密码中生成的。密码的散列使用SHA-256 2^19 (524288)次,增加了穷举搜索的成本。此外,为了帮助减少字典攻击的风险,在散列前在密码中添加一个盐类。
我的第一个问题是: key_derivation函数是如何生成256位键的?IV对AES CBC模式的重要性是什么?它是如何产生的?
我的第二个也是最重要的问题是:如何验证密钥来解密7-zip存档?它的key_verification函数是如何工作的?
发布于 2012-09-18 06:09:48
钥匙恢复就像这样。该工具猜测许多可能的密码。对于每一个密码,它都会测试这个密码是否正确。它一直往前走,直到找到正确的密码,或者直到你累了而放弃为止。
那么,我们如何判断密码是否正确呢?通常情况下,这种方法是这样的。我们使用密钥派生算法(使用7zip程序解密存档时使用的相同算法)来计算导出的AES-256密钥。然后,我们尝试解密这个密钥下的几个密文块。
Tyipcally,明文在某个固定位置有一个硬编码常量,所以我们可以通过检查这个常数是否出现在我们的试用解密中的固定位置来检查我们的猜测是否正确。(有时,对于某些文件格式,没有硬编码常量,但有校验和,所以我们可以尝试解密,看看校验和是否正确。或者,对于某些文件格式,我们可能知道明文通常是ASCII,因此我们可以检查试用解密,以确定它是否看起来像是可信的ASCII文本。)所使用的确切方法取决于文件格式,但通常这一阶段并不是一个严重的障碍。
这种方法被称为试用解密,或蛮力字典搜索,或字典攻击.所有的智慧都出现在我没怎么说过的部分:如何按照某种聪明的顺序,列出一个看似可信的密码猜测列表。
https://security.stackexchange.com/questions/20305
复制相似问题