58、多元和奇特征 HFE 变体的密码分析

多元和奇特征 HFE 变体的密码分析

1. 引言

多元公钥密码学(MPKC)是使用多元多项式的公钥方案集合。其安全性与后量子问题(求解二次代数方程组)的难度相关,且加解密过程高效,适用于受限环境。其中,隐藏域方程密码系统(HFE)是研究最多的之一。

早期,Kipnis 和 Shamir 提出了针对 HFE 的密钥恢复攻击,该攻击可归结为 MinRank 问题,但对给定参数而言不实用,被推测为亚指数级。后来,Faugère 和 Joux 基于 Gröbner 基提出了高效的消息恢复攻击,这对 HFE 的安全性提出了严重质疑。为抵御这些攻击,有人提出使用多元系统作为秘密密钥、奇特征域或两者结合,这类新方案被称为 multi - HFE。

本文提出了针对 HFE、multi - HFE 及其一些变体的密钥恢复攻击,是对 Kipnis - Shamir 攻击的改进和推广。具体是将攻击归结为寻找公共二次型的低秩线性组合问题,即 MinRank 问题。通过将 MinRank 问题在小域中表达,可显著加快求解速度。

2. 多元 HFE
  • 参数与系统结构 :Multi - HFE 的参数为 $(q, N, d, D) \in N^4$,其中 $q$(奇数)是基域 $F_q$ 的大小,$d$ 是扩展域 $F_{q^d}$ 的次数,$N$ 是秘密多项式的变量和方程数量,$D$ 是其度数。秘密内部变换 $F^*$ 的多项式具有特定构造,这种系统具有 (multi - )HFE 形状。
  • 加密与解密过程 :通过自然态射 $\phi_N$ 将秘密多项式转换到小域表示 $F$。秘密密钥由 $F^ $ 以及两个仿射映射 $S$ 和 $T$ 补充,公共密钥 $G = T \circ F \circ S$ 由总度数为 2 的多项式组成。加密时,在消息 $m$ 上计算 $g_1, \cdots, g_n$;解密时,利用私钥计算 $S^{-1} \circ \phi_N \circ F^{ -1} \circ \phi_N^{-1} \circ T^{-1}(c)$。
  • 不同 HFE 方案实例
    | 方案 | $q$ | $N$ | $d$ | $D$ | 安全性 |
    | ---- | ---- | ---- | ---- | ---- | ---- |
    | HFE | 2 | 1 | 128 | 513 | 128 |
    | PHFE | 7 | 1 | 67 | 56 | 201 |
方案 $q$ $N$ $d$ $D$ 安全性
IFS 2 8 16 2 128
THFE 31 3 10 2 150
3. 对原始 HFE 的攻击回顾
  • 直接代数攻击 :消息恢复需求解二次方程组 ${g_1 - c_1 = 0, \cdots, g_n - c_n = 0}$,经典方法是计算 Gröbner 基。对于原始 HFE,其正则度约为 $\log_q(D)$,使攻击在变量数量上为亚指数级。为防止直接代数攻击,有人提议使用特征更大的域,但对于某些参数,混合方法虽优于直接求解,但攻击仍为指数级。对于 multi - HFE,在特征 2 下可类似攻击,而在奇特征下,直接代数攻击无效。
  • 原始 Kipnis - Shamir(KS)攻击 :对于原始 HFE 方案($N = 1, n = d$),将公钥多项式和变换视为从 $F_{q^n}$ 到 $F_{q^n}$ 的映射,用单变量多项式表示。Kipnis 和 Shamir 提出通过插值恢复公钥的单变量表示,并将单变量多项式写成“非标准二次型”。该攻击基于秘密多项式 $F$ 的秩 $\leq \log_q(D)$,恢复 $t_k$ 需解决 MinRank 问题,解决后通过求解线性系统恢复 $s_k$ 完成密钥恢复。
4. KS 攻击的改进和推广
  • 改进单变量情况
    • 定义与表示 :为推广 KS 攻击,将其解释为向量/矩阵操作。定义 $Frob_k$ 函数,将向量或矩阵的所有分量提升到 $q^k$ 次幂。设 $(\theta_1, \cdots, \theta_n) \in (F_{q^n})^n$ 是 $F_{q^n}$ 在 $F_q$ 上的向量基,$M_n$ 是其 Frobenius 幂组成的矩阵。通过 $M_n$ 可将 $F_{q^n}$ 与 $F_q$ 之间的映射表示出来。
    • 矩阵关系推导 :考虑对称矩阵 $(G_1, \cdots, G_n)$ 使得 $g_i = xG_ix^t$,通过一系列推导得到 $(G_1, \cdots, G_n)U = (WF^{ 0}W^t, \cdots, WF^{ (n - 1)}W^t)$,其中 $U = T^{-1}M_n$,$W = SM_n$。只需要知道 $U$ 的一列就能恢复整个矩阵,例如考虑 $U$ 的第一列 $(u_{0,0}, \cdots, u_{n - 1,0})^t$,有 $\sum_{k = 0}^{n - 1}u_{k,0}G_{k + 1} = WFW^t$。
    • 定理与复杂度分析 :定理表明,对于 HFE,恢复 $U$ 归结为在公共矩阵 $G_1, \cdots, G_n$ 上解决 $k = n$ 和 $r = \log_q(D)$ 的 MinRank 问题。在较小域($F_q$ 而非 $F_{q^n}$)上计算 Gröbner 基更快,预期比 KS 攻击有 $M(n)$(两个 $n$ 次单变量多项式乘法的成本)的增益。以下是不同 $n$ 值下原始 KS 攻击和新攻击的时间对比:
      | $n$ | KS 攻击(秒) | 新攻击(秒) | 比率 |
      | ---- | ---- | ---- | ---- |
      | 8 | 15.3 | 0.75 | 20.4 |
      | 9 | 20.4 | 1.25 | 16.3 |
      | 10 | 76.9 | 2.05 | 37.5 |
      | 11 | 391 | 4.45 | 87.9 |
      | 12 | 680 | 8.80 | 77.3 |
      | 13 | 1969 | 16.9 | 117 |
      | 14 | 2439 | 30.2 | 80.8 |
      | 15 | 3197 | 68.5 | 46.7 |
      | 16 | 13407 | 103 | 130 |

下面是改进单变量情况的流程 mermaid 图:

graph TD;
    A[定义向量基和矩阵Mn] --> B[表示Fqn与Fq之间的映射];
    B --> C[推导矩阵关系];
    C --> D[得到关键方程];
    D --> E[得出恢复U的MinRank问题];
    E --> F[分析复杂度并对比攻击时间];
  • 攻击 Multi - HFE :Kipnis - Shamir 攻击使用公钥的单变量表示,而在 multi - HFE 中,秘密密钥的单变量表示度数无界,无法进行 MinRank 攻击。为此引入新的基变换,设 $(\theta_1, \cdots, \theta_d) \in (F_{q^d})^d$ 是 $F_{q^d}$ 在 $F_q$ 上的向量基,$M_{N,d}$ 是由 $M_d$ 组成的块对角矩阵。通过 $M_{N,d}$ 可表示 $(F_{q^d})^N$ 与 $(F_q)^n$ 之间的映射。
5. 攻击 Multi - HFE(续)
  • 映射表示与性质 :通过命题 2 可知,借助 $M_{N,d}$ 能将自然态射 $\phi_N$ 及其逆 $\phi_N^{-1}$ 表示出来,即 $(F_{q^d})^N$ 与 $(F_q)^n$ 之间的映射关系。并且有 $V_q^{id+(j\ mod\ d)+1}=V_{id+(j + 1\ mod\ d)+1}$ 的性质。
  • 攻击思路 :虽然 multi - HFE 不能直接用原始 KS 攻击,但利用新的基变换后,可尝试在合适的域中揭示其隐藏的域结构。通过这种方式将攻击转化为在合适的矩阵和向量操作下解决相关问题。
  • 总结 :引入新的基变换是攻击 multi - HFE 的关键步骤,它为后续解决隐藏域结构问题提供了基础。以下是攻击 multi - HFE 的关键步骤列表:
    1. 确定 $F_{q^d}$ 在 $F_q$ 上的向量基 $(\theta_1, \cdots, \theta_d)$。
    2. 构造块对角矩阵 $M_{N,d}$。
    3. 利用 $M_{N,d}$ 表示 $\phi_N$ 和 $\phi_N^{-1}$。
    4. 基于新的映射关系尝试揭示隐藏域结构。
6. 对 HFE 变体的攻击
  • minus 变体攻击 :由于 multi - HFE 存在大量等价密钥,可利用 MinRank 问题的自由度来攻击 minus 变体。minus 变体是在公钥中移除一些方程,而等价密钥的特性使得即使方程减少,仍能通过 MinRank 问题的求解来恢复密钥。具体操作步骤如下:
    1. 分析公钥中移除方程后的 MinRank 问题的自由度。
    2. 利用这些自由度构造合适的线性组合,使得其满足低秩条件。
    3. 通过求解 MinRank 问题得到相关系数。
    4. 利用得到的系数进一步恢复密钥。
  • 嵌入变体攻击 :嵌入变体是对公共系统的一些变量进行实例化。但仍然可以找到二次型的低秩线性组合。在这种情况下,求解截断二次型的 MinRank 问题只能恢复线性变换的一个矩形子矩阵。为克服此困难,需要以特殊方式扩展该矩阵使其可逆。具体步骤如下:
    1. 对公共系统的变量进行实例化,得到截断二次型。
    2. 寻找截断二次型的低秩线性组合,构造 MinRank 问题。
    3. 求解 MinRank 问题,得到矩形子矩阵。
    4. 以特殊方式扩展矩形子矩阵,使其可逆。
    5. 利用可逆矩阵进一步恢复密钥。

以下是攻击 HFE 变体的流程 mermaid 图:

graph TD;
    A[确定变体类型(minus或嵌入)] --> B{minus变体};
    B -- 是 --> C[分析MinRank自由度];
    C --> D[构造低秩线性组合];
    D --> E[求解MinRank问题];
    E --> F[恢复密钥];
    B -- 否 --> G[变量实例化得到截断二次型];
    G --> H[寻找低秩线性组合];
    H --> I[求解MinRank得到矩形子矩阵];
    I --> J[扩展矩阵使其可逆];
    J --> F;
7. 实验验证

为了验证攻击的有效性,对一些被认为具有较高安全性的参数进行了实际攻击。例如,成功在 9 天内破解了 Chen 等人提出的具有 256 位安全性的最保守参数。实验结果表明,对于相同大小的密钥,multi - HFE 总是比 HFE 安全性低。以下是部分实验参数和结果的表格:
| 方案 | 参数 | 安全性 | 破解时间 |
| ---- | ---- | ---- | ---- |
| 某方案 | 如 Chen 等人提出的参数 | 256 位 | 9 天 |

8. 结论

本文提出了针对 HFE、multi - HFE 及其变体的密钥恢复攻击。通过改进和推广 Kipnis - Shamir 攻击,将攻击归结为 MinRank 问题,并在小域中表达该问题,显著提高了求解速度。实验结果表明,multi - HFE 在相同密钥大小下安全性低于 HFE,并且所提出的攻击能够有效破解一些被认为安全的参数。未来可进一步研究如何提高攻击效率,以及探索更安全的多元公钥密码方案。以下是本文主要贡献的总结列表:
1. 提出改进的 KS 攻击,将其推广到 multi - HFE 及其变体。
2. 将攻击归结为 MinRank 问题,并在小域中求解,提高效率。
3. 成功攻击了一些被认为安全的参数,验证了攻击的有效性。
4. 证明了 multi - HFE 在相同密钥大小下安全性低于 HFE。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值