CN111262837B - 一种数据加密方法、数据解密方法、系统、设备和介质 - Google Patents

一种数据加密方法、数据解密方法、系统、设备和介质 Download PDF

Info

Publication number
CN111262837B
CN111262837B CN202010023467.3A CN202010023467A CN111262837B CN 111262837 B CN111262837 B CN 111262837B CN 202010023467 A CN202010023467 A CN 202010023467A CN 111262837 B CN111262837 B CN 111262837B
Authority
CN
China
Prior art keywords
data
encrypted
preset
position information
sum
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.)
Active
Application number
CN202010023467.3A
Other languages
English (en)
Other versions
CN111262837A (zh
Inventor
沈唤勇
高延雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202010023467.3A priority Critical patent/CN111262837B/zh
Publication of CN111262837A publication Critical patent/CN111262837A/zh
Application granted granted Critical
Publication of CN111262837B publication Critical patent/CN111262837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种数据加密方法,能够降低相关技术中调用国密算法的次数并提升系统性能,该方法包括:获取待加密数据;确定获取到的所有待加密数据的长度总和;判断长度总和是否大于等于第一预设长度阈值;在长度总和小于第一预设长度阈值时,继续获取其他的待加密数据,直至长度总和大于等于第一预设长度阈值;在长度总和大于等于第一预设长度阈值时,调用预设加密算法对获取到的所有待加密数据加密,得到已加密总数据。本公开还提供了一种数据解密方法、一种数据传输系统以及一种计算机设备。

Description

一种数据加密方法、数据解密方法、系统、设备和介质
技术领域
本发明涉及计算机技术领域,具体涉及一种数据加密方法、数据解密方法、装置、系统、计算机设备和计算机可读存储介质。
背景技术
国密算法即国家密码局认定的国产密码算法,即商用密码,用于实现对数据进行加密和解密,以保证数据和信息的机密性。
在相关技术中,当有数据包需要加密的情况下,国密算法可以对该数据包中的扩展头、协议头、载荷数据、填充字段和封装安全载荷(Encapsulate Security Payload,简称为ESP)进行加密。
然而,发明人在研究本发明的过程中发现,相关技术中至少存在如下缺陷:相关技术在对数据包加密时,并未考虑数据包的长度,当需要对大量长度较小的数据包加密时,需要频繁调用国密算法,严重影响系统性能。
发明内容
本发明的目的在于提供了一种数据加密方法、数据解密方法、装置、系统、计算机设备和计算机可读存储介质,能够降低相关技术中调用国密算法的次数并提升系统性能。
本发明的一个方面提供了一种数据加密方法,所述方法包括:获取待加密数据;确定获取到的所有所述待加密数据的长度总和;判断所述长度总和是否大于等于第一预设长度阈值;在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据,直至所述长度总和大于等于所述第一预设长度阈值;在所述长度总和大于等于所述第一预设长度阈值时,调用预设加密算法对获取到的所有所述待加密数据加密,得到已加密总数据。
可选地,所述方法还包括:确定调用所述预设加密算法对获取到的所有所述待加密数据加密时每个所述待加密数据的位置信息;根据所述已加密总数据和每个所述待加密数据的位置信息构建报文。
可选地,根据所述已加密总数据和每个所述待加密数据的位置信息构建至少一个报文的步骤包括:获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的;根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建所述报文。
可选地,在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据的步骤包括:在所述长度总和小于所述第一预设长度阈值时,从截止到当前时间获取到的所有所述待加密数据中,确定获取首个所述待加密数据的时间;判断距离获取首个所述待加密数据的时间的时间间隔是否大于等于第一预设时间阈值;在距离获取首个所述待加密数据的时间的时间间隔小于所述第一预设时间阈值时,继续获取其他的待加密数据。
本发明的另一个方面提供了一种数据解密方法,所述方法包括:接收对端设备发送的报文;调用预设加密算法对所述报文中携带的已加密总数据解密,得到已解密数据;判断是否需要对所述已解密数据进行拆分;在需要对所述已解密数据拆分时,获取所述报文携带的位置信息;将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息的已解密子数据。
可选地,判断是否需要对所述已解密数据进行拆分的步骤包括:判断所述报文是否携带有合并标识;相应地,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息的步骤包括:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
本发明的再一个方面提供了一种数据传输系统,包括发送端和接收端,其中:所述发送端用于:获取目标数据,确定获取到的所有所述目标数据的长度总和,作为第一长度总和,判断所述第一长度总和是否大于等于第一预设长度阈值,在所述第一长度总和小于所述第一预设长度阈值时,继续获取其他的目标数据,直至所述第一长度总和大于等于所述第一预设长度阈值,在所述第一长度总和大于等于所述第一预设长度阈值时,调用对称加密算法对获取到的所有所述目标数据加密,得到已加密总数据,确定调用所述预设加密算法对获取到的所有所述目标数据加密时每个所述目标数据的位置信息,根据所述已加密总数据和每个所述待加密数据的位置信息构建一个报文;所述接收端用于:接收所述发送端发送的所述报文,调用预设加密算法对所述报文中携带的已加密总数据解密,得到已解密数据,判断是否需要对所述已解密数据进行拆分,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息,将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息对应的所述目标数据。
可选地,所述发送端在执行根据所述已加密总数据和每个所述待加密数据的位置信息构建一个报文的步骤时,还用于:获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的,根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建一个所述报文;所述接收端在执行判断是否需要对所述已解密数据进行拆分的步骤时,还用于:判断所述报文是否携带有所述合并标识;所述接收端在执行在需要对所述已解密数据拆分时,获取所述报文携带的位置信息的步骤时,还用于:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
可选地,所述发送端在执行在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据的步骤时,还用于:在所述长度总和小于所述第一预设长度阈值时,从截止到当前时间获取到的所有所述待加密数据中,确定获取首个所述待加密数据的时间;判断距离获取首个所述待加密数据的时间的时间间隔是否大于等于第一预设时间阈值;在距离获取首个所述待加密数据的时间的时间间隔小于所述第一预设时间阈值时,继续获取其他的待加密数据。
本发明的又一个方面提供了一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的数据加密方法和/或数据解密方法。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的数据加密方法和/或数据解密方法。
本发明提供的数据加密方法,在获取到待加密数据之后,并不是如现有技术那般直接调用国密算法对待加密数据加密,而是判断获取到的所有待加密数据的长度总和是否大于等于第一预设长度阈值,若是则直接调用预设加密算法对获取到的所有待加密数据共同进行加密,否则继续获取其他的待加密数据,直至长度总和大于等于第一预设长度阈值时,才调用预设加密算法对获取到的所有待加密数据共同进行加密,本发明提供的数据加密方法有效的减少调用预设加密算法的次数,提高了系统性能。并且,鉴于解密端对已加密总数据解密后会得到一个整体的已解密数据,该整体的已解密数据即为所有待加密数据的拼接,而为了后续得到每个原始数据,即每个待加密数据,需要根据位置信息对已解密数据拆分,基于此,发送端在向接收端发送报文时,还需要将各个位置信息也添加在报文中,以保证解密的完整性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明实施例一的数据加密方法的流程图;
图2示意性示出了根据本发明实施例二的数据解密方法的流程图;
图3示意性示出了根据本发明实施例三的数据加密装置的框图;
图4示意性示出了根据本发明实施例四的数据解密装置的框图;
图5示意性示出了根据本发明实施例五的数据传输系统的框图;
图6示意性示出了根据本发明实施例六的适于实现数据加密方法和/或数据解密方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
应用场景
随着企业网络的发展,很多企业需要在各自的总部和分部之间进行资源共享和协同合作,但是网络专线费用太高,因此VPN(Virtual Private Network,虚拟专用网络)技术应运而生。本发明可以应用于国密VPN场景,既在使用国密VPN传输数据时,可以使用国密算法对传输的数据加解密。但是现有技术未考虑数据的长度,当需要对大量长度较小的数据加密时,现有技术需要频繁调用国密算法,严重影响系统的性能。基于上述缺陷,在接收端和发送端基于ESP(Encapsulate Security Payload,封装安全载荷)封装的隧道传输数据时,本发明只有在数据长度累计到达第一预设长度阈值时,才调用国密算法完成对数据的加密。例如,对于需要加密的数据,在数据的累计长度达到第一预设长度阈值时,调用国密算法对这些数据一起加密,然后将加密结果通过国密VPN发送至对端设备。
需要说明的是,本发明的应用场景仅仅是一个示例,其并不对本发明的保护范围造成限定。
实施例一
图1示意性示出了根据本发明实施例一的数据加密方法的流程图。如图1所示,该实施例一所述的数据加密方法可以包括步骤S11~步骤S15,其中:
步骤S11,获取待加密数据。
本实施例中,可以预先创建一个空的数组De,用于存储获取的待加密数据。每次获取的待加密数据可以称为一个待加密数据单元,且可以将每次获取的待加密数据存储于数组De中。
步骤S12,确定获取到的所有所述待加密数据的长度总和。
每个待加密数据可以对应一个长度,所有的待加密数据可以对应一个长度总和。在首次获取一个待加密数据时,步骤S12确定的长度总和即为一个待加密数据的长度。由于本实施例可以将每次获取的待加密数据存储于数组De中,因此步骤S12可以是确定数组De的长度,既le。
步骤S13,判断所述长度总和是否大于等于第一预设长度阈值。
进一步,在对获取的所有待加密数据加密之前,需要判断是否满足加密条件,既长度总和是否大于等于第一预设长度阈值,在长度总和大于等于第一预设长度阈值时,执行步骤S15;在长度总和小于第一预设长度阈值时,执行步骤S14。
步骤S14,在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据,直至所述长度总和大于等于所述第一预设长度阈值。
本实施例中,在不满足加密条件时,需要继续获取其他的待加密数据,然后将依然将继续获取的待加密数据存储于数组De中,每次存储后,可以判断当前数组De的长度le是否大于等于第一预设长度阈值,若是,则执行步骤S15,否则继续获取其他的待加密数据,直至长度总和大于等于第一预设长度阈值。
可选地,步骤S14中在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据的步骤可以包括步骤S141~步骤S143,其中:
步骤S141,在所述长度总和小于所述第一预设长度阈值时,从截止到当前时间获取到的所有所述待加密数据中,确定获取首个所述待加密数据的时间;
步骤S142,判断距离获取首个所述待加密数据的时间的时间间隔是否大于等于第一预设时间阈值;
步骤S143,在距离获取首个所述待加密数据的时间的时间间隔小于所述第一预设时间阈值时,继续获取其他的待加密数据。
其中,在距离获取首个待加密数据的时间的时间间隔大于等于第一预设时间阈值时,调用预设加密算法对获取到的所有待加密数据加密。
为了避免长时间等待后,依然无法满足加密条件,从而导致系统长时间的停滞,影响传输进度,本实施例可以增加对时间的限定,既截止到当前时间为止,从目前获取的所有待加密数据中确定获取首个待加密数据的时间,然后计算当前时间距离获取首个待加密数据的时间的时间间隔,当该时间间隔大于等于第一预设时间阈值时,不再继续等待其他的待加密数据,而是立即调用预设加密算法对获取到的所有待加密数据加密;否则,可以继续获取其他的待加密数据。
可选地,可以在获取到首个待加密数据时开启计时器,且计时器的初始值为0,则步骤S142可以是判断计时器的时间是否大于等于第一预设时间阈值。在调用预设加密算法对获取到的所有待加密数据加密后,可以将计时器和数组De清0。
步骤S15,在所述长度总和大于等于所述第一预设长度阈值时,调用预设加密算法对获取到的所有所述待加密数据加密,得到已加密总数据。
一旦长度总和大于等于第一预设长度阈值,既数组De的长度le大于等于第一预设长度阈值,便可调用预设加密算法对获取到的所有待加密数据一起进行加密。其中,预设加密算法可以为国密算法,如国密算法中的对称加密算法、国密SM1算法或国密SM4算法等。
可选地,该数据加密方法还可以包括:确定调用所述预设加密算法对获取到的所有所述待加密数据加密时每个所述待加密数据的位置信息;根据所述已加密总数据和每个所述待加密数据的位置信息构建报文。
本实施例中,还可以构建整型数组Le,用于存储获取的每个待加密数据的长度,且存储顺序与获取的每个待加密数据的顺序一致,也既与数组De中存储的每个待加密数据的顺序一致。其中,可以在每次获取到一个待加密数据之后,除了将该待加密数据存储到数组De中之外,还可以确定该待加密数据的长度,并将该长度存储至数组Le中。每个待加密数据的位置信息包括存储的位置和长度。
进一步,由于在长度总和大于等于第一预设长度阈值之后,已加密总数据是对获取的所有待加密数据共同加密后得到的,既是对数组De中存储所有的待加密数据进行加密得到的,因此在解密时,会先对已加密总数据解密得到一个整体的已解密数据,该整体的已解密数据即为所有待加密数据的拼接。而为了后续得到每个原始数据,即每个待加密数据,需要根据位置信息对已解密数据拆分,基于此,发送端在向接收端发送报文时,需要将各个位置信息也添加在报文中。
具体地,根据所述已加密总数据和每个所述待加密数据的位置信息构建报文可以包括步骤A1和步骤A2,其中:
步骤A1,获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的;
步骤A2,根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建所述报文。
本实施例中,当表示接收端对已加密总数据解密后,需要将解密后的数据进行拆分时,还可以报文中添加一个合并标识,该合并标识表征已加密总数据是通过预设加密算法对获取到的所有待加密数据加密得到的。通过增加合并标识,可以使接收端快速准确地判断接收到的已加密总数据是通过何种方式加密的,以便接收端在得知接收到的已加密总数据是一个总的整体时,在接收端完成解密后,对解密数据进程拆分。
需要说明的是,第一预设长度阈值和第一预设时间阈值可以根据具体的设备环境和用户需求设定,如在国密VPN场景下,可以通过打流方式获取国密VPN下预设加密算法的吞吐量,并进行大量测试,将最好的吞吐量对应的第一预设长度阈值和第一预设时间阈值应用在实际场景中。
本发明提供的数据加密方法,在获取到待加密数据之后,并不是如现有技术那般直接调用国密算法对待加密数据加密,而是判断获取到的所有待加密数据的长度总和是否大于等于第一预设长度阈值,若是则直接调用预设加密算法对获取到的所有待加密数据共同进行加密,否则继续获取其他的待加密数据,直至长度总和大于等于第一预设长度阈值时,才调用预设加密算法对获取到的所有待加密数据共同进行加密,本发明提供的数据加密方法有效的减少调用预设加密算法的次数,提高了系统性能。并且,鉴于解密端对已加密总数据解密后会得到一个整体的已解密数据,该整体的已解密数据即为所有待加密数据的拼接,而为了后续得到每个原始数据,即每个待加密数据,需要根据位置信息对已解密数据拆分,基于此,发送端在向接收端发送报文时,还需要将各个位置信息也添加在报文中,以保证解密的完整性。
实施例二
发明人在提供与实施例一的数据加密方法对应的数据解密方法时,考虑到数据解密的特殊性:若对一个整体数据加密得到加密结果后,解密时将多个加密结果作为一个整体进行解密,会导致解密数据错误,例如,在CBC模式下,加密算法实现规则为:先将数据包分块,然后前一块加密的密文作为下一块的IV(Initialization Vector,初始化向量),和密钥配合进行加解密。在解密时,如果如数据加密方法那般在长度总和达到一定程度后再对所有的已加密总数据整体进行解密,则排列在非首位的已加密总数据无法获得自己的IV,会导致解密失败,同时CFB模式和OFB模式有与其类似的原因。基于此,发明人提供的数据解密方法时,并不会如实施例一的数据加密方法那般根据长度总和确定何时进行解密,而是在接收到报文后直接进行数据解密,但是若判断出已解密数据是由多个原始数据拼接形成的,则需要对已解密数据拆分,以保证解密的完整性。
本实施例提供了一种数据解密方法。具体地,图2示意性示出了根据本发明实施例二的数据解密方法的流程图,如图2所示,该实施例二所述的数据解密方法可以包括步骤S21~步骤S25,其中:
步骤S21,接收对端设备发送的报文。
其中,对端设备发送的报文是通过实施例一所述方法构建的。
步骤S22,调用预设加密算法对所述报文中携带的已加密总数据解密,得到已解密数据。
本实施例中,已加密总数据可以是从对端设备发送过来的报文中解析出来的。
步骤S23,判断是否需要对所述已解密数据进行拆分。
判断是否需要对所述已解密数据进行拆分的步骤包括:判断所述报文是否携带有合并标识。若是,需要对所述已解密数据进行拆分,且表明所述发送端发送的报文是根据步骤A1和步骤A2构建的。
步骤S24,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息。
在需要对已解密数据拆分时,表明已解密数据是实施例一中所有待加密数据整体拼接得到的,因此需要根据各个位置信息对已解密数据进行拆分,其中,位置信息的具体内容可参见实施例一。
其中,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息的步骤包括:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
步骤S25,将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息的已解密子数据。
由于本实施例的已解密数据是由所有待加密数据(此处的待加密数据即为本实施例中的已解密子数据)拼接得到的,因此需要从已解密数据将各个已解密子数据拆分出来,此时可以先从报文中获取每个已解密子数据的位置信息,然后以各个已解密子数据的位置信息的排列顺序作为拆分顺序,从已解密数据中拆分出每个位置信息对应的数据作为一个已解密子数据。
本发明提供的数据解密方法,依赖于数据加密方法的技术特征和技术效果,在已加密数据是对多个待加密数据整体加密后得到的数据时,解密端在解密已加密数据得到已解密数据后,该已解密数据即为这些待加密数据整体拼接得到的数据,为了保证解密的完整性,还需要对已解密数据拆分,由于报文中已经携带各个位置信息,因此通过位置信息即可从已解密数据中拆分出对应的已解密子数据,即各个待加密数据,也即各个原始数据。
实施例三
本发明的实施例三提供了一种数据加密装置,该数据加密装置与上述实施例一相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例一。具体地,图3示意性示出了根据本发明实施例三的数据加密装置的框图,如图3所示,该数据加密装置300可以包括第一获取模块301、第一确定模块302、第一判断模块303、第二获取模块304和加密模块305,其中:
第一获取模块301,用于获取待加密数据;
第一确定模块302,用于确定获取到的所有所述待加密数据的长度总和;
第一判断模块303,用于判断所述长度总和是否大于等于第一预设长度阈值;
第二获取模块304,用于在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据,直至所述长度总和大于等于所述第一预设长度阈值;
加密模块305,用于在所述长度总和大于等于所述第一预设长度阈值时,调用预设加密算法对获取到的所有所述待加密数据加密,得到已加密总数据。
可选地,所述装置还包括:第二确定模块,用于确定调用所述预设加密算法对获取到的所有所述待加密数据加密时每个所述待加密数据的位置信息;构建模块,用于根据所述已加密总数据和每个所述待加密数据的位置信息构建报文。
可选地,构建模块还用于:获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的;根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建所述报文。
可选地,第二获取模块在执行在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据的步骤时,还用于:在所述长度总和小于所述第一预设长度阈值时,从截止到当前时间获取到的所有所述待加密数据中,确定获取首个所述待加密数据的时间;判断距离获取首个所述待加密数据的时间的时间间隔是否大于等于第一预设时间阈值;在距离获取首个所述待加密数据的时间的时间间隔小于所述第一预设时间阈值时,继续获取其他的待加密数据。
实施例四
本发明的实施例四提供了一种数据解密装置,该数据解密装置与上述实施例二相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例二。具体地,图4示意性示出了根据本发明实施例四的数据解密装置的框图,如图4所示,该数据解密装置400可以包括接收模块401、调用模块402、第二判断模块403、第三获取模块404和拆分模块405,其中:
接收模块401,用于接收对端设备发送的报文;
调用模块402,用于调用预设加密算法对所述报文中携带的已加密总数据解密,得到已解密数据;
第二判断模块403,用于判断是否需要对所述已解密数据进行拆分;
第三获取模块404,用于在需要对所述已解密数据拆分时,获取所述报文携带的位置信息;
拆分模块405,用于将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息的已解密子数据。
可选地,第二判断模块还用于:判断所述报文是否携带有合并标识;相应地,第三获取模块还用于:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
实施例五
本发明的实施例五提供了一种数据传输系统,该数据传输系统与上述实施例一和实施例二相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例一和实施例二。具体地,图5示意性示出了根据本发明实施例五的数据传输系统的框图,如图5所示,该数据传输系统500可以包括发送端501和接收端502,其中:
所述发送端501用于:获取目标数据,确定获取到的所有所述目标数据的长度总和,作为第一长度总和,判断所述第一长度总和是否大于等于第一预设长度阈值,在所述第一长度总和小于所述第一预设长度阈值时,继续获取其他的目标数据,直至所述第一长度总和大于等于所述第一预设长度阈值,在所述第一长度总和大于等于所述第一预设长度阈值时,调用对称加密算法对获取到的所有所述目标数据加密,得到已加密总数据,确定调用所述预设加密算法对获取到的所有所述目标数据加密时每个所述目标数据的位置信息,根据所述已加密总数据和每个所述待加密数据的位置信息构建一个报文;
所述接收端502用于:接收所述发送端501发送的所述报文,调用预设加密算法对所述报文中携带的已加密总数据解密,得到已解密数据,判断是否需要对所述已解密数据进行拆分,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息,将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息对应的所述目标数据。
可选地,所述发送端在执行根据所述已加密总数据和每个所述待加密数据的位置信息构建一个报文的步骤时,还用于:获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的,根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建一个所述报文;所述接收端在执行判断是否需要对所述已解密数据进行拆分的步骤时,还用于:判断所述报文是否携带有所述合并标识;所述接收端在执行在需要对所述已解密数据拆分时,获取所述报文携带的位置信息的步骤时,还用于:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
可选地,所述预设加密算法为对称加密算法,所述发送端在根据所述已加密总数据和每个所述待加密数据的位置信息构建至少一个报文时,还用于:将每个所述待加密数据的位置信息的排列顺序作为拆分顺序,依次从所述已加密总数据中拆分出与每个所述待加密数据的长度相对应的数据,得到每个所述待加密数据的已加密数据;根据拆分出的任一所述已加密数据构建一个所述报文;相应地,所述接收端还用于:在判断是否需要对所述已解密数据进行拆分的步骤之后,在不需要对所述已解密数据拆分时,将所述已解密数据作为最终的解密数据。
可选地,所述发送端在执行在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据的步骤时,还用于:在所述长度总和小于所述第一预设长度阈值时,从截止到当前时间获取到的所有所述待加密数据中,确定获取首个所述待加密数据的时间;判断距离获取首个所述待加密数据的时间的时间间隔是否大于等于第一预设时间阈值;在距离获取首个所述待加密数据的时间的时间间隔小于所述第一预设时间阈值时,继续获取其他的待加密数据。
实施例六
图6示意性示出了根据本发明实施例六的适于实现数据加密方法和/或数据解密方法的计算机设备的框图。本实施例中,计算机设备600可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,本实施例的计算机设备600至少包括但不限于:可通过系统总线相互通信连接的存储器601、处理器602、网络接口603。需要指出的是,图6仅示出了具有组件601-603的计算机设备600,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器603至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器601可以是计算机设备600的内部存储单元,例如该计算机设备600的硬盘或内存。在另一些实施例中,存储器601也可以是计算机设备600的外部存储设备,例如该计算机设备600上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器601还可以既包括计算机设备600的内部存储单元也包括其外部存储设备。在本实施例中,存储器601通常用于存储安装于计算机设备600的操作系统和各类应用软件,例如数据加密方法的程序代码和/或数据解密方法的程序代码等。此外,存储器601还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器602在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器602通常用于控制计算机设备600的总体操作。例如执行与计算机设备600进行数据交互或者通信相关的控制和处理等的数据加密方法的程序代码和/或数据解密方法的程序代码。
在本实施例中,存储于存储器601中的数据加密方法和/或数据解密方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器602)所执行,以完成本发明。
网络接口603可包括无线网络接口或有线网络接口,该网络接口603通常用于在计算机设备600与其他计算机设备之间建立通信链接。例如,网络接口603用于通过网络将计算机设备600与外部终端相连,在计算机设备600与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
实施例七
本实施例七还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现数据加密方法和/或数据解密方法。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
本发明上述实施例序号仅仅为了描述,并不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据加密方法,其特征在于,应用于国密VPN场景,所述方法包括:
获取待加密数据,其中,预先创建一个空的数组De,将每次获取的待加密数据存储于数组De中;
确定获取到的所有所述待加密数据的长度总和,其中,所述长度总和为数组De的长度;
判断所述长度总和是否大于等于第一预设长度阈值;
在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据,直至所述长度总和大于等于所述第一预设长度阈值;
在所述长度总和大于等于所述第一预设长度阈值时,调用预设加密算法对获取到的所有所述待加密数据加密,得到已加密总数据,其中,在调用预设加密算法对获取到的所有待加密数据加密后,将数组De清0;在国密VPN场景下,通过打流方式获取国密VPN下预设加密算法的吞吐量,并进行大量测试,将最好的吞吐量对应的第一预设长度阈值应用在实际场景中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定调用所述预设加密算法对获取到的所有所述待加密数据加密时每个所述待加密数据的位置信息;
根据所述已加密总数据和每个所述待加密数据的位置信息构建报文。
3.根据权利要求2所述的方法,其特征在于,根据所述已加密总数据和每个所述待加密数据的位置信息构建报文的步骤包括:
获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的;
根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建所述报文。
4.根据权利要求1所述的方法,其特征在于,在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据的步骤包括:
在所述长度总和小于所述第一预设长度阈值时,从截止到当前时间获取到的所有所述待加密数据中,确定获取首个所述待加密数据的时间;
判断距离获取首个所述待加密数据的时间的时间间隔是否大于等于第一预设时间阈值;
在距离获取首个所述待加密数据的时间的时间间隔小于所述第一预设时间阈值时,继续获取其他的待加密数据。
5.一种数据解密方法,其特征在于,应用于国密VPN场景,所述方法包括:
接收对端设备发送的报文,其中,所述报文是所述对端设备通过以下步骤获得的:获取待加密数据,其中,预先创建一个空的数组De,将每次获取的待加密数据存储于数组De中;确定获取到的所有所述待加密数据的长度总和,其中,所述长度总和为数组De的长度;判断所述长度总和是否大于等于第一预设长度阈值;在所述长度总和小于所述第一预设长度阈值时,继续获取其他的待加密数据,直至所述长度总和大于等于所述第一预设长度阈值;在所述长度总和大于等于所述第一预设长度阈值时,调用预设加密算法对获取到的所有所述待加密数据加密,得到已加密总数据,其中,在调用预设加密算法对获取到的所有待加密数据加密后,将数组De清0;确定调用所述预设加密算法对获取到的所有所述待加密数据加密时每个所述待加密数据的位置信息;根据所述已加密总数据和每个所述待加密数据的位置信息构建报文;在国密VPN场景下,通过打流方式获取国密VPN下预设加密算法的吞吐量,并进行大量测试,将最好的吞吐量对应的第一预设长度阈值应用在实际场景中;
调用预设加密算法对所述报文中携带的待解密数据解密,得到已解密数据;
判断是否需要对所述已解密数据进行拆分;
在需要对所述已解密数据拆分时,获取所述报文携带的位置信息;
将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息的已解密子数据。
6.根据权利要求5所述的方法,其特征在于,
判断是否需要对所述已解密数据进行拆分的步骤包括:判断所述报文是否携带有合并标识;
相应地,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息的步骤包括:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
7.一种数据传输系统,其特征在于,应用于国密VPN场景,包括发送端和接收端,其中:
所述发送端用于:获取目标数据,确定获取到的所有所述目标数据的长度总和,作为第一长度总和,判断所述第一长度总和是否大于等于第一预设长度阈值,在所述第一长度总和小于所述第一预设长度阈值时,继续获取其他的目标数据,直至所述第一长度总和大于等于所述第一预设长度阈值,在所述第一长度总和大于等于所述第一预设长度阈值时,调用对称加密算法对获取到的所有所述目标数据加密,得到已加密总数据,确定调用预设加密算法对获取到的所有所述目标数据加密时每个所述目标数据的位置信息,根据所述已加密总数据和每个待加密数据的位置信息构建一个报文,其中,预先创建一个空的数组De,将每次获取的目标数据存储于数组De中,所述第一长度总和为数组De的长度,在调用对称加密算法对获取到的所有所述目标数据加密后,将数组De清0;在国密VPN场景下,通过打流方式获取国密VPN下预设加密算法的吞吐量,并进行大量测试,将最好的吞吐量对应的第一预设长度阈值应用在实际场景中;
所述接收端用于:接收所述发送端发送的所述报文,调用预设加密算法对所述报文中携带的已加密总数据解密,得到已解密数据,判断是否需要对所述已解密数据进行拆分,在需要对所述已解密数据拆分时,获取所述报文携带的位置信息,将每个所述位置信息的排列顺序作为拆分顺序,依次从所述已解密数据中拆分出与每个所述位置信息相对应的数据,得到每个所述位置信息对应的所述目标数据。
8.根据权利要求7所述的系统,其特征在于,
所述发送端在执行根据所述已加密总数据和每个所述待加密数据的位置信息构建一个报文的步骤时,还用于:获取合并标识,其中,所述合并标识表征所述已加密总数据是通过所述预设加密算法对获取到的所有所述待加密数据加密得到的,根据所述已加密总数据、每个所述待加密数据的位置信息和所述合并标识构建一个所述报文;
所述接收端在执行判断是否需要对所述已解密数据进行拆分的步骤时,还用于:判断所述报文是否携带有所述合并标识;
所述接收端在执行在需要对所述已解密数据拆分时,获取所述报文携带的位置信息的步骤时,还用于:在所述报文携带有所述合并标识时,获取所述报文携带的位置信息。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法和/或权利要求5至6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的方法和/或权利要求5至6任一项所述的方法。
CN202010023467.3A 2020-01-09 2020-01-09 一种数据加密方法、数据解密方法、系统、设备和介质 Active CN111262837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010023467.3A CN111262837B (zh) 2020-01-09 2020-01-09 一种数据加密方法、数据解密方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010023467.3A CN111262837B (zh) 2020-01-09 2020-01-09 一种数据加密方法、数据解密方法、系统、设备和介质

