是否进行过实施随机性提取器构造的研究?
提取器证明似乎利用了Big-Oh,留下了大的隐藏常量的可能性,从而使程序实现可能不切实际。
一些背景:我对使用随机性提取器作为蒙特卡罗模拟中使用的(可证明的)随机数的快速来源感兴趣。我们(ETHZ计算物理小组)从量子随机数生成器中偏向了高熵源,我们希望从中提取随机性。先前的一名学生尝试实施Trevisan构造并遇到了空间复杂性问题。除了那个学生以外,我还没有找到任何尝试实现提取器的人的参考。
注意:我是CS本科生,他是理论CS和随机性提取器领域的新手。
是否进行过实施随机性提取器构造的研究?
提取器证明似乎利用了Big-Oh,留下了大的隐藏常量的可能性,从而使程序实现可能不切实际。
一些背景:我对使用随机性提取器作为蒙特卡罗模拟中使用的(可证明的)随机数的快速来源感兴趣。我们(ETHZ计算物理小组)从量子随机数生成器中偏向了高熵源,我们希望从中提取随机性。先前的一名学生尝试实施Trevisan构造并遇到了空间复杂性问题。除了那个学生以外,我还没有找到任何尝试实现提取器的人的参考。
注意:我是CS本科生,他是理论CS和随机性提取器领域的新手。
Answers:
提取器的许多文献都关于最小化种子长度,这对于非随机化应用很重要。但是,这对您来说可能并不重要。同样,文献通常集中在相对较大的误差(例如1/100)上,这对于去随机化是很好的,但在其他情况下可能会成问题,需要指数级地减小误差。
在您的设置中,可以一劳永逸地生成一个长随机种子(例如扔硬币),然后使用它进行提取。在这种情况下,您可以使用具有相当高效的实现的成对独立哈希函数。我与Shaltiel和Tromer撰写了有关此问题的论文。您也许还可以使用几乎独立的哈希函数,这些函数可以更高效且种子更小。(尽管对此有好几项工作,但暂且不知道如何有效地实现它们是很好的参考。)
如果您有多个独立的资源,那么您可以做得更好。如果熵率大于50%(在上面的调查中应提及),则经典的Hadamard提取器将起作用。如果熵小于50%,则我们可以使用Impagliazzo和Wigderson进行一个简单的构造。尽管要真正理解它,您需要查看当今最先进的和积定理给出的确切范围,但是源数量与所实现的误差之间的依存关系并不是很理想。(并且,如果您愿意假设某些数字理论猜想,则可以得到更有效的提取器。)此结构已通过各种方式得到了极大的改进,其中有些可能与您的应用程序相关。Anup Rao的论文。
首先,请参阅Wikipedia上的相关主题。其次,您可以看一下以下论文:
罗恩·沙尔蒂尔(Ronen Shaltiel)在提取器的显式结构方面的最新进展。
本文以调查的形式撰写,可以帮助您找到“最新动态”。
最后,如果只需要一个“看起来”随机的位序列(但不一定是密码安全的),则可以将哈希函数(例如MD5或SHA-1)应用于您的高熵源,并获得一个几乎没有时间获得出色的结果(用于物理实验)。