数据处理的方法、装置和设备与流程

文档序号:29070806发布日期:2022-03-01 21:17阅读:65来源:国知局
数据处理的方法、装置和设备与流程

1.本技术涉及信息安全领域,特别涉及一种数据处理的方法、装置和设备。


背景技术:

2.随着计算机技术的发展,人们广泛地使用计算机设备存储数据,大量的敏感信息如私人文档、商业机密、交易记录等常存储于计算机设备中。为保证这些敏感信息的私密性,需要使用数据加密技术进行加密处理。动态密钥数据加密技术是数据加密技术中的一种
3.目前,动态密钥数据加密技术一般是使用动态密钥和加密算法对原文数据进行加密,得到加密数据,以进行存储。当要使用原文数据时,可以使用该动态密钥和解密算法对加密数据进行解密,还原为原文数据。其中,动态密钥之所以称为“动态”,是因为它是按周期进行更新的密钥。动态密钥更新后,旧动态密钥会被删除。由于加密算法和解密算法需要使用相同的动态密钥,所以新动态密钥无法解密那些使用旧动态密钥加密的历史加密数据。因此在更新动态密钥时,需要使用旧动态密钥将存储的历史加密数据解密为原文数据,再使用新动态密钥将原文数据加密为加密数据。
4.每次更新动态密钥,都需要对大量的历史加密数据进行解密和再加密,这占用了大量的计算机处理资源。


技术实现要素:

