$V2EX
Solana
Give SOL to Copy Address
使用 SOL 向 Mohanson 打赏,数额会 100% 进入 Mohanson 的钱包。
 Mohanson's recent timeline updates
Mohanson

Mohanson

V2EX member #234815, joined on 2017-06-09 21:27:42 +08:00
Today's activity rank 14311
Per Mohanson's settings, the topics list is hidden
Deals info, including closed deals, is not hidden
Mohanson's recent replies
@Mohanson 反对这个回答.

虽然楼主的修改让随机数的质量和周期暴跌, 但有个好处是 x ^= x >> 32 是非线性的, 这让所有线性分析的数学工具都不再可用, 也就是我猜测这个算法短期内不存在可以快速计算的方案; 但是如果放宽时间, 只要成功暴力破解一次那整个算法就完全崩溃了.
@CapNemo 是的, 我再想了一下, 楼主这个函数会把 2^64 分割成无数孤立的环, 0 是其中一个环, 并非所有计算结果都会落入 0 值黑洞. 但可以确定的是这些孤立环的周期远远小于 2^64.
密码学爱好者, 说一下这个算法的漏洞

这看起来是一种类似线性同余的伪随机数算法, 正规 LCG 第二步是 x = x + c(常量); 你发明的算法第二步是 x ^= x >> 32, 这会引入一个问题, 就是会有零值问题.

在 x ^= x >> 32 这一步, 如果 x 是 0x00000000ffffffff, 那么结算的输出 x 也是 0x00000000ffffffff, 这会导致进入纯乘法循环, 也就是这个函数会塌缩到一个乘法循环的周期再也出不去.

如果综合看 "x *= 0xD1342543DE82EF95; x ^= x >> 32;" 两步, 当 x 初始值为 0 时, 结算结果也为 0, 会进入更加明显的乘法循环周期(零值黑洞), 也就是说一旦你的某一步的计算结果是 0x00000000ffffffff 或者 0, 要么进入周期要么进入零值黑洞.

简单的说, 虽然没法一眼看出来 solve(11451419260817, 1e14) 的值是多少, 但有 99.9999% 的把握告诉你 solve(11451419260817, 1e140); 的结果是 0.

我来做的话, 我首先想到的是找这个算法的周期; 只要知道了周期就能得到任意步的结果了. 然后下一步是翻文献, 因为这个算法与 LCG 算法如此雷同, 当年大概率有文献告诉你这个算法为什么不行, 业界为什么选择了 x = x + c 而不是 x ^= x >> 32.
14 days ago
Replied to a topic by inas 生活 大家有计划什么时候退休吗?
说实话, 退休指的是离开原单位且社会保险经办机构按月给人发钱; 如果没有按月收到钱那就是辞退/离职/失业, 不是退休 ...
王胖子打金铺
gpt 5.5 坊间流传 23 号发吧, 6 还很远.
Apr 8
Replied to a topic by westisc Claude Claude 新模型 mythos preview 发布了
看下来大意是找代码 BUG 能力太强, 决定(短期内)不向社会公开.
Feb 2
Replied to a topic by RichardoLi 生活 夫妻矛盾,婆媳矛盾,谁对谁错
道听途说的, 之前尝试过了解婆媳矛盾的根源, 不代表本人看法: 远古母系社会, 一个长期生活在一起的家庭最多只能有一个"母亲"角色(最高权力者), 子女成年后母亲就会赶走子女分家过日子; 婆媳的矛盾根源在于她们都在家庭里占据了"母亲"这个生态位, 必然导致竞争. 一种解决方式是将家庭切换到父系社会, 即"儿子"和"丈夫"角色必须强势(最高权力者), 类似古代宫廷太后和皇后的相处模式.
AI 提示词可能有问题, 一直在用月俸比对年俸
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1700 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 16:25 · PVG 00:25 · LAX 09:25 · JFK 12:25
♥ Do have faith in what you're doing.