24、上下文无关树文法与加密方案的复杂性及攻击分析

上下文无关树文法与加密方案的复杂性及攻击分析

1. 上下文无关树文法相关概念

1.1 索引文法

索引文法是一个元组 (G = (N, Σ, Γ, S, P)),其中 (N)、(Σ) 和 (Γ) 是字母表,(S \in N),(P) 是有限的产生式集合,其形式如下:
1. (A(y) \to B_1(y) \cdots B_k(y))
2. (A(y) \to B(\gamma y))
3. (A(\gamma y) \to B(y))
4. (A(y) \to a)

这里 (A)、(B)、(B_1)、(\cdots)、(B_k \in N),(k \in N),(\gamma \in Γ),(a \in Σ)。若所有形式(1)的产生式满足 (k \geq 1),则称 (G) 为 (\epsilon) - 自由的。

索引文法与下推树自动机(pta)有明显的相似性,(\Rightarrow_G) 以及 (L(G)) 的定义类似。“yield 定理”体现了这种相似性。

1.2 相关引理与推论

  • 引理 9 :设 (L \subseteq (Σ^{(0)})^*),则存在一个基于 (Σ) 的 pta (M) 使得 (L = yield(L(M))) 当且仅当存在一个基于 (Σ^{(0)}) 的 (\epsilon) - 自由索引文法 (G) 使得 (L = L(G))。并且,(G) 可以从 (M) 以对数空间计算得到,反之亦然。
  • 推论 1 :(\epsilon) - 自由索引文法的一致成员问题是 PSPACE - 完全的。相比之下,带有 (\epsilon) - 规则的索引文法的一致成员问题是 EXP - 完全的。

1.3 上下文无关树文法的成员问题

上下文无关树文法(cftg)的非一致成员问题的 NP 上界已有证明。若将 (T_Σ) 中的树视为 (Σ \cup C) 上括号匹配良好的单词,那么上下文无关树语言可以被理解为索引字符串语言。

  • 定理 3 :(Σ) 上的 cftg 的成员问题属于 NP。
    其证明过程如下:设 (G) 是成员问题中固定的 cftg,构造一个等价的增强 pta (M) 以及 (M^{\dagger})。由于 (G) 不是输入的一部分,(M^{\dagger}) 可以在常数时间内构造。考虑算法 2 中的非确定性决策过程:
输入: ξ ∈ TΣ
输出: “Yes” if ξ ∈ L(M), 否则发散
选择一些 d ∈ R∗† 使得 |d| ≤ μ(ξ)² + μ(ξ) 且具有 μ(ξ) - 有界下推
如果 q0(η) ⇒d M† ξ 则返回 “Yes” 否则发散

根据引理 8,(L(M^{\dagger}) = L(M^{\sharp})),且 (L(M^{\sharp}) = L(M))。所以,如果该过程返回 “Yes”,则存在 (d \in D_{M^{\dagger}}(q_0(\epsilon), ξ)),因此 (\xi \in L(M))。反之,如果 (\xi \in L(M)),则一定存在 (d’ \in D_{M^{\sharp}}(q_0(\epsilon), ξ)),根据引理 7,可假设 (|d’| \leq μ(ξ)² + μ(ξ))。根据引理 8,存在具有相同长度界的 (d \in D_{M^{\dagger}}(q_0(\epsilon), ξ)),因此该过程返回 “Yes”。

  • 定理 4 :存在一个带等级的字母表 (Σ) 和一个基于 (Σ) 的 cftg (G),使得 (G) 的成员问题是 NP - 难的。

1.4 相关概念总结表格

概念 描述
索引文法 元组 (G = (N, Σ, Γ, S, P)),有特定形式的产生式
(\epsilon) - 自由索引文法 形式(1)产生式满足 (k \geq 1) 的索引文法
pta 与索引文法有相似性,用于相关语言的处理
上下文无关树文法(cftg) 成员问题有特定的复杂度结果

1.5 索引文法与 cftg 关系流程图

graph LR
    A[索引文法] -->|相似性| B[pta]
    B -->|引理 9| C[\(\epsilon\) - 自由索引文法]
    C -->|推论 1| D[PSPACE - 完全问题]
    A -->|转换| E[cftg]
    E -->|定理 3| F[NP 成员问题]
    E -->|定理 4| G[NP - 难问题]

