26、MXL2算法与McEliece PKC侧信道攻击解析

MXL2算法与McEliece PKC侧信道攻击解析

1. MXL2算法介绍

MXL2算法用于求解GF(2)上的多项式方程组。为简化,假设方程组为二次且有唯一解。在算法执行过程中,使用分级字典序进行线性化和高斯消元。同时,创建一个一维数组来存储每个多项式的先前变量乘数,原始多项式的先前乘数为1。方程组的解集合定义为{x = b : x是变量且b ∈ {0, 1}}。

1.1 MXL2算法步骤
  • 初始化 :使用高斯消元使多项式集合P线性无关。将根多项式集合设为∅,总次数界D设为2,消元次数设为D,系统扩展标志设为false,突变体集合设为∅,乘法历史设为长度与P相同且元素初始化为1的一维数组。
  • 高斯消元 :使用线性化将P中次数 ≤ 消元次数的所有多项式转换为简化行阶梯形式。
  • 提取根 :将所有次数 ≤ 2的新多项式复制到根多项式集合中。
  • 求解根 :若根中有一元多项式,确定相应变量的值,并从变量集合中移除已求解的变量。若方程组已求解,则返回解并终止;否则,将根中的变量值代入,将P设为根,消元次数设为根的最大次数,重置乘法历史,然后返回高斯消元步骤。
  • 提取突变体 :将{P}中次数 < D的所有新多项式复制到突变体集合中。
  • 处理突变体 :若找到突变体,扩展乘法历史数组,将必要数量的最小次数突变体与所有变量相乘,更新乘法历史,将
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值