基于扩展二元决策图的密钥流生成器密码分析
1. 密钥流生成器基础
密钥流生成器是密码学中用于生成加密所需密钥流的重要组件。它主要由三部分构成:
- 内部状态 :一个 $n$ 位的内部状态 $s = (s_0, \ldots, s_{n - 1})$。
- 状态更新函数 :$F : {0, 1}^n \to {0, 1}^n$,用于更新内部状态。
- 输出函数 :$C : {0, 1}^n \to {0, 1}^*$,根据当前内部状态生成输出比特。
生成器的起始状态 $s_0$ 由秘密密钥 $K$ 和公开初始化向量 $IV$ 推导得出。在每个时钟周期 $t$,输出比特根据 $C(s_t)$ 从当前状态 $s_t$ 产生,同时内部状态更新为 $s_{t + 1} = F(s_t)$。因此,生成器的输出完全由起始状态 $s_0$ 决定。
对于面向硬件的密钥流生成器,一种广泛采用的架构是使用多个反馈移位寄存器(FSR)$R_1, \ldots, R_{k - 1}$ 来表示内部状态,这些 FSR 的长度分别为 $n(0), \ldots, n(k - 1)$。生成器的状态 $s$ 是这些 FSR 状态的组合,即 $n = \sum_{i = 0}^{k - 1} n(i)$。在众多类型的 FSR 中,线性反馈移位寄存器(LFSR)、非线性反馈移位寄存器(NFSR)以及带进位的反馈移位寄存器(FCSR)被证明是构建密钥流生成器的合适选择。
2. 反馈移位寄存器(FSR)
FSR 由一个 $n$ 位寄存器
超级会员免费看
订阅专栏 解锁全文
180

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



