NIST支持在本政策/白皮书中关于PBKDF2的一些示例用例是什么?
该建议指定了一系列基于密码的密钥派生函数(PBKDF),用于从密码或密码派生密钥,以保护电子存储的数据或保护数据保护密钥。
如果我知道目标应用程序列表中隐含排除的内容,我就有更好的机会理解这一段。
关于范围内和范围外的具体例子将是非常有益的。
发布于 2011-09-29 13:16:55
密钥推导函数将一些秘密数据转换为更多的秘密数据,并用于从没有适当大小的其他密钥中生成适当大小的密钥。KDF的一个例子是SSL/TLS中的"PRF“:它用于将客户端和服务器之间构建的任何共享密钥(使用RSA加密或Diffie-Hellman)转换为对称密钥,然后用于建立连接中的对称加密和完整性检查。
基于密码的KDF (因此名为"PBKDF")是一个KDF,其中的源材料是一个“密码”,即保留在人脑中的一段数据,并且(通常)由大脑所有者在键盘上输入。这不是SSL的情况。每当您想要执行某些被密码“锁定”的数据加密时,都会使用基于密码的KDF。例如,当您用密码“加密”文件(例如Word中的“密码保护”,或密码保护的Zip存档,或者存储在具有“密码保护”的文件中的PGP密钥环或SSH私钥)时,您可以确保涉及到基于密码的KDF。
基于密码的KDF的工作是:
PBKDF2通过可配置的“迭代次数”和salt (这两个参数通常都存储在加密文件的公共头中)来确保第二个属性。
PBKDF2的一种不正当但常见的用法是散列密码。这与使用PBKDF2输出作为密码验证令牌有关;如果通过PBKDF2派生将产生相同的值,则将接受密码。PBKDF2最初不是为此而设计的,但仍然可以接受,尽管bcrypt可以说是更好的(参见这个答案)。
https://security.stackexchange.com/questions/7689
复制相似问题