密钥派生函数

密码学中,密钥派生函数(英語:Key derivation function,简称:KDF)使用伪随机函数英语Pseudorandom function family从诸如主密钥或密码的秘密值中派生出一个或多个密钥。KDF可用于将密钥扩展为更长的密钥或获取所需格式的密钥,例如将作为迪菲-赫尔曼密钥交换结果的组元素转换为用于高级加密标准(AES)的对称密钥。用于密钥派生的伪随机函数最常见的示例是密码散列函数[1]

使用编辑

  • 结合非秘密参数从公共秘密值(有时也称为“密钥多样化”)派生出一个或多个密钥。这种使用可以防止获得派生密钥的攻击者知道关于输入秘密值或任何其他派生密钥的有用信息。KDF还可用于确保派生密钥具有其他属性,例如避免某些特定加密系统中的“弱密钥”。
  • KDF最常用于密码验证的密码哈希处理,例如用于passwd文件或影子密码英语passwd文件。KDF恰巧具有密码散列函数所需的特性,即使它们最初并非为此目的而设计。在这种情况下,非秘密参数被称为
2013年,密码哈希竞赛英语Password Hashing Competition宣布为密码哈希选择一种新的标准算法。2015年7月20日比赛结束,Argon2英语Argon2宣布为最终获胜者。其他四种算法获得特别认可:Catena,Lyra2,Makwa和yescrypt。[2]

参考文献编辑

  1. ^ 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). 
  2. ^ Password Hashing Competition. [2019-09-17]. (原始内容存档于2019-04-07).