Pgp
GPG 的 KDF 和迭代次數
通過閱讀 GPG 手冊,我了解到基於密碼的對稱加密使用多種密鑰派生函式 (KDF) 之一。儘管沒有明確提及,但我假設 PBKDF2 是預設值,因為其他選項似乎是 PGP 標準中的遺留算法。
但是,我找不到有關 KDF 預設執行的迭代次數的任何資訊,以及是否有辦法手動更改該值。我想知道這一點,因為它會影響密碼所需的複雜性(例如,使用 diceware 方法生成的字數)以實現給定的安全級別。
使用
gpg --s2k-mode 3 --s2k-count N
,其中N
是您要使用的迭代次數。手冊頁說預設值為 65536,您可以使用 1024 到 65011712 之間的任何數字。如果您想調整預設值,我建議您將這個數字設置得盡可能大,而不會導致明顯的減速(例如,理想的做法是讓密碼修改過程大約需要一秒鐘左右)。
另請參閱此對不同問題的答案,以及 IT Security.StackExchange 上的以下問題/答案:
- –s2k-* GnuPG 選項的目的是什麼?
- gpg –完美程式碼
- “gpg 加密安全”的答案
- 對“好的文件加密工具”的回答
- OpenPGP/GnuPG 在加密/解密密鑰時是否對密碼應用慢速雜湊?