什么样的 PRNG 会匹配这样的散点图?

What kind of PRNG would match such scatter plots?

我遇到了从一系列伪随机生成的字母数字 ID 中找到种子的挑战,经过一些分析后,我陷入了死胡同,希望你能找到我出.

每个 ID 都是通过加密算法传递前一个 ID 获得的,我应该对其进行逆向工程以找到种子。给我的列表由 2070 个第一个 ID 组成(显然没有种子)。 ID 以 4 个字母数字字符开头,一段时间后切换为 5 个字符(例如“2xm1”、“34nj”、“avdfe”、“2lgq9”)

一旦算法在加密 ID 后,returns 之前已经生成的 ID,就会发生此切换。此时,它向返回的 ID 添加一个字符,使其更长并因此变得唯一。然后它照常进行,生成新长度的 ID。这实际上意味着生成算法是满射的。

我的第一反应是尝试将这些 ID 从 base36 转换为其他一些基数,尤其是十进制。当我注意到一个我无法理解其起源的模式时,我将结果用于散点图 a chart of the IDs' decimal values in terms of their rank in the list。

根据 ID 长度隔离列表的两个部分后,我为 4-characters IDs sub-list and 5-characters IDs sub-list 散点绘制了相同的图形,让我注意到奇怪的密度模式。

经过一些分析,我观察到两件事:

我试图将这种行为与其他已知的 PRNG 散点图联系起来,但是 none 与我在图表上得到的相匹配。

我希望你们中的一些人可能知道与此类特定散点图匹配的加密方法、公式或函数,或者对幕后可能发生的事情有任何想法。

提前感谢您的回答。

这个答案可能不是很有用,但我认为它可以提供帮助。您显示的图表很可能不属于最知名的 PRNG 之一,当然它永远不会属于加密 PRNG。

但是我有个通知,不知道能不能帮上忙。这个 PRNG 似乎有一个完整的周期等于为固定字符位置生成的数字的完整周期。我的意思是它以 4 位数字的模式运行,然后重复模式,但对于 5 个字符具有更高的幅度,这可能意味着这种相同的分布模式将重复 6 个字符,但幅度更高。

因此,在夏季,这可能意味着如果您知道这个幅度的值是多少,那么可以利用此模式,因此您知道 6 个字符图的增量,然后您可以将 5 个字符图拉伸到Y 轴以获得某种解决方案(这将是 6 个字符图的种子)。

编辑:为了更清楚地说明您的评论。我的意思是这个 PRNG 生成随机数,但这些随机数不会重复到无穷大,而是会在某个时间点重新生成相同的序列。 I've inadvertantly left behind a piece of information: 确认了这一点,因为当它遇到之前生成的相同数字时(到达重新生成相同序列的时间点)。它只会向序列添加 1 个额外的字符,这不会改变图形上的分布,而是会使图形看起来就像沿着 Y 轴拉伸一样(就像图形函数的 Y 截距变大一样)。