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

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

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

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

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

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

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109743156A(43)申请公布日2019.05.10(21)申请号201811629193.1(22)申请日2018.12.28(71)申请人北京思源互联科技有限公司地址100102北京市朝阳区南湖中园316号楼301内18号(72)发明人程威全勇(74)专利代理机构北京宣言律师事务所11509代理人李知伦(51)Int.Cl.H04L9/06(2006.01)H04L9/08(2006.01)权利要求书5页说明书12页附图11页(54)发明名称一种分组加解密方法和装置(57)摘要本发明公开了一种分组加解密方法和装置,涉及信息安全领域。为解决现有技术中直接通过原始密钥经循环计算进行加解密,安全性较差的问题而发明。包括:根据预先生成的查找表进行32轮迭代计算,生成查找表的过程包括:将标准SM4算法中轮密钥rki拆分为4个字节,记为rki=(rki0,rki1,rki2,rki3);记将所述Li拆分为4个字节,记为Li=(ai0,ai1,ai2,ai3);构建对应的查找表Tboxi0,Tboxi1,Tboxi2,Tboxi3;构造W盒W(x);根据所述W盒W(x)和查找表Tboxi0,Tboxi1,Tboxi2,Tboxi3构造查找表TW盒TWi。CN109743156ACN109743156A权利要求书1/5页1.一种分组加解密方法,包括根据预先生成的查找表进行32轮迭代计算,其特征在于,所述生成查找表的过程包括:将标准SM4算法中轮密钥rki拆分为4个字节,记为rki=(rki0,rki1,rki2,rki3),其中所述i代表迭代计算轮数,所述i为整数,所述i满足0≤i≤31;记将所述Li拆分为4个字节,记为Li=(ai0,ai1,ai2,ai3),所述为异或;Xi+1为第i+1个轮密文;Xi+2为第i+2个轮密文;Xi+3为第i+3个轮密文;以构建对应的查找表Tboxi0,Tboxi1,Tboxi2,Tboxi3;所述Tboxij为对应的查找表;所述j为整数,所述j满足0≤j≤3;构造W盒W(x),所述所述E为随机生成的64比特随机数,所述F为随机生成的32比特随机数中的第n个字节,所述n为整数,所述1≤n≤4,所述*为矩阵乘法;所述x为00-FF的任意字节;根据所述W盒W(x)和查找表Tboxi0,Tboxi1,Tboxi2,Tboxi3构造查找表TW盒TWi,所述TWi=(W(Tboxi0),W(Tboxi1),W(Tboxi2),W(Tboxi3))。2.根据权利要求1所述的分组加解密方法,其特征在于,所述生成查找表的过程还包括:根据所述E计算C后存储,所述C=E-1;根据所述C和F计算D后存储,所述D=C*F。3.根据权利要求1或2所述的分组加解密方法,其特征在于,所述生成查找表的过程还包括:每一轮运算随机生成4个8比特随机数Zi0,Zi1,Zi2,Zi3;根据所述TWi和4个8比特随机数Zi0,Zi1,Zi2,Zi3构造查找表TWM盒TWMi,所述TWMi=[W(Tboxi0)*Zi0,W(Tboxi1)*Zi1,W(Tboxi2)*Zi2,W(Tboxi3)*Zi3]。4.根据权利要求3所述的分组加解密方法,其特征在于,所述生成查找表的过程还包括:-1-1-1-1-1根据所述4个8比特随机数Zi0,Zi1,Zi2,Zi3计算Zi后存储,所述Zi=Zi0|Zi1|Zi2|-18Zi3,该逆运算为有限域GF(2)内的逆运算。5.一种分组加密方法,包括明文经32轮迭代计算进行加密,其特征在于,所述明文拆分为4个32bit字,记为Y0,Y1,Y2,Y3,所述迭代计算中获取第t+4个轮密文Yt+4,包括:记所述t为整数,所述t满足0≤t≤31;将所述Mt拆分为4个字节,记为Mt=(bt0,bt1,bt2,bt3),所述bt0,bt1,bt2,bt3均为8比特字节,所述为异或;Yt+1为第t+1个轮密文;Yt+2为第t+2个轮密文;Yt+3为第t+3个轮密文;分别以所述bt0,bt1,bt2,bt3对权利要求1或2生成的TW盒TWi进行查表操作,得到Bt0,Bt1,Bt2,Bt3;根据权利要求2存储的C和D,将所述Bt0,Bt1,Bt2,Bt3转换为Ut,所述Ut=Ut0|Ut1|Ut2|Ut3,Utj=Btj*C+D,所述j为整数,所述j满足0≤j≤3;将所述Ut进行合成置换,得到T(Ut);根据第t个轮密文Yt和所述T(Ut)获取第t+4个轮密文Yt+4,所述2CN109743156A权利要求书2/5页6.一种分组加密方法,其特征在于,包括明文经32轮迭代计算进行加密,其特征在于,所述明文拆分为4个32bit字,记为Y0,Y1,Y2,Y3