计算机程序可以产生真正的随机数吗?不是random伪随机

 我来答
帐号已注销
2021-01-18 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:165万
展开全部

光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。

在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器。

有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚厚的一本书的篇幅。不管用什么方法实现随机数发生器,都必须给它提供一个名为“种子”的初始值。而且这个值最好是随机的,或者至少这个值是伪随机的。“种子”的值通常是用快速计数寄存器或移位寄存器来生成的。

扩展资料:

随机数在密码学中非常重要,保密通信中大量运用的会话密钥的生成即需要真随机数的参与。如果一个随机数生成算法是有缺陷的,那么会话密钥可以直接被推算出来。若果真发生这种事故,那么任何加密算法都失去了意义。

密码学中大量利用伪随机数生成器的应用还有流密码。流密码的著名例子是RC4。流密码的原理是利用一个密码学安全的伪随机数生成器根据密钥产生一串密码学安全的伪随机比特列,再将消息与上述随机比特列按位异或运算。

参考资料来源:百度百科-随机数

一剑出血
高粉答主

2016-01-02 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。
追问
不是说量子力学中粒子的位置是随机的吗?量子计算机可以用来实现真正的随机吗?还有不可以在程序外关联一个能制造随机的硬件装置呀,比如一个超高速的掷硬币装置,我试了用蒙特卡洛这种利用概率的算法求圆周率不是很精确,我想就是因为random这毕竟是伪随机,如果是真正的随机的话,无论是理论上还是显示我感觉应该很精确,至少比祖冲之求的精确
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
画罪千秋
2016-01-02
知道答主
回答量:19
采纳率:0%
帮助的人:3.7万
展开全部
可以
更多追问追答
追答
我们上次正确的的数和用计算机的数差好多
追问
是怎么个算法呢,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问琛v5
2019-04-17 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:848
采纳率:33%
帮助的人:63.2万
展开全部
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式