首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NIST白皮书“基于密码的密钥派生建议”需要澄清

NIST白皮书“基于密码的密钥派生建议”需要澄清
EN

Security用户
提问于 2011-09-29 02:48:22
回答 1查看 1.6K关注 0票数 5

NIST支持在本政策/白皮书中关于PBKDF2的一些示例用例是什么?

该建议指定了一系列基于密码的密钥派生函数(PBKDF),用于从密码或密码派生密钥,以保护电子存储的数据或保护数据保护密钥。

如果我知道目标应用程序列表中隐含排除的内容,我就有更好的机会理解这一段。

关于范围内和范围外的具体例子将是非常有益的。

EN

回答 1

Security用户

回答已采纳

发布于 2011-09-29 13:16:55

密钥推导函数将一些秘密数据转换为更多的秘密数据,并用于从没有适当大小的其他密钥中生成适当大小的密钥。KDF的一个例子是SSL/TLS中的"PRF“:它用于将客户端和服务器之间构建的任何共享密钥(使用RSA加密或Diffie-Hellman)转换为对称密钥,然后用于建立连接中的对称加密和完整性检查。

基于密码的KDF (因此名为"PBKDF")是一个KDF,其中的源材料是一个“密码”,即保留在人脑中的一段数据,并且(通常)由大脑所有者在键盘上输入。这不是SSL的情况。每当您想要执行某些被密码“锁定”的数据加密时,都会使用基于密码的KDF。例如,当您用密码“加密”文件(例如Word中的“密码保护”,或密码保护的Zip存档,或者存储在具有“密码保护”的文件中的PGP密钥环或SSH私钥)时,您可以确保涉及到基于密码的KDF。

基于密码的KDF的工作是:

  1. 接受字符序列(半任意长度)作为输入,并输出适合于预期加密算法(例如128比特用于AES加密)的比特序列;
  2. “保护”密码,防止字典攻击,方法是速度慢、开销大(攻击者可以尝试通过尝试潜在密码来猜测密码;我们希望每次试用对他来说都是沉重和昂贵的),并使用盐类(因此攻击两个加密文件的代价是攻击一个文件的两倍)。

PBKDF2通过可配置的“迭代次数”和salt (这两个参数通常都存储在加密文件的公共头中)来确保第二个属性。

PBKDF2的一种不正当但常见的用法是散列密码。这与使用PBKDF2输出作为密码验证令牌有关;如果通过PBKDF2派生将产生相同的值,则将接受密码。PBKDF2最初不是为此而设计的,但仍然可以接受,尽管bcrypt可以说是更好的(参见这个答案)。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/7689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档