随机数生成器与流式密码学技术解析
1. 带输入的健壮随机数生成器(RNG)
在构建带输入的提前下一个健壮随机数生成器时,需要一个带输入的健壮 RNG。这里介绍一种相关的 RNG 构造方法。
设 $G : {0, 1}^m \to {0, 1}^{n+\ell}$ 是一个(确定性)伪随机生成器,其中 $m < n$。用 $[y] 1^m$ 表示 $y \in {0, 1}^n$ 的前 $m$ 位。该带输入的 RNG 构造有参数 $n$(状态长度)、$\ell$(输出长度)和 $p = n$(样本长度),定义如下:
- 初始化(setup) :输出种子 $seed = (X, X’) \leftarrow {0, 1}^{2n}$。
- 刷新(refresh) :给定种子 $seed = (X, X’)$、当前状态 $S \in {0, 1}^n$ 和样本 $I \in {0, 1}^n$,输出 $S’ := S \cdot X + I$,所有操作都在 $F {2^n}$ 上进行。
- 下一步(next) :给定种子 $seed = (X, X’)$ 和状态 $S \in {0, 1}^n$,首先计算 $U = [X’ \cdot S]_1^m$,然后输出 $(S’, R) = G(U)$。
有定理表明,在一定条件下,该构造的 RNG 是一个健壮的带输入 RNG。Dodis 等人建议使用计数器模式的 AES 来实例化他们的 PRG,并对其安全性进行了详细分析。在实际应用中,考虑到刷新调用次数的限制,可设置 $q_D = q_
超级会员免费看
订阅专栏 解锁全文
2641

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



