首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用随机数据和密码为PRNG添加种子

用随机数据和密码为PRNG添加种子
EN

Cryptography用户
提问于 2012-10-24 17:26:12
回答 1查看 468关注 0票数 4

我希望将随机密钥文件与密码组合起来,以生成CSPRNG的安全种子。密钥文件被假定具有很高的熵,但是密码将是用户提供的任何内容。怎样才能将两者结合在一起才能使PRNG产生种子呢?当然,目标是除非您同时拥有密钥文件和密码,否则很难预测PRNG的输出。

我的第一个想法是简单地使用PBKDF-2扩展密码,使其与密钥文件大小相同,然后将它们放在一起。我不会传输这个种子或任何东西,所以我认为这本身并不重要,因为它本身加密能力很差。但我还有什么其他的考虑吗?

我将很可能是使用AES在反模式下的PRNG,但一个回答涵盖一个更一般的情况,将不胜感激。另外,我假设密钥文件与PRNG将使用的种子大小相同。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2012-10-24 20:08:45

如果您的密码具有较低的熵(或“可能具有低熵”),并且“密钥文件”被假定为已知的攻击者,那么您确实需要一些密钥扩展,如PBKDF-2、bcrypt或scrypt,并具有适当的工作因素来拘留可能的攻击者。

由于这些函数也有一个salt输入,而且实际上还有另一个熵源(密钥文件),我将使用密钥文件作为salt输入和密码作为这些方案的密钥输入,并为您的CSPRNG种子生成一个合适大小的输出。

我认为,如果只知道密码(而不是用作salt的密钥文件),同样的方案也是安全的,尽管这不是这些密码散列方案的直接设计目标。

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

https://crypto.stackexchange.com/questions/5148

复制
相关文章

相似问题

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