Gop*_*pal 7 encryption cryptography 7zip password-recovery cryptanalysis
我很好奇密码恢复如何适用于受密码保护的文件. 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)次,以增加穷举搜索的成本.此外,为了帮助降低字典攻击的风险,在生成哈希之前,salt会附加到原始密码短语.
我的第一个问题是how does key_derivation function work to generate a 256-bit key?IV C对AES CBC模式及其生成方式的重要性是什么?
我的第二个most important question是如何验证密钥解密7-zip存档?我的意思是它的key_verification函数如何工作?
关键推导函数在 file 的源代码中7zAes.cpp,它被称为:
void CKeyInfo::CalculateDigest()
Run Code Online (Sandbox Code Playgroud)
它使用专有(相当乏味)的机制创建密钥。
我还没有找到key_verification方法,如果它存在的话。如果我找到了,我会告诉你的。