Key-Derivation

RFC-5869(HKDF)和 SP800-108(Nist 的基於 HMAC 的 KDF 規範)之間的區別?

  • May 20, 2019

我試圖找出上述兩種算法之間的區別。似乎一個是另一個的子集。有人可以解釋相似之處/不同之處嗎?

RFC-5869 是關於“基於 HMAC 的提取和擴展密鑰派生函式 (HKDF)”,而 NIST SP-800-108 給出了“使用偽隨機函式進行密鑰派生的建議”。提取和擴展 KDF 與基於 PRF 的 KDF 之間的主要區別在於對輸入密鑰材料的要求。

PRF 需要一個統一的隨機密鑰,這意味著該密鑰必須具有高熵。因此,對於基於 HMAC 的 KDF 的 NIST SP-800-108 版本,假設您在開始時提供了一個隨機密鑰。

RFC-5869(以及 NIST SP-800-56c)中的 HKDF 方案最初由 Hugo Krawczyk 在

$$ 1 $$作為提取-然後-展開KDF。顧名思義,該功能分兩步工作。首先,從輸入的密鑰材料和鹽中提取用於密鑰派生的密鑰。下一步本質上是 SP-800-108 定義的:使用 HMAC(即基於 PRF)KDF 來派生更多密鑰。SP-800-108 和 RFC-5869 之間的區別在於隨機性提取。使用先提取後擴展 KDF,您可以使案例如共享密鑰來派生加密密鑰,並且您不得提供隨機密鑰作為輸入。 $$ 1 $$. Hugo Krawczyk,“密碼提取和密鑰派生:HKDF 方案”,2010,https ://eprint.iacr.org/2010/264

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