ZHFE加密方案的安全分析与密钥改进
1. 引言
在密码学领域,多变量加密方案一直是研究的热点。本文将介绍一种多变量加密方案ZHFE及其改进版本ZHFE - 。ZHFE - 在保留ZHFE安全和性能特性的同时,优化了密钥大小。接下来将依次介绍大域方案的概念、典型的密码系统HFE、多变量方程组的Q - 秩、ZHFE加密方案、对ZHFE的安全分析以及ZHFE - 方案。
2. HFE方案
-
大域方案的构建思想
- 大域方案基于两个思想构建。一是有限域$F_q$的$n$次扩展域$k$上的函数与$n$维$F_q$ - 向量空间上的函数存在等价关系。具体来说,$k$与$n$维$F_q$ - 向量空间之间的向量空间同构可以扩展到从$k$到自身的一元函数空间与从$F_q^n$到自身的多变量$n$维向量值多项式函数空间之间的向量空间同构。给定同构$\varphi:F_q^n\rightarrow k$和函数$f:k\rightarrow k$,函数$\varphi^{-1}\circ f\circ\varphi$就是从$F_q^n$到自身的函数,且这种对应是一一对应的。
- 二是多项式的同构。两个向量值多变量多项式$f$和$g$,若存在两个仿射映射$T$、$U$使得$g = T\circ f\circ U$,则称$f$和$g$是同构的。这两个思想结合可以构建一个定义域为$k$的结构化一元映射的同构副本,同时隐藏其结构,这种构造有时被称为蝴蝶构造,即$P = T\circ\varphi^{-1}\circ f\circ\varphi\circ U$产生结构化一元多项式$f$的扰动向量值版本。
-
HFE方案的具体内容
- HFE方案由Patarin提出,用于避免其线性化方程攻击对Matsumoto和Imai的$C^*$方案的破解。其基本思想是使用蝴蝶构造隐藏一个低次多项式的结构,该多项式可以通过Berlekamp算法等在$k$上高效求逆。
-
具体而言,选择一个有效可逆的“二次”映射$f:k\rightarrow k$,这里的“二次”是指$f$的每个单项式都是常数与$x$的两个Frobenius倍数的乘积。核心映射$f$的形式为:
[f(x)=\sum_{i\leq j,q^{i}+q^{j}\leq D}\alpha_{i,j}x^{q^{i}+q^{j}}+\sum_{i,q^{i}\leq D}\beta_{i}x^{q^{i}}+\gamma] - 为了实现高效求逆,多项式的次数界$D$需要相当低。
- HFE方案可用于加密或签名。生成签名(或解密)时,依次计算$v = T^{-1}y$,$u = f^{-1}(v)$和$x = U^{-1}u$,向量$x$就是签名(或明文)。验证(或加密)时,只需在$x$处计算公共多项式$P$,若$P(x)=T\circ f\circ U(x)$等于$y$,则签名被认证(或密文为$y$)。
3. Q - 秩
-
HFE的Q - 秩特性
HFE的定义特征——次数界是中心映射有效求逆所必需的,这确保了该方案作为$k$上的二次型具有低秩。任何二次映射$f:k\rightarrow k$可以写成$f(x)=\sum_{0\leq i,j < n}\alpha_{ij}x^{q^{i}+q^{j}}$,也可以等价地表示为$1$维$k$ - 代数上的向量函数$\psi:k\rightarrow k^n$,其中$\alpha\stackrel{\psi}{\mapsto}[\alpha\ \alpha^{q}\ \cdots\ \alpha^{q^{n - 1}}]^T$,形式为$f(X)=X^T[\alpha_{ij}]X$,其中$X=[x\ x^{q}\ \cdots\ x^{q^{n - 1}}]^T$。$k$上的任何二次型都可以表示为对称矩阵,在特征$p\neq2$时,可以进行基变换将矩阵转换为等价的对角形式,该矩阵的秩就是二次型的秩,称为$f$的Q - 秩。 -
Q - 秩的重要性
Q - 秩在多项式同构下是不变的,除非使用了减号或投影修饰符,密码系统中心映射的Q - 秩与公钥的Q - 秩相同。Q - 秩在一些攻击中被明确利用,如Kipnis - Shamir建模,并且在推导几个著名密码系统的正则度界中起着核心作用。同时,域映射的Q - 秩与差分对称或不变关系的存在似乎存在复杂的关系。
4. ZHFE方案
-
ZHFE的设计思路
ZHFE的提出是为了构建一个具有高Q - 秩中心映射的加密方案,以防止利用低Q - 秩弱点的攻击。虽然在这种情况下求逆实际上也需要低Q - 秩,但该系统试图在公钥中隐藏低Q - 秩结构。 -
ZHFE中心映射的构造
-
中心映射是通过拼接两个具有特殊结构的高次二次映射$f_0$和$f_1$形成的。这两个映射通过构造一个低次(最大次数为$D$)的三次映射$\Psi(x)$得到:
[\Psi(x)=x[L_{00}f_0(x)+L_{01}f_1]+x^{q}[L_{10}f_0 + L_{11}f_1]]
其中$L_{ij}$是线性映射,方括号表示在$k$上的乘法。 -
为求解$f_0$和$f_1$,只需设置线性映射和$\Psi$的系数,以得到关于$f_0$和$f_1$未知系数的线性方程组。在齐次情况下,$f_0$和$f_1$在$k$中共有$n^2 + n$个系数。由于$\Psi$的低次性且需满足上述方程,它的形式为:
[\Psi(x)=\sum_{i = 0}^{1}\sum_{i\leq j\leq k,q^{i}+q^{j}+q^{k}\leq D}\alpha_{i,j,k}x^{q^{i}+q^{j}+q^{k}}+\sum_{i = 0}^{1}\sum_{i\leq j,q^{i}+q^{j}\leq D}\beta_{i,j}x^{q^{i}+q^{j}}+\sum_{i = 0}^{1}\gamma_{i}x^{q^{i}}] - 这种形式的三次式在$k$上有$n^2$个系数,对于任何固定的$\Psi$和$L_{ij}$选择,在维度为$n^2 + n$的线性系统中有$n^2$个约束条件。因此,大约以$1 - q^{-n}$的概率,存在一个$n$维的$f_0$和$f_1$系数空间。
- 构造好后,中心映射$(y_0,y_1)=(f_0(x),f_1(x))$可以通过使用Berlekamp算法求解低次多项式方程$\Psi(x)-x[L_{00}y_0 + L_{01}y_1]-x^{q}[L_{10}y_0 + L_{11}y_1]=0$来求逆。
-
中心映射是通过拼接两个具有特殊结构的高次二次映射$f_0$和$f_1$形成的。这两个映射通过构造一个低次(最大次数为$D$)的三次映射$\Psi(x)$得到:
5. ZHFE的安全分析
随着依赖隐藏大代数结构的多变量密码系统的发展,出现了几种攻击途径,可分为差分攻击、最小秩攻击和代数攻击。下面将对ZHFE针对这些攻击模型进行安全分析。
-
代数攻击
- 代数攻击试图通过直接求解方程组$P(x)=y$来解密给定的密文$y$。“代数”指的是这些是求解任意多项式方程组的通用算法。虽然这些攻击不是基于方程组结构定义的,但所使用的算法可以自然地利用系统的某些特性。在实践中,求解这些方程组的算法复杂度与系统的正则度密切相关。
- 方程组的正则度是首次出现非平凡次数下降的次数。考虑理想$I=\langle g_1,\cdots,g_m\rangle\in F_q[x_1,\cdots,x_n]$的生成集,通过选择多项式$p_i\in F_q[x_1,\cdots,x_n]$并计算$\sum_{i = 1}^{m}p_ig_i$,当这个和的次数小于$p_ig_i$的最大次数时,就出现了次数下降。一些次数下降是由于平凡的合冲,如$-g_jg_i + g_ig_j = 0$和$(g_i^{q - 1}-1)g_i = 0$。使得上述和出现非平凡次数下降的$p_ig_i$的最小最大次数就是正则度。
- 对于ZHFE,小实例的ZHFE系统的正则度与相同大小的随机方程组的正则度完全匹配。考虑到Q - 秩与正则度之间的联系,对ZHFE进行全面的Q - 秩分析将验证该方案对代数攻击的安全性。
-
差分对称攻击
- 中心映射的离散差分涉及的对称关系可能会在多变量密码系统的公钥中诱导出对称性。在某些情况下,这些关系可以揭示扩展域结构的特性,从而削弱公钥。例如,在SFLASH攻击中,可将$C^
-$的实例转换为兼容的$C^
$实例,并利用扩展域元素的派生表示进行直接密钥恢复攻击。
- 对于一般多项式的差分对称现象,以映射$f(x)=x^{q^3 + q^2}+x^{q^2 + 1}$为例,在特征为2的域$F_q$的6次扩展上,存在线性映射$Lx=\alpha x^{q^4}+\alpha x^{q}+\beta x$和$\Lambda_{Lx}=0$(其中$\alpha^{q^3}=\alpha$且$\beta^{q}=\beta$)满足差分对称关系$Df(La,x)+Df(a,Lx)=\Lambda_{L}Df(a,x)$。存在一个4维的$F_q$ - 子空间的线性映射$L$满足该差分对称关系,而从扩展域到自身的所有$F_q$ - 线性映射空间的维度仅为36。因此,基于此映射的假设密码系统将容易受到类似去除减号修饰符的攻击。
- 在分析ZHFE的差分对称特性时,可以直接分析公钥或研究$\Psi$映射的差分。公钥$P$由$2n$个多项式组成,$P = T(f_0||f_1)U$,存在低次三次映射$\Psi$使得$\Psi(Ux)=(Ux)(L_{00}(T^{-1})
1P(x)+L
{01}(T^{-1})
2P(x))+(Ux)^{q}(L
{10}(T^{-1})
1P(x)+L
{11}(T^{-1})
2P(x))$。对该方程进行隐式求导得到$D\Psi(Ua,Ux)$的表达式,进一步求二阶导数得到$D^2\Psi(Ua,Ub,Ux)$的表达式。由于$\Psi$是低次三次式,$D^2\Psi$是低秩三次形式。虽然存在这种结构,但不清楚如何继续攻击。有人可能会考虑[29]中秩攻击的三次版本,但选择映射$L
{ij}(T^{-1})
j$对应于求解3 - 张量$D^2\Psi$上的最小秩问题,一般的3 - 张量秩问题是NP - 难的,且没有证据表明这些实例比相同秩的任意实例更具结构性。
-
差分不变攻击
- 公钥差分的不变关系可用于密钥恢复。虽然可以直接分析ZHFE公钥的差分不变结构,但由于ZHFE的结构隐藏在三次$\Psi$映射中,通常不存在非平凡的不变量。对于三次函数的差分不变量,有如下定义:
定义2:三次函数$f$的差分不变量是一对子空间$V_1$、$V_2\subseteq k$,对于它们存在子空间$W$,$\dim(W)\leq\min\dim(V_i)$,使得对于所有$A\in\mathrm{span}D^2f_i$,对于所有$a\in V_1$,$b\in V_2$和$x\in W^{\perp}$,有$D^2f(a,b,x)=0$。
- 在二次情况下,差分不变量可以看作是$k$的一个子空间,在该子空间上$Df$在每个坐标上的作用方式相同,即总是将该子空间映射到不大于其维度的线性形式空间。在三次情况下,差分不变量可以看作是$k$的子空间$V_1$和由$D^2f$诱导的双线性形式的子空间(由$V_2$定义),其中每个元素将$V_1$映射到不大于其维度的线性形式空间$W$。
- 可以证明ZHFE的$\Psi$映射没有差分不变结构。假设存在差分不变量,通过一系列推导会得到矛盾,即统计上$S$必须是$V_2$上的零映射,这与差分不变量的非平凡性矛盾。此外,如果$q$的任何幂是唯一的,则不存在非平凡的差分不变量。
-
Q - 秩攻击
- 对ZHFE的另一种攻击方式是使用Kipnis - Shamir方法及其改进版本进行最小秩攻击。该攻击搜索公钥差分的低秩$k$ - 线性组合。一般的最小秩问题是NP - 完全的,但在实践中,复杂度取决于空间中最低秩的映射。
- 已知最小的这种秩等于公钥在任何满秩$F_q$ - 线性映射下的像的最小Q - 秩。为使方程$\Psi(x)=x[L
{00}f_0(x)+L_{01}f_1]+x^{q}[L_{10}f_0 + L_{11}f_1]$成立,$L_{00}f_0 + L_{01}f_1$中$x^{q^{i}+q^{j}}$项($q^{i}+q^{j}+1 > D$且$i,j\neq1$)的系数必须为0,这在$L_{00}f_0$和$L_{01}f_1$的二次表示之间诱导了一种关系。
下面用mermaid格式的流程图展示HFE方案的加密和解密流程:
graph TD;
A[生成签名/解密] --> B[v = T^-1y];
B --> C[u = f^-1(v)];
C --> D[x = U^-1u];
D --> E[向量x为签名/明文];
F[验证/加密] --> G[计算P(x)];
G --> H[判断P(x)是否等于y];
H -- 是 --> I[签名认证/密文为y];
H -- 否 --> J[签名不认证/加密失败];
用表格总结ZHFE的安全分析:
| 攻击类型 | 攻击方式 | ZHFE的应对情况 |
| ---- | ---- | ---- |
| 代数攻击 | 直接求解方程组$P(x)=y$ | 小实例正则度与随机方程组匹配,需Q - 秩分析验证安全性 |
| 差分对称攻击 | 利用中心映射离散差分的对称关系 | 虽有结构但攻击难以继续,3 - 张量秩问题难解决 |
| 差分不变攻击 | 利用公钥差分的不变关系 | $\Psi$映射无差分不变结构 |
| Q - 秩攻击 | 搜索公钥差分的低秩$k$ - 线性组合 | 公钥在满秩$F_q$ - 线性映射下的像的最小Q - 秩相关 |
ZHFE加密方案的安全分析与密钥改进
6. ZHFE - 方案
ZHFE - 是基于ZHFE和减号修饰符的新多变量加密方案。它在保留ZHFE安全和性能特性的同时,致力于优化密钥大小。通过对ZHFE的深入研究和改进,ZHFE - 试图在安全性和密钥效率之间找到更好的平衡。
7. ZHFE - 的参数选择
在选择ZHFE - 的参数时,需要综合考虑多个因素,以确保方案的安全性和性能。以下是一些关键参数及其选择的考虑因素:
-
扩展域的次数$n$
:$n$的值影响着加密方案的复杂度和安全性。较大的$n$通常会增加安全性,但也会提高计算复杂度和密钥大小。因此,需要根据具体的应用场景和安全需求来选择合适的$n$。
-
多项式的次数界$D$
:$D$的大小对于中心映射的有效求逆至关重要。较低的$D$可以保证中心映射能够高效求逆,但也可能使方案更容易受到某些攻击。因此,需要在求逆效率和安全性之间进行权衡。
-
线性映射$L_{ij}$
:线性映射$L_{ij}$的选择会影响到ZHFE - 的结构和安全性。合适的$L_{ij}$可以帮助隐藏低Q - 秩结构,提高方案的安全性。
8. 多变量加密新方法的作用
多变量加密的新方法,如ZHFE和ZHFE - ,在密码学领域具有重要的作用。它们为解决传统加密方案面临的一些问题提供了新的思路和方法。具体来说,这些新方法的作用包括:
-
提高安全性
:通过引入高Q - 秩中心映射、隐藏低Q - 秩结构等技术,新方法可以有效地抵抗多种攻击,提高加密方案的安全性。
-
优化密钥大小
:ZHFE - 方案在保留安全性的同时,优化了密钥大小,提高了加密方案的效率。
-
丰富加密方案的种类
:新方法的出现丰富了多变量加密方案的种类,为用户提供了更多的选择。
下面用表格总结ZHFE和ZHFE - 的特点对比:
| 方案 | 特点 |
| ---- | ---- |
| ZHFE | 具有高Q - 秩中心映射,试图隐藏低Q - 秩结构,抵抗多种攻击 |
| ZHFE - | 基于ZHFE,优化密钥大小,在安全性和效率之间取得平衡 |
用mermaid格式的流程图展示ZHFE - 方案的整体流程:
graph TD;
A[选择参数] --> B[构建ZHFE - 方案];
B --> C[生成密钥];
C --> D[加密/签名];
D --> E[解密/验证];
9. 总结
本文全面介绍了多变量加密方案ZHFE及其改进版本ZHFE - 。首先,阐述了大域方案的概念和典型的HFE方案,分析了HFE方案的特点和局限性。接着,引入了Q - 秩的概念,并说明了其在密码学中的重要性。然后,详细介绍了ZHFE方案的设计思路、中心映射的构造以及对其进行的安全分析,包括代数攻击、差分对称攻击、差分不变攻击和Q - 秩攻击。最后,介绍了ZHFE - 方案及其参数选择,以及多变量加密新方法在密码学领域的作用。
通过对ZHFE和ZHFE - 的研究,我们可以看到多变量加密方案在提高安全性和优化密钥大小方面具有巨大的潜力。未来,随着密码学技术的不断发展,相信会有更多高效、安全的多变量加密方案出现,为信息安全提供更有力的保障。
以下是一个列表总结本文的主要内容:
1. 介绍了大域方案和HFE方案,包括其构建思想和具体内容。
2. 引入了Q - 秩的概念,说明了其在密码学中的重要性。
3. 详细介绍了ZHFE方案的设计思路、中心映射的构造和安全分析。
4. 介绍了ZHFE - 方案及其参数选择,以及多变量加密新方法的作用。
超级会员免费看
14

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



