[发明专利]一种轻量级分组密码线性层硬件的优化方法、系统、设备及存储介质在审
申请号: | 202211210271.0 | 申请日: | 2022-09-30 |
公开(公告)号: | CN115567193A | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 张衡;王楚裕 | 申请(专利权)人: | 柳州职业技术学院 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 广西中知科创知识产权代理有限公司 45130 | 代理人: | 李家恒 |
地址: | 545616 广西壮族自治区*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 分组 密码 线性 硬件 优化 方法 系统 设备 存储 介质 | ||
1.一种轻量级分组密码线性层硬件的优化方法,将二进制数据中的0和1看成只包含两个元素的有限域GF(2)中的元素,那么密码算法的线性变换即为定义在GF(2)上的m个n维向量组成的m×n阶矩阵的线性变换,密码算法的线性层用GF(2)上的m×n阶矩阵表示,即给定GF(2)上的m×n阶矩阵M和n维向量x,其中,向量x的值对应密码算法线性层的输入,则密码算法线性层的输出变量y=f(x)=Mx,GF(2)中的加法运算为异或运算,对应于硬件实现中的异或门电路;其特征在于,所述轻量级分组密码线性层硬件的优化方法包括以下步骤:
步骤S1,初始化密码算法线性层的输入变量x,并计算获得初始状态下的频度向量FQCY及距离向量Dist,密码算法线性层的所有输入变量x构成基S,密码算法线性层的所有输入变量x频度的集合构成频度向量FQCY,密码算法线性层的输出变量所对应行向量的汉明权重减1的集合构成距离向量Dist;
步骤S2,选择基S中的两个基元素,将选择的两个基元素相加以得到一个新的基元素,将得到的新的基元素添加到所述基S中以更新基S,并更新矩阵M、距离向量Dist与频度向量FQCY,基元素的选择包括以下步骤:若距离向量Dist满足先占门条件,则按照先占门策略从基S中选择两个基元素;若不满足先占门条件,则选择两个频度最大的基元素的组合作为新的基元素;
步骤S3,重复步骤S2,直至基S中所有基元素的频度为0,输出所有异或运算步骤,得到硬件实现中的XOR门的选择情况。
2.如权利要求1所述的轻量级分组密码线性层硬件的优化方法,其特征在于,若距离向量Dist满足先占门条件,则按照先占门策略从基S中选择两个基元素的方法为:
步骤S21,若存在某一输出变量所对应行向量的距离向量Dist值为1,即存在Dist[j]=1,则表示存在两个基元素xa,xb且0≤a,b≤n-1,满足yi=xa+xb,则选取该两个基元素xa,xb的组合xa+xb作为新的基元素添加到基S中,且不更新距离向量Dist,并进入步骤S22;
步骤S22,判断距离向量Dist中是否还存在Dist[j]=1的情况,若存在,则进入步骤S21,若不存在,则进入步骤S23:
步骤S23,遍历基S新加入的基元素与基S中原有基元素之间的配对情况,若存在xn+xi为矩阵M中的一行,即yj=xn+xi,0≤i≤n-1,则选择yj加入基S中,重复步骤S23,直至不存在xn+xi为矩阵M中的一行的情况,则完成基S的更新,并更新距离向量Dist,其中,i表示矩阵M的第i列,j表示矩阵M的第j行,yj表示矩阵M第j行对应的输出变量,xn代表新加入的基元素,xi表示基S内的任意的原有基元素。
3.如权利要求2所述的轻量级分组密码线性层硬件的优化方法,其特征在于,若步骤S21中存在至少两个行向量对应的Dist[j]的值为1,则优先选择频度之和最高的一对基元素的组合作为新的基元素,若多对基元素对应的频度之和最高且相同导致再次出现平局,则从频度之和相同的多对基元素中随机挑选一对基元素的组合作为新的基元素。
4.如权利要求1所述的轻量级分组密码线性层硬件的优化方法,其特征在于,若不满足先占门条件,则选择两个频度最大的基元素的组合作为新的基元素的方法为:找出基S中频度最大的基元素xa,并在基S中选择基元素xb,基元素xb与该频度最大的基元素xa的频度之和的值最大,则将tk=xa+xb作为新的基元素添加到基S中,其中0≤a,b≤n-1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于柳州职业技术学院,未经柳州职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211210271.0/1.html,转载请声明来源钻瓜专利网。