非安全随机数生成器和安全随机数生成器之间有什么区别?

问题描述 投票:25回答:7

正如标题所说:非安全随机数发生器和安全随机数发生器之间有什么区别?

random cryptography
7个回答
31
投票

没有计算可行的算法应该:

  • 收回种子,或
  • 预测“下一位”

用于安全的随机数发生器。

示例:线性反馈移位寄存器会产生大量随机数,但如果输出足够,则可以发现种子并预测所有后续数字。


5
投票

即使给出先前生成的随机数列表,也不应预测安全随机数。您通常将它用作加密例程的密钥,因此您不希望它是可猜测的或可预测的。当然,可猜测取决于上下文,但您应该假设攻击者知道您知道并可能用于生成随机数的所有内容。

有各种网站生成安全随机数,一个可信任的是hotbits。如果您只是将随机数生成为一次性活动,为什么不使用抽奖结果,因为它可以证明是随机的。当然,不要告诉任何人哪个抽奖和抽奖,并将这些数字通过适当的轧机来获得你想要的范围。


1
投票

只有一个“随机数”,通常意味着一个伪随机数。因为它是伪随机数,所以攻击者可以(轻松)预测它。

安全随机数是来自真正随机数据源的随机数,即。涉及一些熵池。


1
投票

同意Purfiedeas。关于这一点的文章也很好,叫做Cheat Online Poker


1
投票

随机数可能意味着算法使用“种子”返回的伪随机数。

安全随机数将是从诸如基于铯的随机数发生器(其使用铯的衰减速率返回数字)的设备返回的真随机数。这是自然发生的,无法预测。


0
投票

它可能取决于上下文,但当你比较它们时,我会说“随机数”是pseduo random number而“安全随机数”是真正随机的。前者为您提供基于种子和算法的数字,另一个基于一些继承随机函数。


0
投票

这就像AES和ROT13之间的区别。

为了减少轻率,一旦你看到一些随机数,就会产生随机数之间的权衡,即在序列中的下一个有多难以及可预测的可预测性。语言的内置rand()返回的随机数通常是廉价的,可预测的变种。

© www.soinside.com 2019 - 2024. All rights reserved.