25、密码攻击与自动机关系研究

密码攻击与自动机关系研究

攻击 BEAR 和 LION 方案

在实际场景中对 BEAR 和 LION 方案的攻击研究中,我们发现良好配对假设并非必要。原本对定理证明中的良好配对无用假设可以去除,从而证明原始的结论。

对于随机的 $Y$,通常不需要假设 $H^{-1}(Y) \cap Im(S) \neq \emptyset$,因为对于合适的 $R$,$H^{-1}(Y) \cap (Im(S) + R) \neq \emptyset$ 几乎总是成立。

有这样一个定理:给定一个明文 - 密文对就能找到 LION 密钥的预言机 $A_1$,能够高效且高概率地找到哈希函数 $H$ 的原像和碰撞。证明过程如下:
1. 考虑某个 $\tilde{R}$ 和 $Y = H(\tilde{R})$,高概率找到 $R$ 使得 $H^{-1}(Y) \cap (Im(S) + R) \neq \emptyset$。
2. 固定某个元素 $L \in F_l$,存在 $K_1$ 使得 $\overline{R} \in H^{-1}(Y)$,其中 $\overline{R} = S(L + K_1) + R$,并且可假设 $\overline{R} \neq \tilde{R}$。
3. 得到 $L’ = L + H(\overline{R}) = L + Y$。
4. 当 $K_2 = K_1 + Y$ 时,$R’ = S(L + K_1) + R + S(L + Y + K_1 + Y) = R$。
5. 将 $((L, R), (L + Y, R))$ 作为输入给 $A_1$,它返回 $(K_1, K_2)$。
6. 计算 $\overline{R} = S(L + K_1) + R$,就有 $H(\overline{R}) = Y$,找到碰撞 $H(\tilde{R}) = H(\overline{R}) = Y$。

若要找到原像,对于给定的 $Y$,假设不知道 $\tilde{R}$,也可按上述方法论证。

加权重启自动机与下推关系

加权重启自动机被引入用于研究重启自动机计算的定量方面。这里我们研究从给定(输出)字母表上的形式语言半环中分配单词作为权重的特殊情况,从而推广了重启转换器的概念。

加权重启自动机
  • 基本定义 :重启自动机(RRWW - 自动机)是一种非确定性机器,由 8 元组 $M = (Q, \Sigma, \Gamma, c, $, q_0, k, \delta)$ 描述。其中,$Q$ 是有限状态集,$\Sigma$ 是有限输入字母表,$\Gamma$ 是包含 $\Sigma$ 的有限磁带字母表,$c$ 和 $ $ 是工作空间左右边界标记,$q_0$ 是初始状态,$k$ 是读写窗口大小,$\delta$ 是(部分)转换关系。转换步骤有四种类型:右移步骤(MVR)、重写步骤、重启步骤和接受步骤。若每个重写步骤与重启步骤合并为一个联合重写/重启操作,则称为 RWW - 自动机。
  • 配置与计算阶段 :自动机的配置是字符串 $\alpha q \beta$,重启配置形式为 $q_0 c w $。计算由周期和尾阶段组成,周期从重启配置开始,执行右移和单个重写操作直到重启,尾阶段是最后无重启的停机阶段。单词 $w \in \Sigma^*$ 被接受当且仅当存在从初始配置 $q_0 c w $ 开始的接受计算。
  • 单调性 :对于 RRWW - 自动机的重写配置 $C := \alpha q \beta$,$|\beta|$ 称为右距离 $Dr(C)$。重写配置序列 $S = (C_1, C_2, \ldots, C_n)$ 是单调的当且仅当 $Dr(C_1) \geq Dr(C_2) \geq \cdots \geq Dr(C_n)$。自动机的计算是单调的当且仅当其周期中的重写配置序列是单调的,若所有从初始配置开始的计算都是单调的,则自动机是单调的。
  • 加权重启自动机 :类型为 $X$ 的加权重启自动机(wX - 自动机)是对 $(M, \omega)$,其中 $M$ 是类型为 $X$ 的重启自动机,$\omega$ 是从 $M$ 的转换到半环 $S$ 的权重函数。这里 $S$ 是语言半环 $S = (P(\Delta^ ), \cup, \cdot, \emptyset, {\lambda})$。对于输入 $w$ 的接受计算集合 $ACM(w)$,每个计算 $A_i$ 的权重 $\omega(A_i)$ 是其使用转换权重的乘积,最终 $f_M^\omega(w)$ 是所有接受计算权重的并集。若 $w \notin L(M)$,则 $f_M^\omega(w) = \emptyset$。加权重启自动机 $M$ 在 $\Sigma$ 上产生关系 $Rel(M) = { (u, v) | u \in L(M), v \in f_M^\omega(u) } \subseteq \Sigma^ \times \Delta^*$。
  • 受限类型
    • 有限加权重启自动机(wFINX - 自动机):权重函数 $\omega$ 将转换映射到形式为 $S = (P_{fin}(\Delta^*), \cup, \cdot, \emptyset, {\lambda})$ 的半环。
    • 单词加权重启自动机(wwordX - 自动机):每个转换 $t$ 的权重形式为 $\omega(t) = {v}$,其中 $v \in \Delta^*$。