Publications (2)

Publication Number Publication Date
CN111262837A CN111262837A (zh) 2020-06-09
CN111262837B true CN111262837B (zh) 2023-04-11

Family

ID=70953938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010023467.3A Active CN111262837B (zh) 2020-01-09 2020-01-09 一种数据加密方法、数据解密方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN111262837B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116484407B (zh) * 2023-04-23 2024-03-22 深圳市天下房仓科技有限公司 一种数据安全保护方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508880A (zh) * 2011-10-18 2012-06-20 广东威创视讯科技股份有限公司 一种文件合并方法及分解方法
CN105517177A (zh) * 2015-12-10 2016-04-20 北京大学 一种上行链路分组接入系统中的小数据包调度方法
CN107070613A (zh) * 2017-03-22 2017-08-18 公安部交通管理科学研究所 分布式网络环境下数据可靠传输方法
CN107092604A (zh) * 2016-02-18 2017-08-25 中国移动通信集团河北有限公司 一种文件处理方法和装置
CN107896222A (zh) * 2017-12-04 2018-04-10 山东渔翁信息技术股份有限公司 一种数据处理方法及系统
CN108614837A (zh) * 2016-12-13 2018-10-02 杭州海康威视数字技术股份有限公司 文件存储和检索的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10122783B2 (en) * 2015-11-18 2018-11-06 Microsoft Technology Licensing, Llc Dynamic data-ingestion pipeline
CN106792608B (zh) * 2016-09-29 2018-11-16 展讯通信(上海)有限公司 小数据包传输方法、装置及终端
CN109510700B (zh) * 2018-12-20 2019-08-30 滨州学院 一种基于混沌加密的数据传输系统
CN109660568B (zh) * 2019-02-25 2021-04-30 华侨大学 基于srtp实现网络对讲安全机制的方法、设备及系统
CN110647497A (zh) * 2019-07-19 2020-01-03 广东工业大学 一种基于hdfs的高性能文件存储与管理系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508880A (zh) * 2011-10-18 2012-06-20 广东威创视讯科技股份有限公司 一种文件合并方法及分解方法
CN105517177A (zh) * 2015-12-10 2016-04-20 北京大学 一种上行链路分组接入系统中的小数据包调度方法
CN107092604A (zh) * 2016-02-18 2017-08-25 中国移动通信集团河北有限公司 一种文件处理方法和装置
CN108614837A (zh) * 2016-12-13 2018-10-02 杭州海康威视数字技术股份有限公司 文件存储和检索的方法及装置
CN107070613A (zh) * 2017-03-22 2017-08-18 公安部交通管理科学研究所 分布式网络环境下数据可靠传输方法
CN107896222A (zh) * 2017-12-04 2018-04-10 山东渔翁信息技术股份有限公司 一种数据处理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
海量样本数据集中小文件的存取优化研究;马振等;《计算机工程与应用》;20181115(第22期);第85-89页 *

