Hmac

我是否可以 100% 信任 PBKDF2(HMAC-SHA256) AES-256 CBC 加密算法用於文件加密,為什麼?(Winrar)

  • October 13, 2022

我不是密碼學專家,因此我想向長期從事該主題工作的人們解決這個問題,從而從多個來源驗證事實。

我使用 Winrar 進行文件加密,因為它最適合我,速度很快,而且我已經熟練使用這個程序。我正在使用最新版本的 Winrar,它使用 PBKDF2(HMAC-SHA256) AES-256 CBC 算法。

順便說一句,在此連結https://connect.ed-diamond.com/MISC/misc-092/usage-de-la-cryptographie-par-les-formats-d-archives-zip-rar-et-7z他們說PBKDF2 的迭代次數是可選的 2^15(預設)2^24(最大),但是我沒有找到任何設置此參數的命令https://documentation.help/WinRAR/,其他消息來源說迭代次數因使用的版本而異。提取 WinRAR 密碼?

為了比較,這裡是一個使用商業工具的密碼破解基準的連結。https://blog.elcomsoft.com/2021/04/break-rar5-and-7zip-passwords/

我是否可以為此目的 100% 信任 PBKDF2(HMAC-SHA256) AES-256 CBC 加密算法,為什麼?

謝謝

以下是我推薦的一些連結,它可能會有所幫助:

https://www.rarlab.com/rarnew.htm

https://www.win-rar.com/faq0.html

https://www.win-rar.com/industry.html?&L=0

我還建議閱讀維基百科上的相關資訊:

WinRAR,PBKDF2,高級加密標準,分組密碼操作模式密碼塊連結(CBC),彩虹表,線性密碼分析,分區密碼分析,差分密碼分析,替換置換網路,選擇明文攻擊,選擇密文攻擊,Rijndael_S-box,S-盒子

PBKDF2-HMAC-SHA256 不是推薦的†密鑰/密碼拉伸算法,尤其是只有 2 15輪。問題是,對於強大的對手(使用 GPU、FPGA 或 ASIC)以最佳方式減慢密碼搜尋速度太快且資源太少。

在其行業標準參數化中使用像Argon2這樣的現代密鑰拉伸算法會更加安全。而且,如果這不可能(例如,因為想按原樣使用 WinRAR),建議增加‡ PBKDF2 迭代次數:密碼搜尋的難度與此呈線性增長。因此,用 2 24輪破解密碼比用 2 15輪破解密碼困難大約 2 9  > 500 倍。

然而,糟糕的密碼拉伸只是糟糕密碼的問題。對於較大的隨機密碼(例如,在 64 個字元中隨機選擇 25 個字元),這不是問題,而 PBKDF2-HMAC-SHA256 具有 2個 15輪或更多輪數就足夠了。

從確保機密性的角度來看,AES-256 CBC 加密是可靠的,這很可能不會成為弱點。

如果密碼之外有一個弱點並且它正在延伸,那麼它將成為 WinRAR 實施中的一個缺陷(故意或意外)。確定是否有一個會很困難,而且是題外話。


† 因此,在積極遊說Dual EC DRBG之後,NIST 在仍然支持 PBKDF2-HMAC-SHA256時是一致的(就像NSA 將 DES 密鑰設為 56 位一樣)。

WinRAR 5 文件格式規範聲明有一個 1 字節KDF count指定 PBKDF2 輪數的以 2 為底的對數(如果問題是正確的,那就是 15=0x0F 到 24=0x18)。我不清楚如何強制 WinRAR 增加這一點(該值可能取決於 Winrar 的版本,或/和許可條款/國家/地區)。

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