对于每种类型 $X \in {mon - RWW, mon - RRWW, RWW, RRWW}$,有 $R(wwordX) = R(wFINX) \subsetneq R(wX)$。

下面是一个加权重启自动机计算关系的简单例子:
设 $M_1 = (Q, \Sigma, \Gamma, c, $, q_0, k, \delta)$ 是一个 mon - RWW - 自动机,其中 $Q := {q_0}$,$\Gamma := \Sigma := {a}$,$k := 2$,$\delta$ 定义如下:

t1 : (q0, ca) → (q0, MVR)
t3 : (q0, aa) → (q0, MVR)
t2 : (q0, c$) → Accept
t4 : (q0, a$) → $

这里 $t4$ 是唯一的(组合)重写/重启操作,$L(M_1) = { a^n | n \geq 0 }$。
设 $(P_{fin}(\Delta^*), \cup, \cdot, \emptyset, {\lambda})$ 是 $\Delta = {c}$ 上的有限语言半环,$\omega_1$ 是权重函数,将 MVR 转换 $t1$ 和 $t3$ 赋予集合 ${c}$,其他转换赋予集合 ${\lambda}$,则:
[
f_{M_1}^{\omega_1}(w) =
\begin{cases}
{c^{\frac{1}{2}(n + 1)n}}, & \text{for } w = a^n, n \geq 0 \
\emptyset, & \text{for } w \notin L(M_1)
\end{cases}
]
因此,$Rel(M_1) = { (a^n, c^{\frac{1}{2}(n + 1)n}) | n \geq 0 }$。

重启转换器是一种配备额外输出函数的重启自动机,为每个重启和接受转换给出输出单词,是单词加权重启自动机的特殊类型,用 $R(X - Td)$ 表示其计算的关系类。

下推关系

下推转换器(PDT)由 8 元组 $T = (Q, \Sigma, \Delta, X, q_0, Z_0, F, E)$ 定义,其中 $Q$ 是有限状态集,$\Sigma$ 是输入字母表,$\Delta$ 是输出字母表,$X$ 是下推字母表,$q_0$ 是初始状态,$Z_0$ 是下推底部标记,$F$ 是最终状态集,$E$ 是有限转换关系。

下推转换器的配置是 4 元组 $(q, u, \alpha, v)$,其计算的关系 $Rel(T)$ 定义为:
[
Rel(T) = { (u, v) \in \Sigma^ \times \Delta^ | \exists q \in F, \alpha \in X^ : (q_0, u, Z_0, \lambda) \vdash^ (q, \lambda, \alpha, v) }
]
- 下推关系分类
- 下推关系(PDR):若 $R = Rel(T)$ 对于某个 PDT $T$ 成立,则 $R$ 是下推关系,用 PDR 表示所有下推关系的类。
- 线性有界下推关系(lbPDR):存在常数 $c \in N$ 使得对于所有 $(u, v) \in R$ 有 $|v| \leq c \cdot |u|$ 的下推关系。
- 实时下推关系(rtPDR):由不执行任何 $\lambda$ - 步骤的 PDT 计算的下推关系。
- 准实时下推关系(qrtPDR):每个 $\lambda$ - 步骤弹出下推符号的 PDT 计算的下推关系。