Also Published As

Publication number Publication date
CN111262837A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111132138B (zh) 一种移动应用程序透明通信保护方法与装置
CN109948347B (zh) 一种数据存储方法及装置、服务器及可读存储介质
CN110995759A (zh) 物联网的接入方法以及装置
CN113141365B (zh) 分布式微服务数据传输的方法、装置、系统和电子设备
CN113032357A (zh) 文件的存储方法、装置和服务器
CN110620762A (zh) 基于rdma的数据传输方法、网卡、服务器及介质
CN112422494B (zh) 数据传输方法、数据安全验证方法及数据传输系统
EP3306855A1 (en) Authentication device, authentication system, authentication method, and program
CN114363055B (zh) 数据传输方法、装置、计算机设备和存储介质
CN108418679B (zh) 一种多数据中心下处理密钥的方法、装置及电子设备
CN114142995B (zh) 面向区块链中继通信网络的密钥安全分发方法及装置
CN111538512A (zh) 一种空中下载技术ota固件升级方法、装置及设备
CN115150821A (zh) 离线包的传输、存储方法及装置
CN111262837B (zh) 一种数据加密方法、数据解密方法、系统、设备和介质
CN111294359B (zh) 压力测试方法、装置、计算机设备和存储介质
CN112217769B (zh) 基于隧道的数据解密方法、加密方法、装置、设备和介质
CN114830572A (zh) 一种数据传输方法、装置、设备、系统及存储介质
CN107343001B (zh) 数据处理方法及装置
CN108337083B (zh) 自动化测试过程中生成密钥的方法及装置
CN115664511A (zh) 卫星数据传输方法、装置、电子设备及存储介质
CN114826748A (zh) 基于rtp、udp及ip协议的音视频流数据加密方法和装置
CN114611129A (zh) 一种数据隐私保护方法和系统
CN110381034B (zh) 一种报文处理方法、装置、设备及可读存储介质
CN110808975B (zh) 敏感数据传输方法、装置、计算机设备和存储介质
CN113158218A (zh) 数据加密方法、装置及数据解密方法、装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: QAX Technology Group Inc.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: QAX Technology Group Inc.

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

GR01 Patent grant
GR01 Patent grant