随机数生成器:原理、构造与应用
1. 引言
随机数在计算机科学和密码学中扮演着至关重要的角色。然而,真正的随机数往往难以获取,因此伪随机数生成器成为了实际应用中的常用工具。本文将介绍两种重要的伪随机数生成器:Nisan - Wigderson 生成器和 Blum - Blum - Shub 生成器。
2. Nisan - Wigderson 生成器
2.1 基本原理
已知的伪随机数生成器通常假设存在某个难以计算的函数,然后将少量随机比特扩展为对所有高效算法都看似随机的大量比特。Nisan - Wigderson 生成器基于这种较为通用的假设构建。
首先,我们量化布尔函数 $f$ 难以近似的程度。对于一个布尔函数 $f: B^n \to B$,$\varepsilon > 0$,$s \in N$,若对于所有具有 $n$ 个输入且规模为 $s$ 的算法(布尔电路)$A$,都有 $| prob{f(x) = A(x): x \leftarrow U_n} - \frac{1}{2}| \leq \frac{\varepsilon}{2}$,则称 $f$ 是 $(\varepsilon, s)$ - 难的。
如果有一个难计算的函数 $f$,那么对于随机的 $x \in B^n$,单比特 $f(x)$ 对任何高效算法来说都看似随机。我们可以通过在更大输入的许多不同且近乎不相交的比特子集上评估 $f$ 来得到多个看似随机的比特。
2.2 (k, n, s, t) - 设计
设计理论和有限域理论为实现这一目标提供了工具。
定义 11.23:设 $k$,$n
超级会员免费看
订阅专栏 解锁全文
4081

被折叠的 条评论
为什么被折叠?



