数据加密方法、装置、系统、电子设备及存储介质与流程
未命名
07-23
阅读:261
评论:0
1.本发明实施例涉及集成电路技术领域,尤其涉及一种数据加密方法、装置、系统、电子设备及存储介质。
背景技术:
2.数据加密是一种利用加密算法对信息进行保密处理的技术。数据加密的目的是为了防止信息被非法窃取。但是,随着数据信息越来越复杂,数据加密的处理效率越来越低。在此背景下,如何提高加密算法的处理效率成为了亟需解决的技术问题。
技术实现要素:
3.本发明实施例解决的技术问题是如何提高加密算法的处理效率。
4.为解决上述问题,本发明实施例提供如下技术方案。
5.第一方面,本发明实施例提供一种数据加密方法,应用于处理器,包括:
6.获取多个待加密数据中的当前待加密数据;
7.如果所述当前待加密数据为第一待加密数据,则将所述待加密数据传递给硬件加密引擎进行加密;
8.如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;
9.基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。
10.第二方面,本发明实施例提供一种数据加密装置,应用于处理器,包括:
11.数据获取模块,用于获取多个待加密数据中的当前待加密数据;
12.数据加密模块,用于确定如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密;以及确定如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;
13.加密结果获取模块,用于基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。
14.第三方面,本发明实施例提供一种电子设备,包括:硬件加密引擎和处理器;所述处理器被配置为执行如第一方面所述的数据加密方法。
15.第四方面,本发明实施例还提供一种数据加密系统,包括:多个相互路由的电子设备,所述电子设备包括如第二方面所述的电子设备。
16.第五方面,本发明实施例还提供一种存储介质,所述存储介质存储有程序,所述程序执行时以实现如第一方面所述的数据加密方法。
17.本发明实施例所提供的数据加密方法,应用于处理器,通过获取多个待加密数据
中的当前待加密数据;然后对当前待加密数据进行判断,如果所述当前待加密数据为第一待加密数据,则将所述待加密数据传递给硬件加密引擎进行加密;如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。
18.可以看出,本发明实施例所提供的数据加密方法,可以基于处理器获取的当前待加密数据的顺序,区分当前待加密数据是第一待加密数据和第二待加密数据;从而由硬件加密引擎实现对第一待加密数据进行加密,由加密程序实现对第二待加密数据进行加密,从而协同硬件加密引擎和软件加密程序对多个待加密数据中不同顺序的待加密数据进行加密,实现硬件加密和软件加密的协同配合,提升多个待加密数据的加密处理效果。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
20.图1是互联网安全协议的一架构示意图;
21.图2是本发明实施例所提供的电子设备的一框架示意图;
22.图3是本发明实施例所提供的数据加密方法的一流程示意图;
23.图4是本发明实施例所提供的数据加密方法的再一流程示意图;
24.图5是本发明实施例所提供的数据加密方法的又一流程示意图;
25.图6是本发明实施例所提供的数据加密方法的另一流程示意图;
26.图7是本发明实施例所提供的数据加密方法的一架构示意图;
27.图8是本发明实施例所提供的数据加密装置的一结构示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.随着信息技术的不断发展,对于数据安全的保证也就越来越需要重要。数据安全指的是用技术手段识别网络上的文件、数据库、帐户信息等各类数据集的相对重要性、敏感性、合规性等,并采取适当的安全控制措施对其实施保护等过程。例如,通过互联网协议安全(internet protocol security,ipsec)对网路上的各类数据进行保护。
30.ipsec是一组基于网络层,应用密码学的安全通信协议簇;是一个使用密码学保护ip层通信的安全保密架构,通过对网络互联协议(internet protocol,ip)的分组,进行加密和认证来保护ip协议的网络传输协议簇(一些相互关联的协议的集合)。
31.为方便理解ipsec的实现,请参考图1,图1是互联网安全协议的一架构示意图。
32.如图所示,网络密钥交换协议1用于完成ipsec通信对等体(即路由设备2和路由设备3)之间的安全联盟(security association,sa)协商,协商出安全联盟11;安全联盟11可以是路由设备2和路由设备3之间进行数据安全传输所需要的认证算法、加密算法和对应的秘钥;协商好的安全联盟11可以传递给路由设备2和路由设备3。路由设备2和路由设备3可以是互联网安全协议架构中不同的通信设备,用于实现信息在网络中的安全传输。
33.路由设备2和路由设备3可以均具有对数据信息进行加密的能力。针对利用路由设备2进行数据加密的情况,基于安全联盟11,对端设备中的ipsec通信协议,可以对网络互联协议接收并经网络传输协议5传递之后的待加密数据进行加密和验证;ipsec通信协议可以包括验证头部协议31(authentication header,ah)或封装安全荷载协议32(encapsulating security payload,espah/esp)。同理,针对利用路由设备3进行数据加密的情况,基于安全联盟11,路由设备3中的ipsec通信协议,可以对网络互联协议接收并经网络传输协议5传递之后的待加密数据进行加密和验证。路由设备2和3需要加密的待加密数据,可以由外部设备提供。
34.进一步的,在互联网安全协议架构中,如果路由设备3为路由设备2的下一路由设备,则路由设备2可将加密后的数据,通过传输通路4传输给路由设备3,以使得加密后的数据能够在网络中传输。传输通路4为连通路由设备2和路由设备3的数据通路,以实现路由设备2和路由设备3之间加密后的数据的传输。
35.需要说明的是,ipsec可以通过加密算法组合使用实现以下功能:
36.1)数据机密性:路由设备将接收到的待加密数据加密后,可再通过传输通路4传输至下一个路由设备。
37.2)数据完整性:路由设备可以根据网络密钥交换协议1协商的安全联盟11,来对接收的加密后数据进行验证,以确保数据传输时没有被破坏。
38.3)数据认证:路由设备根据数据完整性的验证,能够鉴别加密后数据的发送起源。
39.4)防重放:路由设能检查并拒绝重复接收的加密后数据。
40.数据加密是对数据安全的一种有效保证方法,可以通过处理器来执行数据加密的加密算法,也可以通过外部硬件设备执行数据加密的加密算法。但是随着数据包含的信息量的增加,以及数据类型的不断丰富,增加了数据的复杂性;这使得在执行数据加密的加密算法时,数据加密的处理效率较低,不能够满足数据安全的需求。
41.因此,为解决上述存在的问题,本发明实施例提供了一种数据加密方法,通过对需要加密的待加密数据进行判断,以协同硬件加密引擎和软件加密程序,来对不同顺序的待加密数据进行加密,从而在硬件加密引擎和软件加密程序协同配合的情况下,提升待加密数据的数据加密效率。
42.请参考图2,图2是本发明实施例所提供的电子设备的一框架示意图。
43.如图所示,该框架可以包括硬件加密引擎20和处理器21。
44.该框架可以认为是发送加密之后的数据的发送方,即需要执行数据加密处理的一方。
45.如图所示,首先处理器21接收到需要进行数据加密的待加密数据;然后对待加密数据进行判断,当确定待加密数据为第一待加密数据时,则将第一待加密数据传递至硬件加密引擎20;然后,硬件加密引擎20逐一接收处理器21传递的第一待加密数据(即执行第一
待加密数据的入队操作),并开始对第一待加密数据进行加密;处理器21不断的将第一待加密数据传递至硬件加密引擎20中,当达到硬件加密引擎20的数据处理量时,即可以执行数据加密的数量时,将第一待加密数据之后获取到的待加密数据确定为第二待加密数据,由处理器21自身运行加密程序来完成第二待加密数据的加密。
46.为了能够保证硬件加密引擎20和处理器21可以同时完成对第一待加密数据和第二待加密数据的加密处理;因此在对第一待加密数据对应的数量和第二待加密数据对应的数量进行设定时,可以根据软件加密设备(处理器)处理第二待加密数据的时间等于或小于硬件加密设备(硬件加密引擎)处理第一待加密数据的时间原则,设定第一待加密数据的数量和第二待加密数据的数量。
47.根据时间原则对硬件加密引擎20和处理器21需要处理的待加密数据对应的数量进行设定,使得硬件加密引擎20和处理器21可以同时完成对待加密数据的加密。
48.需要说明的是,本发明实施例中多个待加密数据,可以是从与处理器21相独立的外部其他设备中获取,也可以是从处理器21的本地系统内部获取。
49.为了进一步理解本发明实施例所提供的数据加密方法,请参考图3,图3是本发明实施例所提供的数据加密方法的一流程示意图。
50.如图所示,该流程可以包括以下步骤:
51.步骤s100,获取多个待加密数据中的当前待加密数据。
52.所述待加密数据为处理器从外部设备或自身所处系统的内部获取到的,需要进行加密的数据。
53.需要说明的是,待加密数据的数量是很多的,在一些实施方式中,待加密数据的总数量可以是由产生数据加密请求的一方所设定的数量。
54.步骤s101,根据所述当前待加密数据的获取顺序,确定是否为第一待加密数据。如果是,则执行步骤s102,如果否,则执行步骤s103。
55.其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;因此,可以根据当前待加密数据在多个待加密数据中的获取顺序,确定当前待加密数据是否为第一待加密数据,进而将第一待加密数据传递至硬件加密引擎完成加密处理。当确定当前获取的待加密数据的获取顺序对应第二待加密数据时,则将当前待加密数据由处理器运行加密程序完成加密处理。从而达到软件(处理器)和硬件(硬件加密引擎)协同处理待加密数据的加密处理,提高处理效率。
56.步骤s102,将所述当前待加密数据传递给硬件加密引擎进行加密。
57.所述第一待加密数据为在硬件加密引擎进行数据加密的加密性能的范围内的待加密数据;也就是说,所述待加密数据为符合硬件加密引擎的加密性能的数据。
58.进一步的,基于前述对于处理器和硬件加密引擎完成数据加密的时间原则,所述第一待加密数据可以用于保证硬件加密引擎完成第一待加密数据的加密时间,和处理器完成第二待加密数据的加密时间是同时完成的;从而在同步使用处理器和硬件加密引擎对当前待加密数据进行加密之后,可以同时得到当前待加密数据的加密结果,降低处理器在等待硬件加密引擎完成当前待加密数据的加密时,所产生的等待时间,进一步提高数据加密处理的效率。
59.因此,当确定当前待加密数据为第一待加密数据时,则表明所述当前待加密数据
可以由硬件加密引擎进行加密。
60.通过第一待加密数据的确定,可以明确处理器获得的当前待加密数据对应的加密器件,从而可以使得硬件加密引擎能够一直以正常的状态,完成对确定为第一待加密数据的当前待加密数据的加密,保证对当前待加密数据的整体加密处理效率。
61.为提高对确定为第一待加密数据的当前待加密数据的处理效率,在一种实施方式中,所述硬件加密引擎的数量为多个;所述如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密可以包括:
62.如果一次获取的当前待加密数据中存在多个第一待加密数据,将所述多个第一待加密数据传递给多个硬件加密引擎,以对所述多个第一待加密数据进行并行加密。
63.例如,可以将所述多个第一待加密数据划分为与所述硬件加密引擎的数量相对应的多个数据组;然后将多个数据组传递给多个硬件加密引擎,以使一个硬件加密引擎对一个数据组进行加密,从而实现多个第一待加密数据组的并行加密;可以提高第一待加密数据的处理效率。
64.在一些实施方式中,所述硬件加密引擎可以包括处理器芯片内置的协处理器,也可以是处理器芯片外置的加速卡等硬件设备,只要可以实现硬件加密即可。
65.步骤s103,确定所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密。
66.所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据。也就是说,对于处理器最先接收到的多个待加密数据中的当前待加密数据,首先确定是否为第一待加密数据;然后对当前待加密数据之后获取的待加密数据再次进行确定,直至后续的待加密数据确定为第二待加密数据时,利用处理器运行的加密程序完成加密。
67.当在第一待加密数据之后获取的当前待加密数据,超出硬件加密引擎所能处理的数量范围之后,即将第一待加密数据之后获取的当前待加密数据确定为第二待加密数据,进而通过处理器自身运行的加密程序,来完成对后续当前待加密数据(第二待加密数据)的加密。
68.使得在保证硬件加密引擎可以能够以正常的状态处理第一待加密数据的同时,处理器协助处理第二待加密数据的加密。以实现处理器和硬件加密引擎的同步加密,提高对待加密数据数进行加密的处理效率。
69.步骤s104,基于第一待加密数据的加密结果和第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。
70.本发明实施例所提供的数据加密方法,通过在对待加密数据进行加密处理时,采用硬件加密引擎和处理器运行加密程序同步处理的方式,结合了硬件加密引擎的处理效率和处理器的处理效率,从而可以提高对待加密数据的处理效率。
71.由于待加密数据的数量为多个,因此,在一种实施方式中,为确保所有的待加密数据均完成了数据加密的处理,还可以对加密结果的数量进行判断。
72.请参考图4,图4是本发明实施例所提供的数据加密方法的再一流程示意图。
73.如图所示,该流程可以包括以下步骤:
74.步骤s200,获取多个待加密数据中的当前待加密数据。
75.所述待加密数据为处理器从外部设备或自身所处系统的内部获取到的,需要进行加密的数据。
76.步骤s201,根据所述当前待加密数据的获取顺序,确定是否为第一待加密数据。如果是,则执行步骤s202,如果否,则执行步骤s203。
77.基于前述内容所述,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;因此,可以根据当前待加密数据在多个待加密数据中的获取顺序,确定当前待加密数据是否为第一待加密数据或者是否为第二待加密数据,以使用对应的加密器件完成加密处理。
78.步骤s202,将所述当前待加密数据传递给硬件加密引擎进行加密。
79.步骤s203,确定所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密。
80.步骤s204,检测第一待加密数据完成加密的数量,以及第二待加密数据完成加密的数量。
81.即获取硬件加密引擎对第一待加密数据完成加密的数量,和处理器对第二待加密数据完成加密的数量。
82.步骤s205,检测完成加密的总数量,是否达到多个待加密数据的总数量。如果是,则执行步骤s206,如果否,则执行步骤s200。
83.所述完成加密的数量即为所述第一待加密数据完成加密的数量,以及所述第二待加密数据完成加密的数量的和。
84.硬件加密引擎加密的第一待加密数据的数量,以及处理器加密的第二待加密数据的数量并不是需要加密的多个待加密数据的总数量;因此,还需要对所述第一待加密数据完成加密的数量,以及所述第二待加密数据完成加密的数量进行判断;当确定达到多个待加密数据的总数量时,则可以停止处理器和硬件加密引擎的加密;当未达到待加密数据的总数量时,则需要继续由处理器获得待加密数据,然后继续确定多个待加密数据中的当前待加密数据是否为第一待加密数据,即执行步骤s200。
85.步骤s206,获取所述多个待加密数据的加密结果。
86.通过对完成加密的数量进一步的判断,以确保全部需要加密的待加密数据均完成加密,保证硬件加密引擎和处理器同步实现对待加密数据进行加密的可靠性。
87.为体现本发明实施例所提供的数据加密方法的效果,设定硬件加密引擎的加密性能为pa,处理器的加密性能为pb。然后,将硬件加密引擎对第一待加密数据进行入队操作时,所对应的入队时间设定为a,将硬件加密引擎在加密处理第一待加密数据的总时间设定为s(硬件加密引擎从进行入队操作开始就已经处于数据加密的过程,因此总时间包含入队时间a);则入队时间占总时间的比值为a/s;由于硬件加密引擎和处理器同时完成对第一待加密数据的加密和第二待加密数据的加密;因此,处理器对第二待加密数据进行加密的时间,可以认为是硬件加密引擎在完成待加密数据的入队操作之后的时间,即为(s-a);
88.基于本发明实施例所提供的数据加密方法,即使用硬件加密引擎和处理器运行软件加密程序,来协同处理第一待加密数据和第二待加密数据的加密时,整体产生的加密性能即为硬件加密引擎的加密性能pa乘以对应的加密时间s,加上处理器的加密性能pb乘以对应的加密时间(s-a),用公式可以表示为:
89.pa×
s+(s-a)
×
pb90.本发明实施例所提供的数据加密方法与仅使用硬件加密引擎完成数据加密的方法相比,加密性能可以提升为:
[0091][0092]
即本发明实施例所提供的数据加密方法的加密性能比上硬件加密引擎的加密性能pa×
s的比值。
[0093]
本发明实施例所提供的数据加密方法与仅使用处理器完成数据加密的方法相比,加密性能可以提升为:
[0094][0095]
即本发明实施例所提供的数据加密方法的加密性能比上处理器的加密性能pb×
s的比值。
[0096]
可以看出,本发明实施例所提供的数据加密方法中,可以基于处理器获取的当前待加密数据的顺序,区分当前待加密数据是第一待加密数据和第二待加密数据;从而由硬件加密引擎实现对第一待加密数据进行加密,由加密程序实现对第二待加密数据进行加密,从而协同硬件加密引擎和软件加密程序对多个待加密数据中不同顺序的待加密数据进行加密,实现硬件加密和软件加密的协同配合,提升多个待加密数据的加密处理效果。
[0097]
为便于确定符合硬件加密引擎的待加密数据的数量,即确定第一待加密数据,在一种实施方式中,可以对处理器获取并传递至硬件加密引擎的当前待加密数据的数量进行计数。
[0098]
例如,第一待加密数据可以是由n1个任意大小的数据包组成,且总长度为m1的数量,第二待加密数据可以是由n2个任意大小的数据包组成,总长度为m2的数量。上述第一待加密数据的数量和第二待加密数据的数量的设定,则可以根据n1、m1和n2、m2的大小来设定。
[0099]
可选地,n1、m1和n2、m2可以是由硬件加密引擎和处理器的处理待加密数据的能力来决定,例如根据前述所述,遵循处理器处理待加密数据的总长度为m2的n2个的第二待加密数据(数据包)的时间,等于或小于硬件加密引擎处理待加密数据的总长度为m1的n1个的第一待加密数据(数据包)的时间原则。
[0100]
为方便进一步理解第一待加密数据和第二待加密数据的确定,请参考图5,图5是本发明实施例所提供的数据加密方法的又一流程示意图。
[0101]
如图所示,该流程可以包括以下步骤:
[0102]
步骤s300,获取多个待加密数据中的当前待加密数据。
[0103]
步骤s301,确定所述当前待加密数据的计数值。
[0104]
所述当前待加密数据的计数值,基于已获取的待加密数据的数量,顺序递增。
[0105]
当处理器获取到当前待加密数据时,计数值根据获取到的当前待加密数据对应的数量进行更新。例如,以获取的待加密数据为数据包的形式为例进行说明;当获取到一个待加密的数据包时,则计数值在上一次计数的基础上加一;以实现根据获取的待加密的数据包的数量,更新对应的计数值。
[0106]
例如,以em表示记录的待加密数据的计数值,n1表示获取到的待加密数据的个数;
则在根据获取的n1个待加密数据,更新记录的计数值时,更新后的计数值则可以表示为e
m’=em+n1。
[0107]
根据计数值的不断更新,可以确定处理器获取的当前待加密数据的数量,从而可以方便确定当前待加密数据对应的数量,是否在硬件加密引擎能够处理的数量的范围内;以使硬件加密引擎能够工作在正常的状态下,保证加密的处理效率。
[0108]
步骤s302,确定计数值是否达到预设计数值。如果否,则执行步骤s303,如果是,则执行步骤s304。
[0109]
预设计数值即表示硬件加密引擎可以在正常的状态下,处理的待加密数据的数量;用于保证硬件加密引擎始终处于正常的工作状态,进一步可选地还可以确保硬件加密引擎和处理器能够同步完成第一待加密数据和第二待加密数据的加密。
[0110]
当计数值未达到预设计数值时,则表明硬件加密引擎还可以继续处理当前待加密数据的加密,也就是说处理器继续获得的当前待加密数据还可以继续传递至硬件加密引擎来完成加密;从而确保处理器不会过度传递当前待加密数据至硬件加密引擎;使得硬件加密引擎可以在所能够处理的范围内,高效完成待加密数据(即第一待加密数据)的加密。
[0111]
所述预设计数值例如以m表示,则m的大小可以根据实际情况进行设定;例如可以设定为1000、100等,符合实际使用条件即可。
[0112]
步骤s303,确定当前待加密数据为第一待加密数据,将当前待加密数据传递给硬件加密引擎进行加密。
[0113]
当计数值未超过预设计数值时,则表明硬件加密引擎还未达到所能够处理的上限,即硬件加密引擎还可以继续对第一待加密数据进行加密。
[0114]
步骤s304,确定当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密。
[0115]
当计数值达到预设计数值时,则表明硬件加密引擎已达到执行待加密数据的加密的上限,需要使用处理器运行加密程序,来进行后续获取的当前待加密数据(第二待加密数据)的加密。
[0116]
根据预设计数值的控制,以实现硬件加密引擎和处理器的同步加密门限控制;且由于预设计数值能够控制,用于硬件加密引擎处理的第一待加密数据的数量,因此,预设计数值可以实现降低处理器在等待硬件加密引擎完成当前待加密数据的加密时,所产生的等待时间。
[0117]
基于上述内容,预设计数值是可以表示硬件加密引擎所能够处理的待加密数据的数量,因此,在一种实施方式中,所述预设计数值可以包括第一计数值或者第二计数值;所述第一计数值基于所述硬件加密引擎和所述处理器对数据进行加密处理的加密性能设定;所述第二计数值基于所述硬件加密引擎的加密性能设定。
[0118]
第一计数值和第二计数值的设定可以结合硬件加密引擎的加密性能和处理器的加密性能,充分考虑执行待加密数据的加密的器件性能,提高数据加密方法的实用性。
[0119]
其中,所述第一计数值,可以充分考虑到不同的加密执行器件的工作性能,保证在使用硬件加密引擎和处理器对待加密数据进行加密时,可以同时完成待加密数据的加密,以及提高待加密数据的处理效率。
[0120]
例如,继续以上述所述的第一待加密数据可以是由n1个任意大小的数据包组成,
且总长度为m1的数量,第二待加密数据可以是由n2个任意大小的数据包组成,总长度为m2的数量,预设计数值为m为例进行说明。
[0121]
所述的第一待加密数据中的n1,m和n2的设置可以根据实际情况实现动态调整,当处理器的计算资源多于硬件加密引擎的计算资源时,此时可以选择减少n1和m,提高n2,当处理器的计算资源少于硬件加密引擎的计算资源时,则可以选择减少n2,提高n1和m,这样通过动态调整使处理器所能处理的n2个第二待加密数据的时间小于等于硬件加密引擎所能处理的n1个第一待加密数据的时间,符合前述所述的时间原则。
[0122]
由于第一计数值是基于硬件加密引擎和处理器的加密性能来确定的,因此,在不同的加密性能下,基于第一计数值划分的第一待加密数据和第二待加密数据的数量大小也可以进行调整。
[0123]
可选地,如果所述硬件加密引擎的加密性能低于处理器的加密性能,则所述第一待加密数据的数量小于第二待加密数据的数量;如果所述硬件加密引擎的加密性能高于处理器的加密性能,则所述第一待加密数据的数量大于第二待加密数据的数量。
[0124]
针对于复杂环境下对待加密数据进行加密的情况,可以根据不同的硬件加密引擎和处理器的加密性能,从而划分不同数量大小的第一待加密数据和第二待加密数据,以使得第一待加密数据能够充分满足硬件加密引擎的加密性能,且第二待加密数据也可以满足处理器的加密性能,确保在对待加密数据进行加密时,硬件加密引擎和处理器都可以工作在最佳状态,从而提高待加密数据的处理效率。
[0125]
当然,对于处理器和硬件加密引擎需要处理的当前待加密数据的总数量很少,且待加密数据的总数量在硬件加密引擎的处理能力范围内的情况下,也可以不需要划分第一待加密数据和第二待加密数据的数量;此时,可以选择全部由硬件加密引擎;或者也可以直接由处理器来完成加密;可以根据待加密数据的总数量的情况,来选择合适的加密方法。
[0126]
所述第二计数值,是针对于可以明确硬件加密引擎的加密性能,且在对待加密数据进行加密的过程中不需要其他复杂操作的情况下,此时可以根据硬件加密引擎自身的加密性能,确定对应第二计数值;以满足不同应用环境下,对待加密数据的加密处理,提高本发明实施例所提供的数据加密方法的实用性。
[0127]
上述各实施例均为硬件加密引擎和处理器可以同时完成对第一待加密数据和第二待加密数据的加密的情况;但是由于数据加密时数据自身的复杂性,以及硬件加密引擎或者处理器对数据进行加密的加密性能的变化,会存在有处理器处理完成第二待加密数据,得到加密结果之后,硬件加密引擎还未完成对第一待加密数据的加密的情况;此时,需要在处理器获取到第二待加密数据的加密结果之后,对硬件加密引擎对应的加密结果进行记录,以使得处理器能够得到处理器和硬件加密引擎全部的加密结果。
[0128]
请参考图6,图6是本发明实施例所提供的数据加密方法的另一流程示意图。
[0129]
如图所示,该流程可以包括以下步骤:
[0130]
步骤s400,获取多个待加密数据中的当前待加密数据。
[0131]
所述待加密数据即为根据处理器内部或处理器外部的数据加密请求,所获得的需要加密的数据。
[0132]
步骤s401,判断当前待加密数据是否为第一待加密数据。如果是,则执行步骤s402,如果否,则执行步骤s403。
[0133]
步骤s402,将当前待加密数据传递给硬件加密引擎进行加密。
[0134]
当确定待加密数据为第一待加密数据时,表示当前获取的待加密数据可以传递至硬件加密引擎,以使得硬件加密引擎在最佳工作状态对第一待加密数据进行加密
[0135]
步骤s403,运行加密程序,对所述第一待加密数据之后获取的第二待加密数据进行加密。
[0136]
当在第一待加密数据之后获取的待加密数据的所属类别为第二待加密数据时,则表示硬件加密引擎已经达到处理能力的上限,不能以最佳状态对后续的待加密数据进行加密;此时,则交由处理器自身来完成第二待加密数据的加密,实现硬件加密引擎和处理器的协同加密处理,提高处理效率。
[0137]
步骤s404,在加密程序完成所有第二待加密数据的加密之后,获取硬件加密引擎完成加密的第一待加密数据的加密结果,并记录完成加密的第一待加密数据的数量。
[0138]
由于处理器本身在对第二待加密数据加密,因此加密完成后可以即时确定第二待加密数据的加密结果;但是硬件加密引擎在对第一待加密数据加密时,加密完成一个第一待加密数据需要传递至处理器,处理器才可以得到第一待加密数据的加密结果;在处理器获得第一待加密数据和第二待加密数据的全部加密结果之后,才可以进一步确定当前完成的第一待加密数据和第二待加密数据的全部加密结果,是否达到待加密数据的总数量,从而确定是否可以继续获取待加密数据或者将加密结果传递至接收方。
[0139]
但是,在出现处理器在完成全部的第二待加密数据的加密之后,硬件加密引擎还未完成对第一待加密数据的加密的情况时,如果没有确定硬件加密引擎完成加密的第一待加密数据的加密结果,就直接判断加密结果是否达到待加密数据的总数量,会造成硬件加密引擎中还存在未加密完成的第一待加密数据;此时在判断加密结果未达到待加密数据的总数量,处理器继续获取待加密数据,并传递至硬件加密引擎时,会超出硬件加密引擎的处理能力,影响硬件加密引擎的处理效率。
[0140]
因此,本发明实施例为避免上述情况的发生,进一步的对硬件加密引擎完成加密的第一待加密数据的加密结果进行记录,通过记录的数量的判断,以确定硬件加密引擎完成了对所获取的全部的第一待加密数据的加密;保证硬件加密引擎可以在最佳状态下完成下一次的加密处理。
[0141]
步骤s405,判断所记录的数量与传递给硬件加密引擎的当前待加密数据的数量是否相对应。如果是,则执行步骤s406,如果否,则继续执行步骤s405进行判断,以确定硬件加密引擎是否完成全部的第一待加密数据的加密处理。
[0142]
例如,继续以上述硬件加密引擎所获取的,确定为第一待加密数据的当前待加密数据的计数值为e
all
,在获取第二待加密数据的加密结果之后,以dm表示记录完成加密的第一待加密数据的数量为例进行说明;在对dm进行判断时,则可以表示为:
[0143]eall’=e
all-dm;
[0144]
上述公式即表示,根据当前记录的完成加密的第一待加密数据的数量dm,确定硬件加密引擎中剩余所要完成的第一待加密数据的数量e
all’,以判断dm是否达到硬件加密引擎获取到的第一待加密数据的总数量e
all
。
[0145]
如果dm达到了计数值e
all
,则此时的e
all-dm=0,如果dm未达到计数值e
all
,则说明需要等待硬件加密引擎继续完成剩余的第一待加密数据的加密,硬件加密引擎剩余所要完成
的第一待加密数据的数量即为更新后的e
all’,即e
all-dm。记录完成加密的第一待加密数据的数量,明确硬件加密引擎是否已经完成对全部数量的第一待加密数据的加密。
[0146]
步骤s406,确定所有第一待加密数据完成加密,并基于所述硬件加密引擎完成加密的第一待加密数据的加密结果,以及所述加密程序完成加密的第二待加密数据的加密结果,形成所述多个待加密数据的加密结果。
[0147]
通过对完成加密的第一待加密数据的数量进行记录,以确定硬件加密引擎是否已经对获取到的全部的第一待加密数据完成加密,从而可以使硬件加密引擎最大程度的处于满负荷工作的状态。
[0148]
需要说明的是,本发明实施例所述的数据加密方法中,是针对于对端设备和与对端设备交互的外部设备的;也就是说,本发明实施例所述的数据加密方法可以是应用于如图1所示的架构中的路由设备2或路由设备3中;所获取的多个待加密数据的当前待加密数据是通过网络传输协议5从路由设备2或路由设备3的外部获取的,根据路由设备2或路由设备3的外部使用者的需求来确定所获取的待加密数据的总数量。
[0149]
由于第二设备也就是路由设备2或路由设备3的外部使用者的需求,会存在并不是一直有大量的待加密数据,处于等待第一设备进行加密处理的状态;因此在第二设备产生的数据加密请求中,需要较少的待加密数据的情况下,此时可以通过对第一设备(路由设备2或路由设备3)获取的待加密数据的获取数量进行记录并控制,以使得第一设备中的处理器cpu可以处理其他非加密任务,提高第一设备中处理器的资源利用率。
[0150]
请参考图7,图7是本发明实施例所提供的数据加密方法的一架构示意图。
[0151]
如图所示,该架构包括第一设备和与第一设备相交互的第二设备。
[0152]
所述第一设备设置有执行数据加密方法的处理器,例如上述所述的路由设备2或路由设备3,所述第二设备即为产生数据加密请求的外部设备,例如外部使用者向路由设备2或路由设备3发送数据加密请求时,所使用的外部设备。
[0153]
该架构所实现的步骤可以包括以下内容:
[0154]
步骤s500,第二设备获取数据加密请求。
[0155]
其中,所述数据加密请求包括根据使用者的数据加密需求所设定的预设加密数量。
[0156]
所述数据加密请求指示有预设加密数量,预设加密数量为需发送的多个待加密数据的总数量。
[0157]
所述待加密数据的总数量即所述预设加密数量可以是5000个、800个等,根据实际需求来设定。
[0158]
由于第二设备所发出的数据加密请求中,并不是一直有大量的待加密数据在等待处理的状态,在待加密数据较少的情况下通过预设加密数量的设置,可以使得第一设备的处理器在处理完成预设加密数量的待加密数据之后,处理其他任务,提高处理器的资源利用率。
[0159]
步骤s501,第二设备根据所述预设加密数量,向第一设备发送多个待加密数据。
[0160]
预设加密数量用于确定基于当前第二设备发送的数据加密请求中,待加密数据的数量,是否均已由第一设备获取,以便完成第二设备所需的全部待加密数据的加密。
[0161]
通过预设加密数量,对第一设备是否要继续执行待加密数据的加密进行控制,从
而可以使得第一设备的处理器在完成对第二设备的待加密数据的加密之后,可以将处理器的资源分配给其他任务,提高处理器的资源利用率。
[0162]
步骤s502,第一设备将确定为第一待加密数据的当前待加密数据,传递给硬件加密引擎进行加密;以及将确定为第二待加密数据的当前待加密数据,利用加密程序对所述当前待加密数据进行加密。
[0163]
步骤s503,第一设备检测第一待加密数据完成加密的数量,以及第二待加密数据完成加密的数量。
[0164]
即获取硬件加密引擎对第一待加密数据完成加密的数量,和处理器对第二待加密数据完成加密的数量。
[0165]
步骤s504,第一设备判断完成加密的总数量,是否达到预设加密数量。如果是,则执行步骤s505,如果否,则执行步骤s502。
[0166]
所述完成加密的数量即为所述第一待加密数据完成加密的数量,以及所述第二待加密数据完成加密的数量的和。
[0167]
步骤s505,第一设备获取所述多个待加密数据的加密结果。
[0168]
步骤s506,第一设备的处理器停止运行加密程序。
[0169]
当达到所述预设加密数量时,则说明第一设备中的处理器执行完当前的数据加密请求中,全部的待加密数据的加密。此时第一设备中的处理器可以进行其他非数据加密的操作。
[0170]
当第一设备重新启动加密程序,实现处理器运行加密程序和硬件加密引擎协同完成待加密数据的加密处理时,则重新对获取的多个待加密数据中的当前待加密数据进行确定;例如重新根据获取的当前待加密数据对应的计数值,完成计数值的更新。
[0171]
在另一些实施方式中,针对于后续所需要加密的待加密数据的数量很少的情况,在通过上述处理方式将处理器采取停止运行加密程序的方式之外,还可以继续由处理器获取后续数量很少的待加密数据;并将这一部分少量的待加密数据交由硬件加密引擎来完成加密处理。
[0172]
通过上述方式的处理可以满足在待加密数据的数量很少的情况下,数据的加密处理,提高本发明实施例所提供的数据加密方法的实用性。
[0173]
可以看出,本发明实施例所提供的数据加密方法中,通过在第一设备处,执行数据加密方法,可以看出,本发明实施例所提供的数据加密方法,可以基于处理器获取的当前待加密数据的顺序,区分当前待加密数据是第一待加密数据和第二待加密数据;从而由硬件加密引擎实现对第一待加密数据进行加密,由加密程序实现对第二待加密数据进行加密,从而协同硬件加密引擎和软件加密程序对多个待加密数据中不同顺序的待加密数据进行加密,实现硬件加密和软件加密的协同配合,提升多个待加密数据的加密处理效果。
[0174]
进而,在第二设备的数据加密请求中,增加预设加密数量;从而当第一设备在获取到待加密数据并开始对多个待加密数据进行加密处理时,可以基于预设加密数量和检测到的第一设备所完成加密的总数量进行判断;以在第一设备完成的待加密数据的加密数量达到预设加密数量时,控制第一设备中的处理器可以在完成了预设加密数量的待加密数据的加密之后,不再进行加密处理而是执行其他需要处理器完成的任务;提高加密的处理效率的同时,还可以提高处理器的资源利用率。
[0175]
本发明实施例还提供了一种数据加密装置,所述数据加密装置可以用于实现上述实施例中所述的数据加密方法。请参考图8,图8是本发明实施例所提供的数据加密装置的一结构示意图,所述装置应用于处理器。
[0176]
如图所示,该装置可以包括:
[0177]
数据获取模块600,用于获取多个待加密数据中的当前待加密数据;
[0178]
数据加密模块601,用于确定如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密;以及确定如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;
[0179]
加密结果获取模块602,用于基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。
[0180]
可选地,所述装置还可以包括:
[0181]
加密数据计数模块,用于确定所述当前待加密数据的计数值;其中,所述当前待加密数据的计数值,基于已获取的待加密数据的数量,顺序递增。
[0182]
可选地,所述数据加密模块601,用于确定如果所述当前待加密数据为第一待加密数据,则将所述待加密数据传递给硬件加密引擎进行加密可以包括:
[0183]
如果所述当前待加密数据的计数值小于预设计数值,则确定所述当前待加密数据为第一待加密数据,将所述当前待加密数据传递给硬件加密引擎进行加密。
[0184]
可选地,所述数据加密模块601,用于确定如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密可以包括:
[0185]
如果所述当前待加密数据的计数值不小于预设计数值,则确定所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密。
[0186]
可选地,所述预设计数值包括第一计数值或者第二计数值;所述第一计数值基于所述硬件加密引擎和所述处理器的加密性能设定;所述第二计数值基于所述硬件加密引擎的加密性能设定。
[0187]
可选地,如果所述硬件加密引擎的加密性能低于处理器的加密性能,则所述第一待加密数据的数量小于第二待加密数据的数量;如果所述硬件加密引擎的加密性能高于处理器的加密性能,则所述第一待加密数据的数量大于第二待加密数据的数量。
[0188]
可选地,所述加密结果获取模块602,用于基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果可以包括:
[0189]
检测所述第一待加密数据完成加密的数量,以及所述第二待加密数据完成加密的数量;
[0190]
当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达到所述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果。
[0191]
可选地,所述加密结果获取模块602,用于检测所述第一待加密数据完成加密的数量可以包括:
[0192]
在所述加密程序对所有第二待加密数据完成加密之后,获取所述硬件加密引擎完成加密的第一待加密数据的加密结果,并记录第一待加密数据完成加密的数量;
[0193]
所述当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达
到所述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果,包括:
[0194]
如果第一待加密数据完成加密的数量与传递给硬件加密引擎的第一待加密数据的数量相对应,则确定所有第一待加密数据完成加密,并基于所述硬件加密引擎完成加密的第一待加密数据的加密结果,以及所述加密程序完成加密的第二待加密数据的加密结果,形成所述多个待加密数据的加密结果。
[0195]
可选地,所述装置还包括:
[0196]
停止加密模块603,用于处理器停止运行加密程序。
[0197]
可选地,所述硬件加密引擎的数量为多个;所述数据加密模块601,用于确定如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密可以包括:
[0198]
如果一次获取的当前待加密数据中存在多个第一待加密数据,将所述多个第一待加密数据传递给多个硬件加密引擎,以对所述多个第一待加密数据进行并行加密。
[0199]
可以看出,本发明实施例所提供的数据处理装置中,通过在第一设备处,执行前述实施例提供的数据加密方法,从而可以基于处理器获取的当前待加密数据的顺序,区分当前待加密数据是第一待加密数据和第二待加密数据;从而由硬件加密引擎实现对第一待加密数据进行加密,由加密程序实现对第二待加密数据进行加密,从而协同硬件加密引擎和软件加密程序对多个待加密数据中不同顺序的待加密数据进行加密,实现硬件加密和软件加密的协同配合,提升多个待加密数据的加密处理效果。
[0200]
进而,在第二设备的数据加密请求中,增加预设加密数量;从而当第一设备在获取到待加密数据并开始对多个待加密数据进行加密处理时,可以基于预设加密数量和检测到的第一设备所完成加密的总数量进行判断;以在第一设备完成的待加密数据的加密数量达到预设加密数量时,控制第一设备中的处理器可以在完成了预设加密数量的待加密数据的加密之后,不再进行加密处理而是执行其他需要处理器完成的任务;提高加密的处理效率的同时,还可以提高处理器的资源利用率。
[0201]
本发明实施例还提供了一种电子设备,包括:硬件加密引擎和处理器;所述处理器被配置为执行如前述实施例任一项所述的数据加密方法
[0202]
本发明实施例还提供了一种数据加密系统,包括:多个相互路由的电子设备,所述电子设备包括如前述所述的电子设备。
[0203]
本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序执行时以实现如前述实施例所述的数据加密方法。
[0204]
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
技术特征:
1.一种数据加密方法,其特征在于,应用于处理器,所述方法包括:获取多个待加密数据中的当前待加密数据;如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密;如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。2.根据权利要求1所述的数据加密方法,其特征在于,所述方法还包括:确定所述当前待加密数据的计数值;其中,所述当前待加密数据的计数值,基于已获取的待加密数据的数量,顺序递增。3.根据权利要求2所述的数据加密方法,其特征在于,所述如果所述当前待加密数据为第一待加密数据,则将所述待加密数据传递给硬件加密引擎进行加密包括:如果所述当前待加密数据的计数值小于预设计数值,则确定所述当前待加密数据为第一待加密数据,将所述当前待加密数据传递给硬件加密引擎进行加密。4.根据权利要求3所述的数据加密方法,其特征在于,所述如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密包括:如果所述当前待加密数据的计数值不小于预设计数值,则确定所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密。5.如权利要求4所述的数据加密方法,其特征在于,所述预设计数值包括第一计数值或者第二计数值;所述第一计数值基于所述硬件加密引擎和所述处理器的加密性能设定;所述第二计数值基于所述硬件加密引擎的加密性能设定。6.如权利要求1-5任一项所述的数据加密方法,其特征在于,如果所述硬件加密引擎的加密性能低于处理器的加密性能,则所述第一待加密数据的数量小于第二待加密数据的数量;如果所述硬件加密引擎的加密性能高于处理器的加密性能,则所述第一待加密数据的数量大于第二待加密数据的数量。7.如权利要求1-5任一项所述的数据加密方法,其特征在于,所述基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果包括:检测所述第一待加密数据完成加密的数量,以及所述第二待加密数据完成加密的数量;当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达到所述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果。8.如权利要求7所述的数据加密方法,其特征在于,所述检测所述第一待加密数据完成加密的数量包括:在所述加密程序对所有第二待加密数据完成加密之后,获取所述硬件加密引擎完成加密的第一待加密数据的加密结果,并记录第一待加密数据完成加密的数量;所述当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达到所
述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果,包括:如果第一待加密数据完成加密的数量与传递给硬件加密引擎的第一待加密数据的数量相对应,则确定所有第一待加密数据完成加密,并基于所述硬件加密引擎完成加密的第一待加密数据的加密结果,以及所述加密程序完成加密的第二待加密数据的加密结果,形成所述多个待加密数据的加密结果。9.如权利要求7所述的数据加密方法,其特征在于,在所述当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达到所述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果的步骤之后,还包括:处理器停止运行加密程序。10.如权利要求1-5任一项所述的数据加密方法,其特征在于,所述硬件加密引擎的数量为多个;所述如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密包括:如果一次获取的当前待加密数据中存在多个第一待加密数据,将所述多个第一待加密数据传递给多个硬件加密引擎,以对所述多个第一待加密数据进行并行加密。11.一种数据加密装置,其特征在于,应用于处理器,所述装置包括:数据获取模块,用于获取多个待加密数据中的当前待加密数据;数据加密模块,用于确定如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密;以及确定如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;加密结果获取模块,用于基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。12.根据权利要求11所述的数据加密装置,其特征在于,所述装置还包括:加密数据计数模块,用于确定所述当前待加密数据的计数值;其中,所述当前待加密数据的计数值,基于已获取的待加密数据的数量,顺序递增。13.根据权利要求12所述的数据加密装置,其特征在于,所述数据加密模块,用于确定如果所述当前待加密数据为第一待加密数据,则将所述待加密数据传递给硬件加密引擎进行加密包括:如果所述当前待加密数据的计数值小于预设计数值,则确定所述当前待加密数据为第一待加密数据,将所述当前待加密数据传递给硬件加密引擎进行加密。14.根据权利要求13所述的数据加密装置,其特征在于,所述数据加密模块,用于确定如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密包括:如果所述当前待加密数据的计数值不小于预设计数值,则确定所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密。15.如权利要求14所述的数据加密装置,其特征在于,所述预设计数值包括第一计数值或者第二计数值;所述第一计数值基于所述硬件加密引擎和所述处理器的加密性能设定;所述第二计数值基于所述硬件加密引擎的加密性能设定。16.如权利要求11-15任一项所述的数据加密装置,其特征在于,如果所述硬件加密引
擎的加密性能低于处理器的加密性能,则所述第一待加密数据的数量小于第二待加密数据的数量;如果所述硬件加密引擎的加密性能高于处理器的加密性能,则所述第一待加密数据的数量大于第二待加密数据的数量。17.如权利要求11-15任一项所述的数据加密装置,其特征在于,所述加密结果获取模块,用于基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果包括:检测所述第一待加密数据完成加密的数量,以及所述第二待加密数据完成加密的数量;当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达到所述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果。18.如权利要求17所述的数据加密装置,其特征在于,所述加密结果获取模块,用于检测所述第一待加密数据完成加密的数量包括:在所述加密程序对所有第二待加密数据完成加密之后,获取所述硬件加密引擎完成加密的第一待加密数据的加密结果,并记录第一待加密数据完成加密的数量;所述当检测到所述第一待加密数据和所述第二待加密数据完成加密的总数量,达到所述多个待加密数据的总数量时,获取所述多个待加密数据的加密结果,包括:如果第一待加密数据完成加密的数量与传递给硬件加密引擎的第一待加密数据的数量相对应,则确定所有第一待加密数据完成加密,并基于所述硬件加密引擎完成加密的第一待加密数据的加密结果,以及所述加密程序完成加密的第二待加密数据的加密结果,形成所述多个待加密数据的加密结果。19.如权利要求17所述的数据加密装置,其特征在于,还包括:停止加密模块,用于处理器停止运行加密程序。20.如权利要求11-15任一项所述的数据加密装置,其特征在于,所述硬件加密引擎的数量为多个;所述数据加密模块,用于确定如果所述当前待加密数据为第一待加密数据,则将所述当前待加密数据传递给硬件加密引擎进行加密包括:如果一次获取的当前待加密数据中存在多个第一待加密数据,将所述多个第一待加密数据传递给多个硬件加密引擎,以对所述多个第一待加密数据进行并行加密。21.一种电子设备,其特征在于,包括:硬件加密引擎和处理器;所述处理器被配置为执行如权利要求1-10任一项所述的数据加密方法。22.一种数据加密系统,其特征在于,包括:多个相互路由的电子设备,所述电子设备包括如权利要求21所述的电子设备。23.一种存储介质,其特征在于,所述存储介质存储有程序,所述程序执行时以实现如权利要求1-10任一项所述的数据加密方法。
技术总结
本发明实施例提供一种数据加密方法、装置、系统、电子设备及存储介质,其中,所述方法,应用于处理器,包括:获取多个待加密数据中的当前待加密数据;如果所述当前待加密数据为第一待加密数据,则将所述待加密数据传递给硬件加密引擎进行加密;如果所述当前待加密数据为第二待加密数据,利用加密程序对所述当前待加密数据进行加密;其中,所述第一待加密数据和所述第二待加密数据为所述处理器从所述多个待加密数据中获取的不同顺序的数据;基于所述第一待加密数据的加密结果和所述第二待加密数据的加密结果,确定所述多个待加密数据的加密结果。本发明实施例所提供的技术方案,可提高加密算法的处理效率。高加密算法的处理效率。高加密算法的处理效率。
技术研发人员:臧天德 应志伟 杨德培
受保护的技术使用者:海光信息技术股份有限公司
技术研发日:2023.04.03
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