2. BEAR 和 LION 加密方案

2.1 背景介绍

BEAR 和 LION 是 1996 年由 Biham 和 Anderson 引入的分组密码。它们高效地使用了哈希函数和流密码,若这两个基本组件已存在,其硬件实现将很简单。在某些理想条件下,BEAR/LION 不存在单对密钥恢复攻击,但它们的安全性曾受到质疑。

2.2 符号与基本设定

用 (F) 表示域 (F_2),(R) 和 (L) 分别表示 (F^r) 和 (F^l) 中的元素((r > l))。明文集合由形式为 ((L_i, R_i) \in F^{l + r}) 的消息组成,密钥空间 (K) 的元素形式为 (K = (K_1, K_2) \in F^k \times F^k),其中 (k \geq l)。

2.3 BEAR 加密方案

2.3.1 组件特性
  • 密钥哈希函数 (H_K):(F^r \to F^l)
    • 基于无密钥哈希函数 (H’):(F^{r + k} \to F^l),密钥附加或前置到消息上。
    • 是单向且无碰撞的,即给定 (Y) 很难找到 (X) 使得 (H’(X) = Y),也很难找到不相等的 (X) 和 (Y) 使得 (H’(X) = H’(Y))。
    • 是伪随机的,给定任意输入集的 (H’(X_i)),很难预测新输入 (Y) 的 (H’(Y)) 的任何位。
  • 流密码 (S):(F^l \to F^r)
    • 抵抗密钥恢复攻击,即给定 (S(X)) 很难找到种子 (X)。
    • 抵抗扩展攻击,即很难扩展 (Y) 的任何部分流。
2.3.2 加密/解密过程
操作 加密 解密
第一步 (L = L + H_{K_1}(R)) (L = L’ + H_{K_2}(R’))
第二步 (R’ = R + S(L)) (R = R’ + S(L))
第三步 (L’ = L + H_{K_2}(R’)) (L = L + H_{K_1}(R))
2.3.3 相关定理
  • 定理 1 :给定一个明文/密文对来找到 BEAR 密钥的预言机,可以高效且高概率地找到流密码 (S) 对于任何输出 (Y = S(M)) 的种子 (M)。
  • 定理 2 :给定一个明文/密文对来找到 BEAR 密钥的预言机,可以高效且高概率地找到哈希函数 (H’) 的原像和碰撞。
  • 推论 1 :如果无法高效地找到 (S) 的种子或无法高效地找到 (H’) 的原像和碰撞,那么 BEAR 不存在高效的单对密钥恢复攻击。

2.4 LION 加密方案

2.4.1 组件特性
  • 哈希函数 (H):(F^r \to F^l) :是单向且无碰撞的,即给定 (Y) 很难找到 (X) 使得 (H(X) = Y),也很难找到不相等的 (X) 和 (Y) 使得 (H(X) = H(Y))。
  • 流密码 (S):(F^l \to F^r)
    • 是伪随机的。
    • 抵抗密钥恢复攻击,即给定 (S(X)) 很难找到种子 (X)。
    • 抵抗扩展攻击,即很难扩展 (Y) 的任何部分流。
2.4.2 加密/解密过程
操作 加密 解密
第一步 (R = R + S(L + K_1)) (R = R’ + S(L’ + K_2))
第二步 (L’ = L + H(R)) (L = L’ + H(R))
第三步 (R’ = R + S(L’ + K_2)) (R = R + S(L + K_1))
2.4.3 相关定理
  • 定理 4 :给定一个明文/密文对来找到 LION 密钥的预言机,可以高效且高概率地找到流密码 (S) 对于任何特定输出 (Y = S(M)) 的种子 (M)。
  • 定理 5 :假设 ((S, H)) 是一个好的配对,给定一个明文/密文对来找到 LION 密钥的预言机,可以高效且高概率地找到哈希函数 (H) 的原像和碰撞。

2.5 BEAR 和 LION 组件特性对比表格

组件 BEAR LION
哈希函数 密钥哈希函数 (H_K),有特定构造和特性 哈希函数 (H),单向无碰撞
流密码 抵抗密钥恢复和扩展攻击 伪随机,抵抗密钥恢复和扩展攻击

