System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用于国际赛事的密钥生成方法、装置及加密方法制造方法及图纸_技高网

应用于国际赛事的密钥生成方法、装置及加密方法制造方法及图纸

技术编号:40114095 阅读:5 留言:0更新日期:2024-01-23 19:37
本发明专利技术提供一种应用于国际赛事的密钥生成方法、装置及加密方法。该方法为基于SM4加密算法的密钥扩展,其包括获取256位初始密钥,基于预设的分组位数依次将低128位划分为多个低位密钥组并将高128位划分为数量相同的多个高位密钥组。异或每一低位密钥组和对应的高位密钥组以得到多个S盒置换密钥;获取当前设备的性能参数并选取S盒动态生成方式以生成S盒,S盒动态生成方式包括对性能要求较低第一动态生成方式和第二动态生成方式。将获得的多个S盒置换密钥输入已生成的S盒内得到多个S盒输出;将每一S盒置换密钥及其它S盒置换密钥所对应的S盒输出进行线性变换以得到对应的子密钥;依次拼接多个子密钥以形成128位的目标密钥。

【技术实现步骤摘要】

本专利技术涉及密码学领域,且特别涉及一种应用于国际赛事的密钥生成方法、装置及加密方法


技术介绍

1、在国际赛事中往往涉及大量人员涉密数据,包括运动员信息、比赛成绩、荣誉等。这些数据的传输、储存和处理需要高度的安全性以防止恶意访问、篡改、泄露等风险。sm4加密算法是一种加解密性能高、占用存储空间小且成本低易部署的加密算法;传统sm4加密算法已经普遍用在商业用途,加密和解密算法相对已经公开且其仅支持128位的密钥,存在密钥空间较小的安全隐患。此外,现有的sm4加解密算法采用固定s盒来做置换和替换,这种置换方式亦大大增加了其被破解的可能性。

2、随着密码学技术的不断发展,安全等级更高的加密算法也随之产生,如基于256位密钥的aes-256、camellia-256等分组加密算法,这些算法也被称为“高级算法”,使用现存量子算法并配合量子计算机也无法破解;因此具有极高的安全性。然而,这些高级算法因复杂的加密方式而对计算机设备和其所处的网络环境具有极高的要求,这将极大限制了这些算法在低算力设备(如网关路由器等边缘设备)和网络环境较差设备上的使用。当前这些低算力设备和网络环境较差设备仍然采用传统的安全隐患较大的sm4加密算法进行数据加密传输。


技术实现思路

1、本专利技术为了克服现有技术的不足,提供一种适用于sm4加密算法且密钥空间较大的应用于国际赛事的密钥生成方法、装置及加密方法。

2、为了实现上述目的,本专利技术提供一种应用于国际赛事的密钥生成方法,其包括:

3、获取256位初始密钥,基于预设的分组位数依次将低128位划分为多个低位密钥组并将高128位划分为数量相同的多个高位密钥组;

4、将每一低位密钥组分别异或对应的高位密钥组以得到对应的多个s盒置换密钥;

5、获取当前设备的性能参数并基于获取的设备性能参数选取s盒动态生成方式以动态生成16×16的s盒, s盒动态生成方式包括第一动态生成方式和生成算力要求和网络环境参数均高于第一动态生成方式的第二动态生成方式;

6、将获得的多个s盒置换密钥输入已生成的s盒内得到多个s盒输出;

7、每一s盒置换密钥及其它s盒置换密钥所对应的s盒输出进行线性变换以得到每一s盒置换密钥所对应的子密钥;

8、依次拼接生成的多个子密钥以形成128位的目标密钥。

9、根据本专利技术的一实施例,多个低位密钥组和多个高位密钥组均对应异或后获得四个32位的s盒置换密钥, s盒为包括四个s子盒的16×16的矩阵;在获得多个s盒输出时,将四个s盒置换密钥分别输入四个s子盒内,以每一s盒置换密钥的高16位确定行而低16位确定列变换值以得到该s盒置换密钥对应的s盒输出。

