已知对方用 Excel,能否用前几次的随机数推算出下一次的随机数?

2016-01-31 17:37:47 +08:00
 egoate
比如说对方 Excel 有 1-1000 共 1000 个数字,每次随机出 100 个数字, 2-3 次之后能不能推算出对方下一次要出的100个数字?
3384 次点击
所在节点    问与答
15 条回复
lazycat
2016-01-31 20:08:31 +08:00
能的话还叫随机数?
wenssh
2016-01-31 20:28:05 +08:00
理论上可以,实际可能并不行。一般伪随机数都会有一个随机因子,同一个随机数生成器如果两次输入都给同一个随机因子的话会产生同样的输出,实际上游戏开发中的录像功能就利用了这个特性来减少打小。
对于你这个问题,第一,你要确保你有一个一模一样的随机数生成器,第二,你要知道这个随机因子是什么。
wenssh
2016-01-31 20:30:06 +08:00
随机因子这个看写代码的人,有的拿个本机时间,有的会取 mac 地址 cpu 温度这种来尽量保证随机。
edsgerlin
2016-01-31 21:41:21 +08:00
@wenssh 新 CPU ( Intel 的话是 Broadwell , Skylake , AMD 也有,不了解)都有 DRNG ,直接一个 RDSEED 指令就能取到通过 CPU 电子噪声生成的真随机数。
billlee
2016-01-31 21:59:15 +08:00
Excel 应该不会用安全随机数算法吧,收集足够多的输出序列后应该是可以预测的
Slienc7
2016-01-31 22:14:20 +08:00
@lazycat 所以叫伪随机数。
ilotuo
2016-01-31 22:20:04 +08:00
大神真多..
cchange
2016-01-31 22:46:49 +08:00
@edsgerlin 学习了……
wenssh
2016-01-31 22:51:35 +08:00
@edsgerlin 受教了:)
dxwwym
2016-01-31 23:04:18 +08:00
@edsgerlin 这个狠
vibbow
2016-01-31 23:32:58 +08:00
@billlee Excel 应该是直接调用 Windows 的随机数生成算法的。
Windows 的随机数生成器算法是会调用 真•随机数 生成器当种子的
ebony0319
2016-01-31 23:46:36 +08:00
@edsgerlin 厉害,
just1
2016-01-31 23:50:04 +08:00
excel 的是真随机数吧,我记得老是有讲过
Mutoo
2016-02-01 00:07:54 +08:00
《网络游戏安全揭密》一书中的提到过预测随机数的案例:
http://book.51cto.com/art/200912/172452.htm

此外 Excel 使用的是伪随机数,但没有明确种子的生成算法,
https://support.microsoft.com/zh-cn/kb/828795

更多讨论可以参考这个:
http://answers.microsoft.com/en-us/office/forum/office_2003-excel/what-define-the-random-seed-within-excel/49085e19-3a63-4191-92db-27da5428b435?auth=1
lazycat
2016-02-01 10:09:53 +08:00
@xgowex 我的意思表达的有点不太明确。。。我的意思是只根据两三组数据就能推算出后面的的话,除非知道算法并且算法里面的变量只有两三个否则就算为随机数也不可能这么 LOW 的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/254629

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX