密码学中的伪随机置换与不经意传输协议分析
伪随机置换相关内容
在密码学领域,伪随机置换是一个重要的概念。对于伪随机置换的研究,涉及到多个方面的理论和证明。
首先,当预言门的数量 (m) 是 (n) 的多项式时,存在这样的结论:区分 (G_2 = \psi(l^2,1,j_1,j_2,1)) 和 (G_3 = \psi(f_1,1,f_2,f_1,1)) 的电路的概率小于 (n) 的任意多项式的倒数,同时,对于 (G_1 = \psi(f_1,1,f_1) \circ \psi(f_1,1,f_1)) 构建超级区分电路的概率也小于 (n) 的任意多项式的倒数。这意味着在密码分析者只能进行多项式数量的查询时,(G_1) 对于选择明文/密文攻击是安全的。
接下来探讨 (\psi(f^2, 1, f, f^2, 1, f)) 的超级伪随机性。这里定义了概率的上界,当 (f_1) 被 (f_1^2) 替代时,区分概率的上界会增加。不过,如果预言机的数量限制为 (n) 的某个多项式,那么相应的区分概率仍然会小于 (n) 的任意多项式的倒数。
-
引理 5 :设 (f, h \in H_n),(C_{2n}) 是一个具有 (m < 2^n) 个预言门的区分电路。当预言机的输入为 ((L || R)) 并以 (\psi(It, 1, f, h, I)) 进行计算时,输出的 (S) 和 (T) 总是由函数 (f) 和 (h) 生成的两个随机变量的和。当所有预言门都以 (\psi(f^2, 1, f, f^2, 1)) 或 (\psi(h, 1, f, h, 1)) 进行计算时,如果所有随机变量 (Y_i = f(L_i \oplus f^2(L_i \oplus R_i))) 与随机变量 (X_j = f^2(L_j \oplus R_j))、(Z_j = f^2(R_j \oplus f^2(L_j \oplus R_j) \oplus f(L_j \oplus f^2(L_j \oplus R_j)))) 相互独立,那么区分器以相同的概率生成输出“1”。一个具有 (m) 个预言门的区分器在输出“1”时,意味着存在一个预言门 (O_i),使得随机函数 (f) 的输入值 (p_i) 等于 (f(L_j \oplus R_j)) 或 (f(R_j \oplus f^2(L_j \oplus R_j) \oplus f(L_j \oplus f^2(L_j \oplus R_j)))) 中的某一个。在给定的预言机中,(f) 函数的输入取到 (m) 个不同输入的预言门中的 (2m) 个内部随机值之一的概率为 (\frac{2m}{2^n})。因此,区分 (\psi(f^2, 1, f, f^2, 1)) 和 (\psi(h, 1, f, h, 1)) 的电路的概率等于两个预言机生成相关随机变量的概率,即 (\left|\text{Prob}{C_{2n}[\psi(f^2,1,f,f^2,1)] = 1} - \text{Prob}{C_{2n}[\psi(h,1,f,h,1)] = 1}\right| \leq \frac{2m}{2^n})。结合之前关于区分 (\psi(h, 1, f, h, 1)) 和随机置换的概率,可得区分 (G_2 = \psi(f^2, 1, f, f^2, 1)) 和随机置换的概率的上界。当区分器受到多项式数量的预言门限制时,区分 (\psi(f^2, 1, f, f^2, 1)) 和随机置换的概率小于 (n) 的任意多项式的倒数。
-
引理 6 :设 (f, h \in H_n),(C_{2n}) 是一个具有 (m < 2^n) 个预言门的区分电路。当预言机的输入为 ((L || R)) 并以 (\psi(f, 1, f^2, f, 1)) 进行计算时,输出的 (S) 和 (T) 总是由函数 (f) 生成的两个随机变量的和。当所有预言门都以 (\psi(f, 1, f^2, f, 1)) 或 (\psi(f, 1, k, f, 1)) 进行计算时,如果所有随机变量 (Y_i = f^2(L_i \oplus f(L_i \oplus R_i))) 与随机变量 (Z_j) 相互独立,那么区分器以相同的概率生成输出“1”。一个具有 (m) 个预言门的区分器在输出“1”时,意味着存在一个预言门 (O_i),使得随机函数 (f) 的输入值 (\beta_i) 等于 (f(L_j \oplus f(L_j \oplus R_j)))。由于在每个预言机中,(f) 在两个不同层被使用,在给定的预言机中,(f) 函数的输入取到 (m) 个不同输入的预言门中的 (m) 个内部随机值 (Y_i) 之一的概率为 (\frac{m}{2^n})。因此,区分 (\psi(f, 1, f^2, f, 1)) 和 (\psi(f, 1, h, f, 1)) 的电路的概率等于两个预言机生成相关随机变量的概率,即 (\left|\text{Prob}{C_{2n}[\psi(f,1,f^2,f,1)] = 1} - \text{Prob}{C_{2n}[\psi(f,1,h,f,1)] = 1}\right| \leq \frac{m}{2^n})。结合之前关于区分 (\psi(f, 1, h, f, 1)) 和随机置换的概率,可得区分 (S_3 = \psi(f, 1, f^2, f, 1)) 和随机置换的概率的上界。当区分器受到多项式数量的预言门限制时,区分 (\psi(f, 1, f^2, f, 1)) 和随机置换的概率小于 (n) 的任意多项式的倒数。
-
定理 3 :设 (f \in P_n) 是一个伪随机函数,则 (G_1 = \psi(f^2, 1, f, f^2, 1, f)) 是一个超级伪随机置换。为了证明这一点,首先要证明 (\psi(f^2,1,f,f^2,1)) 和 (\psi(f,1,f^2,f,1)) 相互独立。在 (D) - 区分电路中,当预言机的输入为 ((L || R)) 并以 (\psi(f^2, 1, f, f^2, 1)) 进行计算时,输出为 (S = L \oplus R \oplus f(L \oplus f^2(L \oplus R)) \oplus f(R \oplus f^2(L \oplus R) \oplus f(L \oplus f^2(L \oplus R)))),(T = R \oplus f^2(L \oplus R) \oplus f(L \oplus f^2(L \oplus R)));当以 (\psi(f, 1, f^2, f, 1)) 进行计算时,输出为 (S’ = L \oplus R \oplus f^2(L \oplus f(L \oplus R)) \oplus f(R \oplus f(L \oplus R) \oplus f^2(L \oplus f(L \oplus R)))),(T’ = R \oplus f(L \oplus R) \oplus f^2(L \oplus f(L \oplus R)))。涉及的六个随机变量为 (X_1 = f^2(L \oplus R)),(Y_1 = f(L \oplus f^2(L \oplus R))),(Z_1 = f^2(R \oplus f^2(L \oplus R) \oplus f(L \oplus f^2(L \oplus R)))) 和 (X_2 = f(L \oplus R)),(Y_2 = f^2(L \oplus f(L \oplus R))),(Z_2 = f(R \oplus f(L \oplus R) \oplus f^2(L \oplus f(L \oplus R))))。(S)、(T)、(S’) 和 (T’) 总是由函数 (f) 生成的两个随机变量的和。如果一个预言机输出分支中的随机变量与另一个预言机输出分支中的随机变量相关,其他随机变量仍然彼此独立。通过计算相关概率的上界,当 (G_2) 和 (G_3) 相互独立时,可以证明 (G_1) 是超级伪随机的。
下面是一个简单的流程图,展示了判断 (G_1) 是否为超级伪随机置换的主要步骤:
graph LR
A[开始] --> B[证明\(\psi(f^2,1,f,f^2,1)\)和\(\psi(f,1,f^2,f,1)\)独立]
B --> C[分析预言机输出及随机变量关系]
C --> D[计算概率上界]
D --> E{概率上界是否满足条件}
E -- 是 --> F[证明\(G_1\)是超级伪随机置换]
E -- 否 --> G[不满足,继续分析]
F --> H[结束]
G --> C
不经意传输协议相关内容
不经意传输(OT)是一个基本的密码学问题,由Rabin引入。OT是一个双方协议,其中Alice向Bob传输一个比特 (b),Bob以 (\frac{1}{2}) 的概率接收到该比特,并且Alice不能知道Bob是否接收到该比特。OT是许多密码学协议的基础。
Rabin基于确定二次剩余性困难的假设,提出了一个优雅但低效的OT协议,每次发送一个比特都需要生成一个大整数 (n = pq)((p) 和 (q) 为素数)。Den Boer在Eurocrypt ’91中提出了一个高效的OT协议,依赖于相同的假设,但允许重复使用 (n) 并确保 (b) 的无条件安全性。然而,这个协议被发现是不安全的。
传统上,OT的目标是找到一个满足以下属性的协议:
1. Alice发送比特 (b),但不知道Bob是否接收到它。
2. Bob以相等的概率接收 ((1, b)) 或 ((0, 0)),且不接收额外信息。
3. 双方可以通过语法上偏离协议来中止协议。
通常使用零知识方法来形式化“无额外信息”或“不知道”,但零知识不足以保证Alice不学习任何东西。实际上,一个被忽视的重要属性是Alice必须知道她发送的有效比特 (b)。
我们定义了一个统一的属性——弹性(resilience),它包含了上述所有已知的安全属性,并暗示了所有先验的安全属性。通过弹性,我们能够在几分钟内暴露OT协议中的微妙缺陷。对于缺乏“Alice必须知道她发送的有效比特 (b)”这一属性的协议,一个简单直接的修复方法是要求Alice给出一个零知识证明,证明她知道她的有效输入 (b)。
在理想情况下,Alice会将 (b) 交给一个可信主机(噪声信道),该主机以相等的概率将 ((1, b)) 或 ((0, 0)) 发送给Bob,而不告知Alice发送的是哪一个。任何OT的实现都不应允许后续执行影响早期执行的安全性。
下面是关于OT协议传统属性和新属性的一个表格总结:
| 属性类型 | 属性内容 |
| ---- | ---- |
| 传统属性 | 1. Alice发送比特 (b),但不知道Bob是否接收到它
2. Bob以相等的概率接收 ((1, b)) 或 ((0, 0)),且不接收额外信息
3. 双方可以通过语法上偏离协议来中止协议 |
| 新属性 | 4. Alice必须知道她发送的有效比特 (b) |
在密码学中,清晰的定义和严格的证明对于确保协议的安全性至关重要。通过对伪随机置换和不经意传输协议的研究,我们可以看到这些理论在实际应用中的重要性和挑战。未来,我们可以进一步探索如何优化这些协议,提高其安全性和效率。例如,对于伪随机置换,是否可以找到更优的结构,减少所需的轮数;对于不经意传输协议,如何更好地修复现有的缺陷,使其更加安全可靠。
密码学中的伪随机置换与不经意传输协议分析(续)
对不经意传输协议缺陷的深入分析
Den Boer的OT协议存在的缺陷在于,Alice可以在不知道比特 (b) 是什么的情况下发送它,这可能使她在不知道 (n) 的因子的情况下获得关于某些数的二次剩余性的信息,甚至在一次传输后就可能破坏后续的所有传输。有趣的是,根据传统的安全属性列表,如果使用零知识方法确认“Alice不知道Bob是否收到 (b)”,该协议被认为是可证明安全的,但实际上零知识作为OT(以及其他协议)安全性的衡量标准是不够的。
Rabin的协议虽然表面上没有这个问题,但在三个或更多参与者的网络中,我们的分析表明它也可以被破解。下面我们详细分析这个缺陷产生的原因和影响。
- 缺陷产生的原因 :传统定义中对Alice知识的限制不够严格,没有明确要求Alice必须知道她发送的有效比特 (b)。这使得在协议执行过程中,Alice可以利用一些模糊性来发送比特而不明确其值,从而获取额外信息。
- 缺陷的影响 :如果Alice能够在不知道 (b) 的情况下发送比特,她可能会通过多次尝试和观察Bob的反馈,逐渐推断出关于二次剩余性的信息,进而破坏协议的安全性。这不仅会影响单个比特的传输安全性,还可能对基于OT构建的其他密码学协议产生连锁反应。
为了更清晰地展示这个过程,我们可以用一个流程图来表示:
graph LR
A[Alice发送未知比特 \(b\)] --> B[Bob接收并反馈结果]
B --> C{Alice分析反馈结果}
C -- 有线索 --> D[Alice尝试推断二次剩余性信息]
D --> E{推断成功?}
E -- 是 --> F[破坏后续传输安全性]
E -- 否 --> B
C -- 无线索 --> B
修复不经意传输协议的方法
为了修复Den Boer协议中的缺陷,我们可以采用要求Alice给出零知识证明,证明她知道她的有效输入 (b) 的方法。下面是具体的操作步骤:
-
协议初始化 :
- Alice和Bob共同确定一个大整数 (n = pq)((p) 和 (q) 为素数),用于后续的计算。
- 双方约定使用的加密算法和参数。
-
Alice发送比特 (b) 及证明 :
- Alice确定要发送的比特 (b)。
- Alice生成一个零知识证明,证明她知道 (b) 的值。这个证明可以基于一些已知的零知识证明技术,如基于离散对数问题或二次剩余问题的证明。
- Alice将比特 (b) 和零知识证明一起发送给Bob。
-
Bob验证证明并接收比特 :
- Bob接收到Alice发送的比特 (b) 和零知识证明。
- Bob使用相应的验证算法验证零知识证明的有效性。
- 如果证明有效,Bob以 (\frac{1}{2}) 的概率接收比特 (b),并将接收结果反馈给Alice;如果证明无效,Bob拒绝接收并要求Alice重新发送。
-
协议结束或重复 :
- 如果Bob成功接收比特 (b),协议结束;如果Bob拒绝接收,Alice重新执行步骤2。
通过这种方式,我们可以确保Alice在发送比特 (b) 时确实知道其值,从而提高协议的安全性。
下面是一个表格总结修复前后协议的对比:
| 协议状态 | 安全性保障 | 效率 | 对参与者知识的要求 |
| ---- | ---- | ---- | ---- |
| 原始Den Boer协议 | 存在缺陷,可能被破解 | 高效,可重复使用 (n) | Alice不需要知道发送的有效比特 (b) |
| 修复后协议 | 提高安全性,避免Alice获取额外信息 | 效率略有降低,增加了零知识证明的计算和验证步骤 | Alice必须知道发送的有效比特 (b) |
总结与展望
通过对伪随机置换和不经意传输协议的研究,我们可以看到密码学中安全性证明的重要性。在伪随机置换方面,我们证明了 (G_1 = \psi(f^2, 1, f, f^2, 1, f)) 是一个超级伪随机置换,这为构建更安全的密码学系统提供了理论基础。在不经意传输协议方面,我们发现了传统协议中的缺陷,并提出了修复方法,提高了协议的安全性。
未来,我们可以进一步探索以下问题:
-
伪随机置换
:是否可以找到更优的结构,减少所需的轮数,提高计算效率。例如,(\psi(j, f^2, f,f,f)) 是否是一个更优的结构,需要进一步的研究和证明。
-
不经意传输协议
:如何在保证安全性的前提下,进一步提高协议的效率,减少零知识证明的计算和验证开销。同时,我们可以研究如何将修复后的协议应用到更多的密码学场景中,为实际应用提供更可靠的保障。
总之,密码学的研究是一个不断发展和完善的过程,我们需要不断地探索和创新,以应对日益复杂的安全挑战。
19

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



