本申请涉及信息安全,尤其涉及一种置换表生成方法、装置、电子设备及存储介质。
背景技术:
1、随着通信和计算机技术的快速发展,数据加密已成为常态。其中,分组密码算法和序列密码算法通常被认为是数据加密过程中的主流加密算法,而用于实现非线性变换的置换型s盒(或称置换表)作为对称加密算法中执行置换运算的一种器件,是对称密码算法中的重要组件,在对保障密码算法安全性上发挥着重要作用。
2、现有技术中,有些置换表是由密钥与生成方法共同作用后随机产生,这种生成方式,一般都是先给定一种初始置换表,然后,依据预设的规则使初始置换表中各元素间多次发生位置移动或交换,得到与初始置换表不一样的新置换表,但是这种生成方式复杂且只能产生一个新置换表,生成效率较低。
技术实现思路
1、本申请实施例提供一种置换表生成方法、装置、电子设备及存储介质,用以提高置换表生成效率。
2、第一方面,本申请实施例提供一种置换表生成方法,包括:
3、确定目标置换表的元素数量,所述目标置换表用于对数据加密;
4、从初始置换表中选择目标元素,所述目标元素的数量等于所述目标置换表的元素数量,其中,所述初始置换表是基于密钥生成的,所述初始置换表中不存在重复元素且元素数量大于所述目标置换表的元素数量;
5、根据所述目标元素确定所述目标置换表。
6、在一些实施例中,所述从初始置换表中选择目标元素,所述目标元素的数量等于所述目标置换表的元素数量,包括:
7、从所述初始置换表中选择第一元素,以所述第一元素为起点,沿着预设方向选择n个元素,所述n等于所述目标置换表的元素数量;所述n个元素为所述目标元素。
8、在一些实施例中,所述从初始置换表中选择目标元素,所述目标元素的数量等于所述目标置换表的元素数量,包括:
9、从所述初始置换表中选择目标行,以及目标列;
10、将所述初始置换表上所述目标行和所述目标列交点对应的元素,确定为所述目标元素,所述目标行与目标列的乘积取值不小于所述目标置换表的元素数量。
11、在一些实施例中,所述根据所述目标元素确定所述目标置换表,包括:
12、根据所述目标元素,确定所述目标置换表的输入元素,以及所述输入元素的输出元素;所述输入元素指的是所述目标元素的序号,所述序号是根据所述目标元素的选择顺序确定的;所述输出元素是根据所述目标元素的数值大小确定的;
13、基于所述输入元素和所述输出元素,确定所述目标置换表。
14、在一些实施例中,所述方法还包括:
15、若所述目标置换表用于对字符型数据进行加密,则将所述目标置换表中的所述输入元素和所述输出元素,表示成相应的字符;所述字符是根据所述字符型数据的排列顺序确定的。
16、在一些实施例中,所述方法还包括:
17、基于预设的置换表的展示样式,输出所述目标置换表。
18、第二方面,本申请实施例提供一种置换表生成装置,包括:
19、第一确定模块,用于确定目标置换表的元素数量,所述目标置换表用于对数据加密;
20、选择模块,用于从初始置换表中选择目标元素,所述目标元素的数量等于所述目标置换表的元素数量,其中,所述初始置换表是基于密钥生成的,所述初始置换表中不存在重复元素且元素数量大于所述目标置换表的元素数量;
21、第二确定模块,用于根据所述目标元素确定所述目标置换表。
22、在一些实施例中,所述选择模块,具体用于:
23、从所述初始置换表中选择第一元素,以所述第一元素为起点,沿着预设方向选择n个元素,所述n等于所述目标置换表的元素数量;所述n个元素为所述目标元素。
24、在一些实施例中,所述选择模块,具体用于:
25、从所述初始置换表中选择目标行,以及目标列;
26、将所述初始置换表上所述目标行和所述目标列交点对应的元素,确定为所述目标元素,所述目标行与目标列的乘积取值不小于所述目标置换表的元素数量。
27、在一些实施例中,所述第二确定模块,具体用于:
28、根据所述目标元素,确定所述目标置换表的输入元素,以及所述输入元素的输出元素;所述输入元素指的是所述目标元素的序号,所述序号是根据所述目标元素的选择顺序确定的;所述输出元素是根据所述目标元素的数值大小确定的;
29、基于所述输入元素和所述输出元素,确定所述目标置换表。
30、在一些实施例中,还包括:
31、替换模块,用于若所述目标置换表用于对字符型数据进行加密,则将所述目标置换表中的所述输入元素和所述输出元素,表示成相应的字符;所述字符是根据所述字符型数据的排列顺序确定的。
32、在一些实施例中,还包括:
33、输出模块,用于基于预设的置换表的展示样式,输出所述目标置换表。
34、第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
35、存储器存储有可被至少一个处理器执行的计算机程序,该计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述置换表生成方法。
36、第四方面,本申请实施例提供一种存储介质,当所述存储介质中的计算机程序由电子设备的处理器执行时,所述电子设备能够执行上述置换表生成方法。
37、第五方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在被电子设备调用执行时,使得所述电子设备能够执行上述置换表生成方法。
38、本申请实施例中,确定目标置换表的元素数量,目标置换表用于对数据加密;从初始置换表中选择目标元素,目标元素的数量等于目标置换表的元素数量,其中,初始置换表是基于密钥生成的,初始置换表中不存在重复元素且元素数量大于目标置换表的元素数量。这样,可以根据目标置换表的元素数量,从初始置换表中任意选择目标元素,并生成目标置换表,可确保置换表的不可预测性,也提高了置换表的生成效率。
39、本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
1.一种置换表生成方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述从初始置换表中选择目标元素,所述目标元素的数量等于所述目标置换表的元素数量,包括:
3.如权利要求1所述的方法,其特征在于,所述从初始置换表中选择目标元素,所述目标元素的数量等于所述目标置换表的元素数量,包括:
4.如权利要求1-3任一所述的方法,其特征在于,所述根据所述目标元素确定所述目标置换表,包括:
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种置换表生成装置,其特征在于,包括:
8.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
9.一种存储介质,其特征在于,当所述存储介质中的计算机程序由电子设备的处理器执行时,所述电子设备能够执行如权利要求1-6任一所述的方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品在被电子设备调用执行时,使得所述电子设备能够执行如权利要求1-6任一所述的方法。