Passwords

7zip 的 KDF 不使用任何鹽是真的嗎?

  • November 21, 2015

此問題聲稱 7zip 的密鑰派生函式不使用任何鹽:https ://github.com/magnumripper/JohnTheRipper/issues/1679

如果這是真的,那是不是意味著您可以以很少的額外成本破解多個 7z 文件?

從查看原始碼或 7zip 來看似乎是這樣。正如 SEJPM 的連結所示,該格式有一個鹽的位置。它在密鑰之前混合到自製的迭代 SHA-256 雜湊中。7zip 解碼器甚至似乎支持鹽。但是,編碼器從不使用鹽。

奇怪的是,甚至還有生成隨機 4 字節鹽的程式碼,但它被註釋掉了。至少在最新版本的程式碼中:我不知道以前的版本是否啟用了它。

例如,下面是編碼器的鹽生成部分(來自 7zAes.cpp)。呼叫它的程式碼也已在各個地方註釋掉。

/*
STDMETHODIMP CEncoder::ResetSalt()
{
 _key.SaltSize = 4;
 g_RandomGenerator.Generate(_key.Salt, _key.SaltSize);
 return S_OK;
}
*/

引用自:https://crypto.stackexchange.com/questions/30468