[发明专利]一种轻量级AEROGEL分组密码的实现方法有效
申请号: | 202010244240.1 | 申请日: | 2020-03-31 |
公开(公告)号: | CN111245598B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 李浪;黄现彤 | 申请(专利权)人: | 衡阳师范学院 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 欧阳迪奇 |
地址: | 421002 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 aerogel 分组 密码 实现 方法 | ||
1.一种轻量级AEROGEL分组密码的加密实现方法,其特征在于,包括以下步骤:
A:获取明文数据和初始密钥;
B:将明文数据和初始密钥分别分成每组64位的明文数据组和80位的初始密钥数据组,且每组明文数据组对应一组初始密钥数据;
C:通过轮函数进行加密操作,加密的轮函数包括线性层和非线性层,其中线性层包含轮密钥加、FP置换和列混淆变换,非线性层包含S盒变换;加密的轮函数操作是首先对每组明文数据通过相应组的密钥数据进行轮密钥加,然后再依次S盒变换、FP置换和列混淆变换,得到中间数据组;
D:分别对每组初始密钥执行密钥扩展操作,得到80位的中间密钥组;
E:将中间数据作为明文数据组,将中间密钥作为密钥数据组,重复步骤C和步骤D以进行Nr轮迭代加密,其中Nr取值为28,得到加密结果;
包括以下步骤:
如果Nr=1,将每组初始密钥的高64位对64位的明文依次进行异或操作,得到中间结果作为中间数据组;
如果1<Nr≤28,将前一轮迭代得到的中间密钥组,每组依次取高64位对64位的中间数据组进行异或操作,得到中间结果;
所述的步骤C的FP置换包括以下步骤:
将经过S盒变换后得到的结果,每组64位记作Z,则Z=Z0||Z1||Z2||Z3||Z4||Z5||Z6||Z7||Z8||Z9||Z10||Z11||Z12||Z13||Z14||Z15,
经过FP置换后:
Z′=Z0||Z7||Z10||Z13||Z4||Z11||Z14||Z1||Z8||Z15||Z2||Z5||Z12||Z3||Z6||Z9;
所述的步骤C的列混淆变换,是将数据结果进行方阵排列,再对方阵的列采用异或混淆的方式,步骤如下:
c1:将加密中FP置换操作之后得到中间结果,每组64位记作X,则采用方阵排列得其中Yn为4位,0≤n≤15;
c2:将Y0、Y1、Y2、Y3进行异或混淆,结果记作Y′n,0≤n≤15:
得到异或混淆后的Y′0、Y′1、Y′2、Y′3,将上述操作以基于有限域GF(22)上的乘法变换表示,则运算表达式为,
矩阵则
c3:对剩余的Y4-Y15依次进行同样的异或混淆,得出64位Y′=X×M,其中L1,L2,L3与L0矩阵大小相同;
所述的步骤D包括以下处理步骤:
e1:如果Nr=1,将每组80位的初始密钥记作K=H0||H1||H2||H3,其中Hj为20位,0≤j≤3,Ki记作初始密钥的第i位,0≤i≤79;
如果2≤Nr≤27,将前一轮迭代得到的中间密钥组,每组记作K=H0||H1||H2||H3,其中Hj包括20位,0≤j≤3,Ki记作每组中间密钥的第i位,0≤i≤79;
设K′为密钥扩展后的每组中间密钥结果;
e2:循环位移,每组取H0||H1进行左循环位移,位移数为9,得到第一中间轮密钥;
e3:轮数动态异或,将当前轮数Nr转算成5位的二进制数,再将步骤e2得到的每组第一中间轮密钥,选取K39、K38、K37、K36、K35依次与轮数动态异或,得到第二中间轮密钥;
e4:非线性变换,将步骤e3得到的每组第二中间轮密钥,选取K3、K2、K1、K0进行非线性变换,得到第三中间轮密钥,其中采用的S盒与步骤C所用S盒一致;
e5:线性变换,将步骤e4得到的每组第三中间轮密钥,再分成M0,M1,M2,M3)共4部分,其中Mj为20位,0≤j≤3,进行线性变换操作K′=M0||M2||M3||M1,得到中间密钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于衡阳师范学院,未经衡阳师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010244240.1/1.html,转载请声明来源钻瓜专利网。