金鑰衍生函數
從秘密值衍生出一個或多個私鑰的函數
此條目可參照英語維基百科相應條目來擴充。 (2019年9月17日) |
此條目需要補充更多來源。 (2019年9月17日) |
在密碼學中,金鑰衍生函數(英語:Key derivation function,簡稱:KDF)使用偽隨機函數從諸如主金鑰或密碼的秘密值中衍生出一個或多個金鑰。KDF可用於將金鑰擴充為更長的金鑰或取得所需格式的金鑰,例如將作為迪菲-赫爾曼金鑰交換結果的組元素轉換為用於進階加密標準(AES)的對稱金鑰。用於金鑰衍生的偽隨機函數最常見的範例是密碼雜湊函數。[1]
使用
- 結合非秘密參數從公共秘密值(有時也稱為「金鑰多樣化」)衍生出一個或多個金鑰。這種使用可以防止獲得衍生金鑰的攻擊者知道關於輸入秘密值或任何其他衍生金鑰的有用資訊。KDF還可用於確保衍生金鑰具有其他屬性,例如避免某些特定加密系統中的「弱金鑰」。
- KDF最常用於密碼驗證的密碼雜湊處理,例如用於passwd檔案或影子密碼檔案。KDF恰巧具有密碼雜湊函數所需的特性,即使它們最初並非為此目的而設計。在這種情況下,非秘密參數被稱為鹽。
- 2013年,密碼雜湊競賽宣佈為密碼雜湊選擇一種新的標準演算法。2015年7月20日比賽結束,Argon2宣佈為最終獲勝者。其他四種演算法獲得特別認可:Catena,Lyra2,Makwa和yescrypt。[2]
- 作為多方金鑰協商協定的組成部分。這樣的金鑰衍生函數的例子包括KDF1,IEEE Std 1363-2000,ANSI X9.42。
- 從密碼中衍生出金鑰。
- 從所提供的金鑰衍生出不同長度的金鑰:例如HKDF
- 金鑰拉伸和金鑰強化。
參考文獻
- ^ Zdziarski, Jonathan. Hacking and Securing IOS Applications: Stealing Data, Hijacking Software, and How to Prevent It. O'Reilly Media. 2012: 252–253 [2019-09-17]. ISBN 9781449318741. (原始內容存檔於2017-04-09).
- ^ Password Hashing Competition. [2019-09-17]. (原始內容存檔於2019-04-07).