[发明专利]一种搜索密码算法线性层硬件实现优化的方法有效
申请号: | 201911049313.5 | 申请日: | 2019-10-31 |
公开(公告)号: | CN110995403B | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 向泽军;曾祥勇;张莎莎 | 申请(专利权)人: | 湖北大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/06 |
代理公司: | 武汉泰山北斗专利代理事务所(特殊普通合伙) 42250 | 代理人: | 程千慧 |
地址: | 430062 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 搜索 密码 算法 线性 硬件 实现 优化 方法 | ||
1.一种搜索密码算法线性层硬件实现优化的方法,其特征在于,包括以下步骤:
S0、根据搜索密码算法线性层硬件实现的特点,将搜索密码算法线性层的实现转换成搜索其对应矩阵的实现,将二进制数据中的0和1看成只包含两个元素的有限域GF(2)中的元素,那么密码算法的线性变换即为定义在GF(2)上的n维向量空间中的线性变换,因此,密码算法的线性层可以用GF(2)上的n阶可逆矩阵表示,即给定GF(2)上的n阶可逆矩阵M和n维向量x,其中向量x的值对应密码算法线性层的输入,则密码算法线性层的输出值y=Mx,即算法线性层的输出等价于计算矩阵M和向量x的乘法,GF(2)中的加法运算即为异或运算,对应于硬件实现中的异或门电路;
S0.1、分解记E(i0+j0)…E(iu-1+ju-1)=E0…Eu-1,记记seq=E0…Eu-1P,记l=u,记g=l;其中u是M的分解中第三类初等矩阵的数量,v是M的分解中第一类初等矩阵的数量,k和l表示矩阵的行或列,E(i+j)表示一个第三类初等矩阵,E(i+j)是通过将单位矩阵的第j行加到第i行,或者将单位矩阵的第i列加到第j列得到的,记表示一个第一类初等矩阵,是通过将单位矩阵的第k行和第l行交换,或者将单位矩阵的第k列和第l列交换得到的,第一类和第三类初等矩阵的乘法满足如下性质:
其中,fk,l(x)函数的定义如下:
S1、从seq中随机挑选连续g个第三类初等矩阵Er…Er+g-1,0≤r≤l-g,并跳转至S2,直到已遍历完所有可能的矩阵选择情况后,判断g的大小,若g=1,则跳转至S7;若g>1,则令g=g-1并跳转至S1;
S2、计算M′=Er…Er+g-1,并跳转至S3;
S3、分解并跳转至S4;
S4、记将seqa中所有第一类初等矩阵根据公式移到尾端,并记得到的结果为记并跳转至S5;
S5、计算并跳转至S6;所述函数Reduce(seqp)包括以下步骤:
S5.1、将简写为seqp=E0…Eu-1,其中x=u,记l=u,并预设以下7种模式:
R1.E(k+i)E(k+j)E(i+j)=E(i+j)E(k+i),
R2.E(i+k)E(k+j)E(i+j)=E(k+j)E(i+k),
R3.E(i+k)E(j+k)E(i+j)=E(i+j)E(j+k),
R4.E(j+k)E(i+k)E(i+j)=E(i+j)E(j+k),
R5.E(k+j)E(k+i)E(i+j)=E(i+j)E(k+i),
R6.E(k+j)E(i+k)E(i+j)=E(i+k)E(k+j),
R7.
S5.2、依次从seqp中挑选出三个初等矩阵Ea,Eb和Ec,并且满足0≤a<b<c≤l-1,然后跳转至S5.3;如果已经遍历完所有可能则跳转至S5.7;
S5.3、判断EaEbEc是否满足R1-R6所列模式之一;如果满足跳转至S5.4,否则跳转至S5.2;
S5.4、如果矩阵Eb与矩阵Ei(i=a+1,...,b-1)乘法可交换,并且矩阵Ec与矩阵Ej(j=a+1,...,b-1,b+1,.,..,c-1)乘法可交换,则将seqp等价表示成E0…Ea-1EaEbEcEa+1…Eb-1Eb+1…Ec-1Ec+1…El-1,并使用R1-R6简化并更新seqp,更新l=l-1,然后跳转至S5.2;否则,跳转至S5.5;
S5.5、如果矩阵Ea与矩阵Ei(i=a+1,...,b-1)乘法可交换,并且矩阵Ec与矩阵Ej(j=b+1,.,..,c-1)乘法可交换,则将seqp等价表示成E0…Ea-1Ea+1…Eb-1EaEbEcEb+1…Ec-1Ec+1…E0,并使用R1-R6简化并更新seqp,更新l=l-1,然后跳转至S5.2;否则,跳转至S5.6;
S5.6、如果矩阵Ea与矩阵Ei(i=a+1,...,b-1,b+1,...,c-1)乘法可交换,并且矩阵Eb与矩阵Ej(j=b+1,.,..,c-1)乘法可交换,则将seqp等价表示成E0…Ea-1Ea+1…Eb-1Eb+1…Ec-1EaEbEcEc+1…Ei-1,并使用R1-R6简化并更新seqp,更新l=l-1,然后跳转至S5.2;否则,跳转至S5.7;
S5.7、依次从seqp中挑选出两个矩阵Ea和Eb,并且满足0≤a<b≤l-1,然后跳转至S5.8;如果已遍历完所有可能则跳转至S5.11;
S5.8、判断EaEb是否满足R7所列模式,如果满足跳转至S5.9,否则跳转至S5.7;
S5.9、如果矩阵Eb与矩阵Ei(i=a+1,...,b-1)乘法可交换,则将seqp等价表示成E0…Ea-1EaEbEa+1…Eb-1Eb+1…El-1,并使用R7简化并更新seqp,将此更新后的seqp中包含的一个第一类初等变换根据公式移动到seqp尾端,更新l=l-1,然后跳转至S5.7;否则,跳转至S5.10;
S5.10、如果矩阵Ea与矩阵Ei(i=a+1,...,b-1)乘法可交换,则将seqp等价表示成E0…Ea-1Ea+1…Eb-1EaEbEb+1…El-1,并使用R7简化并更新seqp,将此更新后的seqp中包含的一个第一类初等变换根据公式(1)移动到seqp尾端,更新l=l-1,然后跳转至S5.7;
S5.11、返回seqp,l;
S6.如果l*≥l,跳转至S1;如果l*<l,记并跳转至S1;
S7.返回seq,实现seq的电路即为搜索算法线性层电路,seq中第三类初等矩阵的数量即为线性层电路中异或门电路的数量。
2.根据权利要求1所述的搜索密码算法线性层硬件实现优化的方法,其特征在于,所述算法是通过计算机自动执行的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北大学,未经湖北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911049313.5/1.html,转载请声明来源钻瓜专利网。