2.6 BEAR 加密过程流程图

graph LR
    A[明文 (L, R)] --> B[L = L + H_{K1}(R)]
    B --> C[R' = R + S(L)]
    C --> D[L' = L + H_{K2}(R')]
    D --> E[密文 (L', R')]

3. 对 BEAR 和 LION 的攻击

3.1 攻击背景

之前的研究表明,如果哈希函数或流密码是理想的,BEAR 和 LION 不存在实际的密钥恢复攻击。但在现实情况中,这些基本组件并非完全安全。下面将介绍对 BEAR 和 LION 的攻击方法。

3.2 衡量非理想性的定义

3.2.1 BEAR 相关定义
  • 定义 4 :设 (H_K : F^r \to F^l) 是密钥哈希函数,若对于每个 (K) 和 (R),给定 (Z = H_K(R)) 和 (R),存在一个算法以期望成本 (2^t) 次 (H) - 评估来恢复密钥 (K),则称 (H_K) 是 (t) - 密钥抵抗的。
  • 定义 5 :设 (S : F^l \to F^r) 是单射流密码,若给定 (S(L)),存在一个算法以期望成本 (2^u) 次 (S) - 评估来恢复种子 (L),则称 (S) 是 (u) - 抵抗的。

理想的 ({H_K}_{K \in F^k}) 是 ((k - 1)) - 密钥抵抗的,理想的流密码 (S) 是 ((l - 1)) - 抵抗的,所以 (t \leq k - 1) 且 (u \leq l - 1)。

3.2.2 LION 相关定义
  • 定义 6 :设 (H : F^r \to F^l) 是哈希函数,(S : F^l \to F^r) 是流密码,若对于随机的 (R),(Y \in F^r),给定 (Z = H(R)),存在一个算法以期望成本 (2^t) 次 (H) - 评估来恢复 (Z) 在 (Im(S) + Y) 中的原像,则称 (H) 是 (t) - 抵抗的。理想的 (H) 是 (l) - 抵抗的,即 (0 \leq t \leq l)。
  • 定义 7 :设 (S : F^l \to F^r) 是流密码,若对于随机的 (K) 和 (L),给定 (S(L + K)) 和 (L),存在一个算法以期望成本 (2^u) 次 (S) - 评估来恢复 (K),则称 (S) 是 (u) - 密钥抵抗的。理想情况下 (u \leq l - 1)。

3.3 对 BEAR 的攻击

3.3.1 攻击 A(选择明文攻击)

此攻击假设密钥哈希函数不是理想的,即它是 (t) - 密钥抵抗的(流密码可以是理想的)。具体步骤如下:
1. 设 (Y = S(0)),选择一个随机的 (\tilde{R})。存在 (\tilde{L} \in F^l) 使得 (\tilde{L} = H_{K_1}(\tilde{R}))。
2. 加密一些明文 ({(L, \tilde{R}) | L \in F^l}),直到得到一个密文 ((L’, R’)) 满足 (\tilde{R} + R’ = Y),平均需要 (2^{l - 1}) 次尝试。
3. 从 (L’ = H_{K_2}(R’)) 以期望成本 (2^t) 次 (H) - 评估恢复 (K_2),从 (\tilde{L} = H_{K_1}(\tilde{R})) 以期望成本 (2^t) 次 (H) - 评估恢复 (K_1)。

3.3.2 攻击 B(已知明文攻击)

此攻击假设流密码也不是理想的,即它是 (u) - 抵抗的。具体步骤如下:
1. 给定任意随机的明文/密文对 ((L, R)) 和 ((L’, R’)),计算 (R + R’ = S(L)),以期望成本 (2^u) 次 (S) - 评估恢复 (L)。
2. 计算 (L + \overline{L} = H_{K_1}(R)),以期望成本 (2^t) 次 (H) - 评估恢复 (K_1)。
3. 计算 (L’ + \overline{L} = H_{K_2}(R’)),以期望成本 (2^t) 次 (H) - 评估恢复 (K_2)。

