欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2021107462800
申请人: 衡阳师范学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于广义二维猫映射的轻量级分组密码算法GCM的加密方法,其特征在于,包括如下步骤:步骤1:将待加密的数据分成4个16位的加密分组数据X0||X1||X2||X3;

步骤2:将加密分组数据X0进行第一次轮运算获得X′0,将X′0与加密分组数据X1进行异或操作作为运算结果;

步骤3:将步骤2的运算结果与加密分组数据X3进行异或运算;

步骤4:将步骤3获得的运算结果进行第二次轮运算;

步骤5:获取更新后的轮密钥;

密钥更新,并将更新后的密钥的中间32位等分成2个16位左轮密钥 右轮密钥 1≤i≤R,R表示迭代轮次,取值为27;

步骤6:将步骤2中的运算结果与左轮密钥 进行轮密钥加运算;

步骤7:将步骤1中分组数据X2与右轮密钥 进行轮密钥加运算;

步骤8:将步骤1中的分组数据X0、步骤4获得的运算结果分别与步骤7中获得的运算结果进行异或运算;

步骤9:将步骤3、步骤6以及步骤8获得的运算结果进行P1置换;

步骤10:将步骤9获得结果重复执行步骤1至步骤9,继续迭代R‑1轮,第R轮迭代时,重复执行步骤1至步骤8后,输出密文;

所述密钥更新过程如下:

步骤A:若当前迭代次数不为1,则对上一次更新后的密钥进行向左循环移32位操作,进入下一步骤,否则,设置96位的初始密钥,直接进入下一步骤;

步骤B:取当前密钥的第61‑65位进行轮常量加操作,将获得的结果与当前密钥的第1‑

60位进行合并;

步骤C:对步骤B得到的结果的前64位调用轮函数F进行更新操作,再与当前密钥的后32位密钥拼接成新的96位密钥;

所述P1置换操作过程如下:

将待进行P1置换的64位数据按照8×8矩阵进行排列,将每一位数据在矩阵中的位置坐标作为自主构造的广义二维猫映射的输入值,经过自主构造的广义二维猫映射得到新位置坐标,再进行如下操作:第一步,将矩阵中所有原位置坐标所存的数据赋值到新位置坐标处,得到置换后的64位数据;

第二步,对置换后的64位数据进行向左循环移3位的操作;

对上述两步操作迭代M‑1次,在第M次迭代时,只执行第一步操作,所得的结果即P1置换的结果;

所述自主构造的广义二维猫映射的公式如下:

其中,g为广义二维猫映射控制参数,取值为每轮密钥的首3位,N为输入数据的位数,取值为8;(x0,y0)为数据在8×8矩阵中的原位置坐标,(x1,y1)为经广义二维猫映射置乱后的8×8矩阵中位置坐标,8×8矩阵的坐标范围为(0,0)到(7,7)。

2.根据权利要求1所述的方法,其特征在于,奇数轮时,轮运算使用F1函数;偶数轮时,轮运算使用F0函数;

所述F0函数和F1函数均包含:并列的向左循环移0位运算、向左循环移3位运算、向左循环移1位运算,左移0位运算的结果和向左循环移3位运算的结果进行组合运算后的结果再与向左循环移1位运算的结果进行异或运算;其中,F0函数和F1函数中的组合运算分别为与运算和与非运算。

3.根据权利要求1所述的方法,其特征在于,所述密钥更新中使用的轮常量是将加密轮数作为5位的轮常量。

4.根据权利要求1所述的方法,其特征在于,所述M取值为16。

5.根据权利要求1所述的轻量级分组密码算法GCM 的加密方法,其特征在于,对密文进行解密时,解密过程包括如下步骤:步骤A1:将待解密数据以16位为单位依次划分为4组,得到C0||C1||C2||C3,再进行rP1置换,替换成C3||C2||C1||C0作为解密分组数据;

步骤A2:先对解密分组数据C3进行第一次轮运算获得C′3,将C′3与解密分组数据C2进行异或操作作为运算结果;

步骤A3:将步骤A2的运算结果与解密分组数据C0进行异或运算;

步骤A4:将步骤A3获得的运算结果进行第二次轮运算;

步骤A5:获取解密时更新的轮密钥;

按照加密时第R轮至第1轮轮密钥的顺序调用轮密钥;

步骤A6:将步骤A2中的运算结果与右轮密钥 进行轮密钥加运算;

步骤A7:将步骤A1中解密分组数据C1与左轮密钥 进行轮密钥加运算;

步骤A8:将步骤A1中的解密分组数据C3、步骤A4获得的运算结果分别与步骤A7中获得的运算结果进行异或运算;

步骤A9:将步骤A3、步骤A6以及步骤A8获得的运算结果先进行一次rP1置换,再进行P1逆置换,最后进行一次rP1置换作为下一轮解密操作的输入值;

步骤A10:将步骤A9获得结果重复执行步骤A1至步骤A9,继续迭代R‑1轮,第R轮迭代时,重复执行步骤A1至步骤A8后,即可得到解密结果X′,将解密结果以16位为单位依次划分为4组,表示为X′=X3||X2||X1||X0,最后经过一次rP1置换,置换成X=X0||X1||X2||X3输出结果;

所述P1逆置换与P1置换互为逆运算;

所述rP1置换是指将待进行rP1置换的数据以16位为单位依次划分为4组,表示为T=T0||T1||T2||T3,则rP1置换结果T′表示为:T′=T3||T2||T1||T0。

6.一种基于广义二维猫映射的轻量级分组密码算法GCM加密装置,其特征在于,包括:初始化单元:用于获取64位待加/解密数据,进行加/解密运算;

轮密钥生成单元:用于将初始密钥进行R轮密钥扩展运算,得到轮密钥加操作中的2个轮密钥;

加解密单元:采用权利要求1‑5任一项所述的方法进行加解密运算;

用于加密运算时,利用轮密钥、待加密数据、轮函数运算以及P1置换先迭代R‑1轮,再进行轮函数运算和轮密钥加运算得到密文;

用于解密运算时,利用轮密钥、待解密数据、rP1置换、轮函数运算以及P1逆置换先迭代R‑1轮,再进行轮函数运算、轮密钥加运算和rP1置换得到明文。

7.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,所述程序适于处理器加载并执行权利要求1至5任一项所述的一种基于广义二维猫映射的轻量级分组密码算法GCM的加密方法。