理论上是否在使用合理的伪随机发生器?


17

据我所知,实践中大多数伪随机数生成的实现都使用诸如线性移位反馈寄存器(LSFR)或这些“ Mersenne Twister”算法之类的方法。尽管它们通过了大量(启发式)统计检验,但是并没有理论上的保证,它们看起来对所有可有效计算的统计检验都是伪随机的。然而,从加密协议到科学计算再到银行业务,这些方法在各种应用中都被不加选择地使用。我感到有些令人担忧的是,我们几乎无法保证这些应用程序是否按预期工作(因为任何类型的分析都可能假定输入是真正的随机性)。

另一方面,复杂性理论和密码学提供了非常丰富的伪随机性理论,我们甚至拥有伪随机数生成器的候选构造,该构造会欺骗使用候选单向函数的任何有效统计测试。

我的问题是:这种理论是否已付诸实践?我希望对于密码学或科学计算等随机性的重要用途,使用理论上合理的PRG。

顺便说一句,对于使用LSFR作为随机性来源时,快速排序等流行算法的工作情况,我可以找到一些有限的分析,显然它们可以很好地工作。参见Karloff和Raghavan的“随机化算法和伪随机数”


3
甚至还有通用PRG-如果存在安全的PRG,它就是安全的。

您是指加密PRG吗?如果是这样,那么我们是否不知道(密码学)PRG等同于OWF?
袁子春

2
是。分裂位种子入约大约块的每一比特,运行的第一个[块的数量]最多为相应块图灵机步骤,垫输出到比特,并且输出那些TM的输出的异或。(就像李文的通用搜索,这不能在实践中使用。)ķķķķ2ķ+1个

1
可能与实践更相关的是与散列所需的随机性相关的结果:从经典有界独立族到最新的结果,例如Mitzenmacher-Vadhan(成对独立性+输入中的某些熵提供了足以用于线性探测和布隆过滤器的伪随机性)或Patrascu -Thorup在列表哈希中的结果。
Sasho Nikolov

1
“但是,这些方法在各种应用中都被不加选择地使用,从加密协议开始……”。我希望不是。尽管可能会有变种,但Mersenne Twisters不应用于加密,因为它们的加密强度
Mike Samuel

Answers:


13

“理论上合理的”伪随机发生器的概念并没有得到很好的定义。毕竟,没有任何伪随机数生成器具有安全性证明。我不知道我们可以说基于分解大整数的硬度的伪随机数生成器比使用AES作为伪随机数生成器“更安全”。(实际上,由于我们知道量子分解算法,但不知道破坏AES的量子算法,因此它的安全性较低。)

我们确实有各种组合结果的数学证明,也就是说,如果您以某些方式组合分组密码或哈希函数,则可以获得伪随机数生成器或伪随机数函数。一些这样的结果在实践中被广泛使用,例如HMAC。但是,的确,实现PRG并仅假设基本组件是简单的单向函数开始的结果不够有效,不足以用于应用程序(这至少是部分固有的))。因此,通常我们需要将PRG /流密码/块密码/哈希函数假定为基本原语,并开始从中构建其他内容。问题并不是真正的渐近分析,因为基本上所有的密码学缩减(也许除了莱文的通用PRG都可以)是具体的,因此可以在具体的假设下提供具体的保证。

但是,即使它们不是基于单向函数,在某种意义上,诸如AES之类的结构还是“理论上合理的”,因为:(1)关于它们的安全性存在正式的猜想。(2)有工作试图反驳这些猜想,并从这些猜想中得到启示。

实际上,人们已经意识到,对于许多应用程序,使用不满足上述(1)和(2)的PRG(例如LSFR)并不明智。


1
我想您想将Jonathan Katz的论文之一链接到他的网页。顺便说一句,您要我们将其与您的其他帐户合并吗?
卡夫

9

您似乎将理论与实践相混淆。理论上合理的伪随机数生成器不适合实际使用,原因如下:

  • 这可能效率很低。
  • 安全证明只是渐近的,因此对于所使用的特定安全参数,伪随机数生成器可能很容易破解。
  • 所有安全证明都是有条件的,因此从某种意义上说,它甚至不能满足理论安全性的概念。

与此相反,实际的伪随机数生成器速度很快,并且根据其用途而具有不同的风格。对于非加密用途,除了普通的LFSR以外,几乎所有其他功能都可以胜任-无法证明,但是在实践中(这对于实际使用东西的人来说更为重要)。

对于密码使用,人们尝试变得更加聪明。在这一点上,您的批评是有道理的:我们不知道所使用的特定伪随机生成器是“安全的”,并且确实有一些旧的伪随机生成器已被破坏,例如WEP中使用的RC4。但是,由于上述原因,不幸的是,使用理论上(有条件的)声音伪随机发生器不是可行的解决方案。取而代之的是,密码学界依靠“同行评议”-其他尝试“破坏”系统的研究人员(他们对密码何时被破坏的定义非常广泛)。

最后,在可以投入金钱且安全性非常重要的应用中(例如核密码),人们使用物理产生的噪声(通过随机抽取器传递),尽管即使这样也不超出理论上的批评范围。


当研究人员撰写赠款提案或论文引言时,他们常常声称他们的研究与实践有关并为实践提供了信息。我不知道他们是相信还是只是口头服务(可能取决于研究人员),但是您应该意识到,出于明显的原因,这种联系在学术界被大大夸大了。

限制我们成为数学研究者的一件事是我们对形式证明的教条依恋。您提到了对由简单伪随机生成器提供的随机算法的分析。这种分析不能扩展到实际问题,因为它们太复杂了。然而,实际上,人们总是使用明智的方法来解决NP难题。

用更科学和实验的眼光可以更好地理解实际问题。从工程角度更好地解决它们。他们激发了理论研究的灵感,有时也从中受益。正如Dijsktra所说,(理论上的)计算机科学不是真的与计算机有关,也不再与计算机有关。


感谢您的回答,Yuval。但是,我不完全相信密码学的伪随机生成器构造在效率上不可行。据我所知,没有人对此做过研究。
袁子春

2
我也不同意标准的伪随机生成器足以满足“日常用途”的笼统声明。正如最近的“罗恩是错的,惠特是正确的”论文所表明的那样,伪随机生成的缺陷导致了难以忽视的脆弱性。这种特定的分析非常简单;由于LSFR不足,有多少“现实世界”应用程序可能遭受更微妙的漏洞?如果理论上合理的PRG所需的额外计算开销不是很多,为什么不使用它们呢?
袁子春

1
@HenryYuen LSFR不用于任何体面的现代系统中的加密应用程序。(当然,那里有设计不良的系统,例如GSM在入门课程中教过如何不这样做。)“罗恩是错的,惠特是正确的”论文中发现的问题与质量无关。 PRNG本身,但具有熵收集的质量。
吉尔(Gilles)'“ SO-别再作恶了”'2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.