CN105356996B - 一种密文处理方法、电子设备及密文处理装置 - Google Patents
一种密文处理方法、电子设备及密文处理装置 Download PDFInfo
- Publication number
- CN105356996B CN105356996B CN201510926668.3A CN201510926668A CN105356996B CN 105356996 B CN105356996 B CN 105356996B CN 201510926668 A CN201510926668 A CN 201510926668A CN 105356996 B CN105356996 B CN 105356996B
- Authority
- CN
- China
- Prior art keywords
- data
- group
- length
- processing
- last group
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密文处理方法、电子设备及密文处理装置,其中,密文处理方法包括:获取待处理数据,按照预定长度将所述待处理数据分成M组;控制分组后的所述待处理数据依次进入N级数据处理;其中,N为不小于1的整数;当最后一组数据不满足预定长度时,在确定M大于N时,获取第1组至第M‑N组已处理的数据中任一组数据的目标长度的数据内容;将所述目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到预定长度;当处理到最后一组数据时,直接控制数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理;由此可见,本发明能够保证数据处理的连续进行,不会出现断流现象,提高了系统的吞吐率。
Description
技术领域
本发明涉及密文处理技术领域,更具体的说是涉及一种密文处理方法、电子设备及密文处理装置。
背景技术
在信息存储领域,为了保证信息的安全性,一般需要对待存储的数据进行加密解密处理。例如,可以采用AES算法对数据进行加密解密处理,在AES算法中,以加密为例,需要将待加密的数据划分为一组一组的数据块,每一组数据的位数应为目标位数,如128位,当待加密的数据不是目标位数的倍数时,将会导致最后一组数据的位数小于目标位数,而为了保证明文的长度与密文的长度相等,此时则需要进行密文窃取。其中,解密与加密过程类似,不再详述。
目前,针对AES算法的加解密装置一般采用流水线的方式来实现数据的加密或解密,针对这种方式,若最后一组数据的位数小于目标位数,则当确定加解密装置处理到倒数第二组数据时,会禁止最后一组数据流入流水线,而是等到倒数第二组数据完全走出流水线时,窃取倒数第二组数据,从而将得到的数据补充到最后一组数据中,使得最后一组数据的位数达到目标位数,然后进入流水线进行加密或解密计算。
而上述密文窃取过程中,等待倒数第二组数据完全走出流水线过程实际上是排空流水线的过程,显然,这种方式会造成流水线的断流,导致系统的吞吐率降低。
发明内容
有鉴于此,本发明提供一种密文处理方法、电子设备及密文处理装置,以解决现有技术的密文窃取方式会造成流水线的断流,导致系统吞吐率降低的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种密文处理方法,该方法包括:
获取待处理数据,按照预定长度将所述待处理数据分成M组;
控制分组后的所述待处理数据依次进入N级数据处理;其中,所述N为不小于1的整数;
当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
优选的,所述最后一组数据不满足所述预定长度之后,还包括:
在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理;
获取第1组已处理的数据中目标长度的数据内容;
将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
优选的,所述控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理之后,还包括:
当确定所述最后一组数据通过所述N级数据处理完成后,交换被获取目标长度的数据内容的一组数据与所述最后一组数据的位置。
优选的,所述控制分组后的所述待处理数据依次进入N级数据处理之后,还包括:
将处理完毕的数据以队列的方式依次存入到寄存器中;
所述交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据的位置,具体为:
交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
优选的,所述寄存器的组数由如下计算公式确定;
Y=M-X+1;
其中,所述Y为寄存器的组数,X为所述被获取目标长度的数据内容的组数。
优选的,所述N级数据处理具体为N级加密处理或N级解密处理。
一种电子设备,包括:
处理器,用于获取待处理数据,按照预定长度将所述待处理数据分成M组,控制分组后的所述待处理数据依次进入N级数据处理,当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度,当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理;
其中,所述N为不小于1的整数;
与所述处理器相连的寄存器,用于寄存所述N级数据处理后的数据。
优选的,所述处理器在最后一组数据不满足所述预定长度之后,还用于在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理,获取第1组已处理的数据中目标长度的数据内容,将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度,控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
优选的,所述处理器控制分组后的所述待处理数据依次进入N级数据处理之后,还用于交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
优选的,所述寄存器的组数由如下计算公式确定;
Y=M-X+1;
其中,所述Y为寄存器的组数,X为所述被获取目标长度的数据内容的组数。
优选的,所述N级数据处理具体为N级加密处理或N级解密处理。
一种密文处理装置,包括:
获取分组单元,用于获取待处理数据,按照预定长度将所述待处理数据分成M组;
第一控制单元,用于控制分组后的所述待处理数据依次进入N级数据处理;其中,所述N为不小于1的整数;
第一获取单元,用于当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
第一组合单元,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第二控制单元,用于当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
优选的,还包括:
第三控制单元,用于当最后一组数据不满足所述预定长度时,在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理;
第二获取单元,用于获取第1组已处理的数据中目标长度的数据内容;
第二组合单元,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第四控制单元,用于控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
优选的,还包括:
确定交换单元,用于当确定所述最后一组数据通过所述N级数据处理完成后,交换被获取目标长度的数据内容的一组数据与所述最后一组数据的位置。
优选的,还包括:
存入数据单元,用于将处理完毕的数据以队列的方式依次存入到寄存器中;
所述确定交换单元具体用于交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
优选的,所述寄存器的组数由如下计算公式确定;
Y=M-X+1;
其中,所述Y为寄存器的组数,X为所述被获取目标长度的数据内容的组数。
优选的,所述N级数据处理具体为N级加密处理或N级解密处理。
经由上述的技术方案可知,与现有技术相比,本发明实施例提供了一种密文处理方法,具体的,当最后一组数据不满足预定长度时,在确定M大于N时,获取第1至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到预定长度,当处理到最后一组数据时,直接控制数据长度达到预定长度的最后一组数据进入N级数据处理,由此可见,本发明能够保证数据处理的连续进行,不会出现断流现象,提高了系统的吞吐率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一提供的一种密文处理方法的流程示意图;
图2a为本发明实施例二提供的待处理数据分组以及2级数据处理的示意图;
图2b为本发明实施例二提供的分组后的数据进入2级数据处理的示意图;
图3为本发明实施例三公开的一种密文处理方法的流程示意图;
图4为本发明实施例四公开的一种密文处理方法的流程示意图;
图5为本发明实施例六公开的一种电子设备的结构示意图;
图6为本发明实施例九公开的一种密文处理装置的结构示意图;
图7为本发明实施例十提供的一种密文处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例一公开了一种密文处理方法,如图1所示,该方法包括以下过程:
步骤101:获取待处理数据,按照预定长度将所述待处理数据分为M组;
待处理数据为待加密或待解密的数据,在控制待处理数据进入N级数据处理前,需先按照预定长度将待处理数据划分为一组一组的数据块,而预定长度可以根据实际情况预先设定,本发明不做具体限定。例如,预定长度为128位。
步骤102:控制分组后的待处理数据依次进入N级数据处理;
其中,N为不小于1的整数。
将待处理数据分成M组后,依次控制待处理数据进入N级数据处理,需说明的是,N级数据处理以流水线的方式来实现对待处理数据的加密或解密。具体的,当需要对待处理数据加密时,N级数据处理为N级加密处理,当需要对待处理数据解密时,N级数据处理为N级解密处理。
步骤103:当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
在步骤101中按照预定长度对待处理数据进行分组时,每一组待处理数据的长度都应该为预定长度,如预定长度为128位,那么,每一组待处理数据的长度都应该为128位。因此,若待处理数据的总数据长度不是预定长度的倍数时,那么将导致最后一组数据的数据长度小于预定长度,此时在控制最后一组数据进入N级数据处理前,需先将最后一组数据的数据长度补充到预定长度。
在为最后一组数据补充数据前,需先获取到目标长度的数据,即获取第1至第M-N组已处理的数据中任一组数据的目标长度的数据内容。
需说明的是,由于N级数据处理采用流水线的方式对待处理数据进行数据处理,因此,N级数据处理最先处理完的数据为第1组数据,然后依次为第2组、第3组、…、第M-N组…。而第1至第M-N组均是在未处理到最后一组数据前已处理的数据,因此,为了保证数据处理的连续进行,可以从第1至第M-N组已处理的数据中选取任一组数据,从而从选取的该组数据中获取目标长度的数据内容。
优选的,可以获取第M-N组已处理的数据中目标长度的数据内容。
其中,目标长度为预定长度与最后一组数据的数据长度的差值。
需说明的是,为了使得未处理前数据与处理后数据的数据长度保持一致,被获取了目标长度的数据内容的一组数据将不再具有被获取了的数据内容,只具有除了目标长度的数据内容外剩余长度的数据内容即可。
步骤104:将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
获取到目标长度的数据内容后,则可以将该数据内容补充到最后一组数据中,使得最后一组数据的数据长度达到预定长度。
步骤105:当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
当处理到最后一组数据时,由于最后一组数据的数据长度已补充到预定长度,因此无需等待即可直接进入N级数据处理。
由此可见,在本实施例中,当最后一组数据不满足预定长度时,在确定M大于N时,获取第1至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到预定长度,当处理到最后一组数据时,直接控制数据长度达到预定长度的最后一组数据进入N级数据处理,即本发明能够保证数据处理的连续进行,不会出现断流现象,提高了系统的吞吐率。
为了便于理解,本发明实施例二通过一个具体实例阐述上述技术方案。
设定预定长度为128位,按照预定长度能够待处理数据分为4组,分别为第1组数据、第2组数据、第3组数据以及第4组数据,其中,第1组数据、第2组数据和第3组数据的数据长度为128位,而第4组数据的数据长度为100位。设数据处理的级数为2级,分别为第1级和第2级。其中,数据分组以及2级数据处理如图2a所示。
在控制分组后的待处理数据依次进入2级数据处理时,首先进入2级数据处理的第1级的为第1组数据,如图2b中的(一)所示。当第1级处理完第1组数据后,将其送入第2级后,那么,随之第2组数据进入第1级,如图2b中的(二)所示。当第2级处理完第1组数据后,将其输出,第1级在将第2组数据处理完后将其送入的第2级,随之第3组数据进入第1级,如图2b中的(三)所示。
其中,第1组数据即为已处理的数据,则可以从第1组已处理的数据中获取28位数据内容。当然,当第2级处理完第2组数据后,此时,还未触发第4组数据进入第1级数据处理,因此,也可以从第2组(即第M-N组)已处理完的数据中获取28位数据内容。然后将所获取的28为数据内容补充到第4组数据,使得第4组数据的数据长度达到128位,那么,当第一级将第3组数据处理完送入第2级后,则可以直接将补充完成的数据长度为128位的第4组数据送入第1级进行处理。
本发明实施例三公开了一种密文处理方法,如图3所示,该方法包括以下过程:
步骤301:获取待处理数据,按照预定长度将所述待处理数据分成M组;
步骤302:控制分组后的所述待处理数据依次进入N级数据处理;
其中,所述N为不小于1的整数。
步骤303:当最后一组数据不满足所述预定长度时,判断所述M是否大于所述N;若是,进入步骤304;若否,进入步骤307;
步骤304:获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
步骤305:将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
步骤306:当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理;
步骤307:控制最后一组数据暂停进入所述N级数据处理;
在M小于等于N的情况下,若最后一组数据满足预定长度,那么,在N级数据处理未处理完第1组数据的情况下,最后一组数据也会进入到N级数据处理,即会存在N级数据处理的不同级同时处理待处理数据的所有组数据的情况。而若最后一组数据不满足预定长度,为了将最后一组数据的数据长度补充完整,那么,在即将触发最后一组数据进入N级数据处理时,先控制最后一组数据暂停进入N级数据处理。
步骤308:获取第1组已处理的数据中目标长度的数据内容;
为了尽可能的减小数据断流的时间长度,本发明中,当第1组数据由N级数据处理完成后,直接获取第1组已处理的数据中目标长度的数据内容。
其中,目标长度为预定长度与最后一组数据的数据长度的差值。
需说明的是,为了使得未处理前数据与处理后数据的数据长度保证一致,第1组数据被获取了目标长度的数据内容后,只具有除了目标长度的数据内容外剩余长度的数据内容。
步骤309:将所述目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
获取到目标长度的数据内容后,则可以将该数据内容补充到最后一组数据中,使得最后一组数据的数据长度达到预定长度。
步骤310:控制所述数据长度达到所述预定长度的最后一组数据进入所述N级数据处理。
当最后一组数据的数据长度达到所述预定长度,直接控制补充完整后的最后一组数据直接进入N级数据处理。
由此可见,在本实施例中,当最后一组数据不满足所述预定长度时,在M小于等于N的情况下,直接获取第1组已处理的数据中目标长度的数据内容,并补充到最后一组数据中,从而控制最后一组数据进入到N级数据处理。相对于现有技术中,需等到倒数第二组数据完全走出流水线时,窃取倒数第二组数据,从而将得到的数据补充到最后一组数据中而言,本发明在一定程度上也能够减少数据断流的时间长度,提高系统的吞吐率。
本发明实施例四公开了一种密文处理方法,如图4所示,该方法包括以下步骤:
步骤401:获取待处理数据,按照预定长度将所述待处理数据分为M组;
步骤402:控制分组后的待处理数据依次进入N级数据处理;
其中,N为不小于1的整数。
步骤403:当最后一组数据不满足所述预定条件时,判断所述M是否大于N;若是,进入步骤404;若否,进入如步骤407;
步骤404:获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
步骤405:将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
步骤406:当处理到所在最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理;
步骤407:控制最后一组数据暂停进入所述N级数据处理;
步骤408:获取第1组已处理的数据中目标长度的数据内容;
步骤409:将所述目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
步骤410:控制所述数据长度达到所述预定长度的最后一组数据进入所述N级数据处理;
步骤411:当确定所述最后一组数据通过所述N级数据处理完成后,交换被获取目标长度的数据内容的一组数据与所述最后一组数据的位置。
为了保证分组数据的一致性,当从已处理的数据中获取目标长度的数据内容后,需交换被获取目标长度的数据内容的一组数据与最后一组数据的位置,这样能够保证仅是被交换的两组数据发生了位置上的变化,而其他组数据的数据内容仍保持不变。
例如,目标长度的数据内容是从第1组已处理的数据中获取的,那么,而未进行数据处理前的第一组数据在交换后变为最后1组数据,且其数据长度将缺少目标长度的数据内容。而未进行数据处理前的最后一组数据在交换后为第1组数据,其数据长度为预定长度。
本发明实施例五公开了一种密文处理方法,与实施例三不同的是,在本实施例中,步骤“控制分组后的所述待处理数据依次进入N级数据处理”之后,还包括以下步骤:
将处理完毕的数据以队列的方式依次存入到寄存器中;
相应的,步骤“交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据的位置”具体为:交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
也就是说,当确定N级数据处理处理完一组数据,则将其存入到寄存器中,当确定所述最后一组数据通过所述N级数据处理完成后,则交换所被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
需说明的是,为了为交换两组数据提供便利,本发明中通过寄存器来寄存被处理的数据,但是,需要尽量减少缓存数据的队列的长度,而由于数据会从寄存器的队尾流出,因此,只要保证寄存器的队尾寄存的为需要被获取目标长度的数据内容的组数即可。
即,寄存器的组数与数据的分组M以及被获取的目标长度的数据内容的组数相关,具体的,寄存器的组数可以由如下计算公式确定:
Y=M-X+1;
其中,Y为寄存器的组数,X为被获取目标长度的数据内容的组数,M为数据分组的组数。
例如,若从第1组已处理的数据中获取目标长度的数据内容,那么,寄存器的组数应该为M组,以保证当最后一组数据寄存到寄存器中,第1组数据未从寄存器的队尾流出,从而交换第1组数据的寄存位置和最后一组数据的寄存位置。
再例如,若从第M-N组已处理的数据中获取目标长度的数据内容,那么,寄存器的组数应该为N+1组,以保证当最后一组数据寄存到寄存器中,第N+1组数据未从寄存器的队尾流出,从而交换第M-N组数据的寄存位置和最后一组数据的寄存位置。
本发明实施例六公开了一种电子设备,如图5所示,该电子设备包括:处理器510以及寄存器520;其中:
处理器510,用于获取待处理数据,按照预定长度将所述待处理数据分成M组,控制分组后的所述待处理数据依次进入N级数据处理,当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度,当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
其中,所述N为不小于1的整数。
将待处理数据分成M组后,依次控制待处理数据进入N级数据处理,需说明的是,N级数据处理以流水线的方式来实现对待处理数据的加密或解密。具体的,当需要对待处理数据加密时,N级数据处理为N级加密处理,当需要对待处理数据解密时,N级数据处理为N级解密处理。
其中,目标长度为预定长度与最后一组数据的数据长度的差值。
需说明的是,为了使得未处理前数据与处理后数据的数据长度保持一致,被获取了目标长度的数据内容的一组数据将不再具有被获取了的数据内容,只具有除了目标长度的数据内容外剩余长度的数据内容即可。
寄存器520与处理器510相连,用于寄存所述N级数据处理后的数据。
强调的是,寄存器以队列的方式寄存已处理完的数据。
由此可见,在本实施例中,当最后一组数据不满足预定长度时,在确定M大于N时,获取第1至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到预定长度,当处理到最后一组数据时,直接控制数据长度达到预定长度的最后一组数据进入N级数据处理,即本发明能够保证数据处理的连续进行,不会出现断流现象,提高了系统的吞吐率。
本发明实施例七公开了一种电子设备,与实施例六不同的是,在本实施例中,处理器在确定最后一组数据不满足所述预定长度之后,还用于在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理,获取第1组已处理的数据中目标长度的数据内容,将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度,控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
其中,目标长度为预定长度与最后一组数据的数据长度的差值。
需说明的是,为了使得未处理前数据与处理后数据的数据长度保证一致,第1组数据被获取了目标长度的数据内容后,只具有除了目标长度的数据内容外剩余长度的数据内容。
当最后一组数据的数据长度达到所述预定长度,直接控制补充完整后的最后一组数据直接进入N级数据处理。
由此可见,在本实施例中,当最后一组数据不满足所述预定长度时,在M小于等于N的情况下,直接获取第1组已处理的数据中目标长度的数据内容,并补充到最后一组数据中,从而控制最后一组数据进入到N级数据处理。相对于现有技术中,需等到倒数第二组数据完全走出流水线时,窃取倒数第二组数据,从而将得到的数据补充到最后一组数据中而言,本发明在一定程度上也能够减少数据断流的时间长度,提高系统的吞吐率。
本发明实施例八公开了一种电子设备,在实施例六和实施例七的基础上,处理器在控制分组后的所述待处理数据依次进入N级数据处理之后,还用于交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
需说明的是,为了为交换两组数据提供便利,本发明中通过寄存器来寄存被处理的数据,但是,需要尽量减少缓存数据的队列的长度,而由于数据会从寄存器的队尾流出,因此,只要保证寄存器的队尾寄存的为需要被获取目标长度的数据内容的组数即可。
即,寄存器的组数与数据的分组M以及被获取的目标长度的数据内容的组数相关,具体的,寄存器的组数可以由如下计算公式确定:
Y=M-X+1;
其中,Y为寄存器的组数,X为被获取目标长度的数据内容的组数,M为数据分组的组数。
本发明实施例九公开了一种密文处理装置,如图6所示,该装置包括:获取分组单元610、第一控制单元620、第一获取单元630、第一组合单元640以及第二控制单元650。其中:
获取分组单元610,用于获取待处理数据,按照预定长度将所述待处理数据分成M组;
第一控制单元620,用于控制分组后的所述待处理数据依次进入N级数据处理;
其中,所述N为不小于1的整数。
将待处理数据分成M组后,依次控制待处理数据进入N级数据处理,需说明的是,N级数据处理以流水线的方式来实现对待处理数据的加密或解密。具体的,当需要对待处理数据加密时,N级数据处理为N级加密处理,当需要对待处理数据解密时,N级数据处理为N级解密处理。
第一获取单元630,用于当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
其中,目标长度为预定长度与最后一组数据的数据长度的差值。
需说明的是,为了使得未处理前数据与处理后数据的数据长度保证一致,被获取了目标长度的数据内容的一组数据将不再具有被获取了的数据内容,只具有除了目标长度的数据内容外剩余长度的数据内容即可。
第一组合单元640,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第二控制单元650,用于当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
由此可见,在本实施例中,当最后一组数据不满足预定长度时,在确定M大于N时,获取第1至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将目标长度的数据内容与最后一组数据组合,以使得最后一组数据的数据长度达到预定长度,当处理到最后一组数据时,直接控制数据长度达到预定长度的最后一组数据进入N级数据处理,即本发明能够保证数据处理的连续进行,不会出现断流现象,提高了系统的吞吐率。
本发明实施例十公开了一种密文处理装置,如图7所示,该装置包括:获取分组单元710、第一控制单元720、第一获取单元730、第一组合单元740、第二控制单元750、第三控制单元760、第二获取单元770、第二组合单元780以及第四控制单元790。其中:
获取分组单元710,用于获取待处理数据,按照预定长度将所述待处理数据分成M组;
第一控制单元720,用于控制分组后的所述待处理数据依次进入N级数据处理;
其中,所述N为不小于1的整数。
第一获取单元730,用于当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;
第一组合单元740,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第二控制单元750,用于当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理;
第三控制单元760,用于当最后一组数据不满足所述预定长度时,在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理;
第二获取单元770,用于获取第1组已处理的数据中目标长度的数据内容;
其中,目标长度为预定长度与最后一组数据的数据长度的差值。
需说明的是,为了使得未处理前数据与处理后数据的数据长度保证一致,第1组数据被获取了目标长度的数据内容后,只具有除了目标长度的数据内容外剩余长度的数据内容。
第二组合单元780,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第四控制单元790,用于控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
由此可见,在本实施例中,当最后一组数据不满足所述预定长度时,在M小于等于N的情况下,直接获取第1组已处理的数据中目标长度的数据内容,并补充到最后一组数据中,从而控制最后一组数据进入到N级数据处理。相对于现有技术中,需等到倒数第二组数据完全走出流水线时,窃取倒数第二组数据,从而将得到的数据补充到最后一组数据中而言,本发明在一定程度上也能够减少数据断流的时间长度,提高系统的吞吐率。
本发明实施例十一公开了一种密文处理装置,在以上各实施例的基础上,还包括确定交换单元,具体的,所述确定交换单元,用于当确定所述最后一组数据通过所述N级数据处理完成后,交换被获取目标长度的数据内容的一组数据与所述最后一组数据的位置。
为了保证分组数据的一致性,当从已处理的数据中获取目标长度的数据内容后,需交换被获取目标长度的数据内容的一组数据与最后一组数据的位置,这样能够保证仅是被交换的两组数据发生了位置上的变化,而其他组数据的数据内容仍保持不变。
本发明实施例十二公开了一张密文处理装置,与实施例十一不同的是,在本实施例中,还包括:存入数据单元,其中,所述存入数据单元,用于将处理完毕的数据以队列的方式依次存入到寄存器中。
相应的,确定交换单元具体用于交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
也就是说,当确定N级数据处理处理完一组数据,则将其存入到寄存器中,当确定所述最后一组数据通过所述N级数据处理完成后,则交换所被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
其中,寄存器的组数与数据的分组M以及被获取的目标长度的数据内容的组数相关,具体的,寄存器的组数可以由如下计算公式确定:
Y=M-X+1;
其中,Y为寄存器的组数,X为被获取目标长度的数据内容的组数,M为数据分组的组数。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种密文处理方法,其特征在于,该方法包括:
获取待处理数据,按照预定长度将所述待处理数据分成M组;
控制分组后的所述待处理数据依次进入N级数据处理;其中,所述N为不小于1的整数;
当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;其中,所述第1组至第M-N组均是在未处理到最后一组数据前已处理的数据;
将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
2.根据权利要求1所述的方法,其特征在于,所述最后一组数据不满足所述预定长度之后,还包括:
在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理;
获取第1组已处理的数据中目标长度的数据内容;
将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理之后,还包括:
当确定所述最后一组数据通过所述N级数据处理完成后,交换被获取目标长度的数据内容的一组数据与所述最后一组数据的位置。
4.根据权利要求3所述的方法,其特征在于,所述控制分组后的所述待处理数据依次进入N级数据处理之后,还包括:
将处理完毕的数据以队列的方式依次存入到寄存器中;
所述交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据的位置,具体为:
交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
5.根据权利要求4所述的方法,其特征在于,所述寄存器的组数由如下计算公式确定;
Y=M-X+1;
其中,所述Y为寄存器的组数,X为所述被获取目标长度的数据内容的组数。
6.根据权利要求1所述的方法,其特征在于,所述N级数据处理具体为N级加密处理或N级解密处理。
7.一种电子设备,其特征在于,包括:
处理器,用于获取待处理数据,按照预定长度将所述待处理数据分成M组,控制分组后的所述待处理数据依次进入N级数据处理,当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容,将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度,当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理;
其中,所述N为不小于1的整数;所述第1组至第M-N组均是在未处理到最后一组数据前已处理的数据
与所述处理器相连的寄存器,用于寄存所述N级数据处理后的数据。
8.根据权利要求7所述的电子设备,其特征在于,所述处理器在最后一组数据不满足所述预定长度之后,还用于在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理,获取第1组已处理的数据中目标长度的数据内容,将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度,控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
9.根据权利要求7-8任一项所述的电子设备,其特征在于,所述处理器控制分组后的所述待处理数据依次进入N级数据处理之后,还用于交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
10.根据权利要求7所述的电子设备,其特征在于,所述寄存器的组数由如下计算公式确定;
Y=M-X+1;
其中,所述Y为寄存器的组数,X为所述被获取目标长度的数据内容的组数。
11.根据权利要求7所述的电子设备,其特征在于,所述N级数据处理具体为N级加密处理或N级解密处理。
12.一种密文处理装置,其特征在于,包括:
获取分组单元,用于获取待处理数据,按照预定长度将所述待处理数据分成M组;
第一控制单元,用于控制分组后的所述待处理数据依次进入N级数据处理;其中,所述N为不小于1的整数;
第一获取单元,用于当最后一组数据不满足所述预定长度时,在确定所述M大于所述N时,获取第1组至第M-N组已处理的数据中任一组数据的目标长度的数据内容;其中,所述第1组至第M-N组均是在未处理到最后一组数据前已处理的数据;
第一组合单元,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第二控制单元,用于当处理到所述最后一组数据时,直接控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
13.根据权利要求12所述的装置,其特征在于,还包括:
第三控制单元,用于当最后一组数据不满足所述预定长度时,在确定所述M小于等于所述N时,控制最后一组数据暂停进入所述N级数据处理;
第二获取单元,用于获取第1组已处理的数据中目标长度的数据内容;
第二组合单元,用于将所述目标长度的数据内容与所述最后一组数据组合,以使得最后一组数据的数据长度达到所述预定长度;
第四控制单元,用于控制所述数据长度达到所述预定长度的所述最后一组数据进入所述N级数据处理。
14.根据权利要求12-13任一项所述的装置,其特征在于,还包括:
确定交换单元,用于当确定所述最后一组数据通过所述N级数据处理完成后,交换被获取目标长度的数据内容的一组数据与所述最后一组数据的位置。
15.根据权利要求14所述的装置,其特征在于,还包括:
存入数据单元,用于将处理完毕的数据以队列的方式依次存入到寄存器中;
所述确定交换单元具体用于交换所述被获取目标长度的数据内容的一组数据与所述最后一组数据在所述寄存器中的寄存位置。
16.根据权利要求15所述的装置,其特征在于,所述寄存器的组数由如下计算公式确定;
Y=M-X+1;
其中,所述Y为寄存器的组数,X为所述被获取目标长度的数据内容的组数。
17.根据权利要求12所述的装置,其特征在于,所述N级数据处理具体为N级加密处理或N级解密处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510926668.3A CN105356996B (zh) | 2015-12-14 | 2015-12-14 | 一种密文处理方法、电子设备及密文处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510926668.3A CN105356996B (zh) | 2015-12-14 | 2015-12-14 | 一种密文处理方法、电子设备及密文处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105356996A CN105356996A (zh) | 2016-02-24 |
CN105356996B true CN105356996B (zh) | 2018-11-09 |
Family
ID=55332876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510926668.3A Active CN105356996B (zh) | 2015-12-14 | 2015-12-14 | 一种密文处理方法、电子设备及密文处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105356996B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738238A (zh) * | 2005-09-08 | 2006-02-22 | 上海微科集成电路有限公司 | 高速可配置rsa加密算法及协处理器 |
CN101297279A (zh) * | 2005-10-26 | 2008-10-29 | 阿纳洛格装置公司 | 改善的流水线数字信号处理器 |
CN101431405A (zh) * | 2008-11-17 | 2009-05-13 | 暨南大学 | Des加密电路和方法及其硬件电路实现方法 |
CN101631111A (zh) * | 2008-07-18 | 2010-01-20 | 深圳市维信联合科技有限公司 | 数据处理方法及装置 |
CN101729242A (zh) * | 2008-10-29 | 2010-06-09 | 苏州中科集成电路设计中心有限公司 | 对称分组密码的生成方法及其装置 |
CN101764687A (zh) * | 2008-12-25 | 2010-06-30 | 上海华虹集成电路有限责任公司 | Ucps协议中采用aes算法对数据流加解密的硬件实现方法 |
CN101782956A (zh) * | 2010-02-09 | 2010-07-21 | 杭州晟元芯片技术有限公司 | 一种基于aes实时加密的数据保护方法及装置 |
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
CN102355349A (zh) * | 2011-06-28 | 2012-02-15 | 中国人民解放军国防科学技术大学 | 基于容错的idea全流水硬件加密方法 |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN103152165A (zh) * | 2013-01-25 | 2013-06-12 | 西安电子科技大学 | 基于fpga的超高速aes处理器及其实现方法 |
CN103427981A (zh) * | 2012-05-15 | 2013-12-04 | 北京华虹集成电路设计有限责任公司 | 一种实现加密、解密的方法以及装置 |
CN104393958A (zh) * | 2014-11-28 | 2015-03-04 | 成都航天通信设备有限责任公司 | 基于流水线的数据帧发送方法、接收方法 |
CN104639314A (zh) * | 2014-12-31 | 2015-05-20 | 深圳先进技术研究院 | 基于aes加密/解密算法的装置和流水控制方法 |
CN104734810A (zh) * | 2012-06-07 | 2015-06-24 | 飞天诚信科技股份有限公司 | 一种处理传输数据的方法和装置 |
CN104852798A (zh) * | 2015-05-11 | 2015-08-19 | 清华大学深圳研究生院 | 一种数据加解密系统及方法 |
CN105024805A (zh) * | 2015-07-24 | 2015-11-04 | 东南大学 | 一种改进的cbc模式3des加密方法 |
CN105049194A (zh) * | 2015-06-01 | 2015-11-11 | 北京时代民芯科技有限公司 | 一种流水线结构的sm4算法实现系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8194854B2 (en) * | 2008-02-27 | 2012-06-05 | Intel Corporation | Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation |
CN102385760A (zh) * | 2010-08-27 | 2012-03-21 | 国际商业机器公司 | 用于保护模型数据的方法及系统 |
-
2015
- 2015-12-14 CN CN201510926668.3A patent/CN105356996B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738238A (zh) * | 2005-09-08 | 2006-02-22 | 上海微科集成电路有限公司 | 高速可配置rsa加密算法及协处理器 |
CN101297279A (zh) * | 2005-10-26 | 2008-10-29 | 阿纳洛格装置公司 | 改善的流水线数字信号处理器 |
CN101631111A (zh) * | 2008-07-18 | 2010-01-20 | 深圳市维信联合科技有限公司 | 数据处理方法及装置 |
CN101729242A (zh) * | 2008-10-29 | 2010-06-09 | 苏州中科集成电路设计中心有限公司 | 对称分组密码的生成方法及其装置 |
CN101431405A (zh) * | 2008-11-17 | 2009-05-13 | 暨南大学 | Des加密电路和方法及其硬件电路实现方法 |
CN101764687A (zh) * | 2008-12-25 | 2010-06-30 | 上海华虹集成电路有限责任公司 | Ucps协议中采用aes算法对数据流加解密的硬件实现方法 |
CN101782956A (zh) * | 2010-02-09 | 2010-07-21 | 杭州晟元芯片技术有限公司 | 一种基于aes实时加密的数据保护方法及装置 |
CN102111263A (zh) * | 2011-02-21 | 2011-06-29 | 山东中孚信息产业股份有限公司 | 一种数据流加密的方法 |
CN102355349A (zh) * | 2011-06-28 | 2012-02-15 | 中国人民解放军国防科学技术大学 | 基于容错的idea全流水硬件加密方法 |
CN103427981A (zh) * | 2012-05-15 | 2013-12-04 | 北京华虹集成电路设计有限责任公司 | 一种实现加密、解密的方法以及装置 |
CN104734810A (zh) * | 2012-06-07 | 2015-06-24 | 飞天诚信科技股份有限公司 | 一种处理传输数据的方法和装置 |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
CN103152165A (zh) * | 2013-01-25 | 2013-06-12 | 西安电子科技大学 | 基于fpga的超高速aes处理器及其实现方法 |
CN104393958A (zh) * | 2014-11-28 | 2015-03-04 | 成都航天通信设备有限责任公司 | 基于流水线的数据帧发送方法、接收方法 |
CN104639314A (zh) * | 2014-12-31 | 2015-05-20 | 深圳先进技术研究院 | 基于aes加密/解密算法的装置和流水控制方法 |
CN104852798A (zh) * | 2015-05-11 | 2015-08-19 | 清华大学深圳研究生院 | 一种数据加解密系统及方法 |
CN105049194A (zh) * | 2015-06-01 | 2015-11-11 | 北京时代民芯科技有限公司 | 一种流水线结构的sm4算法实现系统 |
CN105024805A (zh) * | 2015-07-24 | 2015-11-04 | 东南大学 | 一种改进的cbc模式3des加密方法 |
Non-Patent Citations (1)
Title |
---|
《基于结构共享和多级流水线的AES加密算法的研究》;王群;《科技视界》;20120131(第2期);第116-117页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105356996A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8775686B2 (en) | Transactional memory that performs an atomic metering command | |
CN102207847B (zh) | 基于蒙哥马利模乘运算的数据加解密处理方法及装置 | |
Kim et al. | Adaptive routing in high-radix clos network | |
CN109361507A (zh) | 一种数据加密方法及加密设备 | |
US11489773B2 (en) | Network system including match processing unit for table-based actions | |
CN107666387A (zh) | 低功耗并行哈希计算电路 | |
CN102065021B (zh) | 基于NetFPGA的IPSecVPN实现系统及方法 | |
SG194203A1 (en) | Devices for computer-based generating of a mixing matrix for cryptographic processing of data, encrypting devices, methods for computer-based generating of a mixing matrix for cryptographic processing of data and encrypting methods | |
CN102346661A (zh) | 一种用于对硬件加速器的请求队列维护状态的方法和系统 | |
CN104133784A (zh) | 一种报文缓存管理方法与装置 | |
JP2002032018A (ja) | データ暗号化標準アルゴリズムを利用した暗号化装置 | |
CN103365625A (zh) | 随机值产生的方法及系统 | |
CN104580202B (zh) | 报文的匹配方法和装置 | |
CN105577363B (zh) | 针对sm4密码算法的可扩展流水线电路及其实现方法 | |
CN107864391A (zh) | 视频流缓存分发方法及装置 | |
CN105356996B (zh) | 一种密文处理方法、电子设备及密文处理装置 | |
CN106062749A (zh) | 使用查询数据提供流行率信息 | |
CN102546293B (zh) | 基于哈希比特串复用的高速网络流量网络地址测量方法 | |
CN106776032B (zh) | 分布式块存储的io请求的处理方法和装置 | |
CN103685321B (zh) | 数据包转发和安全防护检测系统、负载均衡方法及装置 | |
US9311004B1 (en) | Transactional memory that performs a PMM 32-bit lookup operation | |
CN110198268A (zh) | 高维度Torus网络架构及自适应路由方法 | |
CN106658490A (zh) | 一种无线传感器网络同态加密隐私保护方法 | |
CN103684748B (zh) | 对称式加解密方法、对称式加解密系统 | |
CN109039846A (zh) | 环形互联总线的避免死锁的方法、系统和跨环装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |