传统密码学的可证明安全性探讨
在传统密码学领域,可证明安全性一直是研究的核心问题之一。为解决相关问题,本文引入了基于去相关理论的实用工具,旨在简化证明过程,并对部分结果进行改进。
去相关理论基础
-
定义与符号
- 对于从集合 $M_1$ 到集合 $M_2$ 的随机函数 $F$ 和整数 $d$,定义 “$d$ 维分布矩阵” $[F]_d$,其中 $[F]_d{(x_1,\ldots,x_d),(y_1,\ldots,y_d)} = Pr[F(x_1) = y_1, \ldots, F(x_d) = y_d]$。
- 给定度量结构 $D$,可定义两个随机函数 $F$ 和 $G$ 的 “$d$ 维去相关距离”。若 $G$ 是均匀分布的随机函数(记为 $F^ $),则该距离称为 “函数 $F$ 的 $d$ 维去相关偏差”,记为 $DecF_d^D(F)$;若 $F$ 是置换(记为 $C$),$G$ 是均匀分布的置换(记为 $C^ $),则称为 “置换 $F$ 的 $d$ 维去相关偏差”,记为 $DecP_d^D(F)$。
- 常用的度量结构由范数 $||.|| 2$、$|||.||| {\infty}$、$||.||_a$、$||.||_s$ 定义,这些范数具有 $||A \times B|| \leq ||A||.||B||$ 的性质。
- 定义 “区分器” 为一种能向预言机 $O$ 发送 $M_1$ 元素查询并接收 $M_2$ 元素响应,最终输出 0 或 1 的预言机图灵机 $A^O$。区分 $F$ 和 $G$ 的优势为 $Adv_A(F, G) = Pr[A^F = 1] - Pr[A^G = 1]$。
- 考虑不同类型的区分器,如非自适应区分器类 $Cl_d^{na}$、所有区分器类 $Cl_d^a$ 以及可查询函数或其逆的区分器类 $Cl_d^s$,并定义 $BestAdv_{Cl}(F, G) = \max_{A \in Cl} Adv_A(F, G)$。
-
性质
- 若 $F$ 和 $G$ 是独立随机函数,$F$ 从 $M_2$ 到 $M_3$,$G$ 从 $M_1$ 到 $M_2$,则 $[F \circ G]_d = [G]_d \times [F]_d$。若 $F^ $ 是均匀分布的随机函数,则 $[F]_d \times [F^ ]_d = [F^ ]_d \times [F]_d = [F^ ]_d$。使用矩阵范数 $||.||$ 时,有 $DecF_d^{||.||}(F \circ G) \leq DecF_d^{||.||}(F).DecF_d^{||.||}(G)$,置换情况同理,此为去相关偏差的乘法性质。
-
范数 $|||.|||_{\infty}$、$||.||_a$、$||.||_s$ 可表征区分器的最佳优势,即:
- $|||[F] d - [G]_d||| {\infty} = 2. BestAdv_{Cl_d^{na}}(F, G)$
- $||[F] d - [G]_d||_a = 2. BestAdv {Cl_d^a}(F, G)$
- 当 $F$ 和 $G$ 是置换时,$||[F] d - [G]_d||_s = 2. BestAdv {Cl_d^s}(F, G)$
- 对于随机置换 $C$,定义 $\overline{C}(0, x) = C(x)$,$\overline{C}(1, x) = C^{-1}(x)$,则 $||[C_1]_d - [C_2]_d||_s = ||[\overline{C}_1]_d - [\overline{C}_2]_d||_a$。
- 给定多个随机函数和置换预言机,通过特定构造得到函数 $G$,有 $DecF_d^{||.|| a}(G) \leq \sum {i = 1}^{r} DecF_{a_id}^{||.|| a}(F_i) + \sum {j = 1}^{s} DecP_{b_jd}^{||.|| a}(C_j) + \sum {k = 1}^{t} DecP_{c_kd}^{||.||_s}(D_k) + DecF_d^{||.||_a}(G^ )$;若 $G$ 是置换,且计算 $G^{-1}$ 有相同限制,则 $DecF_d^{||.|| s}(G) \leq \sum {i = 1}^{r} DecF_{a_id}^{||.|| a}(F_i) + \sum {j = 1}^{s} DecP_{b_jd}^{||.|| a}(C_j) + \sum {k = 1}^{t} DecP_{c_kd}^{||.||_s}(D_k) + DecF_d^{||.||_s}(G^ )$。
密码原语设计的随机性
-
Luby - Rackoff 结果
-
对于四个独立的均匀分布随机函数 $F_1^
, F_2^
, F_3^
, F_4^
$,有:
- $DecF_d^{||.||_a}(\Psi(F_1^ , F_2^ , F_3^*)) \leq 2d^2.2^{-\frac{m}{2}}$
- $DecP_d^{||.||_a}(\Psi(F_1^ , F_2^ , F_3^*)) \leq 2d^2.2^{-\frac{m}{2}}$
- $DecP_d^{||.||_s}(\Psi(F_1^ , F_2^ , F_3^ , F_4^ )) \leq 2d^2.2^{-\frac{m}{2}}$
- 这些结果适用于基于任何(拟)群操作定义的 Feistel 方案,是研究 Feistel 方案去相关偏差的基础,也是 AES 候选方案 DFC 的基础。
-
对于四个独立的均匀分布随机函数 $F_1^
, F_2^
, F_3^
, F_4^
$,有:
-
一般方法
- 为上界给定随机函数的去相关偏差,先证明一个组合引理,再使用标准证明方法。
- 引理 4:设 $F$ 是从集合 $M_1$ 到集合 $M_2$ 的随机函数,$X$ 是 $M_1^d$ 中所有元素两两不同的子集,$F^*$ 是均匀分布的随机函数,若存在子集 $Y \subseteq M_2^d$ 和正实数 $\epsilon_1$、$\epsilon_2$,满足 $|Y|p_0 \geq 1 - \epsilon_1$ 且 $\forall x \in X, \forall y \in Y, [F]_d{x,y} \geq p_0(1 - \epsilon_2)$,则 $DecF_d^{||.||_a}(F) \leq 2\epsilon_1 + 2\epsilon_2$。
- 引理 5:对于随机置换 $C$,若 $[C]_d{x,y} \geq [C^ ]_d{x,y}(1 - \epsilon)$ 对所有 $x$ 和 $y$ 成立,则 $DecP_d^{||.||_s}(F) \leq 2\epsilon$;若 $[C]_d{x,y} \geq [F^ ]_d{x,y}(1 - \epsilon)$ 对所有 $x$ 和 $y$ 成立,则 $DecP_d^{||.||_s}(F) \leq 2\epsilon + 2d^2(#M)^{-1}$。
- 引理 6:对于定义在 ${0, 1}^m$ 上的随机均匀分布函数 $F^ $ 和随机均匀分布置换 $C^ $,有 $DecP_d(F^ ) = DecF_d(C^ ) \leq d(d - 1)2^{-m}$。
- 通过引理 4、5 和 6 可简洁证明引理 3。
-
随机置换集合
-
Zheng - Matsumoto - Imai 结果
:研究广义 Feistel 变换的伪随机性,考虑有 $k$ 个分支的情况,定义了三种变换 $\psi_1$、$\psi_2$、$\psi_3$。对于独立均匀分布的随机函数 $F_1^
, \ldots, F_{2k - 1}^
$,有:
- $DecP_d^{||.||_a}(\Psi_1(F_1^ , \ldots, F_{2k - 1}^ )) \leq 2(k - 1)d^2.2^{-\frac{m}{k}}$
- $DecP_d^{||.||_a}(\Psi_2(F_1^ , \ldots, F_{k^2 - 1}^ )) \leq \frac{k^2}{2} d^2.2^{-\frac{m}{k}}$
- $DecP_d^{||.||_a}(\Psi_3(F_1^ , \ldots, F_{k^2 - 1}^ )) \leq (k^2 - 2k + 2)d^2.2^{-\frac{m}{k}}$
- Naor - Reingold 结果 :设 $C_1$ 和 $C_2$ 是两个随机置换,$DecP_1(C_1) = 0$ 且 $DecP_2^{|||.|||_{\infty}}(C_i) \leq \delta_i$,$F^ $ 是均匀分布的随机函数,对于任意整数 $d$,有 $DecP_d^{||.||_s}(C_2^{-1} \circ \Psi(F^ , F^*) \circ C_1) \leq d(d - 1)\delta_1 + \frac{\delta_2}{2} + 4d^2.2^{-\frac{m}{2}}$。
-
Zheng - Matsumoto - Imai 结果
:研究广义 Feistel 变换的伪随机性,考虑有 $k$ 个分支的情况,定义了三种变换 $\psi_1$、$\psi_2$、$\psi_3$。对于独立均匀分布的随机函数 $F_1^
, \ldots, F_{2k - 1}^
$,有:
以下是一个简单的 mermaid 流程图,展示去相关理论在密码学中的应用流程:
graph TD;
A[定义随机函数和置换] --> B[计算去相关距离和偏差];
B --> C[使用引理和性质进行分析];
C --> D[得出安全性结论];
此外,还有其他相关的随机置换构造,如 Sugita 基于 MISTY 类置换和基于 IDEA 类置换的研究。这些研究丰富了密码学中随机置换的设计和分析方法,为提高密码系统的安全性提供了更多的理论支持。
在密码学的实际应用中,我们可以按照以下步骤利用去相关理论来评估和设计密码系统:
1.
确定随机函数和置换
:根据具体的密码系统需求,选择合适的随机函数和置换作为基本元素。
2.
计算去相关距离和偏差
:使用定义的公式计算这些随机函数和置换的去相关距离和偏差,了解它们的随机特性。
3.
应用引理和性质进行分析
:结合前面提到的引理和性质,对密码系统的安全性进行分析,判断其是否能抵抗各种攻击。
4.
得出安全性结论
:根据分析结果,得出密码系统的安全性结论,并根据需要进行改进和优化。
通过这些步骤,我们可以更系统地利用去相关理论来设计和评估密码系统,提高其安全性和可靠性。
传统密码学的可证明安全性探讨
操作模式及类似构造
-
CBC - MAC
- Bellare - Kilian - Rogaway 考虑将块密码函数 $C$ 转换为消息认证码 $MAC$ 的常规 $CBC - MAC$ 构造,即 $MAC(m_1, \ldots, m_{\ell}) = C(C(\ldots C(m_1) + m_2 \ldots) + m_{\ell})$,也可使用随机函数 $F$ 替代 $C$。
- 对于固定整数 $\ell$,由均匀分布随机函数 $F^*$ 定义在 $\ell m$ 位块上的函数 $MAC$,对于任意 $d$,有 $DecF_d^{||.|| a}(MAC) \leq d\ell(d\ell - 1)2^{-m}$。当 $F$ 是伪随机时,$DecF_d^{||.||_a}(MAC) \leq DecF {d\ell}^{||.||_a}(F) + d\ell(d\ell - 1)2^{-m}$。
-
证明过程使用引理 4,取 $Y$ 为完整的 $y = (y_1, \ldots, y_d)$ 集合,$\epsilon_1 = 0$。定义随机变量 $U_{i,j}$ 为消息 $x_i = (m_{i,1}, \ldots, m_{i,\ell})$ 上第 $j$ 次 $F^*$ 计算的输入,考虑事件 $E$ 为所有 $U_{i,j}$($j < \ell$)与所有 $U_{k,\ell}$ 不同且所有 $U_{k,\ell}$ 两两不同。可得 $Pr[MAC(x_i) = y_i; i = 1, \ldots, d] \geq 2^{-md} Pr[E]$,所以 $\epsilon_2 = Pr[\overline{E}]$。
- 令 $Coll$ 为 $F^ $ 碰撞事件 $F^ (U_{i,j}) = F^*(U_{r,s})$($U_{i,j} \neq U_{r,s}$,$j < \ell$,$r < \ell$),则 $Pr[Coll] \leq \frac{d(\ell - 1)(d(\ell - 1) - 1)}{2}2^{-m}$。
- 研究 $U_{i,j} = U_{k,\ell}$ 事件($j \leq \ell$,$i \neq k$,$j = \ell$ 时),可得 $Pr[\overline{E}] \leq \frac{d(\ell - 1)(d(\ell - 1) - 1)}{2}2^{-m} + \left((\ell - 1)d^2 + \frac{d(d - 1)}{2}\right)2^{-m}$,即 $\epsilon_2 = \frac{d\ell(d\ell - 1)}{2}2^{-m}$。
-
类似结果
- 从 FIL - MAC 构造 VIL - MAC :设 $F_1$ 和 $F_2$ 是两个独立的从 ${0, 1}^{m + b}$ 到 ${0, 1}^b$ 的随机函数,对于任意 $\ell$ 和 $(m_1, \ldots, m_{\ell}) \in ({0, 1}^m)^{\ell}$,定义 $MAC(m_1, \ldots, m_{\ell}) = F_2(F_1(\ldots F_1(F_1(0, m_1), m_2) \ldots, m_{\ell}), \ell)$。考虑区分器限于 $d$ 个查询且总长度为 $qm$ 位时,$DecF_{d,q}^{||.|| a} \leq DecF_q^{||.||_a}(F_1) + DecF_d^{||.||_a}(F_2) + q(q - 1)2^{-m}$。若去掉消息长度信息,即 $MAC(m_1, \ldots, m {\ell}) = F_2(F_1(\ldots F_1(F_1(0, m_1), m_2) \ldots, m_{\ell}))$,则 $DecF_{d,q}^{||.||_a} \leq DecF_q^{||.||_a}(F_1) + DecF_d^{||.||_a}(F_2) + q(q + 1)2^{-m}$。
-
CBC - MAC 构造
:设 $C_1$ 和 $C_2$ 是两个独立的均匀分布随机置换,对于任意 $\ell$ 和 $(m_1, \ldots, m_{\ell}) \in ({0, 1}^m)^{\ell}$,定义 $MAC(m_1, \ldots, m_{\ell}) = C_2(C_1(\ldots C_1(C_1(m_1) + m_2) \ldots + m_{\ell - 1}) + m_{\ell})$。考虑区分器限于 $d$ 个查询且总长度为 $qm$ 位时,$DecF_{d,q}(MAC) \leq d(d - 1)2^{-m} + \frac{q(q + 1)}{2}(1 + q2^{-m})2^{-m}$。
- 证明使用引理 4,取 $Y$ 为所有 $y = (y_1, \ldots, y_d)$ 且 $y_i$ 不同的集合,$\epsilon_1 = \frac{d(d - 1)}{2}2^{-m}$。定义 $U_{i,j} = C_1(\ldots C_1(C_1(m_{i,1}) + m_{i,2}) \ldots + m_{i,j - 1}) + m_j$,考虑事件 $E$ 为所有 $U_{i,\ell_i}$ 两两不同。有 $[MAC]_{\ell_1, \ldots, \ell_d}{x,y} \geq 2^{-md}(1 - Pr[\overline{E}])$,所以 $\epsilon_2 = Pr[\overline{E}]$。
- $U_{i,\ell_i} = U_{r,\ell_r}$ 事件可归结为 $U_{i,\ell_i - t_{i,r}} = U_{r,\ell_r - t_{i,r}}$ 碰撞或 $C_1$ 的 0 原像。令 $Inv$ 为 $C_1(U_{i,j}) = 0$ 事件,$Coll$ 为 $U_{i,j} = U_{r,s}$ 事件($(m_{i,1}, \ldots, m_{i,j}) \neq (m_{r,1}, \ldots, m_{r,s})$),则 $\epsilon_2 \leq Pr[Inv] + Pr[Coll]$。
- 自适应攻击找到 $C_1$ 的 0 原像的概率 $Pr[Inv] \leq \frac{q}{2^m - q}$。对于 $Pr[Coll]$,定义 $I$ 为所有可能的碰撞索引对集合,考虑最小碰撞对事件 $Col_{i,j,r,s}$,可得 $Pr[Col_{i,j,r,s}] \leq \frac{1}{2^m - q}$,所以 $\epsilon_2 \leq \frac{q}{2^m - q} + \frac{q(q - 1)}{2} \times \frac{1}{2^m - q} \leq \frac{q(q + 1)}{2}(1 + q2^{-m})2^{-m}$。
以下是一个 mermaid 流程图,展示使用去相关理论分析 MAC 构造的流程:
graph TD;
A[定义 MAC 构造] --> B[确定区分器限制];
B --> C[使用引理 4 分析];
C --> D[计算碰撞和原像概率];
D --> E[得出去相关偏差结果];
表 1:不同 MAC 构造的去相关偏差结果总结
| MAC 构造 | 去相关偏差结果 |
| — | — |
| CBC - MAC(固定 $\ell$) | $DecF_d^{||.||
a}(MAC) \leq d\ell(d\ell - 1)2^{-m}$ |
| 从 FIL - MAC 构造 VIL - MAC(含长度信息) | $DecF
{d,q}^{||.||
a} \leq DecF_q^{||.||_a}(F_1) + DecF_d^{||.||_a}(F_2) + q(q - 1)2^{-m}$ |
| 从 FIL - MAC 构造 VIL - MAC(不含长度信息) | $DecF
{d,q}^{||.||
a} \leq DecF_q^{||.||_a}(F_1) + DecF_d^{||.||_a}(F_2) + q(q + 1)2^{-m}$ |
| 双置换 CBC - MAC | $DecF
{d,q}(MAC) \leq d(d - 1)2^{-m} + \frac{q(q + 1)}{2}(1 + q2^{-m})2^{-m}$ |
结论
通过去相关理论,使传统密码学中的多个结果更具系统性。新的结果呈现方式有助于理解和改进这些结果,具体表现如下:
-
改进伪随机性结果
:对一些伪随机性结果进行了改进,提高了对密码系统随机特性的认识和评估。
-
改进 MAC 构造结果
:在消息认证码构造方面取得了更好的结果,增强了 MAC 机制的安全性。
-
证明加密 CBC - MAC 构造的安全性
:为加密 CBC - MAC 构造提供了安全证明,为实际应用提供了更可靠的理论支持。
在实际应用中,我们可以按照以下步骤利用上述理论和结果来设计和评估密码系统:
1.
选择合适的构造
:根据具体需求,从 Feistel 方案、各种 MAC 构造等中选择合适的密码学构造。
2.
计算去相关参数
:计算所选构造的去相关距离、偏差等参数,了解其随机特性和安全性。
3.
分析安全性
:结合引理和性质,分析密码系统在不同攻击下的安全性,判断是否满足要求。
4.
优化和改进
:根据分析结果,对密码系统进行优化和改进,提高其安全性和性能。
通过这些步骤,我们可以更科学、系统地设计和评估密码系统,确保其在实际应用中的安全性和可靠性。
1072

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



