本技术涉及计算机,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术:
1、数据加密技术,是指将数据通过加密密钥、加密函数转换成密文的过程。接收者通过解密函数、解密密钥将密文还原成明文。这样,即可保护数据不被非法窃取和读取。
2、现有技术中,通常采用对称加密算法、非对称加密算法等方式,对数据进行加密。例如,随着三维应用场景越来越多,三维模型的精度越来越高,对应的三维模型数据文件越来越大,动辄上gb(gigabyte,吉字节)。与此同时,三维模型的知识产权和数据安全也越来越被关注,如何在模型数据文件越来越大的情况下,有效保护数据文件的安全性,同时保证数据文件的访问效率,成为行业发展的一个关注点。
3、可见,如何降低加密运算的计算量,是一个值得关注的技术问题。
技术实现思路
1、鉴于此,为解决上述部分或全部技术问题,本技术实施例提供一种数据处理方法、装置、电子设备及存储介质。
2、第一方面,本技术实施例提供一种数据处理方法,所述方法包括:
3、获取待加密数据,以及确定初始密钥;
4、对所述待加密数据进行划分,得到第一数据片段序列;
5、采用所述初始密钥对所述第一数据片段序列中的第一片段进行加密,得到第一加密数据,其中,所述第一片段为所述第一数据片段序列中的首个数据片段;
6、针对第一数据片段子序列中的数据片段,将该数据片段与所述第一片段进行异或操作,得到该数据片段对应的第二加密数据;其中,所述第一数据片段子序列为:所述第一数据片段序列中除所述第一片段之外的数据片段组成的序列;
7、基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据。
8、在一个可能的实施方式中,所述对所述待加密数据进行划分,包括:
9、确定所述待加密数据的字节长度,得到第一长度;
10、确定所述第一长度是否为预设长度的整数倍;
11、在所述第一长度为所述预设长度的整数倍的情况下,将所述待加密数据平均划分为所述预设长度的数据片段;
12、在所述第一长度并非所述预设长度的整数倍的情况下,对所述待加密数据进行补齐,以使补齐后的所述待加密数据为所述预设长度的整数倍,以及将补齐后的所述待加密数据平均划分为所述预设长度的数据片段。
13、在一个可能的实施方式中,在所述第一长度并非所述预设长度的整数倍的情况下,所述对所述待加密数据进行补齐,包括:
14、确定所述待加密数据的补齐数据的字符长度,得到第二长度;
15、确定目标数据的字符长度,得到第三长度,其中,所述目标数据对应所述第二长度;
16、确定长度为目标长度的随机数,其中,所述目标长度为所述第二长度与所述第三长度的差值;
17、对所述随机数和所述目标数据进行拼接,得到补齐数据;
18、将所述补齐数据补齐至所述待加密数据的预设位置。
19、在一个可能的实施方式中,在所述确定初始密钥之后,所述方法还包括:
20、采用公钥对所述初始密钥进行加密,得到授权数据;以及
21、在所述基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据之后,所述方法还包括:
22、基于所述授权数据,对所述目标加密数据进行解密,得到所述待加密数据。
23、在一个可能的实施方式中,所述基于所述授权数据,对所述目标加密数据进行解密,得到所述待加密数据,包括:
24、确定所述公钥的私钥;
25、采用所述私钥,对所述授权数据进行解密,得到所述初始密钥;
26、基于所述初始密钥,对所述目标加密数据进行解密,得到所述待加密数据。
27、在一个可能的实施方式中,在所述基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据之后,所述方法还包括:
28、对所述目标加密数据进行划分,得到第二数据片段序列;
29、采用所述初始密钥,对第二片段进行解密,得到第一解密数据,其中,所述第二片段为所述第二数据片段序列中的首个数据片段;
30、针对第二数据片段子序列中的数据片段,将该数据片段与所述第一解密数据进行异或操作,得到该数据片段对应的第二解密数据;其中,所述第二数据片段子序列为:所述第二数据片段序列中除所述第二片段之外的数据片段组成的序列;
31、基于所述第一解密数据和所述第二解密数据,生成所述待加密数据。
32、在一个可能的实施方式中,所述基于所述第一解密数据和所述第二解密数据,生成所述待加密数据,包括:
33、将所述第一解密数据和所得到的各个所述第二解密数据进行拼接,得到中间数据;
34、确定所述中间数据中,是否包括补齐数据;
35、在所述中间数据中包括所述补齐数据的情况下,删除所述中间数据中的所述补齐数据,以得到所述待加密数据。
36、第二方面,本技术实施例提供一种数据处理装置,所述装置包括:
37、获取单元,用于获取待加密数据,以及确定初始密钥;
38、第一划分单元,用于对所述待加密数据进行划分,得到第一数据片段序列;
39、第一加密单元,用于采用所述初始密钥对所述第一数据片段序列中的第一片段进行加密,得到第一加密数据,其中,所述第一片段为所述第一数据片段序列中的首个数据片段;
40、第一操作单元,用于针对第一数据片段子序列中的数据片段,将该数据片段与所述第一片段进行异或操作,得到该数据片段对应的第二加密数据;其中,所述第一数据片段子序列为:所述第一数据片段序列中除所述第一片段之外的数据片段组成的序列;
41、第一生成单元,用于基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据。
42、在一个可能的实施方式中,所述对所述待加密数据进行划分,包括:
43、确定所述待加密数据的字节长度,得到第一长度;
44、确定所述第一长度是否为预设长度的整数倍;
45、在所述第一长度为所述预设长度的整数倍的情况下,将所述待加密数据平均划分为所述预设长度的数据片段;
46、在所述第一长度并非所述预设长度的整数倍的情况下,对所述待加密数据进行补齐,以使补齐后的所述待加密数据为所述预设长度的整数倍,以及将补齐后的所述待加密数据平均划分为所述预设长度的数据片段。
47、在一个可能的实施方式中,在所述第一长度并非所述预设长度的整数倍的情况下,所述对所述待加密数据进行补齐,包括:
48、确定所述待加密数据的补齐数据的字符长度,得到第二长度;
49、确定目标数据的字符长度,得到第三长度,其中,所述目标数据对应所述第二长度;
50、确定长度为目标长度的随机数,其中,所述目标长度为所述第二长度与所述第三长度的差值;
51、对所述随机数和所述目标数据进行拼接,得到补齐数据;
52、将所述补齐数据补齐至所述待加密数据的预设位置。
53、在一个可能的实施方式中,在所述确定初始密钥之后,所述装置还包括:
54、第二加密单元,用于采用公钥对所述初始密钥进行加密,得到授权数据;以及
55、在所述基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据之后,所述装置还包括:
56、第一解密单元,用于基于所述授权数据,对所述目标加密数据进行解密,得到所述待加密数据。
57、在一个可能的实施方式中,所述基于所述授权数据,对所述目标加密数据进行解密,得到所述待加密数据,包括:
58、确定所述公钥的私钥;
59、采用所述私钥,对所述授权数据进行解密,得到所述初始密钥;
60、基于所述初始密钥,对所述目标加密数据进行解密,得到所述待加密数据。
61、在一个可能的实施方式中,在所述基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据之后,所述装置还包括:
62、第二划分单元,用于对所述目标加密数据进行划分,得到第二数据片段序列;
63、第二解密单元,用于采用所述初始密钥,对第二片段进行解密,得到第一解密数据,其中,所述第二片段为所述第二数据片段序列中的首个数据片段;
64、第二操作单元,用于针对第二数据片段子序列中的数据片段,将该数据片段与所述第一解密数据进行异或操作,得到该数据片段对应的第二解密数据;其中,所述第二数据片段子序列为:所述第二数据片段序列中除所述第二片段之外的数据片段组成的序列;
65、第二生成单元,用于基于所述第一解密数据和所述第二解密数据,生成所述待加密数据。
66、在一个可能的实施方式中,所述基于所述第一解密数据和所述第二解密数据,生成所述待加密数据,包括:
67、将所述第一解密数据和所得到的各个所述第二解密数据进行拼接,得到中间数据;
68、确定所述中间数据中,是否包括补齐数据;
69、在所述中间数据中包括所述补齐数据的情况下,删除所述中间数据中的所述补齐数据,以得到所述待加密数据。
70、第三方面,本技术实施例提供一种电子设备,包括:
71、存储器,用于存储计算机程序;
72、处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本技术上述第一方面的数据处理方法中任一实施例的方法。
73、第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面的数据处理方法中任一实施例的方法。
74、第五方面,本技术实施例提供一种计算机程序,所述计算机程序包括计算机可读代码,当所述计算机可读代码在设备上运行时,使得该设备中的处理器实现如上述第一方面的数据处理方法中任一实施例的方法。
75、本技术实施例提供的数据处理方法,可以获取待加密数据,以及确定初始密钥,之后,对所述待加密数据进行划分,得到第一数据片段序列,然后,采用所述初始密钥对所述第一数据片段序列中的第一片段进行加密,得到第一加密数据,其中,所述第一片段为所述第一数据片段序列中的首个数据片段,随后,针对第一数据片段子序列中的数据片段,将该数据片段与所述第一片段进行异或操作,得到该数据片段对应的第二加密数据;其中,所述第一数据片段子序列为:所述第一数据片段序列中除所述第一片段之外的数据片段组成的序列,最后,基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据。由此,可以通过异或操作,对第一数据片段子序列中的数据片段和第一片段进行处理,进而获得待加密数据的目标加密数据,因而可以降低加密计算的复杂度。
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述待加密数据进行划分,包括:
3.根据权利要求2所述的方法,其特征在于,在所述第一长度并非所述预设长度的整数倍的情况下,所述对所述待加密数据进行补齐,包括:
4.根据权利要求1-3之一所述的方法,其特征在于,在所述确定初始密钥之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述授权数据,对所述目标加密数据进行解密,得到所述待加密数据,包括:
6.根据权利要求1-3之一所述的方法,其特征在于,在所述基于所述第一加密数据和所述第二加密数据,生成所述待加密数据的目标加密数据之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一解密数据和所述第二解密数据,生成所述待加密数据,包括:
8.一种数据处理装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述权利要求1-7任一所述的方法。
