V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
egoate
V2EX  ›  问与答

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

  •  
  •   egoate · 2016-01-31 17:37:47 +08:00 · 3539 次点击
    这是一个创建于 3242 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如说对方 Excel 有 1-1000 共 1000 个数字,每次随机出 100 个数字, 2-3 次之后能不能推算出对方下一次要出的100个数字?
    15 条回复    2016-02-01 10:09:53 +08:00
    lazycat
        1
    lazycat  
       2016-01-31 20:08:31 +08:00 via Android
    能的话还叫随机数?
    wenssh
        2
    wenssh  
       2016-01-31 20:28:05 +08:00 via iPhone
    理论上可以,实际可能并不行。一般伪随机数都会有一个随机因子,同一个随机数生成器如果两次输入都给同一个随机因子的话会产生同样的输出,实际上游戏开发中的录像功能就利用了这个特性来减少打小。
    对于你这个问题,第一,你要确保你有一个一模一样的随机数生成器,第二,你要知道这个随机因子是什么。
    wenssh
        3
    wenssh  
       2016-01-31 20:30:06 +08:00 via iPhone
    随机因子这个看写代码的人,有的拿个本机时间,有的会取 mac 地址 cpu 温度这种来尽量保证随机。
    edsgerlin
        4
    edsgerlin  
       2016-01-31 21:41:21 +08:00   ❤️ 3
    @wenssh 新 CPU ( Intel 的话是 Broadwell , Skylake , AMD 也有,不了解)都有 DRNG ,直接一个 RDSEED 指令就能取到通过 CPU 电子噪声生成的真随机数。
    billlee
        5
    billlee  
       2016-01-31 21:59:15 +08:00
    Excel 应该不会用安全随机数算法吧,收集足够多的输出序列后应该是可以预测的
    Slienc7
        6
    Slienc7  
       2016-01-31 22:14:20 +08:00
    @lazycat 所以叫伪随机数。
    ilotuo
        7
    ilotuo  
       2016-01-31 22:20:04 +08:00
    大神真多..
    cchange
        8
    cchange  
       2016-01-31 22:46:49 +08:00 via iPhone
    @edsgerlin 学习了……
    wenssh
        9
    wenssh  
       2016-01-31 22:51:35 +08:00 via iPhone
    @edsgerlin 受教了:)
    dxwwym
        10
    dxwwym  
       2016-01-31 23:04:18 +08:00 via iPhone
    @edsgerlin 这个狠
    vibbow
        11
    vibbow  
       2016-01-31 23:32:58 +08:00 via Android
    @billlee Excel 应该是直接调用 Windows 的随机数生成算法的。
    Windows 的随机数生成器算法是会调用 真•随机数 生成器当种子的
    ebony0319
        12
    ebony0319  
       2016-01-31 23:46:36 +08:00 via Android
    @edsgerlin 厉害,
    just1
        13
    just1  
       2016-01-31 23:50:04 +08:00 via Android
    excel 的是真随机数吧,我记得老是有讲过
    Mutoo
        14
    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
        15
    lazycat  
       2016-02-01 10:09:53 +08:00
    @xgowex 我的意思表达的有点不太明确。。。我的意思是只根据两三组数据就能推算出后面的的话,除非知道算法并且算法里面的变量只有两三个否则就算为随机数也不可能这么 LOW 的。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   870 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:14 · PVG 06:14 · LAX 14:14 · JFK 17:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.