计算机程序可以产生真正的随机数吗?不是random伪随机
4个回答
展开全部
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。
在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。
有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本书的篇幅。不管用什么方法实现随机数发生器,都必须给它提供一个名为“种子”的初始值。而且这个值最好是随机的,或者至少这个值是伪随机的。“种子”的值通常是用快速计数寄存器或移位寄存器来生成的。
扩展资料:
随机数在密码学中非常重要,保密通信中大量运用的会话密钥的生成即需要真随机数的参与。如果一个随机数生成算法是有缺陷的,那么会话密钥可以直接被推算出来。若果真发生这种事故,那么任何加密算法都失去了意义。
密码学中大量利用伪随机数生成器的应用还有流密码。流密码的著名例子是RC4。流密码的原理是利用一个密码学安全的伪随机数生成器根据密钥产生一串密码学安全的伪随机比特列,再将消息与上述随机比特列按位异或运算。
参考资料来源:百度百科-随机数
展开全部
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。
追问
不是说量子力学中粒子的位置是随机的吗?量子计算机可以用来实现真正的随机吗?还有不可以在程序外关联一个能制造随机的硬件装置呀,比如一个超高速的掷硬币装置,我试了用蒙特卡洛这种利用概率的算法求圆周率不是很精确,我想就是因为random这毕竟是伪随机,如果是真正的随机的话,无论是理论上还是显示我感觉应该很精确,至少比祖冲之求的精确
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以
更多追问追答
追答
我们上次正确的的数和用计算机的数差好多
追问
是怎么个算法呢,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询