CN113568852A - 数据的处理方法、装置、密码设备和存储介质 - Google Patents
数据的处理方法、装置、密码设备和存储介质 Download PDFInfo
- Publication number
- CN113568852A CN113568852A CN202110827080.8A CN202110827080A CN113568852A CN 113568852 A CN113568852 A CN 113568852A CN 202110827080 A CN202110827080 A CN 202110827080A CN 113568852 A CN113568852 A CN 113568852A
- Authority
- CN
- China
- Prior art keywords
- data
- data segment
- preset
- segment
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种数据的处理方法、装置、密码设备和存储介质。该方法包括:获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。本发明实施例通过采用上述技术方案,能够减少密码设备对数据进行加解密所耗费的时间,提高密码算法单元的加解密速度。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据的处理方法、装置、密码设备和存储介质。
背景技术
目前,可以通过密码设备采用SM4算法对信息进行加解密,以提升信息的安全性。
在采用SM4算法进行加解密时,密码设备一般会自所连接的计算机中获取长度与密码设备内所配置的密码算法单元的存储空间相符的待处理数据并将其写入密码算法单元的存储空间;在写入完成后,通过密码算法单元对待处理数据进行加解密;在加解密完成后,将加解密得到的数据返回给计算机;并在将数据返回给计算机之后,返回执行上述自所连接的计算机中获取长度与密码设备内所配置的密码算法单元的存储空间相符的待处理数据的操作,直至计算机中需要进行加解密的所有数据均处理完成为止。
然而,现有的加解密方式,密码设备对数据进行加解密的速度较慢,导致数据的加解密过程需要耗费较长的时间。
发明内容
有鉴于此,本发明实施例提供一种,以提高密码设备的加解密速度。
第一方面,本发明实施例提供了一种,包括:
获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;
通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
可选的,在所述获取预设长度的数据,构成第二数据片段之后,还包括:
通过所述密码算法单元采用所述预设算法对所述第二数据片段进行处理,同时,将处理后的第一数据片段发送给所述目标设备;
在所述第二数据片段处理完成后,将处理后的第二数据片段发送给所述目标设备。
可选的,在所述将处理后的第二数据片段发送给所述目标设备之后,还包括:
返回执行所述获取预设长度的数据,构成第一数据片段的操作,直至无法获取到目标设备发送的数据为止。
可选的,所述数据处理方法还包括:
如果仅获取到数据长度小于所述预设长度的数据,则采用本次所获取到的数据构成相应的数据片段,所述数据片段包括所述第一数据片段或所述第二数据片段。
可选的,所述预设长度小于或等于所述密码算法单元单次能够处理的最大数据长度的1/2。
可选的,在所述获取预设长度的数据之前,还包括:
确定单次获取数据的预设长度,以使本端获取预设长度的数据所花费的第一时长与所述密码算法单元处理预设长度的数据所花费的第二时长之间的差值的绝对值小于或等于预设阈值。
可选的,所述获取预设长度的数据,构成第一数据片段,包括:
接收所述目标设备发送的预设长度的数据,构成第一数据片段,并将所述第一数据片段写入本端的缓冲区中;
通过直接存储器访问单元自所述缓冲区中获取所述第一数据片段,并将所述第一数据片段写入所述密码算法单元的第一子存储空间中。
可选的,在所述获取预设长度的数据,构成第一数据片段之前,还包括:
自密码算法单元的存储空间中截取两段子存储空间,作为第一子存储空间和第二子存储空间,以通过所述第一子存储空间存储所述第一数据片段,并通过所述第二子存储空间存储所述第二数据片段,其中,各子存储空间的容量均大于或等于所述预设长度。
第二方面,本发明实施例提供了一种数据的处理装置,包括:
数据获取模块,用于获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;
数据处理模块,用于通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
可选的,所述数据处理装置还包括:
第一数据发送模块,用于在所述获取预设长度的数据,构成第二数据片段之后,通过所述密码算法单元采用所述预设算法对所述第二数据片段进行处理,同时,将处理后的第一数据片段发送给所述目标设备;
第二数据发送模块,用于在所述第二数据片段处理完成后,将处理后的第二数据片段发送给所述目标设备。
可选的,所述数据处理装置还包括:
返回模块,用于在所述将处理后的第二数据片段发送给所述目标设备之后,返回数据获取模块,直至无法获取到目标设备发送的数据为止。
可选的,所述数据处理装置还包括:
片段构成模块,用于在仅获取到数据长度小于所述预设长度的数据时,采用本次所获取到的数据构成相应的数据片段,所述数据片段包括所述第一数据片段或所述第二数据片段。
可选的,所述预设长度小于或等于所述密码算法单元单次能够处理的最大数据长度的1/2。
可选的,所述数据处理装置还包括:
长度确定模块,用于在所述获取预设长度的数据之前,确定单次获取数据的预设长度,以使本端获取预设长度的数据所花费的第一时长与所述密码算法单元处理预设长度的数据所花费的第二时长之间的差值的绝对值小于或等于预设阈值。
可选的,所述数据获取模块具体用于:
接收所述目标设备发送的预设长度的数据,构成第一数据片段,并将所述第一数据片段写入本端的缓冲区中;
通过直接存储器访问单元自所述缓冲区中获取所述第一数据片段,并将所述第一数据片段写入所述密码算法单元的第一子存储空间中。
可选的,所述数据处理装置还包括:
空间截取模块,用于在所述获取预设长度的数据,构成第一数据片段之前,自密码算法单元的存储空间中截取两段子存储空间,作为第一子存储空间和第二子存储空间,以通过所述第一子存储空间存储所述第一数据片段,并通过所述第二子存储空间存储所述第二数据片段,其中,各子存储空间的容量均大于或等于所述预设长度。
第三方面,本发明实施例提供了一种密码设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所述的数据的处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的数据的处理方法。
在上述处理数据的技术方案中,获取目标设备发送的、预设长度的数据,构成第一数据片段;通过密码算法单元采用预设加密算法或预设解密算法对该第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在该第一数据片段处理完成后,继续通过密码算法单元对该第二数据片段进行处理。本发明实施例通过采用上述技术方案,在对某一数据片段进行加解密的同时,获取需要进行加解密的下一数据片段,能够减少密码设备对数据进行加解密所耗费的时间,提高密码算法单元的加解密速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一提供的一种数据的处理方法的流程示意图;
图2为本发明实施例二提供的一种数据的处理方法的流程示意图;
图3为本发明实施例三提供的一种数据的处理装置的结构框图;
图4为本发明实施例四提供的一种密码设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本发明实施例一提供一种数据的处理方法。该方法可以由数据的处理装置执行,其中,该装置可以由软件和/或硬件实现,可配置于电子设备中,典型的,可以配置在密码设备中。本发明实施例提供的数据的处理方法适用于对其他设备发送的数据进行加解密的场景。如图1所示,本实施例提供的数据的处理方法可以包括:
S110、获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据。
其中,预设长度可以不超过本端(即密码设备)中所配置的密码算法单元单次能够处理的最大数据长度的数据长度,其具体数值可以根据需要进行设置,考虑到后续第一数据片段和第二数据片段的写入,优选的,所述预设长度可以小于或等于所述密码算法单元单次能够处理的最大数据长度(如密码算法单元存储空间的最大容量)的1/2。目标设备可以为本端所连接的设备,即与密码设备建立连接的设备。
在本实施例中,可以采用密码设备对其他设备(如目标设备)中具有存储的数据进行加解密。
具体的,在需要对目标设备内的数据进行加密/解密时,可以将目标设备与密码设备建立通信连接,如通过通用串行总线(Universal Serial Bus,USB)接口建立连接。从而,目标设备可以基于用户的触发操作确定其所存储的需要进行加密/解密的数据,并通过USB接口依次向密码设备发送各需要进行加密/解密的数据。相应的,密码设备可以接收目标设备发送的、预设长度的数据,构成第一数据片段,并将该第一数据片段存储于本端的缓冲区中,或者,将该第一数据片段写入密码算法单元的存储空间中。
为了进一步提高密码设备的加解密速度,可以在获取数据预设长度的数据(如第一数据片段和/或第二数据片段)时,即将该预设长度的数据写入密码算法单元,以使密码算法单元后续可以直接对该预设长度的数据进行加解密,此时,优选的,所述获取预设长度的数据,构成第一数据片段,包括:接收所述目标设备发送的预设长度的数据,构成第一数据片段,并将所述第一数据片段写入本端的缓冲区中;通过直接存储器访问单元自所述缓冲区中获取所述第一数据片段,并将所述第一数据片段写入所述密码算法单元的第一子存储空间中。以下以此种情况为例进行说明。
其中,缓冲区可以为密码设备自身的缓冲区,如密码设备的USB通讯缓冲区。密码算法单元的存储空间可以为密码算法单元的缓存空间,其可以包括至少两个子存储空间,从而,可以通过该至少两个子存储空间中的两个子存储空间分别存储第一数据片段和在对第一数据片段进行处理时所获取的第二数据片段。相应的,第一子存储空间可以理解为用于写入所获取的第一数据片段的子存储空间。
示例性的,密码设备内可以配置有直接存储器访问单元(Direct Memory Access,DMA)。密码设备在与目标设备建立连接之后,或者,在将上一第二数据片段处理完成并将处理后的上一第二数据片段发送给目标设备之后,可以接收或继续接收目标设备发送的、预设长度的数据,构成第一数据片段,将该第一数据片段写入自身的USB通讯缓冲区中,并在写入完成后,启动自身的DMA,通过该DMA将第一数据片段从USB通讯缓冲区移动至密码算法单元的第一子存储空间。
在上述实施方式中,优选的,在所述获取预设长度的数据,构成第一数据片段之前,还包括:自密码算法单元的存储空间中截取两段子存储空间,作为第一子存储空间和第二子存储空间,以通过所述第一子存储空间存储所述第一数据片段,并通过所述第二子存储空间存储所述第二数据片段,其中,各子存储空间的容量均大于或等于所述预设长度。
示例性的,以仅从密码算法单元中截取两段子存储空间为例,可以直接将密码算法单元的存储空间划分容量均大于或等于预设长度的两部分,作为第一子存储空间和第二子存储空间;也可以自密码算法单元中截取一段容量大于或等于预设长度的子存储空间,作为第一子存储空间,并在第一子存储空间的后方截取一段容量大于或等于预设长度的子存储空间,作为第二子存储空间。其中,第一子存储空间的容量与第二子存储空间的容量可以相同或不相同,本实施例不对此进行限制。
S120、通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
其中,预设算法可以为预先设置的加解密算法,其可以根据需要进行设置,如该预设算法可以为SM4算法等。第二数据片段可以为在对其他数据片段(如第一数据片段)进行处理的同时所获取的数据片段。
在本实施例中,可以在对一个数据片段进行加解密的同时,获取下一需要进行加解密的数据片段,即可以并行执行当前数据片段的加解密过程以及下一数据片段的获取过程。从而,在对当前数据片段加解密完成后,能够直接对其下一个数据片段进行加解密,无需待到获取得到密码算法单元单次能够加解密的全部数据之后再启动密码算法单元,通过密码算法单元对所获取的数据进行加解密,也无需待到对当前数据片段加解密完成后,再获取下一需要进行加解密的数据片段,能够大大缩短密码设备对数据进行加解密所耗费的时间,提高密码设备的加解密速度。
示例性的,密码设备在将第一数据片段写入密码算法单元的第一子存储空间之后,可以启动密码算法单元,通过密码算法单元对存储于第一子存储空间内的第一数据片段进行加解密;以及,在通过密码算法单元对第一数据片段进行加解密的同时,再次接收目标设备发送的数据,将其写入自身的USB通讯缓冲区中,在所接收到的数据达到预设长度时,停止接收数据,由此即可得到第二数据片段,并可以在得到第二数据片段后,启动DMA,通过DMA将该第二数据片段写入密码算法单元的第二子存储空间中。从而,密码设备在对第一数据片段处理完成且将第二数据片段写入密码算法单元的第二子存储空间之后,可以直接启动密码算法单元,通过密码算法单元对该第二子数据片段进行处理。
可选的,所述获取预设长度的数据,构成第二数据片段,包括:接收所述目标设备发送的预设长度的数据,构成第二数据片段,并将所述第二数据片段写入本端的缓冲区中;通过直接存储器访问单元自所述缓冲区中获取所述第二数据片段,并将所述第二数据片段写入所述密码算法单元的第二子存储空间中。
在本实施例中,DMA在将某一数据片段(如第一数据片段或第二数据片段)写入密码算法单元的存储空间后,或者,密码算法单元在对某一数据片段处理完成后,均可以自动停止运行。从而,密码设备在将某一数据片段写入自身的USB通讯缓冲区后,可以启动DMA,通过DMA将该数据片段写入密码算法单元的存储空间;密码设备在需要对某一数据片段进行处理时,可以启动密码算法单元,通过密码算法单元对该数据片段进行处理。
可以理解的是,当目标设备中剩余需要进行处理的数据的长度小于预设长度时,即当接收到的数据小于预设长度时,可以仅将该小于预设长度的数据作为当前所获取的数据片段,此种情况下,该数据片段的数据长度可以小于预设长度。此时,可选的,本实施例提供的数据的处理方法还可以包括:如果仅获取到数据长度小于所述预设长度的数据,则采用本次所获取到的数据构成相应的数据片段,所述数据片段包括所述第一数据片段或所述第二数据片段。
示例性的,当在接收用于构成第一数据片段的数据时,若所能够接收到的数据小于预设长度,则可以认为目标设备中需要进行处理的数据已发送完成,此时,可以采用本次所接收到的该小于预设长度的数据构成第一数据片段,通过密码算法单元对该第一数据片段进行处理,并不再执行获取预设长度的数据,构成第二数据片段的操作。相应的,当在接收用于构成第二数据片段的数据时,若所能够接收到的数据小于预设长度,则可以仅采用本次所接收到的该小于预设长度的数据构成第二数据片段。
此外,在获取预设长度的数据,构成第二数据片段之前,还可以进一步判断目标设备是否仍在继续向本端发送数据,即判断目标设备中的数据是否均已发送完成,若是,则不再执行获取预设长度的数据,构成第二数据片段的操作;若否,则可以获取预设长度的数据,构成第二数据片段。
本实施例提供的数据的处理方法,获取目标设备发送的、预设长度的数据,构成第一数据片段;通过密码算法单元采用预设加密算法或预设解密算法对该第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在该第一数据片段处理完成后,继续通过密码算法单元对该第二数据片段进行处理。本实施例通过采用上述技术方案,在对某一数据片段进行加解密的同时,获取需要进行加解密的下一数据片段,能够减少密码设备对数据进行加解密所耗费的时间,提高密码算法单元的加解密速度。
实施例二
图2为本发明实施例二提供的一种数据的处理方法的流程示意图。本实施例在上述实施例的基础上进行优化,可选的,在所述获取预设长度的数据,构成第二数据片段之后,还包括:通过所述密码算法单元采用所述预设算法对所述第二数据片段进行处理,同时,将处理后的第一数据片段发送给所述目标设备;在所述第二数据片段处理完成后,将处理后的第二数据片段发送给所述目标设备。
可选的,在所述将处理后的第二数据片段发送给所述目标设备之后,还包括:返回执行所述获取预设长度的数据,构成第一数据片段的操作,直至无法获取到目标设备发送的数据为止。
可选的,在所述获取预设长度的数据之前,还包括:确定单次获取数据的预设长度,以使本端获取预设长度的数据所花费的第一时长与所述密码算法单元处理预设长度的数据所花费的第二时长之间的差值的绝对值小于或等于预设阈值。
相应的,如图2所示,本实施例提供的数据的处理方法可以包括:
S210、确定单次获取数据的预设长度,以使本端获取预设长度的数据所花费的第一时长与所述密码算法单元处理预设长度的数据所花费的第二时长之间的差值的绝对值小于或等于预设阈值,其中,所述预设长度小于或等于所述密码算法单元单次能够处理的最大数据长度的1/2。
在本实施例中,可以根据密码算法单元单次能够处理的最大数据长度(如密码算法单元的存储空间的容量)确定预设长度,如可以将预设长度设置为密码算法大于单次能够处理的最大数据长度的1/2。
示例性的,可以首先依次将单次获取数据的长度设置为不同的长度值,分别记录自身获取数据长度为所设置的各长度值的数据所花费的时间(即第一时长)以及密码算法单元对数据长度为相应长度值的数据进行加密或解密所花费的时间(即第二时长)。然后,针对每一个长度值,计算其对应的第一时长与第二时长之间的差值的绝对值,并选取小于或等于密码算法单元单次能够处理的最大数据长度的1/2且差值的绝对值最小的长度值作为单次获取数据的预设长度;或者,根据各长度值以及各长度值对应的第一时长确定密码设备获取数据时的第一数据量-时间曲线,根据各长度值以及各长度值对应的第二时长确定密码算法单元对数据进行加解密时的第二数据量-时间曲线,并根据该第一数据量-时间曲线和该第二数据量-时间曲线求取使第一时长与第二时长之间的差值的绝对值最小小于或等于密码算法单元单次能够处理的最大数据长度的1/2的数据量,并将该数据量确定为单次获取数据的预设长度。
S220、获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据。
S230、通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,其中,所述预设算法为加密算法或解密算法。
S240、通过所述密码算法单元采用所述预设算法对所述第二数据片段进行处理,同时,将处理后的第一数据片段发送给所述目标设备。
在本实施例中,考虑到密码算法单元同一时间只能对一个数据片段进行处理,密码设备可以在密码算法单元对第一数据片段处理完成且DMA将第二数据片段写入密码算法单元写入完成之后,再次启动密码算法单元和DMA,通过密码算法单元对第二数据片段进行处理,同时,通过DMA将处理后的第一数据片段写入密码设备的缓冲区并在写入完成后进一步将存储于缓冲区内的处理后的第一数据片段发送给目标设备。从而,目标设备可以接收密码设备所发送的处理后的第一数据片段,并对其进行存储。
S250、在所述第二数据片段处理完成后,将处理后的第二数据片段发送给所述目标设备。
具体的,当密码算法单元对第二数据片段处理完成且处理后的第一数据片段发送完成之后,可以再次启动DMA,通过DMA将处理后的第二数据片段写入密码设备的缓冲区并在写入完成后进一步将存储于缓冲区内的处理后的第二数据片段发送给目标设备进行存储。
需要说明的是,本实施例也可以自密码算法单元的存储空间中截取多于2段的子存储空间。此时,示例性的,假设自密码算法单元中截取了n(n≥2)个子存储空间,则密码设备可以在对密码算法单元第i(1≤i<n)个子存储空间中的数据片段进行处理的同时,接收预设长度的数据构成数据片段,将该数据片段写入密码算法单元的第i+1个子存储空间中,在对密码算法单元的第i个子存储空间中的数据片段处理完成时,令i=i+1,并返回执行上述操作,直至对密码算法单元的第n-1个子存储空间中的数据片段处理完成;从而,当对密码算法单元的第n-1个子存储空间中的数据片段处理完成后,可以继续对密码算法单元的第n个子存储空间中的数据片段进行处理,并同时将密码算法单元第1~n-1个子存储空间中的已经处理完成的数据片段依次发送给目标设备进行存储,以及,在发送完成后,继续将密码算法单元第n个子存储空间中已经处理完成的数据片段发送给目标设备进行存储;重复执行上述操作,直至目标设备中需要进行处理的数据均处理完成为止。由此,即可以实现对目标设备中的数据的加解密。
S260、判断目标设备是否仍在向本端发送数据,若是,则返回执行S220;若否,则,结束操作。
在本实施例中,在将处理后的第二数据片段发送给目标设备之后,可以判断目标设备是否仍在向本端发送数据,若是,则可以返回执行S220,以继续对目标设备中的剩余未处理的数据进行处理;若否,则可以判定目标设备中需要进行处理的数据均已处理完成,并结束操作。
在一个可选的实施方式中,假设密码算法单元单次能够加解密的最大数据长度为N,此时,可以预先确定n(n≤N),使得密码设备接收n/2字节的数据并将其写入密码算法单元的时间t1与密码算法单元对n/2字节的数据进行加解密所需的时间t2之间相差较小,如使得t1与t2之间的差值的绝对值小于预设阈值或者在可以实现的前提下使得t1与t2之间的差值的绝对值最小,并预先将密码算法单元的存储空间划分为容量均大于或等于n/2的前半部分存储空间和后半部分存储空间。此时,密码设备对数据进行加密的过程可以描述为:
a、接收n/2字节的数据并将其写入密码算法单元的前半部分存储空间。
例如,可以接收n/2字节的数据并将其写入USB通讯缓冲区,并在写入完成后,启动DMA,通过DMA将该n/2字节的数据自USB通讯缓冲区移入密码算法单元的前半部分存储空间。
b、启动密码算法单元,通过密码算法单元对写入密码算法单元前半部分存储空间的该n/2字节的数据进行加密,同时,再次接收n/2字节的数据并将其写入密码算法单元的后半部分存储空间。
c、当步骤b执行完毕时,启动密码算法单元,通过密码算法单元对写入密码算法单元后半部分存储空间的n/2字节的数据进行加密,同时,将密码算法单元的前半部分存储空间中存储的加密结果(即写入密码存储单元的前半部分存储空间中的n/2字节的数据的加密结果)发送给目标设备。
其中,在将加密结果发送给目标设备时,可以首先启动DMA,通过DMA将该加密结果自密码算法单元的前半部分存储空间移入USB通讯缓冲区,并在移入USB通讯缓冲区之后,将USB通讯缓冲区中的该加密结果发送给目标设备。
d、当步骤c执行完毕时,将密码算法单元的后半部分存储空间中存储的加密结果(即写入密码存储单元的后半部分存储空间中的n/2字节的数据的加密结果)发送给目标设备。
e、当步骤d执行完毕时,判断目标设备中的数据是否均处理完毕,若是,则结束操作;若否,则返回执行步骤a。
此外,密码设备对数据进行解密的过程与上述过程类似,在此不再进行赘述。
本实施例提供的数据的处理方法,在对某一数据片段进行处理的同时,将已经处理完成的上一数据片段发送给目标设备,或者,获取需要进行处理的下一数据片段,能够进一步缩短密码设备进行加解密所耗费的时间,提高密码设备的加解密速度。
实施例三
本发明实施例三提供一种数据的处理装置。该装置可以由软件和/或硬件实现,可配置于电子设备中,典型的,可以配置在密码设备中,可通过执行数据的处理方法对数据进行加解密。如图3所示,本实施例提供的数据的处理装置可以包括:数据获取模块301和数据处理模块302,其中,
数据获取模块301,用于获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;
数据处理模块302,用于通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
本实施例提供的数据的处理装置,通过数据获取模块获取目标设备发送的、预设长度的数据,构成第一数据片段;通过数据处理模块控制密码算法单元采用预设加密算法或预设解密算法对该第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在该第一数据片段处理完成后,继续通过密码算法单元对该第二数据片段进行处理。本实施例通过采用上述技术方案,在对某一数据片段进行加解密的同时,获取需要进行加解密的下一数据片段,能够减少密码设备对数据进行加解密所耗费的时间,提高密码算法单元的加解密速度。
进一步地,本实施例提供的数据的处理装置还可以包括:第一数据发送模块,用于在所述获取预设长度的数据,构成第二数据片段之后,通过所述密码算法单元采用所述预设算法对所述第二数据片段进行处理,同时,将处理后的第一数据片段发送给所述目标设备;第二数据发送模块,用于在所述第二数据片段处理完成后,将处理后的第二数据片段发送给所述目标设备。
进一步地,本实施例提供的数据的处理装置还可以包括:返回模块,用于在所述将处理后的第二数据片段发送给所述目标设备之后,返回数据获取模块,直至无法获取到目标设备发送的数据为止。
进一步地,本实施例提供的数据的处理装置还可以包括:片段构成模块,用于在仅获取到数据长度小于所述预设长度的数据时,采用本次所获取到的数据构成相应的数据片段,所述数据片段包括所述第一数据片段或所述第二数据片段。
在上述方案中,所述预设长度可以小于或等于所述密码算法单元单次能够处理的最大数据长度的1/2。
进一步地,本实施例提供的数据的处理装置还可以包括:长度确定模块,用于在所述获取预设长度的数据之前,确定单次获取数据的预设长度,以使本端获取预设长度的数据所花费的第一时长与所述密码算法单元处理预设长度的数据所花费的第二时长之间的差值的绝对值小于或等于预设阈值。
在上述方案中,所述数据获取模块301具体可以用于:接收所述目标设备发送的预设长度的数据,构成第一数据片段,并将所述第一数据片段写入本端的缓冲区中;通过直接存储器访问单元自所述缓冲区中获取所述第一数据片段,并将所述第一数据片段写入所述密码算法单元的第一子存储空间中。
进一步地,本实施例提供的数据的处理装置还可以包括:空间截取模块,用于在所述获取预设长度的数据,构成第一数据片段之前,自密码算法单元的存储空间中截取两段子存储空间,作为第一子存储空间和第二子存储空间,以通过所述第一子存储空间存储所述第一数据片段,并通过所述第二子存储空间存储所述第二数据片段,其中,各子存储空间的容量均大于或等于所述预设长度。
本发明实施例三提供的数据的处理装置可执行本发明任意实施例提供的数据的处理方法,具备执行数据的处理方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据的处理方法。
实施例四
图4为本发明实施例四提供的一种密码设备的结构示意图,如图4所示,该密码设备包括处理器40和存储器41,还可以包括密码算法单元42和直接存储器访问单元43;密码设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;密码设备中的处理器40、存储器41、密码算法单元42和直接存储器访问单元43可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据的处理方法对应的程序指令/模块(例如,数据的处理装置中的数据获取模块301和数据处理模块302)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行密码设备的各种功能应用以及数据处理,即实现上述的数据的处理方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至密码设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
密码算法单元42可以用于对数据进行加密/解密,生成加密结果/解密结果。直接存储访问单元43可以用于将密码设备的缓冲区内的数据写入密码算法单元42,以及,将密码算法单元42所生成的加密结果/解密结果移入密码设备的缓冲区。
本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据的处理方法,该方法包括:
获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;
通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据的处理方法,其特征在于,包括:
获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;
通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
2.根据权利要求1所述的方法,其特征在于,在所述获取预设长度的数据,构成第二数据片段之后,还包括:
通过所述密码算法单元采用所述预设算法对所述第二数据片段进行处理,同时,将处理后的第一数据片段发送给所述目标设备;
在所述第二数据片段处理完成后,将处理后的第二数据片段发送给所述目标设备。
3.根据权利要求2所述的方法,其特征在于,在所述将处理后的第二数据片段发送给所述目标设备之后,还包括:
返回执行所述获取预设长度的数据,构成第一数据片段的操作,直至无法获取到目标设备发送的数据为止。
4.根据权利要求1所述的方法,其特征在于,还包括:
如果仅获取到数据长度小于所述预设长度的数据,则采用本次所获取到的数据构成相应的数据片段,所述数据片段包括所述第一数据片段或所述第二数据片段。
5.根据权利要求1-4任一所述的方法,其特征在于,所述预设长度小于或等于所述密码算法单元单次能够处理的最大数据长度的1/2。
6.根据权利要求5所述的方法,其特征在于,在所述获取预设长度的数据之前,还包括:
确定单次获取数据的预设长度,以使本端获取预设长度的数据所花费的第一时长与所述密码算法单元处理预设长度的数据所花费的第二时长之间的差值的绝对值小于或等于预设阈值。
7.根据权利要求5所述的方法,其特征在于,所述获取预设长度的数据,构成第一数据片段,包括:
接收所述目标设备发送的预设长度的数据,构成第一数据片段,并将所述第一数据片段写入本端的缓冲区中;
通过直接存储器访问单元自所述缓冲区中获取所述第一数据片段,并将所述第一数据片段写入所述密码算法单元的第一子存储空间中。
8.一种数据的处理装置,其特征在于,包括:
数据获取模块,用于获取预设长度的数据,构成第一数据片段,所述数据为目标设备发送的数据;
数据处理模块,用于通过密码算法单元采用预设算法对所述第一数据片段进行处理,同时,获取预设长度的数据,构成第二数据片段,以在所述第一数据片段处理完成后,继续通过所述密码算法单元对所述第二数据片段进行处理,其中,所述预设算法为加密算法或解密算法。
9.一种密码设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的数据的处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110827080.8A CN113568852A (zh) | 2021-07-21 | 2021-07-21 | 数据的处理方法、装置、密码设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110827080.8A CN113568852A (zh) | 2021-07-21 | 2021-07-21 | 数据的处理方法、装置、密码设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113568852A true CN113568852A (zh) | 2021-10-29 |
Family
ID=78166032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110827080.8A Pending CN113568852A (zh) | 2021-07-21 | 2021-07-21 | 数据的处理方法、装置、密码设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568852A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055277A1 (en) * | 2009-08-27 | 2011-03-03 | Cleversafe, Inc. | Updating dispersed storage network access control information |
CN110633233A (zh) * | 2019-06-28 | 2019-12-31 | 中国船舶重工集团公司第七0七研究所 | 一种基于流水线的dma数据传输处理方法 |
CN111127015A (zh) * | 2019-12-25 | 2020-05-08 | 中国银联股份有限公司 | 交易数据处理方法及设备、可信应用、电子设备 |
CN113132484A (zh) * | 2021-04-20 | 2021-07-16 | 北京奇艺世纪科技有限公司 | 一种数据传输方法及装置 |
-
2021
- 2021-07-21 CN CN202110827080.8A patent/CN113568852A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055277A1 (en) * | 2009-08-27 | 2011-03-03 | Cleversafe, Inc. | Updating dispersed storage network access control information |
CN110633233A (zh) * | 2019-06-28 | 2019-12-31 | 中国船舶重工集团公司第七0七研究所 | 一种基于流水线的dma数据传输处理方法 |
CN111127015A (zh) * | 2019-12-25 | 2020-05-08 | 中国银联股份有限公司 | 交易数据处理方法及设备、可信应用、电子设备 |
CN113132484A (zh) * | 2021-04-20 | 2021-07-16 | 北京奇艺世纪科技有限公司 | 一种数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3657376B1 (en) | Hybrid-cloud data storage method and apparatus, related device, and cloud system | |
CN110099064B (zh) | 一种基于物联网的文件处理方法、装置、设备和存储介质 | |
CN106529308B (zh) | 一种数据加密方法、装置及移动终端 | |
CN108259171B (zh) | Shader文件的保护方法及装置 | |
CN110022558B (zh) | 一种升级包的加密、解密方法和电子装置及存储介质 | |
CN111414635A (zh) | 文件加密、解密方法、装置、设备和存储介质 | |
CN113408017B (zh) | 一种otp存储器内数据保护方法、装置、设备及存储介质 | |
CN113094734A (zh) | 一种设备密钥更新方法、装置、存储介质及电子设备 | |
CN107872315B (zh) | 数据处理方法和智能终端 | |
KR101987025B1 (ko) | 암호화 처리 방법 및 그 장치 | |
CN113326518B (zh) | 一种数据处理方法及装置 | |
US20210232509A1 (en) | Storage Controller, And File Processing Method, Apparatus, And System | |
CN113132484B (zh) | 一种数据传输方法及装置 | |
CN114448999A (zh) | 数据存储方法、装置、系统、电子装置和存储介质 | |
CN111988262A (zh) | 认证方法、装置及服务器、存储介质 | |
CN116226940B (zh) | 一种基于pcie的数据安全处理方法以及数据安全处理系统 | |
CN113568852A (zh) | 数据的处理方法、装置、密码设备和存储介质 | |
CN111090616A (zh) | 一种文件管理方法、对应装置、设备及存储介质 | |
CN111049794A (zh) | 一种页面反爬的方法、装置、存储介质和网关设备 | |
JP2020187184A (ja) | 暗号復号装置 | |
CN112000962B (zh) | 基于区块链的数据加密处理方法、装置和系统 | |
WO2018054144A1 (zh) | 对称密钥动态生成方法、装置、设备及系统 | |
CN113569259A (zh) | 一种数据共享方法、系统、设备及计算机可读存储介质 | |
CN110659472A (zh) | 一种密码卡以及数据存储系统 | |
KR20220000537A (ko) | 차량 네트워크 기반의 데이터 송수신 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211029 |
|
RJ01 | Rejection of invention patent application after publication |