随机数生成器与SSL/TLS技术解析
1. 随机数生成器算法
1.1 滞后斐波那契生成器(Lagged Fibonacci Generators)
滞后斐波那契生成器(LFG)是一种特殊的线性同余生成器(LCG),以斐波那契数列 $S_n = S_{n - 1} + S_{n - 2}$ 为基础,该数列起始为 1 - 1 - 2 - 3 - 5 - 8 - 13 - 21 - 35 等。LFG 有多种形式:
- 加法滞后斐波那契生成器(ALFG) :使用加法运算。
- 乘法滞后斐波那契生成器(MLFG) :使用乘法运算。
- 二抽头广义反馈移位寄存器(GFS) :使用异或(XOR)运算。
基本公式如下:
- 加法:$y = x_{k - 1} + x_{j - 1}$
- 乘法:$y = x_{k - 1} \times x_{j - 1} \mod m$
- 异或:$y = x_{k - 1} \oplus x_{j - 1}$
其中,$j$ 和 $k$ 是生成器的滞后值。当模数 $m$ 为质数时,最大周期可达 $m^k - 1$;更常见的是使用 $m = 2^p$($p$ 为质数),此时最大周期分别为:
| 类型 | 最大周期 |
| ---- | ---- |
| 加法 LFG | $(2^k - 1)2^{p - 1}$ |
| 乘法 LFG | $(2^k - 1)2^{p - 3}$ |
任何 LFG 都需要用序列
超级会员免费看
订阅专栏 解锁全文
4411

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



