首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Salsa20安全地生成AES密钥?

通过Salsa20安全地生成AES密钥?
EN

Cryptography用户
提问于 2014-04-06 16:49:27
回答 1查看 1.5K关注 0票数 8

我不是在翻我自己的密码什么的--我只是想了解密码学的Dos和Don‘’ts:特别是关于AES加密和生成密钥的方法。

据我所知,创建密码安全密钥时的一个选项是从/dev/urandom收集熵,然后通过Salsa20密码提供数据。

然而,我不太确定接下来的步骤,因为这是搜索引擎不再对我有用的地方。据我所知,使用Salsa20生成的输出似乎不够安全,无法作为关键材料使用。如果这是正确的,那么在获得Salsa20输出之后,下一步的“密码学”更正是什么?

此外,如果你知道任何相关的文件,并乐于分享,他们将非常欢迎!

EN

回答 1

Cryptography用户

回答已采纳

发布于 2014-04-07 21:35:11

正如注释中所述,/dev/随机已经生成加密安全的随机字节,这些字节非常适合用于加密密钥。通过另一个CSPRNG运行这些字节是完全多余的。

据我所知,创建加密安全密钥的选项之一是从/dev/urandom收集熵,然后通过Salsa20密码提供这些数据。

对称密码 (例如Salsa20 )本身并不是正确的密码原语。您需要一个CSPRNG (例如/dev/随机)。

但我对下一步还不太确定,因为那是搜索引擎不再对我有用的地方。据我所知,使用Salsa20生成的输出似乎不够安全,无法作为关键材料使用。我说的对吗?如果,在我检索到Salsa20输出之后,下一步的密码学上正确的是什么?

如果您有一些理由不使用/dev/随机(方便、不信任等),并且有一些其他强的(我确实是指强大的,而不仅仅是鼠标移动的巨型)熵源,那么您应该参考NIST特别出版物800-90A中定义的CSPRNG之一。您可能对CTR_DRBG特别感兴趣,它在内部使用块密码(在CTR模式下运行,本质上是类似于Salsa20的流密码)。您可以在许多语言中找到这方面的实现。

贴士:避免双重_EC_DRBG

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

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

复制
相关文章

相似问题

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