10、根据本专利技术的一实施例,在获得四个s盒置换密钥ik0、ik1、ik2、ik3分别对应的s盒输出sboxout0、sboxout1、sboxout2、sboxout3后采用如下线性变换方式得到每一s盒置换密钥所对应的子密钥:

11、;

12、;

13、;

14、;

15、其中,mk0为s盒置换密钥ik0对应的子密钥,mk1为s盒置换密钥ik1对应的子密钥,mk2为s盒置换密钥ik2对应的子密钥,mk3为s盒置换密钥ik3对应的子密钥。

16、根据本专利技术的一实施例,设备的性能参数包括当前设备的算力参数和设备当前的通信环境参数;当设备算力参数或通信环境参数中的任一者低于其对应的预设值时以第一动态生成方式动态生成s盒。

17、根据本专利技术的一实施例,第一动态生成方式动态生成s盒包括如下步骤:

18、初始化生成16×16的字节矩阵;

19、将16×16的字节矩阵转换为长度为256的初始sbox数组;

20、使用knuth-durstenfeld shuffle算法对初始sbox数组进行处理,依次产生随机数x并基于sbox[x]置换初始sbox数组内的所有元素,所有元素一轮置换完成后形成随机打乱后的s盒数组sbox’;

21、检验打乱后的s盒数组sbox’以判断其内是否存在不动点sbox’[x]= x;

22、若是,则对打乱后的s盒数组sbox’进行再次打乱和检验,直至打乱后的s盒数组sbox’内不再存在不动点;

23、保存不再存在不动点的打乱后的s盒数组sbox’以生成s盒。

24、根据本专利技术的一实施例,依次产生随机数x并基于sbox[x]置换初始sbox数组内的所有元素包括:

25、第1轮生成一个随机数,并将和做值交换;

26、第2轮生成一个随机数,,将和做值交换;

27、第轮生成一个随机数,其中,将和做值交换;其中表示sbox数组长度,故n=256;

28、当时进行最后一轮交换,和做值交换;至此数组内的所有元素都完成一轮交换以生成随机打乱后的s盒记为。

29、根据本专利技术的一实施例,打乱后的s盒数组sbox’内存在不动点对其再次打乱包括如下步骤:

30、将存在不动点的打乱后的s盒数组sbox’作为初始sbox数组,使用knuth-durstenfeld shuffle算法对其进行一轮所有元素的置换以形成新的打乱后的s盒数组sbox’;

31、检验新生成的打乱后的s盒数组sbox’是否存在不动点;

32、若存在则继续重复上述步骤直至新生成的打乱后的s盒数组sbox’内不再存在不动点。

33、根据本专利技术的一实施例,打乱后的s盒数组sbox’内存在不动点对其再次打乱包括如下步骤:

34、获取不动点在打乱后的s盒数组sbox’内的位置;

35、产生随机数x并基于sbox[x]与不动点作值交换,其中。

36、另一方面,本专利技术还提供一种应用于国际赛事的密钥生成装置,其包括初始密钥分组模块、置换密钥生成模块、s盒动态生成模块、置换模块、子密钥生成模块以及目标密钥生成模块。初始密钥分组模块获取256位初始密钥,基于预设的分组位数依次将低128位划分为多个低位密钥组并将高128位划分为数量相同的多个高位密钥组。置换密钥生成模块将每一低位密钥组分别异或对应的高位密钥组以得到对应的多个s盒置换密钥。s盒动态生成模块获取当前设备的性能参数并基于获取的设备性能参数选取s盒动态生成方式以动态生成16×16的s盒, s盒动态生成方式包括第一动态生成方式和生成算力要求和网络环境参数均高于第一动态生成方式的第二动态生成方式。置换模块将获得的多个s盒置换密钥输入已生成的s盒内得到多个s盒输出。子密钥生成模块将每一s盒置换密钥及其它s盒置换密钥所对应的s盒输出进行线性变换以得到每一s盒置换密钥所对应的子密钥。目标密钥生成模块依次拼接生成的多个子密钥以形成128位的目标密钥。

