根据 Wikipedia page for key derivation functions,KDF 的目的是为密码学派生密钥:
在密码学中,密钥派生函数 (KDF) 使用伪随机函数从一个秘密值(例如主密钥、密码或密码短语)派生一个或多个秘密密钥。 [1][2] KDF 可用于将密钥拉伸为更长的密钥或获取所需格式的密钥,例如将作为 Diffie-Hellman 密钥交换结果的组元素转换为用于 AES 的对称密钥。密钥加密散列函数是用于密钥推导的伪随机函数的流行示例。 [3]
假设我们刚刚完成了一次 Curve25519 密钥交换,并且我们希望将密钥用于对称算法,例如 AES。
- 如果原始共享密钥可以用作对称密码的密钥,那么使用 KDF 是否提供任何安全优势?(假设 KDF 的输出也可以用于对称密码。
- 如果原始密钥不能用作密码的密钥,我们将对其应用 KDF。在这种情况下,为什么 KDF 必须很慢?(或者 KDF 的这个属性只是针对特定情况,而不是这个?)