它们之间的关系为:$rtPDR \subsetneq qrtPDR \subsetneq lbPDR \subsetneq PDR$。证明如下:
- 包含关系
- $rtPDR \subset qrtPDR$ 和 $lbPDR \subset PDR$ 很明显。
- 对于 $qrtPDR \subset lbPDR$,假设 $R$ 由准实时 PDT $T$ 计算,对于 $(u, v) \in R$,读取输入符号时 $T$ 最多压入 $c \cdot |u|$ 个符号,最多执行 $c \cdot |u|$ 个 $\lambda$ - 转换,所以输出 $v$ 满足 $|v| \leq d \cdot (c + 1) \cdot |u|$,其中 $d$ 是单个步骤产生的输出字符串的最大长度。
- 真包含关系
- 转换 $R_{uu^R} = { (u, uu^R) | u \in {a, b}^* }$ 是准实时的,但不是实时的。
- 关系 $R_{a^m b^m c^n} = { (a^m b^m c^n, c^n a^m b^m) | m, n \geq 1 }$ 是线性有界下推关系,但不是准实时的。
- 关系 $R_+ = { (a^m, b^n a^m b^n) | m, n \geq 1 }$ 是下推关系,但不是线性有界的。

下推关系可以用上下文无关语言和态射来刻画。语言 $L \subseteq \Gamma^ $ 刻画关系 $R \subseteq \Sigma^ \times \Delta^ $ 是指存在两个态射 $h_1 : \Gamma^ \to \Sigma^ $ 和 $h_2 : \Gamma^ \to \Delta^*$ 使得 $R = { (h_1(w), h_2(w)) | w \in L }$。下推关系由上下文无关语言刻画,对于 $\Sigma$ 和 $\Delta$ 不相交的情况,下推关系由上下文无关语言强刻画。并且每个线性有界下推关系都由上下文无关语言强刻画。

下面用 mermaid 流程图展示下推关系的分类:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A([下推关系 PDR]):::startend --> B(线性有界下推关系 lbPDR):::process
    B --> C(准实时下推关系 qrtPDR):::process
    C --> D(实时下推关系 rtPDR):::process

综上所述,我们对攻击 BEAR 和 LION 方案以及加权重启自动机与下推关系进行了深入研究,了解了它们的基本概念、性质和相互关系。这些研究对于密码学和自动机理论的发展具有重要意义。在后续研究中,我们可以进一步探索加权重启自动机的计算能力,以及如何利用这些理论解决实际问题。

密码攻击与自动机关系研究

重启转换器与下推关系的深入探讨

重启转换器作为单词加权重启自动机的特殊类型,其计算的关系类 $R(X - Td)$ 与各类下推关系有着紧密的联系。下面我们将详细分析不同类型的重启转换器和下推关系之间的关联。

重启转换器的特点

重启转换器在重启自动机的基础上,增加了额外的输出函数,为每个重启和接受转换给出输出单词。这使得它在处理输入时能够产生特定的输出,从而实现输入到输出的转换关系。例如,在处理自然语言句子时,重启转换器可以根据输入的句子结构,通过一系列的转换步骤,输出符合语法规则的简化形式。

与下推关系的比较

为了更清晰地展示重启转换器计算的关系类与下推关系的关系,我们制作了如下表格:
| 关系类型 | 特点 | 与重启转换器关系 |
| — | — | — |
| 实时下推关系(rtPDR) | 由不执行任何 $\lambda$ - 步骤的 PDT 计算 | 重启转换器在某些情况下可以模拟实时下推关系的计算,但并非所有实时下推关系都能由重启转换器实现 |
| 准实时下推关系(qrtPDR) | 每个 $\lambda$ - 步骤弹出下推符号的 PDT 计算 | 重启转换器与准实时下推关系有一定的重叠,但也存在差异,部分准实时下推关系可由重启转换器表示 |
| 线性有界下推关系(lbPDR) | 存在常数 $c \in N$ 使得对于所有 $(u, v) \in R$ 有 $|v| \leq c \cdot |u|$ | 重启转换器在处理线性有界输入时,可能产生符合线性有界下推关系的输出,但不能涵盖所有线性有界下推关系 |
| 下推关系(PDR) | 若 $R = Rel(T)$ 对于某个 PDT $T$ 成立 | 重启转换器计算的关系类是下推关系类的一个子集,但下推关系更为广泛 |

