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

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

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

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

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

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

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN105490802A(43)申请公布日2016.04.13(21)申请号201510844393.9(22)申请日2015.11.27(71)申请人桂林电子科技大学地址541004广西壮族自治区桂林市七星区金鸡路1号(72)发明人张红梅黄剑张向利陈俊彦李世文刘国良(74)专利代理机构桂林市持衡专利商标事务所有限公司45107代理人陈跃琳(51)Int.Cl.H04L9/06(2006.01)权利要求书3页说明书6页附图2页(54)发明名称基于GPU的改进SM4并行加解密通信方法(57)摘要本发明公开了一种基于GPU的改进SM4并行加解密通信方法,该加解密方法包括:使用AES-128密钥扩展算法生成SM4加密算法所需的扩展子密钥;改进SM4加密算法中的轮函数;利用GPU的并行计算能力,将改进SM4加密算法改进成并行加密的形式。采用本发明加解密通信方法,能够有效的提高安全性和实现的速度,能够对数据进行实时并行加密,提高了加密速度,从而保证数据流正常的传输,降低处理延迟。CN105490802ACN105490802A权利要求书1/3页1.基于GPU的改进SM4并行加解密通信方法,包括发送方的加密过程和接收方的解密过程,其特征是,所述发送方的加密过程为:步骤1、利用AES-128密钥扩展法生成SM4加密法所需的32个扩展密钥;步骤2、随机生成1个32位的随机数G;步骤3、利用GPU进行并行SM4加密,即将明文数据分成每块128比特的数据分组,一个数据分组的加密任务分配给一个的GPU线程;每个GPU线程再进行32轮循环迭代加密处理,在每轮循环迭代加密处理时,根据迭代的轮数确定随机数G的对应位置,并根据该位置上的随机数G的数值选取加密轮函数;步骤4、将各个GPU线程加密输出的数据按分块的前后顺序进行组合后形成密文数据;步骤5、密文数据从GPU的全局设备存储器内传到内存中,整个加密过程完成;所述接收方的解密过程为:步骤6、利用GPU进行并行SM4解密,即将密文数据分成每块128比特的数据分组,每个GPU线程解密一个数据分组;每个GPU线程再进行32轮循环迭代解密处理,在进行32轮循环迭代解密处理时,根据随机数G对应位置上的取值,动态选择解密的轮函数;步骤7、将各个GPU线程解密输出的数据按分块的前后顺序进行组合后获得明文数据;步骤8、明文数据从GPU的全局设备存储器内传到内存中,整个解密过程完成。2.根据权利要求1所述基于GPU的改进SM4并行加解密通信方法,其特征是,步骤1中,扩展密钥只需要产生一次,该扩展密钥在各个GPU线程加密过程中循环使用。3.根据权利要求1或2所述基于GPU的改进SM4并行加解密通信方法,其特征是,步骤1中所述密钥扩展的具体过程为:步骤1.1、将128bit的初始密钥按照列顺序组成4个32bit的字,分别记为w0-w3;步骤1.2、在初始密钥的基础上依次新增31个字wj,每一个新增的字wj的值依赖于wj-1和wj-4,即:当j除以4的余数不为0时,当j除以4的余数为0时,步骤1.3、利用上述产生的字生成SM4加密算法中用到的扩展密钥,即扩展密钥rki=wj+4;上述j=4,5,6……35;i=0,1,…,31;g()是一个复杂函数。4.根据权利要求3所述基于GPU的改进SM4并行加解密通信方法,步骤1.2中,复杂函数g()的计算过程如下:步骤1.2.1、将字wj-1以字节为单位,排列表示成[B0,B1,B2,B3]的形式,并将[B0,B1,B2,B3]循环左移一个字节,变换成[B1,B2,B3,B0];步骤1.2.2、利用AES的S盒对输入字的每个字节进行字节替换,变为[B’1,B’2,B’3,B’0];步骤1.2.3、将产生的结果[B′1,B’2,B’3,B’0]与轮常数进行异或输出;上述j=4,5,6……35。5.根据权利要求1所述基于GPU的改进SM4并行加解密通信方法,其特征是,步骤3中,进行并行SM4加密时,根据迭代的轮数确定随机数G对应位置,该随机数G的每一位作为每一轮2CN105490802A权利要求书2/3页迭代时动态选择的依据,即:当随机数G的对应的位置的数值为0时,选择使用:作为轮函数;当随机数G的对应的位置的数值为1时,选择使用:作为轮函数;其中,Xi-Xi+3表示第i轮输入的明文数据,F()表示轮函数,T()表示合成变换函数,rki表示第i轮加密使用的扩展密钥,i=0,1,…,31。6.根据权利要求1所述的一种基于GPU的改进SM4并行加解密通信方法,其特征是,步骤6中,进行并行SM4解密时,根据迭代的轮数确定随机数G对应位置,该随机数G的每一位作为每一轮迭代时动态选择的依据,即:当随机数G的对应的位置的数值为0