Key-Derivation

什麼是密鑰派生函式?

  • August 31, 2015

來自維基百科

在密碼學中,密鑰導出函式(或 KDF)使用偽隨機函式從諸如主密鑰或其他已知資訊(如密碼或密碼片語)的秘密值導出一個或多個秘密密鑰。

對於它們是什麼以及它們試圖保證的屬性是否有更正式的安全定義,例如加密方案的 ind-cpa 安全性或雜湊函式的抗碰撞性?

這是來自 user4982 評論的Cryptographic Extraction and Key Derivation: The HKDF Scheme的指定部分的摘要。

因為這是在描述基於 HMAC 的 KDF 的學術論文的上下文中,所以術語可能有點過分。我試圖在本摘要中對其進行精簡。

KDF的定義:

KDF 有四個輸入:一個鍵源值、一個輸出長度、一個鹽和一個上下文變數。最後兩個是可選的。KDF 的安全性和質量取決於密鑰源值的屬性。

關鍵來源的定義:

一個源包含兩個值,即關鍵源材料和關於它的輔助知識,它們是使用具有足夠統計熵的算法創建的,可以認為是隨機的。(輔助知識可以是來自統計熵源的分佈,也可以是 DH 密鑰交換的非秘密值,或任何其他相關但不是關於密鑰源材料的秘密數據)

KDF 的安全性定義:

如果知道輔助數據和鹽值的攻擊者幾乎沒有機會通過重複嘗試將 KDF 與輔助數據、鹽和隨機密鑰源材料和上下文變數(又名暴力破解KDF)。

可能他們唯一需要實現的是Pseudo-Randomness,在 [ GGM1986 , §3.1] 中定義。

KDF 不會產生比你給它更多的熵,但它可以避免你的密碼系統由於模式而導致的弱點,如果在幾輪中重複使用相同的密鑰。

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