5.本技术实施例提供了一种数据处理的方法、装置和设备,能够解决现有技术中占用大量计算机处理资源的问题。
6.第一方面,提供了一种数据处理的方法,所述方法包括:获取待加密的目标数据和当前的动态密钥;基于所述动态密钥和加密算法,对所述目标数据进行加密,得到中间态加密数据;基于插入规则,将指示信息插入到所述中间态加密数据中,得到完成态加密数据,其中,所述指示信息用于指示所述动态密钥。
7.在一种可能的实现方式中,所述基于所述动态密钥和加密算法,对所述目标数据进行加密,得到中间态加密数据,包括:基于所述动态密钥、盐值和加密算法,对所述目标数据进行加密,得到中间态加密数据;所述基于插入规则,将指示信息插入到所述中间态加密数据中,得到完成态加密数据,包括:基于插入规则,将指示信息和所述盐值插入到所述中间态加密数据中,得到完成态加密数据。
8.在一种可能的实现方式中,所述基于插入规则,将指示信息和所述盐值插入到所述中间态加密数据中,得到完成态加密数据,包括:将指示信息和所述盐值,分别插入到所述中间态加密数据的第一指定位置和第二指定位置,得到完成态加密数据。
9.在一种可能的实现方式中,所述基于插入规则,将指示信息和所述盐值插入到所述中间态加密数据中,得到完成态加密数据,包括:将指示信息切分为第一数目个等长的指示信息分段,将所述盐值切分为第二数目个等长的盐值分段;基于每个指示信息分段在所
述指示信息中的排列顺序、每个盐值分段在所述盐值中的排列顺序、以及多个指定位置的排列顺序,将每个指示信息分段和每个盐值分段,分别插入到所述中间态加密数据的每个指定位置,得到完成态加密数据。
10.在一种可能的实现方式中,所述基于插入规则,将指示信息和所述盐值插入到所述中间态加密数据中,得到完成态加密数据,包括:基于融合规则,对指示信息和所述盐值进行融合,得到融合数据;基于插入规则,将所述融合数据插入到所述中间态加密数据中,得到完成态加密数据。
11.在一种可能的实现方式中,所述指示信息是所述动态密钥或所述动态密钥的标识。
12.第二方面,提供了一种数据处理的方法,所述方法包括:获取完成态加密数据;基于提取规则,在所述完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据;基于所述提取出的数据确定指示信息,并基于所述进行数据提取后剩余的数据确定中间态加密数据,其中,所述指示信息用于指示所述动态密钥;基于解密算法和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据。
13.在一种可能的实现方式中,所述方法还包括:基于提取出的数据确定盐值;所述基于解密算法和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据,包括:基于解密算法、所述盐值和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据。
14.在一种可能的实现方式中,所述基于提取规则,在所述完成态加密数据中进行数据提取,包括:基于提取规则,在所述完成态加密数据中的第三指定位置和第四指定位置,进行数据提取;所述基于所述提取出的数据确定指示信息,包括:将所述第三指定位置提取出的数据确定为指示信息;所述基于提取出的数据确定盐值,包括:将所述第四指定位置提取出的数据确定为盐值。
15.在一种可能的实现方式中,所述基于提取规则,在所述完成态加密数据中进行数据提取,包括:基于提取规则,在所述完成态加密数据中的多个指定位置,进行数据提取;所述基于所述提取出的数据确定指示信息,包括:获取在多个指定位置中n个指定位置提取的数据,对所述n个指定位置提取的数据进行组合,得到指示信息;所述基于提取出的数据确定盐值,包括:获取在多个指定位置中所述n个指定位置之外的m个指定位置提取的数据,对所述m个指定位置提取的数据进行组合,得到盐值。
16.在一种可能的实现方式中,所述基于所述提取出的数据确定指示信息,基于提取出的数据确定盐值,包括:基于分离规则,对所述提取出的数据进行分离,得到指示信息和盐值。
17.在一种可能的实现方式中,所述指示信息是所述动态密钥或所述动态密钥的标识。
18.第三方面,提供一种数据处理的装置,所述装置包括:第一获取模块,用于获取待加密的目标数据和当前的动态密钥;加密模块,用于基于所述动态密钥和加密算法,对所述目标数据进行加密,得到中间态加密数据;插入模块,用于基于插入规则,将指示信息插入到所述中间态加密数据中,得到完成态加密数据,其中,所述指示信息用于指示所述动态密钥。
19.在一种可能的实现方式中,所述加密模块,用于:基于所述动态密钥、盐值和加密算法,对所述目标数据进行加密,得到中间态加密数据;所述插入模块,用于:基于插入规则,将指示信息和所述盐值插入到所述中间态加密数据中,得到完成态加密数据。
20.在一种可能的实现方式中,所述基于插入模块,用于:将指示信息和所述盐值,分别插入到所述中间态加密数据的第一指定位置和第二指定位置,得到完成态加密数据。
21.在一种可能的实现方式中,所述插入模块,用于:将指示信息切分为第一数目个等长的指示信息分段,将所述盐值切分为第二数目个等长的盐值分段;基于每个指示信息分段在所述指示信息中的排列顺序、每个盐值分段在所述盐值中的排列顺序、以及多个指定位置的排列顺序,将每个指示信息分段和每个盐值分段,分别插入到所述中间态加密数据的每个指定位置,得到完成态加密数据。
22.在一种可能的实现方式中,所述插入模块,用于:基于融合规则,对指示信息和所述盐值进行融合,得到融合数据;基于插入规则,将所述融合数据插入到所述中间态加密数据中,得到完成态加密数据。
23.在一种可能的实现方式中,所述指示信息是所述动态密钥或所述动态密钥的标识。
24.第四方面,提供一种数据处理的装置,所述装置包括:第二获取模块,用于获取完成态加密数据;提取模块,用于基于提取规则,在所述完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据;确定模块,用于基于所述提取出的数据确定指示信息,并基于所述进行数据提取后剩余的数据确定中间态加密数据,其中,所述指示信息用于指示所述动态密钥;解密模块,用于基于解密算法和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据。
25.在一种可能的实现方式中,所述确定模块还用于:基于提取出的数据确定盐值;所述解密模块,用于:基于解密算法、所述盐值和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据。
26.在一种可能的实现方式中,所述提取模块,用于:基于提取规则,在所述完成态加密数据中的第三指定位置和第四指定位置,进行数据提取;所述确定模块,用于:将所述第三指定位置提取出的数据确定为指示信息;将所述第四指定位置提取出的数据确定为盐值。
27.在一种可能的实现方式中,所述提取模块,用于:基于提取规则,在所述完成态加密数据中的多个指定位置,进行数据提取;所述确定模块,用于:获取在多个指定位置中n个指定位置提取的数据,对所述n个指定位置提取的数据进行组合,得到指示信息;获取在多个指定位置中所述n个指定位置之外的m个指定位置提取的数据,对所述m个指定位置提取的数据进行组合,得到盐值。
28.在一种可能的实现方式中,所述确定模块,用于:基于分离规则,对所述提取出的数据进行分离,得到指示信息和盐值。
29.在一种可能的实现方式中,所述指示信息是所述动态密钥或所述动态密钥的标识。
30.第五方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,存储器中存储有至少一条指令,指令由处理器加载并执行以实现数据处理的方法所执行的操作。
31.第六方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,指令由处理器加载并执行以数据处理的方法所执行的操作。
32.第七方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,在所述计算机程序代码被计算机设备执行时,所述计算机设备执行以数据处理的方法所执行的操作。
33.本实施例中,基于动态密钥和加密算法对目标数据进行加密,得到中间态加密数据,进而将动态密钥插入中间态加密数据,得到完成态加密数据。这样,动态密钥更新后,即使删除了旧动态密钥,历史加密数据中仍携带有旧动态密钥,可以从历史加密数据中提取旧动态密钥进行解密。从而,不需要在每次更新动态密钥时,对历史加密数据进行解密——再加密的处理,可以节省大量的计算机处理资源。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本技术实施例提供的一种计算机设备的结构示意图;
36.图2是本技术实施例提供的一种数据处理的流程示意图;
37.图3是本技术实施例提供的一种中间态加密数据的指定位置的示意图;
38.图4是本技术实施例提供的一种插入数据的处理示意图;
39.图5是本技术实施例提供的一种插入数据的处理示意图;
40.图6是本技术实施例提供的一种数据处理的流程示意图;
41.图7是本技术实施例提供的一种完成态加密数据的指定位置的示意图;
42.图8是本技术实施例提供的一种提取数据的处理示意图;
43.图9是本技术实施例提供的一种提取数据的处理示意图;
44.图10是本技术实施例提供的一种数据处理的流程示意图;
45.图11是本技术实施例提供的一种使用盐值处理数据的处理示意图;
46.图12是本技术实施例提供的一种插入数据的处理示意图;
47.图13是本技术实施例提供的一种插入数据的处理示意图;
48.图14是本技术实施例提供的一种数据处理的流程示意图;
49.图15是本技术实施例提供的一种提取数据的处理示意图;
50.图16是本技术实施例提供的一种提取数据的处理示意图;
51.图17是本技术实施例提供的一种使用盐值处理数据的处理示意图;
52.图18是本技术实施例提供的一种数据处理装置的结构示意图;
53.图19是本技术实施例提供的一种数据处理装置的结构示意图;
54.图20是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
55.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方
式作进一步地详细描述。
56.本技术实施例提供了一种数据处理的方法,该方法可以由计算机设备实现。该计算机设备可以是服务器或终端等。终端可以是台式计算机、笔记本计算机、平板电脑、手机等。服务器可以为存储服务器。该服务器可以是一个单独的服务器,也可以是多个服务器组成的服务器组。
57.从硬件组成上来看,计算机设备的结构可以如图1所示,包括处理器101、存储器102。
58.处理器101可以是中央处理器(central processing unit,cpu)或系统级芯片(system on chip,soc)等,处理器101可以用于运行执行加密算法的程序,等等。
59.存储器102可以包括各种易失性存储器或非易失性存储器,如固态硬盘(solid state disk,ssd)、动态随机存取存储器(dynamic random access memory,dram)内存等。存储器102可以用于存储目标数据、动态密钥、指示信息、中间态加密数据和完成态加密数据等。
60.除了处理器101、存储器102,计算机设备10还可以包括通信部件103、显示部件104。
61.通信部件103可以是有线网络连接器、无线保真(wireless fidelity,wifi)模块、蓝牙模块、蜂巢网通信模块等。通信部件103可以用于与其他设备进行数据传输,其他设备可以是服务器、也可以是终端等。例如,计算机设备10可以接收目标数据、完成态加密数据,还可以将目标数据、完成态加密数据发送至服务器进行存储。
62.显示部件104可以是独立的屏幕、与计算机设备机身一体的屏幕、投影仪等,显示部件用于显示系统界面、应用界面等,例如,显示部件可以显示目标数据,还可以显示完成态加密数据等。
63.本技术实施例以执行主体是存储服务器为例,其他情况与之类似,本技术实施例不再赘述。
64.本技术实施例提供的数据处理的方法可以应用在存储服务器进行数据存储的应用场景。终端在运行应用程序的过程中可能会有业务数据上传到服务器进行存储,或者,其他服务器(如业务服务器)在进行业务处理的过程中也可能有业务数据发送至存储服务器进行存储。存储服务器在接收到终端或其他服务器发送的业务数据后,可以对业务数据进行加密,然后对加密数据进行存储。后续终端或其他服务器请求读取数据时,可以对加密数据进行解密,然后将解密得到的数据发送给终端或其他服务器。
65.图2是本技术实施例提供的一种数据处理的方法的加密流程图。参见图2,该方法可以包括如下步骤:
66.201,获取待加密的目标数据和当前的动态密钥。
67.服务器中可以预先设置有动态密钥生成算法,每当达到密钥更新周期,则会运行动态密钥生成算法,生成更新的动态密钥。然后使用生成的动态密钥,替换当前存储的动态密钥。新生成的动态密钥可以使用一个密钥更新周期的时长,经过一个密钥更新周期之后,则再对动态密钥进行更新替换。
68.可选的,生成更新的动态密钥后,可以对更新的动态密钥进行至少一次测试。测试的方式可以是使用该动态密钥按照本技术实施例提供的数据处理的方法对第一样本数据
进行加密,得到测试完成态加密数据,然后按照本技术实施例提供的相应的数据处理的方法对测试完成态加密数据进行解密,得到第二样本数据。如果第一样本数据与第二样本数据一致,则可以认为该动态密钥通过测试。更新的动态密钥通过测试后,可以替换当前存储的动态密钥。
69.存储服务器接收到终端或其他服务器发送的数据存储请求,获取其中携带的数据(即上述目标数据)后,需要对数据进行加密后存储,该数据也就是待加密的数据。此时,服务器可以获取当前存储的动态密钥,用于后续的加密处理。
70.202,基于动态密钥和加密算法,对目标数据进行加密,得到中间态加密数据。
71.在实施中,可以将动态密钥和目标数据输入加密算法,得到中间态加密数据。加密算法可以是高级加密标准中的加卢瓦计数器模式(advanced encryption standard galois/counter mode,aes-gcm)算法等。
72.203,基于插入规则,将指示信息插入到中间态加密数据中,得到完成态加密数据。
73.其中,指示信息是动态密钥或动态密钥的标识,用于指示动态密钥。也就是说,基于指示信息可以唯一确定一个动态密钥。对于指示信息是动态密钥的标识的情况,该标识的数据长度可以小于甚至远小于动态密钥的数据长度,这样,相对于采用动态密钥来说,采用动态密钥的标识可以节省数据存储空间。动态密钥的标识可以有很多可能的形式,例如,可以是动态密钥的顺序编号,也可以是动态密钥的存储地址。
74.在实施中,可以基于插入规则,将动态密钥插入到中间态加密数据中。也可以不插入动态密钥,将动态密钥存储至存储介质中,将动态密钥的顺序编号或存储地址作为动态密钥的标识,然后基于插入规则将动态密钥的标识插入到中间态加密数据中得到目标数据对应的完成态加密数据。存储服务器可以为目标数据分配数据标识,将完成态加密数据与该数据标识对应存储,并将该标识反馈给发送数据存储请求的终端或其他服务器。
75.插入规则可以多种多样,包括:
76.插入规则一,将指示信息插入到中间态加密数据的指定位置,得到完成态加密数据。
77.其中,中间态加密数据的指定位置是两个相邻数据位之间。例如,如图3所示,中间态加密数据的指定位置可以是中间态加密数据的第1位数据和第2位数据之间,或者是第2位数据和第3位数据之间。中间态加密数据的指定位置可以是预先存储的。
78.在实施中,首先获取指示信息和中间态加密数据,并获取预先存储的中间态加密数据的指定位置。例如,如图3所示,中间态加密数据的指定位置可以是中间态加密数据的第1位数据和第2位数据之间。然后,如图4所示,将指示信息插入到中间态加密数据的指定位置,得到完成态加密数据。
79.插入规则二,将指示信息切分为第一数目个等长的指示信息分段,基于每个指示信息分段在指示信息中的排列顺序和多个指定位置在中间态加密数据的排列顺序,将每个指示信息分段分别插入到中间态加密数据的每个指定位置,得到完成态加密数据。
80.其中,指示信息的数据长度可以是固定的,第一数目可以是预先设置好的数目,以确保将指示信息切分为等长的指示信息分段。指示信息分段的数目与指定位置的数目相同。中间态加密数据的指定位置可以是预先存储的,每个指定位置可以有对应的顺序号,中间态加密数据的指定位置的顺序号可以表示该指定位置在中间态加密数据的排列顺序。例
如,中间态加密数据的第一个指定位置的顺序号为1,中间态加密数据的第二个指定位置的顺序号为2。
81.在实施中,首先获取指示信息和中间态加密数据,将指示信息切分为第一数目个等长的指示信息分段,例如,如图5所示,将数据长度为128位的指示信息切分为2个等长的指示信息分段,每个指示信息分段的数据长度为64位。并获取预先存储的中间态加密数据的多个指定位置和每个指定位置对应的顺序号,例如,获取预先存储的中间态加密数据的多个指定位置,第一个指定位置为中间态加密数据的第1位数据和第2位数据之间,顺序号为1;第二个指定位置为第2位数据和第3位数据之间,顺序号为2。然后,可以根据指示信息分段在指示信息中的排列顺序,确定指示信息分段的顺序号,指示信息分段的顺序号可以表示该指示信息分段在指示信息中的排列顺序。例如,确定第一个指示信息分段的顺序号为1,第二个指示信息分段的顺序号为2。进而将每个指示信息分段分别插入顺序号相同的中间态加密数据的指定位置,得到完成态加密数据。例如,将顺序号为1的指示信息分段插入中间态加密数据中顺序号为1的指定位置等。
82.可选的,获取中间态加密数据的指定位置的顺序号并确定指示信息分段的顺序号后,还可以获取并查询预先存储的第一对应关系表,得到指示信息分段与中间态加密数据的指定位置的对应关系。第一对应关系表可以记录有指示信息分段的顺序号与中间态加密数据的指定位置的顺序号的对应关系等。例如,如表1所示,顺序号为1的指示信息分段与中间态加密数据中顺序号为2的指定位置对应,顺序号为2的指示信息分段与中间态加密数据中顺序号为1的指定位置对应等。然后,可以将每个指示信息分段分别插入对应的中间态加密数据的指定位置中,得到完成态加密数据。例如,将顺序号为1的指示信息分段插入到对应的中间态加密数据中顺序号为2的指定位置,顺序号为2的指示信息分段插入到对应的中间态加密数据中顺序号为1的指定位置等,得到完成态加密数据。
83.指示信息分段的顺序号中间态加密数据的指定位置的顺序号1221
…………
84.表1
85.得到完成态加密数据后,存储服务器可以为目标数据分配数据标识,将完成态加密数据与该数据标识对应存储,并将该标识反馈给发送数据存储请求的终端或其他服务器。
86.图6是与上述方法相应的数据处理方法的解密流程图。参见图6,该方法可以包括如下步骤:
87.601,获取完成态加密数据。
88.当终端或其他服务器需要读取目标数据时,会向存储服务器发送数据读取请求,数据读取请求中可以携带有目标数据的数据标识。存储服务器接收到终端或其他服务器发送的数据读取请求,获取其中携带的目标数据的数据标识,进而可以获取本地存储的该数据标识对应的完成态加密数据,对完成态加密数据进行解密。
89.602,基于提取规则,在完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据。
90.提取规则可以多种多样,包括:
91.提取规则一,与插入规则一相对应的,在完成态加密数据的指定位置进行数据提取。
92.其中,完成态加密数据的指定位置是第一数据位至第二数据位。第一数据位至第二数据位的数据位数目等于指示信息的数据长度。第一数据位的编号等于插入规则一中中间态加密数据相邻的两个数据位中的后一个数据位的编号。例如,如图7所示,在插入指示信息时,中间态加密数据的指定位置是中间态加密数据的第1位数据和第2位数据之间,指示信息的数据长度为128位。那么,在提取数据时,完成态加密数据的指定位置是完成态加密数据的第2位数据至第129位数据。完成态加密数据的指定位置可以是预先存储的。
93.在实施中,如图8所示,首先获取完成态加密数据的指定位置,例如完成态加密数据的第2位数据至第129位数据,然后在完成态加密数据的指定位置进行数据提取,得到数据长度为128位的数据。
94.提取规则二,与插入规则二相对应的,在完成态加密数据的多个指定位置分别进行数据提取。
95.其中,完成态加密数据的指定位置与中间态加密数据的指定位置是一一对应的,完成态加密数据的指定位置的顺序号可以与对应的中间态加密数据的指定位置的顺序号相同。例如,在插入指示信息时,中间态加密数据的第一个指定位置是中间态加密数据的第1位数据和第2位数据之间,顺序号为1。那么,在提取数据时,相应的完成态加密数据的第一个指定位置是完成态加密数据的第2位数据至第65位数据,相应的顺序号为1。与中间态加密数据的指定位置的顺序号相应的,完成态加密数据的指定位置的顺序号可以表示该指定位置在完成态加密数据里的排列顺序。
96.在实施中,如图9所示,首先获取预先存储的完成态加密数据的多个指定位置。例如,完成态加密数据的多个指定位置为完成态加密数据的第2位数据至第65位数据、第67位数据至130位数据等。然后在完成态加密数据的多个指定位置分别进行数据提取,分别得到2个数据长度为64位的数据分段。每个提取出的数据分段与提取出该数据分段的完成态加密数据的指定位置一一对应。
97.603,基于提取出的数据确定指示信息,并基于进行数据提取后剩余的数据确定中间态加密数据。
98.在实施中,确定指示信息的方式可以有多种,包括:
99.确定方式一:与插入规则一和提取规则一相对应的,获取提取出的数据,例如,如图8所示,从完成态加密数据的第2位数据至第129位数据提取出的数据,并将该提取出的数据确定为指示信息。
100.确定指示信息后,可以按照进行数据提取后剩余的数据在完成态加密数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到中间态加密数据。
101.确定方式二:与插入规则二和提取规则二相对应的,首先获取提取出的数据分段和对应的完成态加密数据的指定位置的顺序号。然后,可以将对应的完成态加密数据的指定位置的顺序号作为提取出的数据分段的顺序号。例如,如图9所示,对于对应的完成态加密数据的指定位置的顺序号为1的情况,可以将1作为提取出的数据分段的顺序号。提取出的数据分段的顺序号可以表示该提取出的数据分段在指示信息中的排列顺序。进而,可以
按照提取出的数据分段的顺序号,对多个提取出的数据分段进行组合,得到指示信息。
102.可选的,获取提取出的数据分段和对应的完成态加密数据的指定位置的顺序号之后,可以获取并查询第二对应关系表,得到提取出的数据分段的顺序号。第二对应关系表可以记录有完成态加密数据的指定位置的顺序号与提取出的数据分段的顺序号的对应关系等。例如,完成态加密数据中顺序号为2的指定位置与顺序号为1的提取出的数据分段对应,完成态加密数据中顺序号为1的指定位置与顺序号为2的提取出的数据分段对应等。然后,可以按照提取出的数据分段的顺序号,对多个提取出的数据分段进行组合,得到指示信息。
103.确定指示信息后,可以按照进行数据提取后剩余的数据在完成态加密数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到中间态加密数据。
104.604,基于解密算法和指示信息对应的动态密钥,对中间态加密数据进行解密,得到目标数据。
105.在实施中,对于指示信息是动态密钥的情况,可以将指示信息作为动态密钥。对于指示信息是动态密钥的标识的情况,可以基于该动态密钥的标识获取动态密钥。然后,可以将指示信息对应的动态密钥和中间态加密数据输入解密算法,得到目标数据。解密算法可以是与加密算法相对应的解密算法,例如与aes-gcm算法相对应的解密算法。解密完成后,存储服务器可以将解密得到的目标数据反馈给发送数据读取请求的终端或其他服务器。
106.在上述数据处理的加密过程中,还可以加入盐值以提高数据处理的复杂度。如图10所示,该过程可以包括如下步骤:
107.1001,获取待加密的目标数据和当前的动态密钥,并获取盐值。
108.其中,盐值是用于对目标数据进行简单加密的数据,一般可以随机生成,且具有指定的数据长度。
109.动态密钥的生成、维护和测试等可以参见201。服务器中可以预先设置有盐值生成算法,每当服务器接收到数据存储请求,则会运行盐值生成算法,生成更新的盐值,替换当前存储的盐值。
110.存储服务器接收到终端或其他服务器发送的数据存储请求,获取其中携带的数据(即上述目标数据)后,需要对数据进行加密后存储,该数据也就是待加密的数据。此时,服务器可以获取当前存储的动态密钥和新生成的盐值,用于后续的加密处理。
111.1002,基于动态密钥、盐值和加密算法,对目标数据进行加密,得到中间态加密数据。
112.在实施中,可以首先将目标数据和盐值转化为二进制的数据,然后基于目标数据的二进制数据、盐值的二进制数据,进行初次加密,得到初始态加密数据。盐值的数据长度比较小,一般远小于目标数据的数据长度,相应的,盐值的二进制数据长度一般也远小于目标数据的二进制数据长度,因此可以将目标数据的二进制数据划分多个数据长度小于或等于盐值的二进制数据等长的数据段。例如,除最后一个数据段之外的数据段可以均与盐值的二进制数据等长,最后一个数据段的数据长度可以小于或等于盐值的数据长度。初次加密时,可以将盐值与目标数据的第一个数据段进行对位异或运算,得到第一初始态加密数据分段。然后,将得到的第一初始态加密数据分段与目标数据的第二个数据段进行对位异或运算,得到第二初始态加密数据分段。随后,再将得到的第二初始态加密数据分段与目标数据的第三个数据段进行对位异或运算,得到第三初始态加密数据分段。依此类推下去,相
应处理可以参见图11,直至目标数据的全部数据段都完成异或运算,将得到的所有初始态加密数据分段按计算得到的顺序进行组合得到初始态加密数据。例如,目标数据的二进制数据为10000100001,盐值的二进制数据为0010,可以将目标数据视为“1000”、“0100”、“001”三个数据段。加密时,首先将盐值的二进制数据与目标数据的二进制数据的第一个数据段进行对位异或运算,得到第一初始态加密数据分段为“1010”。然后将第一初始态加密数据分段与目标数据的第二个数据段进行对位异或运算,得到第二初始态加密数据分段为“1110”。然后再将第二初始态加密数据分段与目标数据的第三个数据段进行对位异或运算,得到第三初始态加密数据分段为“110”。对目标数据的全部数据段都完成对位异或运算后,将所有结果按照运算顺序排列,可以得到初始态加密数据为“10101110110”。
113.得到初始态加密数据后,可以将初始态加密数据和动态密钥输入加密算法,得到中间态加密数据。加密算法可以是aes-gcm算法等。
114.1003,基于插入规则,将指示信息和盐值插入到中间态加密数据中,得到完成态加密数据。
115.其中,指示信息的说明可以参见步骤203。
116.在实施中,可以基于插入规则,将动态密钥和盐值插入到中间态加密数据中。或者,可以不插入动态密钥,将动态密钥存储至存储介质中,将动态密钥的顺序编号或存储地址作为动态密钥的标识,然后基于插入规则将动态密钥的标识和盐值插入到中间态加密数据中得到目标数据对应的完成态加密数据。存储服务器可以为目标数据分配数据标识,将完成态加密数据与该数据标识对应存储,并将该标识反馈给发送数据存储请求的终端或其他服务器。
117.插入规则可以多种多样,包括:
118.插入规则三:将指示信息和盐值,分别插入到中间态加密数据的第一指定位置和第二指定位置,得到完成态加密数据。
119.其中,中间态加密数据的指定位置是两个相邻数据位之间。例如,中间态加密数据的第一指定位置可以是中间态加密数据的第1位数据和第2位数据之间,中间态加密数据的第二指定位置可以是第7位数据和第8位数据之间。中间态加密数据的指定位置可以是预先存储的。
120.在实施中,如图12所示,首先获取指示信息、盐值和中间态加密数据,并获取预先存储的中间态加密数据的第一指定位置和第二指定位置。例如,预先存储的中间态加密数据的第一指定位置可以是中间态加密数据的第1位数据和第2位数据之间,中间态加密数据的第二指定位置可以是中间态加密数据的第2位数据和第3位数据之间,然后将指示信息插入到中间态加密数据的第一指定位置,将盐值插入到中间态加密数据的第二指定位置,得到完成态加密数据。
121.插入规则四:将指示信息切分为第二数目个等长的指示信息分段,将盐值切分为第三数目个等长的盐值分段,基于每个指示信息分段在指示信息中的排列顺序、每个盐值分段在盐值中的排列顺序、以及多个指定位置在中间态加密数据的排列顺序,将每个指示信息分段和每个盐值分段,分别插入到中间态加密数据的每个指定位置,得到完成态加密数据。
122.其中,指示信息的数据长度可以是固定的,第二数目可以是预先设置好的数目,以
确保将指示信息切分为等长的指示信息分段。盐值的数据长度可以是固定的,第三数目可以是预先设置好的数目,以确保将指示信息切分为等长的指示信息分段。第二数目与第三数目之和与指定位置的数目相同。中间态加密数据的指定位置可以是预先存储的。每个指定位置可以有对应的顺序号,中间态加密数据的指定位置的顺序号可以表示该指定位置在中间态加密数据的排列顺序。
123.在实施中,如图13所示,首先获取指示信息、盐值和中间态加密数据,将指示信息切分为第二数目个等长的指示信息分段。例如,将数据长度为128位的指示信息切分为2个等长的指示信息分段,每个指示信息分段的数据长度为64位。并将盐值切分为第三数目个等长的盐值分段,例如将数据长度为128位的盐值切分为2个等长的盐值分段,每个盐值分段的数据长度为64位。
124.之后,获取预先存储的中间态加密数据的多个指定位置以及每个指定位置的顺序号。例如,获取预先存储的中间态加密数据的多个指定位置,第一个指定位置为中间态加密数据的第1位数据和第2位数据之间,顺序号为1;第二个指定位置为第2位数据和第3位数据之间,顺序号为2;第三个指定位置为第3位数据和第4位数据之间,顺序号为3;第四个指定位置为第4位数据和第5位数据之间,顺序号为4。
125.然后,可以根据指示信息分段在指示信息中的排列顺序、盐值分段在盐值中的排列顺序和多个指定位置在中间态加密数据的排列顺序,分别确定指示信息分段的顺序号、盐值分段的顺序号。例如,确定第一个指示信息分段和第二个指示信息分段的顺序号分别为a1、a2,确定第一个盐值分段和第二个盐值分段的顺序号分别为b1、b2。指示信息分段的顺序号可以表示该指示信息分段在指示信息中的排列顺序,盐值分段的顺序号可以表示该盐值分段在盐值中的排列顺序。
126.进而,可以获取并查询预先存储的第三对应关系表,得到每个指示信息分段与中间态加密数据的指定位置的对应关系、每个盐值分段与中间态加密数据的指定位置的对应关系。第三对应关系表可以记录有指示信息分段的顺序号与中间态加密数据的指定位置的顺序号的对应关系以及盐值分段的顺序号与中间态加密数据的指定位置的顺序号的对应关系等。例如,顺序号为a1的指示信息分段与中间态加密数据中顺序号为1的指定位置对应,顺序号为a2的指示信息分段与中间态加密数据中顺序号为2的指定位置对应,顺序号为b1的盐值分段与中间态加密数据中顺序号为3的指定位置对应,顺序号为b2的盐值分段与中间态加密数据中顺序号为4的指定位置对应等。
127.最后,可以将每个指示信息分段、每个盐值分段分别插入对应的中间态加密数据的指定位置中,得到完成态加密数据。例如,将顺序号为a1的指示信息分段插入到对应的中间态加密数据中顺序号为1的指定位置,顺序号为a2的指示信息分段插入到对应的中间态加密数据中顺序号为2的指定位置,顺序号为b1的盐值分段插入到对应的中间态加密数据中顺序号为3的指定位置顺序号为b2的盐值分段插入到对应的中间态加密数据中顺序号为4的指定位置等,得到完成态加密数据。
128.可选的,在插入数据的过程中,还可以先基于融合规则,对指示信息和盐值进行融合,得到融合数据。然后再基于插入规则,将融合数据插入到中间态加密数据中,得到完成态加密数据。
129.融合规则可以有多种,包括:
130.融合规则一:将指示信息插入到盐值的指定位置,得到融合数据。
131.其中,盐值的指定位置是两个相邻数据位之间。例如,盐值的指定位置可以是盐值的第1位数据和第2位数据之间,或者是第2位数据和第3位数据之间。盐值的指定位置可以是预先存储的。
132.在实施中,首先获取指示信息和盐值,并获取预先设置的盐值的指定位置。例如,盐值的指定位置可以是盐值的第1位数据和第2位数据之间。然后将指示信息插入到盐值的指定位置,得到完成态加密数据。
133.融合规则二:对指示信息和盐值进行拼接,得到融合数据。
134.在实施中,首先获取指示信息和盐值,然后对指示信息和盐值进行拼接,得到融合数据。例如,按指示信息在前,盐值在后的顺序,将数据长度为128位的指示信息和数据长度为128位的盐值,进行拼接,得到数据长度为256位的融合数据。
135.得到融合数据后,可以基于插入规则,将融合数据插入到中间态加密数据中,得到完成态加密数据。
136.插入规则可以多种多样,包括:
137.插入规则五,将融合数据插入到中间态加密数据的指定位置,得到完成态加密数据。
138.其中,中间态加密数据的指定位置是两个相邻数据位之间。例如,中间态加密数据的指定位置可以是中间态加密数据的第1位数据和第2位数据之间,或者是第2位数据和第3位数据之间。中间态加密数据的指定位置可以是预先存储的。
139.在实施中,首先获取融合数据和中间态加密数据,并获取预先设置的中间态加密数据的指定位置。例如,中间态加密数据的指定位置可以是中间态加密数据的第1位数据和第2位数据之间。然后将融合数据插入到中间态加密数据的指定位置,得到完成态加密数据。
140.插入规则六,将融合数据切分为第四数目个等长的融合数据分段,基于每个融合数据分段在融合数据中的排列顺序和多个指定位置在中间态加密数据的排列顺序,将每个融合数据分段分别插入到中间态加密数据的每个指定位置,得到完成态加密数据。
141.其中,由于指示信息和盐值的数据长度可以是固定的,因此融合得到的融合数据的数据长度也可以是固定的,第四数目可以是预先设置好的数目,以确保将融合数据切分为等长的融合数据分段。融合数据分段的数目与指定位置的数目相同。中间态加密数据的指定位置可以是预先存储的。每个指定位置可以有对应的顺序号,中间态加密数据的指定位置的顺序号可以表示该指定位置在中间态加密数据的排列顺序。
142.在实施中,首先获取融合数据和中间态加密数据,将融合数据切分为第一数目个等长的融合数据分段。例如,将数据长度为256位的融合数据切分为2个等长的融合数据分段,每个融合数据分段的数据长度为128位。并获取预先存储的中间态加密数据的多个指定位置以及每个指定位置的顺序号。例如,中间态加密数据的第一个指定位置为中间态加密数据的第1位数据和第2位数据之间,顺序号为1;第二个指定位置为中间态加密数据的第2位数据和第3位数据之间,顺序号为2。然后,可以根据融合数据分段在融合数据中的排列顺序,确定融合数据分段的顺序号。例如,确定第一个融合数据分段的顺序号为1,第二个融合数据分段的顺序号为2,确定中间态加密数据的第一个指定位置的顺序号为1,中间态加密
数据的第二个指定位置的顺序号为2。进而将每个融合数据分段分别插入顺序号与其顺序号相同的中间态加密数据的指定位置,得到完成态加密数据,例如将顺序号为1的融合数据分段插入中间态加密数据中顺序号为1的指定位置等。融合数据分段的顺序号可以表示该融合数据分段在融合数据中的排列顺序,中间态加密数据的指定位置的顺序号可以表示该指定位置在中间态加密数据的排列顺序。
143.可选的,获取中间态加密数据的指定位置的顺序号并确定融合数据分段的顺序号之后,还可以获取并查询预先存储的第四对应关系表,得到融合数据分段的与中间态加密数据的指定位置的对应关系。第四对应关系表可以记录有融合数据分段的顺序号与中间态加密数据的指定位置的顺序号的对应关系。例如,顺序号为1的融合数据分段与中间态加密数据中顺序号为2的指定位置对应,顺序号为2的融合数据分段与中间态加密数据中顺序号为1的指定位置对应等。然后,可以将每个融合数据分段分别插入对应的中间态加密数据的指定位置中,得到完成态加密数据。例如,将顺序号为1的融合数据分段插入到对应的中间态加密数据中顺序号为2的指定位置,顺序号为2的融合数据分段插入到对应的中间态加密数据中顺序号为1的指定位置等,得到完成态加密数据。
144.得到完成态加密数据后,存储服务器可以为目标数据分配数据标识,将完成态加密数据与该数据标识对应存储,并将该标识反馈给发送数据存储请求的终端或其他服务器。
145.图14是与上述加入盐值的数据加密过程相应的数据解密过程的流程图。参见图14,该方法可以包括如下步骤:
146.1401,获取完成态加密数据。
147.当终端或其他服务器需要读取目标数据时,会向存储服务器发送数据读取请求,数据读取请求中可以携带有目标数据的数据标识。存储服务器接收到终端或其他服务器发送的数据读取请求,获取其中携带的目标数据的数据标识,进而可以获取本地存储的该数据标识对应的完成态加密数据,对数据完成态加密进行解密。
148.1402,基于提取规则,在完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据。
149.提取规则可以多种多样,包括:
150.提取规则三:与插入规则三相对应的,在完成态加密数据中的第三指定位置和第四指定位置,进行数据提取。
151.其中,完成态加密数据的第三指定位置是第三数据位至第四数据位,第四指定位置是第五数据位至第六数据位。第三数据位至第四数据位的数据位数目和第五数据位至第六数据位的数据位数目等于指示信息的数据长度。完成态加密数据的第三指定位置的第三数据位的编号等于插入规则三中中间态加密数据的第一指定位置中相邻的两个数据位中的后一个数据位的编号。完成态加密数据的第四指定位置的第五数据位的编号等于插入规则三中中间态加密数据的第二指定位置中相邻的两个数据位中的后一个数据位的编号。例如,在插入指示信息时,中间态加密数据的第一指定位置是中间态加密数据的第1位数据和第2位数据之间,指示信息的数据长度为128位,中间态加密数据的第二指定位置是中间态加密数据的第1位数据和第2位数据之间,盐值的数据长度为128位。那么,在提取数据时,完成态加密数据的第三指定位置是完成态加密数据的第2位数据至第129位数据,完成态加密
数据的第四指定位置是完成态加密数据的第8位数据至第135位数据。完成态加密数据的指定位置可以是预先存储的。
152.在实施中,如图15所示,首先获取预先存储的完成态加密数据的第三指定位置和第四指定位置。例如,预先存储的完成态加密数据的第三指定位置是完成态加密数据的第2位数据至第129位数据,完成态加密数据的第四指定位置是完成态加密数据的第8位数据至第135位数据。然后在完成态加密数据的第三指定位置和第四指定位置进行数据提取,分别得到两段数据长度为128位的数据。
153.提取规则四:与插入规则四相对应的,在完成态加密数据的多个指定位置分别进行数据提取。
154.其中,完成态加密数据的指定位置与中间态加密数据的指定位置是一一对应的,完成态加密数据的指定位置的顺序号可以与对应的中间态加密数据的指定位置的顺序号相同。例如,在插入指示信息或盐值时,中间态加密数据的第一个指定位置是中间态加密数据的第1位数据和第2位数据之间,顺序号为1。那么,在提取数据时,相应的完成态加密数据的第一个指定位置是完成态加密数据的第2位数据至第65位数据,相应的顺序号为1。与中间态加密数据的指定位置的顺序号相应的,完成态加密数据的指定位置的顺序号可以表示该指定位置在完成态加密数据里的排列顺序。
155.在实施中,如图16所示,首先获取预先存储的完成态加密数据的多个指定位置。例如,完成态加密数据的多个指定位置为完成态加密数据的第2位数据至第65位数据、第67位数据至130位数据、完成态加密数据的第132位数据至第195位数据、第197位数据至260位数据等。然后在完成态加密数据的多个指定位置分别进行数据提取,分别得到4个数据长度为64位的数据分段。每个提取出的数据分段与提取出该数据分段的完成态加密数据的指定位置一一对应。
156.1403,基于提取出的数据确定指示信息和盐值,并基于进行数据提取后剩余的数据确定中间态加密数据。
157.其中,确定指示信息、盐值和中间态加密数据的方式可以有多种,包括:
158.确定方式三:与插入规则三和提取规则三相对应的,获取提取出的数据,即从完成态加密数据的第三指定位置(如完成态加密数据的第2位数据至第129位数据)提取出的数据和完成态加密数据的第四指定位置(如完成态加密数据的第8位数据至第135位数据)提取出的数据,并将从完成态加密数据的第三指定位置提取出的数据确定为指示信息,将从完成态加密数据的第四指定位置提取出的数据确定为盐值,相应的处理可以参见图15。
159.确定指示信息和盐值后,可以按照进行数据提取后剩余的数据在完成态加密数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到中间态加密数据。
160.确定方式四:与插入规则四和提取规则四相对应的,获取在多个指定位置中n个指定位置提取的数据,对n个指定位置提取的数据进行组合,得到指示信息。
161.在实施中,首先可以获取并查询第五对应关系表,得到提取出的数据分段的顺序号。第五对应关系表可以记录有完成态加密数据的指定位置的顺序号与提取出的数据分段的顺序号的对应关系。提取出的数据分段的顺序号可以表示该数据分段所属的数据类型以及该数据分段在完整数据中的排列顺序。数据类型包括指示信息和盐值。例如,完成态加密数据中顺序号为1的指定位置与顺序号为c1的提取出的数据分段对应,“c”表示该数据分段
所属的分段类型为指示信息分段,“1”表示该数据分段在指示信息中的排列顺序为第一;完成态加密数据中顺序号为3的指定位置与顺序号为d1的提取出的数据分段对应,“d”表示该数据分段所属的分段类型为盐值分段,“1”表示该数据分段在盐值中的排列顺序为第一。然后,可以获取所属分段类型为指示信息分段的提取出的数据分段,按照这些提取出的数据分段的顺序号,对多个提取出的数据分段进行组合,得到指示信息。
162.与插入规则四和提取规则四相对应的,获取在多个指定位置中n个指定位置之外的m个指定位置提取的数据,对m个指定位置提取的数据进行组合,得到盐值。
163.在实施中,首先可以获取并查询第五对应关系表,得到完成态加密数据的指定位置对应的提取出的数据分段的顺序号。第五对应关系表可以记录有完成态加密数据的指定位置的顺序号与提取出的数据分段的顺序号的对应关系。提取出的数据分段的顺序号可以表示该数据分段所属的分段类型以及该数据分段在完整数据中的排列顺序。例如,完成态加密数据中顺序号为1的指定位置与顺序号为c1的提取出的数据分段对应,“c”表示该数据分段所属的分段类型为指示信息分段,“1”表示该数据分段在指示信息中的排列顺序为第一;完成态加密数据中顺序号为3的指定位置与顺序号为d1的提取出的数据分段对应,“d”表示该数据分段所属的分段类型为盐值分段,“1”表示该数据分段在盐值中的排列顺序为第一。然后,可以获取所属分段类型为盐值分段的提取出的数据分段,按照这些提取出的数据分段的顺序号,对多个提取出的数据分段进行组合,得到盐值,相应的处理可以参见图16。
164.确定指示信息和盐值后,可以按照进行数据提取后剩余的数据在完成态加密数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到中间态加密数据。
165.可选的,与插入融合数据相对应的,可以先基于提取规则,在完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据。然后基于提取出的数据确定融合数据,基于进行数据提取后剩余的数据确定中间态加密数据。进而基于分离规则,对融合数据进行分离,得到指示信息和盐值。
166.首先,基于提取规则,在完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据。提取规则可以多种多样,包括:
167.提取规则五:与插入规则五相对应的,在完成态加密数据的指定位置进行数据提取。
168.其中,完成态加密数据的指定位置是第七数据位至第八数据位。第七数据位至第八数据位的数据位数目等于融合数据的数据长度。第七数据位的编号等于插入规则五中中间态加密数据相邻的两个数据位中的后一个数据位的编号。例如,在插入融合数据时,中间态加密数据的指定位置是中间态加密数据的第1位数据和第2位数据之间,融合数据的数据长度为256位。那么,在提取数据时,完成态加密数据的指定位置是完成态加密数据的第2位数据至第257位数据。完成态加密数据的指定位置可以是预先存储的。
169.在实施中,首先获取完成态加密数据的指定位置,例如完成态加密数据的第2位数据至第257位数据,然后在完成态加密数据的指定位置进行数据提取,得到数据长度为256位的数据。
170.提取规则六,与插入规则六相对应的,在完成态加密数据的多个指定位置分别进行数据提取。
171.其中,完成态加密数据的指定位置与中间态加密数据的指定位置是一一对应的,完成态加密数据的指定位置的顺序号可以与对应的中间态加密数据的指定位置的顺序号相同。例如,在插入融合数据时,中间态加密数据的第一个指定位置是中间态加密数据的第1位数据和第2位数据之间,顺序号为1,融合数据分段的数据长度为64位。那么,在提取数据时,相应的完成态加密数据的第一个指定位置是完成态加密数据的第2位数据至第65位数据,相应的顺序号为1。与中间态加密数据的指定位置的顺序号相应的,完成态加密数据的指定位置的顺序号可以表示该指定位置在完成态加密数据里的排列顺序。
172.在实施中,首先获取预先存储的完成态加密数据的多个指定位置。例如,完成态加密数据的多个指定位置为完成态加密数据的第2位数据至第65位数据、第67位数据至130位数据、第132位数据至195位数据、第197位数据至260位数据等。然后在完成态加密数据的多个指定位置分别进行数据提取,分别得到4个数据长度为64位的数据分段。每个提取出的数据分段与提取出该数据分段的完成态加密数据的指定位置一一对应。
173.得到提取出的数据后,可以基于提取出的数据确定融合数据,并基于进行数据提取后剩余的数据确定中间态加密数据。确定融合数据的方式可以有多种,包括:
174.确定方式五:与插入规则五和提取规则五相对应的,获取提取出的数据,例如,从完成态加密数据的第2位数据至第257位数据提取出的数据,并将该提取出的数据确定为融合数据。
175.确定融合数据后,可以按照进行数据提取后剩余的数据在完成态加密数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到中间态加密数据。
176.确定方式六:与插入规则六和提取规则六相对应的,首先获取提取出的数据分段和对应的完成态加密数据的指定位置的顺序号。然后,可以将对应的完成态加密数据的指定位置的顺序号作为提取出的数据分段的顺序号。例如,对于对应的完成态加密数据的指定位置的顺序号为1的情况,则可以将1作为提取出的数据分段的顺序号。提取出的数据分段的顺序号可以表示该提取出的数据分段在融合数据中的排列顺序。进而,可以按照提取出的数据分段的顺序号,对多个提取出的数据分段进行组合,得到融合数据。
177.可选的,获取提取出的数据分段和对应的完成态加密数据的指定位置的顺序号之后,可以获取并查询第六对应关系表,得到提取出的数据分段的顺序号。第六对应关系表可以记录有完成态加密数据的指定位置的顺序号与提取出的数据分段的顺序号的对应关系。例如,完成态加密数据中顺序号为2的指定位置与顺序号为1的提取出的数据分段对应,完成态加密数据中顺序号为1的指定位置与顺序号为2的提取出的数据分段对应等。然后,可以按照提取出的数据分段的顺序号,对多个提取出的数据分段进行组合,得到融合数据。
178.确定融合数据后,可以按照进行数据提取后剩余的数据在完成态加密数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到中间态加密数据。
179.然后,基于分离规则,对融合数据进行分离,得到指示信息和盐值。分离规则可以有多种,包括:
180.分离规则一:与融合规则一相对应的,在融合数据的指定位置进行数据提取。
181.其中,融合数据的指定位置是第九数据位至第十数据位。第九数据位至第十数据位的数据位数目等于融合数据的数据长度。第九数据位的编号等于融合规则一中盐值相邻的两个数据位中的后一个数据位的编号。例如,在插入指示信息时,盐值的指定位置是盐值
的第1位数据和第2位数据之间,指示信息的数据长度为128位。那么,在提取数据时,融合数据的指定位置是融合数据的第2位数据至第129位数据。融合数据的指定位置可以是预先存储的。
182.在实施中,首先获取融合数据的指定位置,例如融合数据的第2位数据至第129位数据,然后在融合数据的指定位置进行数据提取,得到数据长度为128位的数据,将提取出的数据确定为指示信息。
183.在确定指示信息后,按照进行数据提取后剩余的数据在融合数据中的排列顺序,对进行数据提取后剩余的数据进行组合,得到盐值。
184.分离规则二,与融合规则二相对应的,在融合数据的分离位置对融合数据进行分割。
185.其中,融合数据的分离位置是两个相邻数据位之间。例如,融合数据的分离位置可以是融合数据的第128位数据和第129位数据之间。
186.在实施中,首先获取融合数据的分离位置,然后在融合数据的分离位置对融合数据进行分割,得到两段分割后的数据。例如,融合数据是数据长度为256位的数据,第128位数据和第129位数据之间进行分割,得到两段数据长度分别为128位的数据,然后可以根据融合规则二相对应的数据拼接的顺序,将顺序在前的分割后的数据确定为指示信息,将顺序在后的分割后的数据确定为盐值。
187.1404,基于解密算法、盐值和指示信息对应的动态密钥,对中间态加密数据进行解密,得到目标数据。
188.其中,对于指示信息是动态密钥的情况,可以将指示信息作为动态密钥。对于指示信息是动态密钥的标识的情况,可以基于该动态密钥的标识获取动态密钥。
189.在实施中,对于指示信息是动态密钥的情况,可以将指示信息作为动态密钥。对于指示信息是动态密钥的标识的情况,可以基于该动态密钥的标识获取动态密钥。然后,可以将指示信息对应的动态密钥和中间态加密数据输入解密算法,得到初始态加密数据。解密算法可以是与加密算法相对应的解密算法,例如与aes-gcm算法相对应的解密算法。
190.得到初始态加密数据后,可以基于初始态加密数据、盐值的二进制数据进行进一步解密,得到目标数据。
191.与1002相对应的,盐值的二进制数据长度一般远小于初始态加密数据的长度,可以将初始态加密数据视为多个与盐值的二进制数据等长的数据段。解密时,可以将盐值与初始态加密数据的第一个数据段进行对位异或运算,得到第一目标数据分段,然后,将初始态加密数据的第一个数据段与初始态加密数据的第二个数据段进行对位异或运算,得到第二目标数据分段。随后,将初始态加密数据的第二个数据段与初始态加密数据的第三个数据段进行对位异或运算,得到第三目标数据分段。依此类推下去,相应的处理可以参见图17,直至初始态加密数据的全部数据段都完成对位异或运算,将得到的所有目标数据分段按计算得到的顺序进行组合得到目标数据的二进制数据。例如,初始态加密数据为10101110110,盐值的二进制数据为0010,可以将初始态加密数据视为“1010”、“1110”、“110”三个数据段。进行进一步解密时,首先将盐值的二进制数据与初始态加密数据的第一个数据段进行对位异或运算,得到第一目标数据分段为“1000”。然后将第一初始态加密数据分段与第二初始态加密数据分段进行对位异或运算,得到第二目标数据分段为“0100”。
然后再将第二初始态加密数据分段与第三初始态加密数据分段进行对位异或运算,得到第三目标数据分段为“001”。对初始态加密数据的全部数据段都完成异或运算后,将所有结果按照运算顺序排列,可以得到目标数据的二进制数据为“10000100001”。将目标数据的二进制数据转化,可以得到目标数据。
192.进一步解密完成后,存储服务器可以将得到的目标数据反馈给发送数据读取请求的终端或其他服务器。
193.图18是本技术实施例提供的一种数据处理的装置的结构示意图,该装置可以是上述实施例中的计算机设备,所述装置包括:
194.第一获取模块1801,用于获取待加密的目标数据和当前的动态密钥;加密模块1802,用于基于所述动态密钥和加密算法,对所述目标数据进行加密,得到中间态加密数据;插入模块1803,用于基于插入规则,将指示信息插入到所述中间态加密数据中,得到完成态加密数据,其中,所述指示信息用于指示所述动态密钥。
195.在一种可能的实现方式中,所述加密模块1802,用于:基于所述动态密钥、盐值和加密算法,对所述目标数据进行加密,得到中间态加密数据;所述插入模块1803,用于:基于插入规则,将指示信息和所述盐值插入到所述中间态加密数据中,得到完成态加密数据。
196.在一种可能的实现方式中,所述基于插入模块1803,用于:将指示信息和所述盐值,分别插入到所述中间态加密数据的第一指定位置和第二指定位置,得到完成态加密数据。
197.在一种可能的实现方式中,所述插入模块1803,用于:将指示信息切分为第一数目个等长的指示信息分段,将所述盐值切分为第二数目个等长的盐值分段;基于每个指示信息分段在所述指示信息中的排列顺序、每个盐值分段在所述盐值中的排列顺序、以及多个指定位置的排列顺序,将每个指示信息分段和每个盐值分段,分别插入到所述中间态加密数据的每个指定位置,得到完成态加密数据。
198.在一种可能的实现方式中,所述插入模块1803,用于:基于融合规则,对指示信息和所述盐值进行融合,得到融合数据;基于插入规则,将所述融合数据插入到所述中间态加密数据中,得到完成态加密数据。
199.在一种可能的实现方式中,所述指示信息是所述动态密钥或所述动态密钥的标识。
200.图19是本技术实施例提供的一种数据处理的装置的结构示意图,该装置可以是上述实施例中的计算机设备,所述装置包括:
201.第二获取模块1901,用于获取完成态加密数据;提取模块1902,用于基于提取规则,在所述完成态加密数据中进行数据提取,得到提取出的数据和进行数据提取后剩余的数据;确定模块1903,用于基于所述提取出的数据确定指示信息,并基于所述进行数据提取后剩余的数据确定中间态加密数据,其中,所述指示信息用于指示所述动态密钥;解密模块1904,用于基于解密算法和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据。
202.在一种可能的实现方式中,所述确定模块1903还用于:基于提取出的数据确定盐值;所述解密模块1904,用于:基于解密算法、所述盐值和所述指示信息对应的动态密钥,对所述中间态加密数据进行解密,得到目标数据。
203.在一种可能的实现方式中,所述提取模块1902,用于:基于提取规则,在所述完成态加密数据中的第三指定位置和第四指定位置,进行数据提取;所述确定模块1903,用于:将所述第三指定位置提取出的数据确定为指示信息;将所述第四指定位置提取出的数据确定为盐值。
204.在一种可能的实现方式中,所述提取模块1902,用于:基于提取规则,在所述完成态加密数据中的多个指定位置,进行数据提取;所述确定模块1903,用于:获取在多个指定位置中n个指定位置提取的数据,对所述n个指定位置提取的数据进行组合,得到指示信息;获取在多个指定位置中所述n个指定位置之外的m个指定位置提取的数据,对所述m个指定位置提取的数据进行组合,得到盐值。
205.在一种可能的实现方式中,所述确定模块1903,用于:基于分离规则,对所述提取出的数据进行分离,得到指示信息和盐值。
206.在一种可能的实现方式中,所述指示信息是所述动态密钥或所述动态密钥的标识。
207.图20是本技术实施例提供的一种计算机设备的结构示意图,该计算机设备200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)2001和一个或一个以上的存储器2002,其中,所述存储器2002中存储有至少一条指令,所述至少一条指令由所述处理器2001加载并执行以实现上述各个方法实施例提供的方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
208.在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中数据处理的方法。该计算机可读存储介质可以是非暂态的。例如,所述计算机可读存储介质可以是rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd-rom、磁带、软盘和光数据存储设备等。
209.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
210.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1