基于单个伪随机函数的超级伪随机置换构造
上半部分
在密码学领域,伪随机置换生成器的研究一直是一个重要的方向。本文将围绕如何从单个伪随机函数构造超级伪随机置换展开,介绍相关的概念、定理以及不同构造方式的性质。
1. 相关概念定义
- 迭代DES方案 :(\$(J_1, \cdots, J_k))实际上是一个(k)次迭代的DES方案,其中S盒被函数(f_1, \cdots, f_k)所取代。
- 置换的“扩展” :设(\sigma)是(I_n)的一个置换,(\sigma)的“扩展”是满足以下条件的最小整数(\lambda):对于所有(L \in I_n),方程(x \oplus \sigma(x) = L)在(I_n)中最多有(\lambda)个解。
下面通过具体例子来理解“扩展”的概念:
| 置换函数 | 扩展值(\lambda) | 原因 |
| ---- | ---- | ---- |
| 恒等函数 | (2^n) | 当(L = 0)时,方程(x \oplus x = L)有(2^n)个解 |
| 单比特旋转函数 | (2) | 对于所有(L \in I_n),方程(x \oplus \sigma(x) = L)最多有两个解,当(L = 0)时恰好有两个解 |
值得注意的是,存在一些置换的(\lambda = 1),这种置换被称为“完全映射”。
2. 重要定理
基于“扩展”的概念,有以下两个重要定理:
-
定理3.1
:设(\sigma = (\sigma(n))_{n \in \mathbb{N}})是一个置换序列,(\sigma_n \in B_n),(\lambda_n)是(\sigma_n)的扩展。如果对于所有多项式(P(n)),(\lambda_n / 2^n \to 0),那么(\$(f, f, f \circ \sigma \circ f))是一个伪随机函数生成器,其中(f)是单个伪随机函数。
-
定理3.2
:在相同的符号和条件下,(\$(f, f, f, f \circ \sigma \circ f))是一个超级伪随机函数生成器。
这两个定理解决了关于伪随机置换生成器的两个开放问题。例如,当(\sigma)是单比特旋转函数时,(\lambda_n = 2),根据定理3.2,我们可以仅使用一个伪随机函数(f)构造出超级伪随机置换生成器。
3. 定理证明思路
为了证明定理3.1和定理3.2,我们需要先证明一些基本性质。
-
(\$(f, f, f \circ \sigma \circ f))的基本性质
:
- 定理4.1 :设(\sigma)是(I_n)的一个置换,(\lambda)是(\sigma)的扩展,([L_i, R_i])((1 \leq i \leq m))是(I_n)中(m)个不同元素的序列,([S_i, T_i])((1 \leq i \leq m))是(I_{2n})中(m)个不同元素的序列。那么满足(\forall i, 1 \leq i \leq m, \$(f, f, f \circ \sigma \circ f)[L_i, R_i] = [S_i, T_i])的函数(f \in F_n)的数量(H)可以通过组合评估得到。该定理的完整证明可在相关文献中找到。
-
(\$(f, f, f \circ \sigma \circ f))的伪随机性
:
设(\phi)是一个区分电路,(P_1)是当(f)是从(F_n)中随机选择的函数,且(F = \$(f, f, f \circ \sigma \circ f))时,(\phi(F) = 1)的概率;(P_1’)是当(F)是从(F_{2n})中随机选择的函数时,(\phi(F) = 1)的概率。- 定理5.1 :对于每个具有(m)个预言门的区分电路(\phi),有(\vert P_1 - P_1’ \vert \leq \frac{6.5m^2}{\lambda 2^n} + \frac{m(m - 1)}{2 \cdot 2^n})。定理3.1是定理5.1的一个简单推论。
下面是证明(\$(f, f, f \circ \sigma \circ f))伪随机性的流程:
graph TD;
A[定义区分电路\(\phi\)和概率\(P_1\)、\(P_1'\)] --> B[证明定理4.1];
B --> C[根据定理4.1证明定理5.1];
C --> D[得出\(\$(f, f, f \circ \sigma \circ f)\)是伪随机的结论];
通过以上步骤,我们可以看到如何从基本性质逐步证明(\$(f, f, f \circ \sigma \circ f))的伪随机性。在实际应用中,选择合适的置换(\sigma)对于构造有效的伪随机置换生成器至关重要。
下半部分
4. (\$(f, f, f, f \circ \sigma \circ f))的超级伪随机性
证明定理3.2的思路与定理3.1类似,同样需要先证明一个基本性质。
-
(\$(f, f, f, f \circ \sigma \circ f))的基本性质
:
- 定理6.1 :设(\sigma)是(I_n)的一个置换,(\lambda)是(\sigma)的扩展,([L_i, R_i])((1 \leq i \leq m))是(I_n)中(m)个不同元素的序列,([S_i, T_i])((1 \leq i \leq m))是(I_{2n})中(m)个不同元素的序列。那么满足(\forall i, 1 \leq i \leq m, \$(f, f, f, f \circ \sigma \circ f)[L_i, R_i] = [S_i, T_i])的函数(f \in F_n)的数量(H)可以通过组合评估得到。该定理的完整证明可在相关文献中找到。
-
(\$(f, f, f, f \circ \sigma \circ f))的超级伪随机性
:
设(\phi)是一个超级区分电路(具有正常和逆预言门),(P_1)是当(f)是从(F_n)中随机选择的函数,且(F = \$(f, f, f, f \circ \sigma \circ f))时,(\phi(F) = 1)的概率;(P_1^*)是当(F)是从(B_{2n})中随机选择的函数时,(\phi(F) = 1)的概率。- 定理7.1 :对于每个具有(m)个预言门的超级区分电路(\phi),有(\vert P_1 - P_1^* \vert \leq \frac{10.5m^2}{\lambda 2^n} + \frac{\lambda m}{2^n} + \frac{m(m - 1)}{2 \cdot 2^n})。定理3.2是定理7.1的一个简单推论。
需要注意的是,如果(\sigma)是恒等函数,(\lambda = 2^n),此时定理3.2不能得出(\$(f, f, f, f))是超级伪随机的结论,实际上可以证明(\$(f, f, f, f))不是超级伪随机的。
下面是证明(\$(f, f, f, f \circ \sigma \circ f))超级伪随机性的流程:
graph TD;
A[定义超级区分电路\(\phi\)和概率\(P_1\)、\(P_1^*\)] --> B[证明定理6.1];
B --> C[根据定理6.1证明定理7.1];
C --> D[得出\(\$(f, f, f, f \circ \sigma \circ f)\)是超级伪随机的结论];
5. 两个函数的生成器性质
除了基于单个伪随机函数的构造,我们还可以研究使用两个独立伪随机函数(f)和(g)的生成器的性质。
| 生成器 | 伪随机性 | 超级伪随机性 | 原因 |
|---|---|---|---|
| (\$(f, f, g))和(\$(f, g, g)) | 是 | 否 | 只有三轮DES-like置换 |
| (\$(f, g, f)) | 否 | 否 | 该置换在交换输入和输出的左右半部分时是自身的逆 |
| (\$(f, f, f, g))和(\$(f, g, g, g)) | 是 | 是 | - |
| (\$(f, f, g, g)) | 是 | 是 | - |
| (\$(f, g, g, f)) | 否 | 否 | 该置换在交换左右半部分时是自身的逆 |
| (\$(f, g, f, g)) | 是 | 是 | - |
| (\$(f, f, g, f))和(\$(f, g, f, f)) | 是 | 是 | - |
根据这些结果,我们可以判断一些文献中声称的结果是错误的。例如,某文献中的“推论1”声称:设((f_1, \cdots, f_n))是(F_n)中的函数,(G_1 = \$(f_1, \cdots, f_n))是一个伪随机置换,那么(G_1)是超级伪随机的当且仅当(G_2 = \$(f_1, \cdots, f_{n - 1}))和(G_3 = \$(f_1, \cdots, f_{n - 2}))是伪随机置换。但我们可以看到(\$(f, f, f, g))是超级伪随机的,而(\$(f, f, f))不是伪随机的,这与该推论矛盾。
6. 总结
本文主要介绍了如何从单个伪随机函数构造超级伪随机置换生成器。通过引入“扩展”的概念,我们证明了相关的定理,表明在合适的置换选择下,(\$(f, f, f \circ \sigma \circ f))和(\$(f, f, f, f \circ \sigma \circ f))分别是伪随机和超级伪随机的。同时,我们还研究了使用两个独立伪随机函数的生成器的性质,指出了一些文献中结果的错误。这种基于单个伪随机函数的构造方式具有重要的实际意义,因为它可以减少密钥长度,提高密码系统的效率。在实际应用中,我们可以根据具体需求选择合适的构造方式,以满足不同的安全要求。
基于单个伪随机函数的超级伪随机置换构造
下半部分
4. (\$(f, f, f, f \circ \sigma \circ f))的超级伪随机性
证明定理3.2的思路与定理3.1类似,同样需要先证明一个基本性质。
-
(\$(f, f, f, f \circ \sigma \circ f))的基本性质
:
- 定理6.1 :设(\sigma)是(I_n)的一个置换,(\lambda)是(\sigma)的扩展,([L_i, R_i])((1 \leq i \leq m))是(I_n)中(m)个不同元素的序列,([S_i, T_i])((1 \leq i \leq m))是(I_{2n})中(m)个不同元素的序列。那么满足(\forall i, 1 \leq i \leq m, \$(f, f, f, f \circ \sigma \circ f)[L_i, R_i] = [S_i, T_i])的函数(f \in F_n)的数量(H)可以通过组合评估得到。该定理的完整证明可在相关文献中找到。
-
(\$(f, f, f, f \circ \sigma \circ f))的超级伪随机性
:
设(\phi)是一个超级区分电路(具有正常和逆预言门),(P_1)是当(f)是从(F_n)中随机选择的函数,且(F = \$(f, f, f, f \circ \sigma \circ f))时,(\phi(F) = 1)的概率;(P_1^*)是当(F)是从(B_{2n})中随机选择的函数时,(\phi(F) = 1)的概率。- 定理7.1 :对于每个具有(m)个预言门的超级区分电路(\phi),有(\vert P_1 - P_1^* \vert \leq \frac{10.5m^2}{\lambda 2^n} + \frac{\lambda m}{2^n} + \frac{m(m - 1)}{2 \cdot 2^n})。定理3.2是定理7.1的一个简单推论。
需要注意的是,如果(\sigma)是恒等函数,(\lambda = 2^n),此时定理3.2不能得出(\$(f, f, f, f))是超级伪随机的结论,实际上可以证明(\$(f, f, f, f))不是超级伪随机的。
下面是证明(\$(f, f, f, f \circ \sigma \circ f))超级伪随机性的流程:
graph TD;
A[定义超级区分电路\(\phi\)和概率\(P_1\)、\(P_1^*\)] --> B[证明定理6.1];
B --> C[根据定理6.1证明定理7.1];
C --> D[得出\(\$(f, f, f, f \circ \sigma \circ f)\)是超级伪随机的结论];
5. 两个函数的生成器性质
除了基于单个伪随机函数的构造,我们还可以研究使用两个独立伪随机函数(f)和(g)的生成器的性质。
| 生成器 | 伪随机性 | 超级伪随机性 | 原因 |
|---|---|---|---|
| (\$(f, f, g))和(\$(f, g, g)) | 是 | 否 | 只有三轮DES-like置换 |
| (\$(f, g, f)) | 否 | 否 | 该置换在交换输入和输出的左右半部分时是自身的逆 |
| (\$(f, f, f, g))和(\$(f, g, g, g)) | 是 | 是 | - |
| (\$(f, f, g, g)) | 是 | 是 | - |
| (\$(f, g, g, f)) | 否 | 否 | 该置换在交换左右半部分时是自身的逆 |
| (\$(f, g, f, g)) | 是 | 是 | - |
| (\$(f, f, g, f))和(\$(f, g, f, f)) | 是 | 是 | - |
根据这些结果,我们可以判断一些文献中声称的结果是错误的。例如,某文献中的“推论1”声称:设((f_1, \cdots, f_n))是(F_n)中的函数,(G_1 = \$(f_1, \cdots, f_n))是一个伪随机置换,那么(G_1)是超级伪随机的当且仅当(G_2 = \$(f_1, \cdots, f_{n - 1}))和(G_3 = \$(f_1, \cdots, f_{n - 2}))是伪随机置换。但我们可以看到(\$(f, f, f, g))是超级伪随机的,而(\$(f, f, f))不是伪随机的,这与该推论矛盾。
6. 总结
本文主要围绕如何从单个伪随机函数构造超级伪随机置换生成器展开研究,具体内容总结如下:
-
核心概念引入
:引入了“扩展”的概念,它对于理解和证明后续定理起到了关键作用。通过不同置换函数的例子,如恒等函数和单比特旋转函数,我们清晰地看到了“扩展”值的差异以及其对置换性质的影响。
-
重要定理证明
:基于“扩展”概念,证明了两个重要定理。定理3.1表明在合适的置换选择下,(\$(f, f, f \circ \sigma \circ f))是伪随机的;定理3.2则进一步证明了(\$(f, f, f, f \circ \sigma \circ f))是超级伪随机的。证明过程中,先证明了相关的基本性质,再逐步推导得出最终结论,逻辑严谨。
-
多函数生成器研究
:研究了使用两个独立伪随机函数(f)和(g)的生成器的性质,通过表格清晰地展示了不同生成器的伪随机性和超级伪随机性情况,并指出了一些文献中结果的错误。
这种基于单个伪随机函数的构造方式具有重要的实际意义,因为它可以减少密钥长度,提高密码系统的效率。在实际应用中,我们可以根据具体需求选择合适的构造方式,以满足不同的安全要求。例如,如果对安全性要求较高且希望减少密钥管理的复杂度,可以选择基于单个伪随机函数的构造;如果对性能和随机性有不同的权衡需求,可以考虑使用两个伪随机函数的生成器组合。
以下是一个简单的决策流程图,帮助我们根据不同需求选择合适的构造方式:
graph LR;
A[需求分析] --> B{安全性要求高且减少密钥管理复杂度?};
B -- 是 --> C[选择基于单个伪随机函数的构造];
B -- 否 --> D{对性能和随机性有不同权衡需求?};
D -- 是 --> E[考虑使用两个伪随机函数的生成器组合];
D -- 否 --> F[重新评估需求];
总之,通过对这些构造方式和性质的研究,我们能够更好地设计和应用密码系统,为信息安全提供更可靠的保障。
674

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



