[发明专利]轻量级分组密码加密及解密方法在审
| 申请号: | 202110922748.7 | 申请日: | 2021-08-12 |
| 公开(公告)号: | CN113645615A | 公开(公告)日: | 2021-11-12 |
| 发明(设计)人: | 李浪;杨金玲;闫柳焰 | 申请(专利权)人: | 衡阳师范学院 |
| 主分类号: | H04W12/03 | 分类号: | H04W12/03;H04W12/041;H04L9/06 |
| 代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 欧阳迪奇 |
| 地址: | 421008 *** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 轻量级 分组 密码 加密 解密 方法 | ||
1.一种轻量级分组密码加密方法,其特征在于,包括以下步骤:
步骤A1:获取64位明文作为待加密数据X,进行加密运算;
其中,待加密数据X从高位到低位每16位一组依次排序形成4分支明文数据组,记作X=X0X1X2X3;
步骤A2:获取80位密钥作为初始密钥数据K,进行密钥更新运算:将初始密钥数据K循环左移7位;然后从高位到低位每16位一组依次排序分为5个密钥数据组,分别为K0、K1、K2、K3、K4;再对K0、K2的前4位数据与轮计数器r-1进行异或运算,其中r代表当前轮数;得到的运算结果进行S盒替换得到更新后的K0、K2,最后将K0、K1、K2、K3、K4依次排序作为下一轮的轮密钥;
步骤A3:对步骤A1所述的待加密数据X进行F函数运算;
其中,F函数包括轮常量加、S盒替换、列混淆、轮密钥加4个组件,并根据4个组件参与运算时的顺序,分为F1、F2、F3、F4四种结构,4分支明文数据组X0、X1、X2、X3分别进行F1、F2、F3、F4函数运算;F函数每轮运算所使用的轮密钥为密钥更新运算后的前64位数据;
设a数组中4个组件构成了F函数:a[4]=[轮常量加,S盒替换,列混淆,轮密钥加],则4个F函数中组件运算顺序以下公式表示,即Fi中第k个组件为:
Fik=a[((i-1)+(k-1))%4],i,k∈[1,4]
即X0首先进行轮常量加运算,X1首先进行S盒替换,X2首先进行列混淆变换,X3首先进行轮密钥加运算,%表示取余运算;
步骤A4:对步骤A3得到的运算结果进行P置换;
步骤A5:判断当前轮数r是否小于16,若小于,令r=r+1,将步骤A2、A4得到的运算结果作为新一轮运算的输入数据,返回步骤A3;否则,进行步骤A6;
步骤A6:轮密钥的“白化”操作:将步骤A5得到的运算结果与第16轮密钥更新运算获得的轮密钥的前64位数据进行异或运算,然后输出加密结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤A3中F函数包括:
F1函数运算包括:对X0依次进行轮常量加运算、S盒替换、列混淆变换和轮密钥加运算;
F2函数运算包括:对X1依次进行S盒替换、列混淆变换、轮密钥加运算和轮常量加运算;
F3函数运算包括:对X2依次进行列混淆变换、轮密钥加运算、轮常量加运算和S盒替换;
F4函数运算包括:对X3依次进行轮密钥加运算、轮常量加运算、S盒替换和列混淆变换。
3.根据权利要求1所述的方法,其特征在于,所述步骤A3中,轮常量加运算过程为:每轮在进行轮常量加运算时,将进行F函数运算的每分支数据的前4位数据与4位常量进行异或运算,其中常量更新方式为:将4位常量(rc3,rc2,rc1,rc0)左移一位,更新值的计算式为:该4位常量初始化为全0的状态;其元素如下表所示:
4.根据权利要求1所述的方法,其特征在于,所述步骤A3中轮密钥加运算进一步包括以下处理步骤:
每轮在进行轮密钥加运算时,进行F1函数运算的第1分支数据与密钥更新运算获得的K3进行异或运算,进行F2函数运算的第2分支数据与密钥更新运算获得的K2进行异或运算,进行F3函数运算的第3分支数据与密钥更新运算获得的K1进行异或运算,进行F4函数运算的第4分支数据与密钥更新运算获得的K0进行异或运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于衡阳师范学院,未经衡阳师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110922748.7/1.html,转载请声明来源钻瓜专利网。





