10

我很好奇密码恢复如何用于受密码保护的文件。And I want to know the exact flow of the 7-zip encryption mechanism.

7-zip在CBC模式下使用AES-256加密算法,对文件或文件夹进行加密。密钥是根据用户提供的基于 SHA-256 哈希函数的密码生成的。SHA-256 被执行 2 19 (524,288) 次以增加穷举搜索的成本。此外,为了帮助降低字典攻击的风险,盐会在生成哈希之前附加到原始密码短语中。

我的第一个问题是how does key_derivation function work to generate a 256-bit key?IV 对于 AES CBC 模式的重要性以及它是如何生成的?

我的第二个问题most important question是如何验证密钥以解密 7-zip 存档?我的意思是它的 key_verification 功能是如何工作的?

4

1 回答 1

5

密钥推导函数在 file 的源代码中7zAes.cpp,它被称为:

void CKeyInfo::CalculateDigest()

它使用专有的(相当枯燥的)机制创建密钥。

我还没有找到该key_verification方法,如果它存在的话。如果我找到它,我会告诉你的。

于 2012-09-18T08:47:10.430 回答