本发明属于分组密码算法设计,更具体地,涉及一种动态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任一项所述的系统,其特征在于,所述性质判断模块中密码学性质包括平衡性、差分概率、线性概率、代数次数、代数免疫阶和分量函数的项数。