随机数生成器与SSL/TLS相关知识详解
随机数生成器算法
滞后斐波那契生成器(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 \pm x_j)(加法或减法)
- (y = x_k \times x_j \bmod m)(乘法)
- (y = x_k \oplus x_j)(异或)
其中,(j) 和 (k) 是生成器的滞后值。当模数 (m) 为素数时,最大周期为 (m^k - 1);更常见的是使用 (m = 2^p)((p) 为素数),此时不同类型 LFG 的最大周期如下:
|类型|最大周期|
| ---- | ---- |
|加法 LFG|((2^k - 1)2^{p - 1})|
|乘法 LFG|((2^k - 1)2^{p - 3})|
任何 LFG 都需要用序列的初始 (k) 个元素进行种子设定。
莱默算法(Lehmer Algorithm)
莱默算法是线性同余生成
超级会员免费看
订阅专栏 解锁全文
1283

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



