一种动态S盒构造方法及系统与流程

文档序号:36889535发布日期:2024-02-02 21:22阅读:12来源:国知局
一种动态S盒构造方法及系统与流程

本发明属于分组密码算法设计,更具体地,涉及一种动态s盒构造方法及系统。


背景技术:

1、分组密码具有加解密速度快、软硬件实现效率高等特点,在通信和信息安全领域得到广泛应用。分组密码算法的设计遵循扩散和混淆两大原则。通常分组密码算法采用线性变换达到扩散目的,采用非线性s盒达到混淆目的,s盒的密码学性质直接影响整个密码算法的安全强度。

2、在密码算法设计中使用动态s盒将显著提升密码算法的安全强度,研究构造动态s盒具有重要意义。目前,关于动态s盒的构造方法还比较少,已有的构造方法存在存储空间大、不利于软硬件实现等问题,无法应用于资源受限的密码算法设计。


技术实现思路

1、针对现有技术的缺陷,本发明的目的在于提供一种动态s盒构造方法及系统,旨在解决现有动态s盒的构造方法存在存储空间大、不利于软硬件实现等问题。

2、为实现上述目的,第一方面,本发明提供了一种动态s盒构造方法,包括以下步骤:

3、步骤s101,随机生成n比特的第一s盒、第二s盒和第三s盒;

4、步骤s102,随机生成n比特的可调的第四s盒;

5、步骤s103,基于第一s盒、第二s盒、第三s盒和第四s盒的三次异或运算构造2n比特s盒;

6、步骤s104,判断2n比特s盒是否满足预设的密码学性质,如果满足则输出本次构造获得的2n比特s盒,否则重复步骤s102至步骤s103,直至2n比特s盒满足所述密码学性质;

7、步骤s105,重复步骤s102至步骤s104,直至输出预设数量个互不相同的2n比特s盒。

8、在一个可选的示例中,2n比特s盒的输入输出关系为:

9、

10、其中,x0和x1均为n比特,由2n比特s盒的输入x划分得到;y0和y1均为n比特,以拼接方式得到2n比特s盒的输出y;s0、s1和s2分别为第一s盒、第二s盒和第三s盒,sp+3为第四s盒,p=0,1,…,2t-1,t为可调因子比特数,2t即为预设数量。

11、在一个可选的示例中,步骤s105之后还包括:

12、从预设数量个2n比特s盒中选择p对应的2n比特s盒sp;其中,p的值由子密钥中的t比特数决定。

13、在一个可选的示例中,n优选为4,t优选为2。

14、在一个可选的示例中,所述密码学性质包括平衡性、差分概率、线性概率、代数次数、代数免疫阶和分量函数的项数。

15、第二方面,本发明提供了一种动态s盒构造系统,包括:

16、第一随机生成模块,用于随机生成n比特的第一s盒、第二s盒和第三s盒;

17、第二随机生成模块,用于随机生成n比特的可调的第四s盒;

18、s盒构造模块,用于基于第一s盒、第二s盒、第三s盒和第四s盒的三次异或运算构造2n比特s盒;

19、性质判断模块,用于判断2n比特s盒是否满足预设的密码学性质,如果满足则输出本次构造获得的2n比特s盒,否则重复调用第二随机生成模块和s盒构造模块,直至2n比特s盒满足所述密码学性质;

20、数量判断模块,用于重复调用第二随机生成模块、s盒构造模块和性质判断模块,直至输出预设数量个互不相同的2n比特s盒。

21、在一个可选的示例中,2n比特s盒的输入输出关系为:

22、

23、其中,x0和x1均为n比特,由2n比特s盒的输入x划分得到;y0和y1均为n比特,以拼接方式得到2n比特s盒的输出y;s0、s1和s2分别为第一s盒、第二s盒和第三s盒,sp+3为第四s盒,p=0,1,…,2t-1,t为可调因子比特数,2t即为预设数量。

24、在一个可选的示例中,系统还包括s盒选择模块,用于从预设数量个2n比特s盒中选择p对应的2n比特s盒sp;其中,p的值由子密钥中的t比特数决定。

25、在一个可选的示例中,n优选为4,t优选为2。

26、在一个可选的示例中,所述性质判断模块中密码学性质包括平衡性、差分概率、线性概率、代数次数、代数免疫阶和分量函数的项数。

27、总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

28、本发明提供一种动态s盒构造方法及系统,通过四个n比特s盒的三次异或运算构造2n比特s盒,并且其中一个n比特s盒可调,可以实现生成满足较好密码学性质的2n比特s盒,同一个算法可以生成多个互不相同的2n比特s盒以供选择,软硬件实现更加简单,且占用资源空间较少,同时有利于提升分组密码算法的安全强度。



技术特征:

1.一种动态s盒构造方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,2n比特s盒的输入输出关系为:

3.根据权利要求2所述的方法,其特征在于,步骤s105之后还包括:

4.根据权利要求2所述的方法,其特征在于,n优选为4,t优选为2。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述密码学性质包括平衡性、差分概率、线性概率、代数次数、代数免疫阶和分量函数的项数。

6.一种动态s盒构造系统,其特征在于,包括:

7.根据权利要求6所述的系统,其特征在于,2n比特s盒的输入输出关系为:

8.根据权利要求7所述的系统,其特征在于,还包括s盒选择模块,用于从预设数量个2n比特s盒中选择p对应的2n比特s盒sp;其中,p的值由子密钥中的t比特数决定。

9.根据权利要求7所述的系统,其特征在于,n优选为4,t优选为2。

10.根据权利要求6至9任一项所述的系统,其特征在于,所述性质判断模块中密码学性质包括平衡性、差分概率、线性概率、代数次数、代数免疫阶和分量函数的项数。


技术总结
本发明提供了一种动态S盒构造方法及系统,包括:随机生成n比特的第一S盒、第二S盒和第三S盒;随机生成n比特的可调的第四S盒;基于第一S盒、第二S盒、第三S盒和第四S盒的三次异或运算构造2n比特S盒;判断2n比特S盒是否满足预设的密码学性质,如果满足则输出本次构造获得的2n比特S盒,否则重复生成第四S盒,直至构造获得的2n比特S盒满足所述密码学性质;保持第一S盒、第二S盒、第三S盒不变,改变第四S盒,重复构造2n比特S盒,直至输出预设数量个互不相同且满足密码学性质的2n比特S盒。本发明可以实现生成较好密码学性质的动态S盒,解决了现有动态S盒的构造方法存在的存储空间大、不利于软硬件实现等问题。

技术研发人员:邵玉芳,王春红,王正,刘丽辉,陈义涛,裴焘,龙华,范祯,林飞,袁涛,杨珍,胡立琴,董雪雯,王松伟,汪宇傲,曹雨晨,张龙,裴佩,向守坤,吴涵,王蓬勃,陈强,周函锦,吴艳初,王西
受保护的技术使用者:武汉船舶通信研究所(中国船舶集团有限公司第七二二研究所)
技术研发日:
技术公布日:2024/2/1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1