Key-Derivation

GnuPG 中使用的密鑰推導函式是什麼,它的輸入可能需要多長時間?

  • July 9, 2017

我目前正在與 GnuPG 合作開發我的一個新項目。了解手冊中未描述的兩件事將非常有用:

  1. GnuPG 中對稱密鑰的最大輸入大小是多少?
  2. GnuPG 使用什麼密鑰派生函式?

GnuPG 的對稱密鑰的最大輸入大小是多少?

對稱密鑰的密鑰大小由密碼定義,並使用 OpenPGP 的字元串到密鑰函式從密碼片語派生而來。該標準沒有定義最大輸入長度,我不知道 GnuPG 的限制(但沒有在原始碼中查找)。請注意,將密碼片語作為密鑰功能的字元串的輸入提供比對稱密鑰更長的時間(即,具有比對稱密鑰更多的熵)不會再增加安全性。

GnuPG 使用什麼密鑰派生函式?

OpenPGP 將密鑰派生函式稱為“字元串到密鑰函式”,該函式在RFC 4880, OpenPGP, String-to-Key (S2K) Specifiers中定義。它歸結為在密碼片語和可選的鹽上應用雜湊函式,通常將它們連接起來進行多次迭代以增加暴力攻擊的工作量。

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