预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN111431697A(43)申请公布日2020.07.17(21)申请号202010247023.8(22)申请日2020.03.31(71)申请人衡阳师范学院地址421002湖南省衡阳市珠晖区衡花路16号衡阳师院(72)发明人李浪龙荣桀(74)专利代理机构长沙市融智专利事务所(普通合伙)43114代理人欧阳迪奇(51)Int.Cl.H04L9/06(2006.01)权利要求书3页说明书8页附图4页(54)发明名称一种新型轻量级分组密码CORL的实现方法(57)摘要本算法公开了一种新型轻量级分组密码CORL的实现方法,该方法通过设计新型广义Feistel网络结构,该结构算法优化了传统Feistel网络结构的一轮迭代运算只改变一半数据分组数据的不足,做到一轮迭代改变四分之三分组数据。算法轮函数包含一个F函数,F函数的变换过程依次为行移位、轮密钥加、S盒替换、行移位、列混淆。算法结构便于软硬件实现,算法解密基本复用加密模块,只需添加一些控制信号就可以进行解密,操作简单,实现解密不需消耗较多资源。相对目前的分组密码,占用资源小,加密性能高,能抗已知攻击。CN111431697ACN111431697A权利要求书1/3页1.一种新型轻量级CORL分组密码加密实现方法,其特征在于,包括以下步骤:将64位待加密数据X/待加密数据从低位到高位按16位一组依次分为4组,记作:X0X1X2X3,预设80位的初始密钥,每一轮迭代运算从初始密钥中选取两段16位的密钥作为轮密钥并分别记作RK0、RK1;将待加密数据进行NR轮迭代运算操作,输出密文,其中当前的迭代轮次以n表示,且n的初始值为0,NR的取值为22;加密迭代运算包括以下步骤:步骤1)首先,将X0进行F函数变换得到X″0,同时X3也进行F函数变换得到X″3;接着,将X″0与X1和X2进行异或运算得到X′1和X′2,X″3与X0异或运算得到X′0;其中,X0所进行的F函数,所使用的轮密钥为RK0;X3所进行的F函数,所使用的轮密钥为RK1:判断n是否等于NR,若不等于,则n+1,进入步骤2),否则进入步骤3);T步骤2)将X′0X′1X′2X3进行轮置换T变换,获得轮置换T变换结果并记作X;将XT,从高位开始按16位一组依次分为4组,记作:将依次赋给X0、X1、X2、X3,返回步骤1);步骤3)将依次赋给Y0、Y1、Y2、Y3,以Y0Y1Y2Y3作为密文输出。2.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,选取两段16位的密钥作为轮密钥的步骤为:将预设的80位初始密钥记作K={k0、k1......k78、k79},首先将K中的{k64、k65......k78、k79}数据段通过S盒置换进行变化,然后将中的所有数据段向左循环移位9位,最后取{k48、k49......k62、k63}为RKo,{k64、k65......k78、k79}为RK1。3.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,所述加密迭代运算的步骤1)中,F函数变换过程为行移位变换→轮密钥加变换→S盒替换变换→再次行移位变换→列混淆变换;其中所述行移位为,将每16位数据表示为4×4的矩阵,其中第一行不移动,第二行循环右移1位,第三行循环右移2位,第四行循环右移3位;所述轮密钥加变换是将每16位数据与轮密钥进行异或运算;所述列混淆替换为:将每16位数据以4位数据划分为一个单位,形成一个4×1的矩阵,再与矩阵M在有限域24中进行矩阵乘运算,其中矩阵M为:4.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,所述加密迭代运算的步骤2)中,轮置换T变换如下:将待进行轮置换T变换的64位待加密数据从低位到高位依次划分为4个字,每个字为16位:T0、T1、T2、T3,以T2、T3、T0、T1作为轮置换T变化运算的64位输出数据。5.根据权利要求1所述的一种新型轻量级CORL分组密码加密实现方法,其特征在于,F函数所使用的S盒为:S=(6,5,C,A,1,E,7,9,B,0,3,D,8,F,4,2):2CN111431697A权利要求书2/3页S盒为4位映射到4位:有限域每组16位待置换数据依次按低位到高位排列成4×4的矩阵,按列分别通过S盒置换。6.一种新型轻量级CORL分组密码解密实现方法,其特征在于,包括以下步骤:将根据权利要求1-5任一所述的方法得到的64位密文数据Y作为待解密数据,并从低位到高位按16位一组依次分为4组,记作:Y0Y1Y2Y3;取如权利要求1-5任一所述的方法中的初始密钥,每一轮迭代运算从初始密钥中选取两段16位的密钥作为轮密钥并分别记作RK0、R