能力值:
( LV5,RANK:68 )
|
-
-
2 楼
只要是你代码跑出来的,都不是随机数
|
能力值:
( LV4,RANK:40 )
|
-
-
3 楼
关键看怎么跑了,自然界能做到的计算机都能做到。
|
能力值:
( LV17,RANK:1185 )
|
-
-
4 楼
这个世界上唯一的真随机数只存在于量子物理的世界中。。。
|
能力值:
( LV4,RANK:40 )
|
-
-
5 楼
楼上的认识太偏颇,您扔骰子也能产生真随机数的,不信你试试看。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
sjdkx
楼上的认识太偏颇,您扔骰子也能产生真随机数的,不信你试试看。
投骰子也会因为骰子制作时质量分布不均匀导致无法产生真正的随机数
|
能力值:
( LV4,RANK:40 )
|
-
-
7 楼
你用经过检测的等概率骰子就可以了。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
可能神经衰弱浑身乏力也会生成伪随机数,呵呵
|
能力值:
( LV4,RANK:40 )
|
-
-
9 楼
可能不可能,需用数据说话,满嘴跑舌头想怎么说就怎么说可不行。 本帖子的论点都是有试验基础的。随机排序后能通过NIST检测才算是较合格的随机数组。
|
能力值:
(RANK:190 )
|
-
-
10 楼
随机扰乱顺序,是否会导致:扰乱后的序列的每个数字出现的次数 与扰乱之前的出现次数一样? 例如:扰乱前是:0x00000000-0xffffffff 对这2^32个数字扰乱顺序 得到一个新序列 不论这个序列有多么“真随机” 都会存在一个问题:当使用完了2^32-1个数字之后 我完全可以预测 剩下的那个数字一定就是那个从未出现过的数字。所以,这个序列不可以当做真随机序列来使用。(因为我可以预测它的下一个数字了) 以上只是一种极端的例子,能够让安全问题得以凸显。 但即便不是这样极端的场景,也同样有类似问题。 所以,通过将一定已知序列随机扰乱顺序来获得随机序列,是不安全的。
|
能力值:
( LV4,RANK:40 )
|
-
-
11 楼
楼上过虑了,有自然规律做保证,你什么也预测不了。 例如你的盘子里放着由几种颜色的沙子,你拿个铲子去搅动,你别指望还会回到最初的状态了。热力学第二定律告诉我们,沙子只能向着颜色混乱的方向发展,而不可能相反。
|
能力值:
( LV4,RANK:40 )
|
-
-
12 楼
@看场雪 看你的帖子,对随机数组的认识有问题,你的认识好像是,在序列中相邻的数组元素都不一样,所以你才有那种言论,事实上元素的各种排列都可能出现,双联的三联的....只是出现的概率有所不同。
|
能力值:
(RANK:190 )
|
-
-
13 楼
谢谢楼主回复 我对本帖的大部分内容都同意 只是对这句话有不同理解
我的观点是:不能对已知分布均匀的有序数组做随机排序 最好是:对分布未知、不可预测的数组做随机排序
因为分布均匀(或者分布有规律)的数组 会出现我上面回帖中所述的安全风险
不过 这里面引入了一个悖论 既然已经是分布未知、不可预测的数组了,干嘛还需要随机排序呢? 我认为答案是:这个被随机排序之前的数组的随机性不是很理想,希望再增强一下 所以 ‘随机排序’这一招 不能用在一个‘已知分布均匀’的数组上
另外 楼主还提到了一个概念:在序列中相邻的数组元素 是否一样 我补充说明一下,在我的观点中 从未提及过 相邻元素是否需要一样或不一样 这和我的观点毫无关系,也不重要
|
能力值:
( LV4,RANK:40 )
|
-
-
14 楼
@看场雪 1)为什么要对有序数组做随机排序? 是因为要凭空建造随机数组,而有序数组是被加工的原料,以达到各元素尽量的数量上一致。 2)你说的
悖论,乱码数组不需要再随机排序了,因为已经是乱码数组了。 随机排序是为了生成新的未知数组,例如截取一段伪随机数组,对其进行随机排序,就可以产生新的数组,并且是无法反算回去的,目的是生成可控的随机数据。
目的都是为了生成真随机数组,方法各有差别而已。实际上不管数组原始状态如何,只要组成数组的元素是均匀的,经随机排序后都能生成真随机数组。
|
能力值:
( LV7,RANK:105 )
|
-
-
15 楼
生成随机数的方法不少,只要能收集到随机的元素。可以有一个收集random因素的pool 然后每次发生随机数时候可以基于里面的内容进行生成。比如某些包的package number,或者周围的一些噪声声波信息,或者是一些cpu某时刻使用的信息等等。都会收集到一个random pool之中。
|
能力值:
( LV4,RANK:40 )
|
-
-
16 楼
靠搜集随机信息形成随机数效率太低,这里的方法是利用现有资源创造随机数,实际也是利用现有的随机因素,并且是取之不尽用之不绝的。
|
|
|