37、另一方面,本专利技术还提供一种加密方法,其采用上述应用于国际赛事的密钥生成方法所生成的密本文档来自技高网...

【技术保护点】

1.一种应用于国际赛事的密钥生成方法,其特征在于,该密钥生成方式适用于SM4加密算法,其包括:

2.根据权利要求1所述的应用于国际赛事的密钥生成方法,其特征在于,多个低位密钥组和多个高位密钥组均对应异或后获得四个32位的S盒置换密钥,所述S盒为包括四个S子盒的16×16的矩阵;在获得多个S盒输出时,将四个S盒置换密钥分别输入四个S子盒内,以每一S盒置换密钥的高16位确定行而低16位确定列变换值以得到该S盒置换密钥对应的S盒输出。

3.根据权利要求2所述的应用于国际赛事的密钥生成方法,其特征在于,在获得四个S盒置换密钥ik0、ik1、ik2、ik3分别对应的S盒输出Sboxout0、Sboxout1、Sboxout2、Sboxout3后采用如下线性变换方式得到每一S盒置换密钥所对应的子密钥:

4.根据权利要求1所述的应用于国际赛事的密钥生成方法,其特征在于,所述设备的性能参数包括当前设备的算力参数和设备当前的通信环境参数;当设备算力参数或通信环境参数中的任一者低于其对应的预设值时以第一动态生成方式动态生成S盒。

5.根据权利要求1所述的应用于国际赛事的密钥生成方法,其特征在于,所述第一动态生成方式动态生成S盒包括如下步骤:

6.根据权利要求5所述的应用于国际赛事的密钥生成方法,其特征在于,依次产生随机数x并基于sbox[x]置换初始sbox数组内的所有元素包括:

7.根据权利要求6所述的应用于国际赛事的密钥生成方法,其特征在于,打乱后的S盒数组sbox’内存在不动点对其再次打乱包括如下步骤:

8.根据权利要求6所述的应用于国际赛事的密钥生成方法,其特征在于,打乱后的S盒数组sbox’内存在不动点对其再次打乱包括如下步骤:

9.一种应用于国际赛事的密钥生成装置,其特征在于,包括:

10.一种加密方法,其特征在于,该加密方法为SM4加密算法,其采用权利要求1~8任一项所述的应用于国际赛事的密钥生成方法所生成的密钥对明文进行加密。

11.根据权利要求10所述的加密方法,其特征在于,所述加密方法为包括置换网络结构的加密方法,采用动态的方式生成置换网络内的置换盒且置换盒的动态生成方式与密钥生成方法内S盒的动态生成方式相同。

...

【技术特征摘要】

1.一种应用于国际赛事的密钥生成方法,其特征在于,该密钥生成方式适用于sm4加密算法,其包括:

2.根据权利要求1所述的应用于国际赛事的密钥生成方法,其特征在于,多个低位密钥组和多个高位密钥组均对应异或后获得四个32位的s盒置换密钥,所述s盒为包括四个s子盒的16×16的矩阵;在获得多个s盒输出时,将四个s盒置换密钥分别输入四个s子盒内,以每一s盒置换密钥的高16位确定行而低16位确定列变换值以得到该s盒置换密钥对应的s盒输出。

3.根据权利要求2所述的应用于国际赛事的密钥生成方法,其特征在于,在获得四个s盒置换密钥ik0、ik1、ik2、ik3分别对应的s盒输出sboxout0、sboxout1、sboxout2、sboxout3后采用如下线性变换方式得到每一s盒置换密钥所对应的子密钥:

4.根据权利要求1所述的应用于国际赛事的密钥生成方法,其特征在于,所述设备的性能参数包括当前设备的算力参数和设备当前的通信环境参数;当设备算力参数或通信环境参数中的任一者低于其对应的预设值时以第一动态生成方式动态生成s盒。

5.根据权...

【专利技术属性】
技术研发人员:郑俊申永生赵文滟陈冲杰韩萌洪世杰
申请(专利权)人:杭州城市大脑有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1