加权重启自动机的计算能力分析

加权重启自动机通过为重启自动机的每个转换分配权重,引入了定量计算的概念。不同类型的加权重启自动机,如有限加权重启自动机和单词加权重启自动机,具有不同的计算能力。

不同类型加权重启自动机的比较

我们已经知道对于每种类型 $X \in {mon - RWW, mon - RRWW, RWW, RRWW}$,有 $R(wwordX) = R(wFINX) \subsetneq R(wX)$。下面我们通过具体的例子来进一步说明它们之间的差异。

假设我们有一个简单的输入字母表 $\Sigma = {a, b}$ 和输出字母表 $\Delta = {c, d}$。

  • 单词加权重启自动机(wwordX - 自动机) :每个转换的权重是一个单单词集合,例如 $\omega(t) = {v}$,其中 $v \in \Delta^*$。这种类型的自动机在处理输入时,输出的权重组合相对简单,因为每个转换的权重是固定的单个单词。例如,对于输入 $a^n$,它可能输出一系列固定的单词组合。
  • 有限加权重启自动机(wFINX - 自动机) :权重函数将转换映射到有限语言半环 $S = (P_{fin}(\Delta^*), \cup, \cdot, \emptyset, {\lambda})$。这意味着每个转换的权重可以是一个有限的单词集合,输出的权重组合更加多样化。例如,对于相同的输入 $a^n$,它可能输出多种不同的单词组合。
  • 一般加权重启自动机(wX - 自动机) :权重函数将转换映射到语言半环 $S = (P(\Delta^*), \cup, \cdot, \emptyset, {\lambda})$,权重可以是任意的语言集合。这种类型的自动机具有最强的计算能力,能够处理更复杂的输入和输出关系。例如,它可以根据输入的不同模式,输出不同的语言集合。

下面用 mermaid 流程图展示不同类型加权重启自动机的关系:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A([一般加权重启自动机 R(wX)]):::startend --> B(有限加权重启自动机 R(wFINX)):::process
    B --> C(单词加权重启自动机 R(wwordX)):::process
应用场景分析

加权重启自动机的不同计算能力决定了它们在不同场景下的应用。

  • 单词加权重启自动机 :适用于处理简单的、固定模式的输入输出关系,例如文本的简单转换,如大小写转换、简单的字符替换等。
  • 有限加权重启自动机 :可以处理一些具有一定复杂性的输入输出关系,如自然语言的简单语法检查、模式匹配等。
  • 一般加权重启自动机 :可用于处理复杂的计算任务,如自然语言的语义分析、图像识别中的特征提取等。
总结与展望

本文对攻击 BEAR 和 LION 方案、加权重启自动机与下推关系进行了全面的研究。在攻击 BEAR 和 LION 方案中,我们明确了良好配对假设并非必要,并证明了相关定理。在加权重启自动机与下推关系方面,我们详细介绍了加权重启自动机的定义、类型和计算能力,以及下推关系的分类和特点,并分析了它们之间的相互关系。

未来的研究方向可以从以下几个方面展开:
1. 加权重启自动机的优化 :研究如何优化加权重启自动机的结构和权重分配,以提高其计算效率和处理复杂问题的能力。例如,探索更有效的权重更新算法,减少计算过程中的冗余操作。
2. 与实际应用的结合 :将加权重启自动机和下推关系的理论应用到实际领域中,如自然语言处理、数据挖掘、人工智能等。例如,利用加权重启自动机进行文本分类、情感分析等任务。
3. 新的自动机模型的探索 :基于现有的研究成果,探索新的自动机模型,以满足不断增长的计算需求。例如,结合量子计算的概念,开发量子加权重启自动机。

通过不断深入研究和探索,我们有望在密码学和自动机理论领域取得更多的突破,为解决实际问题提供更有效的方法和工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值