3.3.3 攻击复杂度对比表格
攻击类型 期望成本
攻击 A (2^{t + 1}) 次 (H) - 评估 + (2^{l - 1}) 次加密(相当于 (2^l) 次 (H) - 评估 + (2^{l - 1}) 次 (S) - 评估)
攻击 B (2^{t + 1}) 次 (H) - 评估 + (2^u) 次 (S) - 评估
3.3.4 BEAR 攻击流程对比图
graph LR
    A[攻击 A] --> B[选择随机 \(\tilde{R}\), 加密 \((L, \tilde{R})\) 找 \(\tilde{L}\)]
    B --> C[恢复 \(K_1\) 和 \(K_2\)]
    D[攻击 B] --> E[计算 \(R + R' = S(L)\) 恢复 \(L\)]
    E --> F[恢复 \(K_1\) 和 \(K_2\)]

3.4 对 LION 的攻击

3.4.1 攻击 C(已知明文攻击)

此攻击假设哈希函数是 (t) - 抵抗的,流密码是 (u) - 密钥抵抗的。具体步骤如下:
1. 考虑任意随机的明文/密文对 ((L, R)) 和 ((L’, R’)),计算 (Y = L + L’)。
2. 以 (2^t) 次操作找到 (Y) 在 (Im(S) + R) 中的原像 (\overline{R})。
3. 计算 (R + \overline{R} = S(L + K_1)),以期望成本 (2^u) 次 (S) - 评估恢复 (K_1)。
4. 计算 (R’ + \overline{R} = S(L’ + K_2)),以期望成本 (2^u) 次 (S) - 评估恢复 (K_2)。

3.4.2 攻击 C 复杂度

攻击 C 的期望成本是 (2^t) 次 (H) - 评估 + (2^{u + 1}) 次 (S) - 评估。

3.4.3 LION 攻击 C 流程图
graph LR
    A[明文/密文对 (L, R), (L', R')] --> B[计算 Y = L + L']
    B --> C[找 Y 在 Im(S) + R 中的原像 \(\overline{R}\)]
    C --> D[计算 R + \(\overline{R}\) 恢复 \(K_1\)]
    C --> E[计算 R' + \(\overline{R}\) 恢复 \(K_2\)]

3.5 攻击总结表格

攻击对象 攻击类型 假设条件 期望成本
BEAR 攻击 A 密钥哈希函数 (t) - 密钥抵抗 (2^{t + 1}) 次 (H) - 评估 + (2^{l - 1}) 次加密
BEAR 攻击 B 密钥哈希函数 (t) - 密钥抵抗,流密码 (u) - 抵抗 (2^{t + 1}) 次 (H) - 评估 + (2^u) 次 (S) - 评估
LION 攻击 C 哈希函数 (t) - 抵抗,流密码 (u) - 密钥抵抗 (2^t) 次 (H) - 评估 + (2^{u + 1}) 次 (S) - 评估

综上所述,在实际应用中,由于哈希函数和流密码很难达到理想状态,BEAR 和 LION 加密方案存在一定的安全风险。通过对这些攻击的分析,可以更好地评估和改进加密系统的安全性。

随着信息技术在管理上越来越深入而广泛的应用,作为学校以及一些培训机构,都在用信息化战术来部署线上学习以及线上考试,可以线下的考试有机的结合在一起,实现基于SSM的小码创客教育教学资源库的设计实现在技术上已成熟。本文介绍了基于SSM的小码创客教育教学资源库的设计实现的开发全过程。通过分析企业对于基于SSM的小码创客教育教学资源库的设计实现的需求,创建了一个计算机管理基于SSM的小码创客教育教学资源库的设计实现的方案。文章介绍了基于SSM的小码创客教育教学资源库的设计实现的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本基于SSM的小码创客教育教学资源库的设计实现有管理员,校长,教师,学员四个角色。管理员可以管理校长,教师,学员等基本信息,校长角色除了校长管理之外,其他管理员可以操作的校长角色都可以操作。教师可以发布论坛,课件,视频,作业,学员可以查看和下载所有发布的信息,还可以上传作业。因而具有一定的实用性。 本站是一个B/S模式系统,采用Java的SSM框架作为开发技术,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SSM的小码创客教育教学资源库的设计实现管理工作系统化、规范化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值