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

如题所述

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

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

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

扩展资料:

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-02
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。追问

不是说量子力学中粒子的位置是随机的吗?量子计算机可以用来实现真正的随机吗?还有不可以在程序外关联一个能制造随机的硬件装置呀,比如一个超高速的掷硬币装置,我试了用蒙特卡洛这种利用概率的算法求圆周率不是很精确,我想就是因为random这毕竟是伪随机,如果是真正的随机的话,无论是理论上还是显示我感觉应该很精确,至少比祖冲之求的精确

本回答被提问者和网友采纳
第2个回答  2016-01-02
可以追答

我们上次正确的的数和用计算机的数差好多

追问

是怎么个算法呢,

追答

那只是偶然情况

用笔算

追问

伪随机数后面都是有一个算法的,算法意味着是要有逻辑的,既函数,无论表面看起来多么随机,其实背后不还是有一个规律吗

追答

如果用计算机算多算几遍

听不懂

追问

但是不是说量子屋里月中量子的下一刻的位置是真正的不可测的,随机的,可以把他结合到程序中吗

或者程序的背后绑定一个实物装置,比如高速的掷硬币

追答

我要晕了

我懂的不多自是个小学女生

追问

量子计算机是干什么的呀

追答

嗯嗯嗯嗯额

我查查

执行指令的

后面的我忘了

追问

你上小学吗,那你知道圆周率么

追答

知道

追问

你知道圆周率怎么求吗

追答

3.1415926535……

我刚刚上厕所}

人那

你也去上厕所}

追问

可以用随机数计算这个派,但是这个随机数其实是伪随机数,所以说还是有些误差的,要是没有真正的随机数就好了,就像掷硬币那样的,下一刻是绝对纯概率的,所以最近在纠结这个问题

追答

追问

蒙特卡洛求算法求圆周率

追答

抛硬币也有立着的时候

追问

我希望有一些志同道合的朋友讨论讨论,原来你真是个00后哇

你可以买彩票了

追答

什么是OO后

为什么可以买了

追问

指十几岁的孩子

追答

我12

追问

硬币立着的几率和中彩票差不多

追答

我立着过好次

追问

我12时还没见过大哥大呢

追答

大哥大是啥

追问

你那是桶还是硬币呀

追答

你多少岁

硬币

追问

我是最大的九零后,你算算

追答

20多岁是吗

追问

追答

我是算命先生

追问

你们现在小学生都有手机吗

追答

追问

几个

追答

只不过这不是我的我的在充电

2个

追问

你们好幸福呀,根本不用担心作业了

追答

……

为啥

追问

我们那时天天买资料书抄答案

追答

我很利害的

追问

不错

追答

我以经破过好多道全班都没做出的题

追问

是数学题吗,我数学最差了,真厉害

你们教室提供免费wifi么?

追答

是数学

提拱

我刚才写作业1了

我还没写完

追问

你们数学老师厉害吗

追答

你好

这几天我爸出门了

所以没玩

对不起

不利害

你好

第3个回答  2019-04-17
光靠程序是无法实现真随机数的。要实现真正的随机数,必须有真正随机的种子。