基于扩展BDD的密钥流生成器密码分析
1. 引言
在密码学领域,密钥流生成器的安全性至关重要。我们期望伪随机性假设成立,因为显著违反该假设将意味着生成器易受相关攻击。接下来,我们将深入探讨二进制决策图(BDDs)及其在密钥流生成器初始状态恢复攻击中的应用。
2. 二进制决策图(BDDs)
2.1 BDD的定义
- 一个基于变量集 $X_n = {x_1, \ldots, x_n}$ 的二进制决策图(BDD)是一个有向无环图 $G = (V, E)$,其中 $E \subseteq V \times V \times {0, 1}$。
- 每个内部节点 $v$ 恰好有两条出边,分别是 0 - 边 $(v, v_0, 0)$ 和 1 - 边 $(v, v_1, 1)$,它们分别指向 0 - 后继 $v_0$ 和 1 - 后继 $v_1$。
- BDD 恰好包含两个出度为 0 的节点,即汇点 $s_0$ 和 $s_1$,其中 $s_0$ 的标签为 0,$s_1$ 的标签为 1。
- 有且仅有一个入度为 0 的节点,即 BDD 的根节点。
- BDD 的大小定义为图 $G$ 中的节点数,即 $|G| := |V|$。每个节点 $v \in V$ 代表一个布尔函数 $f_v \in B_n = {f|f : {0, 1}^n \to {0, 1}}$。对于输入 $a = (a_1, \ldots, a_n) \in {0, 1}^n$,$f_v(a)$ 的计算从节点 $v$ 开始。在标签为 $x_i$ 的节点处,选择标签为 $a_i$ 的出边,直到到达汇点,$f_v(a)$
超级会员免费看
订阅专栏 解锁全文
515

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



