我知道KDF(密钥派生函数)用于扩展用户密码,这些密码基本上不适合用作加密算法中的密钥。
但是如果我创建一个随机密钥(随机32字节),我还需要在其上使用KDF以确保正确加密吗?
答案 0 :(得分:3)
KDF通常用于从密码短语等内容中导出加密密钥,正如您所说的那样,它不适合直接使用。但它们也用于从主密钥中获取其他密钥,这取决于您的整体方案,可能很有用。
假设您使用了密钥协商协议,其中双方都以随机共享密钥结束。您可以使用KDF导出加密密钥,并使用一个密钥完整性(例如,HMAC密钥)。
当各方共享秘密对称密钥时(例如,成功时) 执行1和{{3}}中规定的密钥建立方案 [2]),通常需要额外的密钥(例如, 如[3]中所述。不同可能需要单独的键 加密目的 - 例如,可能需要一个密钥 加密算法,而另一个密钥打算供a。使用 完整性保护算法,如消息认证 码。在其他时候,多个实体所需的不同密钥 可以由可信方从单个主密钥生成。键 派生函数用于导出这样的密钥。
简短的回答是,不,你不需要使用KDF,假设您的密钥生成是正确的。