首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过洗牌使PRNG密码安全?

通过洗牌使PRNG密码安全?
EN

Cryptography用户
提问于 2018-10-25 02:58:17
回答 1查看 273关注 0票数 2

如果我在散列前对随机生成的数字(例如256位)进行多次洗牌,即使黑客知道我何时生成这些数字,那么使PRNG密码安全是否可行呢?

注意:他们说PRNG不是密码安全的,因为生成依赖于生成器的状态,它有点确定性,而且不够随机。简单的移动256位PRNG (长度约为77-78个数字,即生成所有9s的概率接近于零)是否足以使其密码安全?

更具体地说,如果我使用Python的random.getrandbits()随机生成256位数字的长度,然后对其使用random.shuffle()几次,这能帮助密码安全吗?这能抵抗量子黑客吗?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-10-25 04:52:24

我想你要问的是,如果我使用一个非密码随机产生,它是否足以洗牌,然后哈希得到密码安全的东西。一般来说,答案肯定是否定的。首先,非加密随机调用通常具有非常低的熵。我假设random.shuffle()也是一个非密码函数,所以你将低熵随机性添加到低熵随机性中;结果仍然有很低的熵,可以强制执行。最后,你把结果打乱了。我在这里假设您希望使用加密散列函数。在这种情况下,在合理的建模下,如果哈希函数的输入有足够高的熵,那么就没有问题,否则就不是。我猜你不在这里。

在任何情况下,就像所有密码学一样,很难做到这一点,在你成为专家之前,你不应该尝试自己发明它。

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

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

复制
相关文章

相似问题

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