Blum Blum Shub PRG

Blum Blum Shub PRG

BBS 生成器只输出其内部生成的每个 Xn 的 n 个最低有效位或奇偶校验位,这背后的原因是什么?也就是说,如果它输出其生成的完整 Xn,是否有办法将其与真正的随机函数区分开来?

答案1

对于此类问题(为什么只使用最低阶的 N 位?),通常的答案是,它可以防止泄露太多有关 PRNG 内部状态的信息。

如果您在两个连续的状态下向攻击者提供完整的 X_n 状态,他们可以轻松地确定模量,从而计算出 PRNG 的所有未来状态。

也就是说,给定值 a = X_n 和 b = X_(n+1),攻击者只需找到满足 b = a^2 mod M 的 M。只要 a^2 大于 M,我认为这应该很容易做到。如果 M 大于 a^2,则 b = a^2,攻击者需要不断询问数字,直到模数发挥作用。

相关内容