CN103427981A - 一种实现加密、解密的方法以及装置 - Google Patents

一种实现加密、解密的方法以及装置 Download PDF

Info

Publication number
CN103427981A
CN103427981A CN2012101509857A CN201210150985A CN103427981A CN 103427981 A CN103427981 A CN 103427981A CN 2012101509857 A CN2012101509857 A CN 2012101509857A CN 201210150985 A CN201210150985 A CN 201210150985A CN 103427981 A CN103427981 A CN 103427981A
Authority
CN
China
Prior art keywords
data
streamline
processing
input
alternative selector
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.)
Granted
Application number
CN2012101509857A
Other languages
English (en)
Other versions
CN103427981B (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.)
Huada Yunxin (Nanjing) Technology Co.,Ltd.
Original Assignee
BEIJING HUAHONG INTEGRATED CIRCUIT DESIGN 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 BEIJING HUAHONG INTEGRATED CIRCUIT DESIGN Co Ltd filed Critical BEIJING HUAHONG INTEGRATED CIRCUIT DESIGN Co Ltd
Priority to CN201210150985.7A priority Critical patent/CN103427981B/zh
Publication of CN103427981A publication Critical patent/CN103427981A/zh
Application granted granted Critical
Publication of CN103427981B publication Critical patent/CN103427981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实现了一种实现加密的方法,采用多级流水线结构对接收的数据进行多级加密处理,其中:接收待加密数据的当前流水线,根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理,并将处理后的数据作为下一级流水线的待加密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述加密处理的总轮数之和为数据加密需执行的总轮数。本发明的方法采用了流水线的方式,保证了实现的加密、解密方法既不会使得数据吞吐率过低,也不会占用过多的硬件资源,因此得到了较高的数据吞吐率和占用硬件资源之比。本发明还提供了一种实现解密的方法和实现加密、解密的装置。

Description

一种实现加密、解密的方法以及装置
技术领域
本发明涉及密码学领域,尤其是涉及一种实现加密、解密的方法以及装置。
背景技术
加密技术是最常用的安全保密手段。加密技术包括两个重要元素:算法和密钥。算法是将可以理解的信息,也就是明文,与约定的数据结合,产生不可理解的密文的步骤,而约定的数据指的就是密钥。在安全保密中,可通过适当的加密算法来保证信息通信的安全性。
AES算法是继DES和3DE S之后又一种被NIST推荐使用的分组加密算法,具有设计简单,密钥安装快,需要的内存空间少,在所有平台上运行良好等特点。自从被接纳成为标准之日起,AES算法已经被银行业、政府部门以及工业界作为事实上的密码标准而广泛使用。
AES加密过程包括一个初始密钥加法,记作AddRoundKey,之后进行N-1次加密处理Round,最后使用一个加密处理FinalRound。加密处理Round由字节代替(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)以及轮密钥加(AddRoundKey)四个变换组成,而加密处理FinalRound则是以上四个变化中去掉了轮密钥加的步骤。
AES算法的硬件实现就是主要针对加密处理的四个运算,利用合适的硬件资源和结构进行设计。其硬件实现的性能参数主要为数据吞吐率和占用的硬件资源。数据吞吐率为单位时间内加密、解密的数据量。
目前硬件实现AES加密、解密过程的方式要么数据吞吐率太低,要么就是占用硬件资源太多,影响了加密、解密的硬件实现性能。
发明内容
有鉴于此,本发明的主要目的是提供一种实现加密、解密的方法和装置,以实现数据吞吐率和占用硬件资源最优折中的加密、解密算法。
为实现上述目的,本发明提供如下技术方案:
本发明提供了一种实现加密的方法,采用多级流水线对接收的待加密数据进行多级加密处理,其中:
接收待加密数据的当前流水线,根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理,并将处理后的数据作为下一级流水线的待加密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述加密处理的总轮数之和为数据加密需执行的总轮数。
优选地,
当前流水线为第一级流水线时,包括至少一轮加密处理在内的对应处理包括:顺序执行的第一处理和n轮加密处理。
当前流水线为第一级和最后一级流水线除外的中间级时,包括至少一轮加密处理在内的对应处理包括:顺序执行的n+1轮加密处理。
当前流水线为最后一级时,包括至少一轮加密处理在内的对应处理包括:顺序执行的n轮加密处理和第二处理。
其中,所述第一处理为读取明文数据,所述第二处理为存储处理后的数据,所述第一处理、第二处理与一轮所述加密处理的处理时间相同。
优选地,
所述根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理之后进一步包括:将对应处理后的数据存入寄存器。
优选地,
采用多级流水线对接收的待解密数据进行多级解密处理,其中:
接收待解密数据的当前流水线,对所述数据进行包括至少一轮解密处理在内的处理,并将处理后的数据作为下一级流水线的待解密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述处理的总时长相等并且各级流水线执行的所述解密处理的总轮数之和为数据解密需执行的总轮数。
优选地,
当前流水线为第一级流水线时,包括至少一轮解密处理在内的对应处理包括:顺序执行的第一处理和n轮解密处理。
当前流水线为第一级和最后一级流水线除外的中间级时,包括至少一轮解密处理在内的对应处理包括:顺序执行的n+1轮解密处理。
当前流水线为最后一级时,包括至少一轮解密处理在内的对应处理包括:顺序执行的n轮解密处理和第二处理。
其中,所述第一处理为读取密文数据,所述第二处理为存储处理后的数据,所述第一处理、第二处理与一轮所述解密处理的处理时间相同。
优选地,
所述根据当前流水线的级数对所述数据进行包括至少一轮解密处理在内的对应处理之后进一步包括:将对应处理后的数据存入寄存器。
本发明还提供了一种实现加密的装置,该装置由多级流水线构成。
所述多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及加密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线中的控制单元用于发送第一控制信号至当前流水线的二选一选择器,在加密处理单元执行相应的加密处理后判断当前流水线对待加密数据已执行的加密处理的轮数是否达到所述当前流水线对应处理中需执行的加密处理的轮数,如果否,发送第二控制信号至当前流水线的寄存器和发送第三控制信号至所述二选一选择器,如果是,发送第四控制信号至当前流水线的寄存器。
所述第一控制信号控制二选一选择器选择该选择器的第一输入端的数据作为输入数据并且输出端输出该输入数据至所述加密处理单元,第二控制信号控制所述寄存器发送保存的数据至二选一选择器的第二输入端,所述第三控制信号控制二选一选择器选择第二输入端的数据作为输入数据并且输出端输出该输入数据至当前流水线的加密处理单元,第四控制信号控制所述寄存器发送保存的数据至下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
所述二选一选择器用于接收到第一控制信号时选择第一输入端的数据作为输入数据,接收到第三控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至加密处理单元。
所述加密处理单元用于对接收到的数据执行相应的加密处理,并将处理后的数据发送至所述寄存器保存。
所述寄存器用于保存所述加密处理单元处理后的数据,以及接收到第三控制信号时发送保存的数据至二选一选择器的第二输入端,接收到第四控制信号时发送保存的数据至下一级流水线中的二选一选择器的第一输入端并将其作为下一级流水线的待加密数据。
优选地,所述装置进一步包括第一存储器和第二存储器。
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到明文数据作为待加密数据发送至第一级流水线。
最后一级流水线的控制单元进一步用于加密处理完毕时将处理后的数据存入第二存储器。
本发明还提供了一种实现加密的装置,该装置由多级流水线构成;
多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及加密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线的控制单元用于发送第五控制信号至当前流水线的二选一选择器,在加密处理单元执行相应的加密处理后判断当前流水线对待加密数据已执行的加密处理的轮数是否达到所述当前流水线对应处理中需执行的加密处理的轮数,如果否,发送第六控制信号至当前流水线的二选一选择器和发送第七控制信号至当前流水线的加密处理单元,如果是,发送第八控制信号至当前流水线的加密处理单元。
所述第五控制信号控制所述二选一选择器将第一输入端接收的数据输出至所述寄存器,所述第六控制信号控制所述二选一选择器将第二输入端接收的数据输出至所述寄存器,所述第七控制信号控制加密处理单元将处理之后的数据输出到所述二选一选择器的第二输入端,所述第八控制信号控制加密处理单元将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
所述二选一选择器用于接收到第五控制信号时选择第一输入端的数据作为输入数据,接收到第六控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至寄存器。
所述寄存器用于保存所述二选一选择器的输出数据并且将保存的数据输出到加密处理单元。
所述加密处理单元用于对接收到的数据执行相应的加密处理,并且接收到第七控制信号时将处理之后的数据输出到所述二选一选择器的第二输入端,接收到第八控制信号时将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
本发明还提供了一种实现解密的装置,该装置由多级流水线构成。
所述多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及解密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线中的控制单元用于发送第一控制信号至当前流水线的二选一选择器,在解密处理单元执行相应的解密处理后判断当前流水线对待解密数据已执行的解密处理的轮数是否达到所述当前流水线对应处理中需执行的解密处理的轮数,如果否,发送第二控制信号至当前流水线的寄存器和发送第三控制信号至所述二选一选择器,如果是,发送第四控制信号至当前流水线的寄存器。
所述第一控制信号控制二选一选择器选择该选择器的第一输入端的数据作为输入数据并且输出端输出该输入数据至所述解密处理单元,第二控制信号控制所述寄存器发送保存的数据至二选一选择器的第二输入端,所述第三控制信号控制二选一选择器选择第二输入端的数据作为输入数据并且输出端输出该输入数据至当前流水线的解密处理单元,第四控制信号控制所述寄存器发送保存的数据至下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
所述二选一选择器用于接收到第一控制信号时选择第一输入端的数据作为输入数据,接收到第三控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至解密处理单元。
所述解密处理单元用于对接收到的数据执行相应的解密处理,并将处理后的数据发送至所述寄存器保存。
所述寄存器用于保存解密处理单元处理后的数据,以及接收到第三控制信号时发送保存的数据至二选一选择器的第二输入端,接收到第四控制信号时发送保存的数据至下一级流水线中的二选一选择器的第一输入端并将其作为下一级流水线的待解密数据。
优选地,所述装置进一步包括第一存储器和第二存储器。
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到密文数据作为待解密数据发送至第一级流水线。
最后一级流水线的控制单元进一步用于解密处理完毕时将处理后的数据存入第二存储器。
本发明还提供了一种实现解密的装置,该装置由多级流水线构成。
多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及解密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线的控制单元用于发送第五控制信号至当前流水线的二选一选择器,在解密处理单元执行相应的解密处理后判断当前流水线对待解密数据已执行的解密处理的轮数是否达到所述当前流水线对应处理中需执行的解密处理的轮数,如果否,发送第六控制信号至当前流水线的二选一选择器和发送第七控制信号至当前流水线的解密处理单元,如果是,发送第八控制信号至当前流水线的解密处理单元。
所述第五控制信号控制所述二选一选择器将第一输入端接收的数据输出至所述寄存器,所述第六控制信号控制所述二选一选择器将第二输入端接收的数据输出至所述寄存器,所述第七控制信号控制解密处理单元将处理之后的数据输出到所述二选一选择器的第二输入端,所述第八控制信号控制解密处理单元将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
所述二选一选择器用于接收到第五控制信号时选择第一输入端的数据作为输入数据,接收到第六控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至寄存器。
所述寄存器用于保存所述二选一选择器的输出数据并且将保存的数据输出到解密处理单元。
所述解密处理单元用于对接收到的数据执行相应的解密处理,并且接收到第七控制信号时将处理之后的数据输出到所述二选一选择器的第二输入端,接收到第八控制信号时将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
经由上述的技术方案可知,本发明的方法采用了流水线的方式,并且通过对各级流水线进行所述对应处理的总时长相等,保证了实现的加密、解密方法既不会使得数据吞吐率过低,也不会占用过多的硬件资源,因此得到了较高的数据吞吐率和占用硬件资源之比,实现了数据吞吐率和占用硬件资源的最优折中。
附图说明
图1为AES加密流程图;
图2为AES解密流程图;
图3为实现本发明方法的具体实施例流程示意图;
图4为密钥长度为128位,4级流水线的加密流程时空图;
图5为密钥长度为192位,4级流水线的加密流程时空图;
图6为密钥长度为256位,4级流水线的加密流程时空图;
图7为实现本发明装置的具体实施例结构示意图;
图8为一种大容量安全存储芯片的结构示意图。
具体实施方式
本发明提供的一种实现加密的方法为采用多级流水线对接收的待加密数据进行多级加密处理,其中:
接收待加密数据的当前流水线,根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理,并将处理后的数据作为下一级流水线的待加密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述加密处理的总轮数之和为数据加密需执行的总轮数。
所述将处理后的数据作为下一级流水线的待加密数据输出之后可以进一步包括:接收新一轮的待加密的数据。这样该级流水线在完成了当前的处理后可以接收下一轮的数据并对该数据进行相应的处理,保证了该方法较高的数据吞吐率。
所述当前流水线为第一级流水线,所述根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理之前可以进一步包括:判断所述第一级流水线是否空闲,如果是,则执行所述对所述数据进行包括至少一轮加密处理在内的与第一级对应的处理,如果否,等待所述第一级流水线直至所述第一级流水线空闲,执行所述对所述数据进行包括加密处理在内的与第一级对应的处理。
根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理之后可以进一步包括:将对应处理后的数据存入寄存器。
下面介绍一种保证各轮对应处理的总时长相等的方案:
当前流水线为第一级流水线时,所述包括至少一轮加密处理在内的对应处理包括:顺序执行的第一处理和n轮加密处理。
当前流水线为第一级和最后一级流水线除外的中间级时,所述包括至少一轮加密处理在内的对应处理包括:顺序执行的n+1轮加密处理。
当前流水线为最后一级时,所述包括至少一轮加密处理在内的对应处理包括:顺序执行的n轮加密处理和第二处理。
其中,所述第一处理、第二处理与一轮所述加密处理的处理时间相同。
第一处理可以为读取明文数据,第二处理可以为存储处理后的数据。
AES算法是继DES和3DES之后又一种被NIST推荐使用的分组加密算法。
AES算法在Rijndael算法可变数据分组长度和可变密钥长度的基础上,将数据分组长度固定为128位,并且仅支持128位、196位和256位长度的密钥。当密钥长度分别为128位、192位和256位时,加/解密处理总轮数分别为10轮、12轮和14轮。
AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个字节)。请参阅图1,AES加密过程中,输入为Plaintext(明文),输出为Ciphertext(密文),各轮AES加密处理(除最后一轮外)均包含4个步骤:
S101:AddRound key操作,矩阵中的每一个字节都与该次round key(回合金钥)做异或运算;每个子密钥由密钥生成方案产生。
S102:SubBytes操作,具体是透过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
S103:ShiftRows操作,具体是将矩阵中的每个横列进行循环式移位。
S104:MixColumns操作,具体是为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每行内的四个字节。
最后一轮加密处理只包括AddRound key、SubBytes以及ShiftRows操作。
图2为与图1对应的解密过程,输入为密文,输出为明文。
图3为实现本发明加密方法的具体实施例,采用的是AES加密算法,密钥长度为128位,因此加密处理需要执行的总轮数为10轮,并且采用了4级流水线。该实施例的具体步骤包括:
S301:第一级流水线从第一存储器中读取明文数据,对该明文数据执行第一和第二轮加密处理,其中每一轮的加密处理均包括Add round Key操作、SubBytes操作、ShiftRows操作以及MixColumns操作。并将处理后的数据输出给第二级流水线,并作为第二级流水线的待加密数据。
为保证本发明方法具有较高的数据吞吐率,各级流水线在处理过程中的总时长相同。这里设定完成一次处理的时间均为T,在这个具体实施例S301中处理包括加密处理以及第一级流水线从第一存储器中读取明文数据。因此在S301中一轮加密处理的时间为T,并且从第一存储器读取明文数据的时间也为T。可以看出,第一级流水线执行的总时长为3T,加密处理的总轮数为2。
在其他具体实施例中处理的方式不加限定,可以为空操作,也可以为对加密系统进行初始化。这里,该时间T不小于每一次处理的实际操作的时间,在本实施例S301中该时间T不小于每一轮的实际加密处理时间,且不小于第一级流水线从第一存储器中实际读取明文数据的时间。如果在一次处理中已完成了实际操作的时间而未到达时间T时,则进行等待直至到达时间T时才执行下一次处理。
第一级流水线执行完此轮对应的处理后,接收新的一轮的待加密数据,并对新一轮的待加密数据执行以上相同的步骤。如果第一级流水线还未执行完此轮对应的处理就接收到了新一轮的待加密数据,则需要等待直至第一级流水线执行完此轮对应的处理,也就是第一级流水线空闲,此时执行对新一轮待加密数据的处理。当然在其他实施例中第一级流水线也可以相隔大于T的时间接收明文数据,并不影响本发明的实现。
S302:第二级流水线接收到待加密数据后,对该待加密数据执行第三、第四以及第五轮加密处理。并将处理后的数据作为第三级流水线的待加密数据输出给第三级流水线。该步骤中执行了三轮加密处理,并且执行的总时长为3T。执行完此轮对应的处理后,接收新一轮的待加密数据,并对新一轮的待加密数据执行以上相同的步骤。
S303:第三级流水线接收到待加密数据后,对该待加密数据执行第六、第七以及第八轮加密处理。并将处理后的数据作为第四级流水线的待加密数据输出给第四级流水线。该步骤中执行了三轮加密处理,并且执行的总时长为3T。执行完此轮对应的处理后,接收新一轮的待加密数据,并对新一轮的待加密数据执行以上相同的步骤。
S304:第四级流水线接收到待加密数据后,对该加密数据执行第九和第十轮加密处理,其中第十轮加密处理与其他九轮的加密处理相比,不执行MixColumn s操作。将第十轮加密处理后的密文数据存入第二存储器。这里时间T不小于实际存入第二存储器所需的时间。该步骤中执行了二轮加密处理,并且执行的总时长为3T。执行完此轮对应的处理后,接收新一轮的待加密数据,并对新一轮的待加密数据执行以上相同的步骤。
可以从该具体实施例看出,第一级至第四级流水线执行的加密处理轮数之和为10,与数据加密需执行的总轮数相同,且每一级流水线执行的总时长均为3T。通过该具体实施例所述的加密方法,数据加密的最短周期为3T。也就是说如果第一级流水线以不小于3T的时间为周期从第一存储器读取明文数据,则第四级流水线以3T为周期向第二存储器存储密文数据。
该实施例中第一级流水线和第四级流水线执行的加密处理的轮数均比第二级流水线和第三级流水线加密处理的轮数小1,因此在加密开始时的取数过程或者初始化过程和加密完毕时的存储过程不会造成流水线额外的等待时间。在其他实施例中为了保证流水线不会出现额外的等待时间,可以将第一级和最后一级流水线执行的加密处理轮数比第一和最后一级除外的中间级的加密处理轮数小1。此时如果流水线的级数为S,需执行的加密处理的总轮数为R,除第一级和最后一级外的中间级流水线执行的加密处理轮数均为N,则第一级和最后一级执行的加密处理轮数为N-1,此时满足公式N×S-2=R。
在该实施例中密钥长度为128,加密处理总轮数为10轮。下面介绍密钥长度分别为128、192、256时,每一级流水线需要执行的加密处理的轮数。
表1为密钥长度为128,加密处理总轮数为10轮时,3、4以及6级流水线中每一级流水线需要执行的加密处理的轮数。图4为密钥长度为128,4级流水线时每一级流水线的加密流程时空图。
表1
表2为密钥长度为192,加密处理总轮数为12轮时,4级和7级流水线中每一级流水线需要执行的加密处理的轮数。图5为密钥长度为192,4级流水线时每一级流水线的加密流程时空图。
表2
表3为密钥长度为256,加密处理总轮数为14轮时,4级以及8级流水线中每一级流水线需要执行的加密处理的轮数。图6为密钥长度为256,4级流水线时每一级流水线的加密流程时空图。
表3
本发明还提供的一种实现解密的方法为采用多级流水线对接收的待解密数据进行多级解密处理,其中:
接收待解密数据的当前流水线,根据当前流水线的级数对所述数据进行包括至少一轮解密处理在内的对应处理,并将处理后的数据作为下一级流水线的待解密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述解密处理的总轮数之和为数据解密需执行的总轮数。
所述将处理后的数据作为下一级流水线的待解密数据输出之后可以进一步包括:接收新一轮的待解密的数据。这样流水线在完成了当前的处理后可以接收下一轮的数据并对该数据进行相应的处理,保证了该方法较高的数据吞吐率。
所述当前流水线为第一级流水线,所述根据当前流水线的级数对所述数据进行包括至少一轮解密处理在内的对应处理之前可以进一步包括:判断所述第一级流水线是否空闲,如果是,则执行所述对所述数据进行包括至少一轮解密处理在内的与第一级对应的处理,如果否,等待所述第一级流水线直至所述第一级流水线空闲,执行所述对所述数据进行包括解密处理在内的与第一级对应的处理。
下面介绍一种保证各轮对应处理的总时长相等的方案:
当前流水线为第一级流水线时,所述包括至少一轮解密处理在内的对应处理包括:顺序执行的第一处理和n轮解密处理。
当前流水线为第一级和最后一级流水线除外的中间级时,所述包括至少一轮解密处理在内的对应处理包括:顺序执行的n+1轮解密处理。
当前流水线为最后一级时,所述包括至少一轮解密处理在内的对应处理包括:顺序执行的n轮解密处理和第二处理。
其中,所述第一处理、第二处理与一轮所述解密处理的处理时间相同。
第一处理可以为读取密文数据,第二处理可以为存储处理后的数据。
根据当前流水线的级数对所述数据进行包括至少一轮解密处理在内的对应处理之后可以进一步包括:将对应处理后的数据存入寄存器。
该解密的步骤与加密相对应。并且对于与加密对应的解密的方法,采用的流水线级数和流水线每一级解密处理的轮数可以与加密的方法一致。
本发明还提供了一种实现加密的装置。所述装置包括多级流水线。
所述多级流水线中的当前流水线用于接收待加密数据,根据该级流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理,并将处理后的数据作为下一级流水线的待加密数据输出,直至最后一级流水线进行对应处理完毕。
其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述加密处理的总轮数之和为数据加密需执行的总轮数。
所述多级流水线将处理后的数据作为下一级流水线的待加密数据输出之后可以进一步用于接收新一轮的待加密数据。
本发明还提供了一种实现加密的装置。所述装置包括多级流水线。所述多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及加密处理单元,所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线中的控制单元用于发送第一控制信号至当前流水线的二选一选择器,在加密处理单元执行相应的加密处理后判断当前流水线对待加密数据已执行的加密处理的轮数是否达到所述当前流水线对应处理中需执行的加密处理的轮数,如果否,发送第二控制信号至当前流水线的寄存器和发送第三控制信号至所述二选一选择器,如果是,发送第四控制信号至当前流水线的寄存器。
所述第一控制信号控制二选一选择器选择该选择器的第一输入端的数据作为输入数据并且输出端输出该输入数据至所述加密处理单元,第二控制信号控制所述寄存器发送保存的数据至二选一选择器的第二输入端,所述第三控制信号控制二选一选择器选择第二输入端的数据作为输入数据并且输出端输出该输入数据至当前流水线的加密处理单元,第四控制信号控制所述寄存器发送保存的数据至下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
所述二选一选择器用于接收到第一控制信号时选择第一输入端的数据作为输入数据,接收到第三控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至加密处理单元。
所述加密处理单元用于对接收到的数据执行相应的加密处理,并将处理后的数据发送至所述寄存器保存。
所述寄存器用于保存加密处理单元处理后的数据,以及接收到第三控制信号时发送保存的数据至二选一选择器的第二输入端,接收到第四控制信号时发送保存的数据至下一级流水线中的二选一选择器的第一输入端并将其作为下一级流水线的待加密数据。
其中将待加密的明文数据发送至第一级流水线中的二选一选择器的第一输入端。
所述装置可以进一步包括第一存储器和第二存储器,
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到明文数据作为待加密数据发送至第一级流水线。
最后一级流水线的控制单元进一步用于加密处理完毕时将处理后的数据存入第二存储器。
最后一级流水线的控制单元进一步用于加密处理完毕时将处理后的数据存入第二存储器。
图7为实现本发明加密装置的具体实施例,采用的是AES加密算法,密钥长度为128位,因此加密处理需要执行的总轮数为10轮。该装置包括第一级流水线701、第二级流水线702、第三级流水线703、第四级流水线704、第一存储器705以及第二存储器706。
其中第一级流水线701包括二选一选择器7011、加密处理单元7012、寄存器7013以及控制单元7014。其中第二级流水线702包括二选一选择器7021、加密处理单元7022、寄存器7023以及控制单元7024。第三级流水线703包括二选一选择器7031、加密处理单元7032、寄存器7033以及控制单元7034。第四级流水线701包括二选一选择器7041、加密处理单元7042、寄存器7043以及控制单元7044。其中二选一选择器均包括第一、第二输入端和一个输出端。
第一级流水线701中的控制单元7014用于以3T为周期,控制第一存储器705将第一存储器705存储的明文数据发送至第一级流水线701中二选一选择器7011的第一输入端,并将该明文数据作为第一级流水线的待加密数据,并发送第一控制信号至二选一选择器7011,加密处理单元7012执行完相应的加密处理后判断第一级流水线对明文数据已执行的加密处理的轮数是否达到2轮,如果否,发送第二控制信号至寄存器7013和发送第三控制信号至二选一选择器7011,如果是,发送第四控制信号至寄存器7013。
所述第一控制信号控制二选一选择器7011选择该选择器第一输入端的输入作为输入数据,并且输出端输出该输入数据至加密处理单元7012,第二控制信号控制寄存器7013发送保存的数据至二选一选择器7011的第二输入端,第三控制信号控制二选一选择器7011选择第二输入端的输入作为输入数据并且输出端输出该输入数据至该级加密处理单元7012,第四控制信号控制寄存器7013将保存的数据发送至第二级流水线702的二选一选择器7021的第一输入端,将其作为第二级流水线702的待加密数据。
第一级流水线701中的二选一选择器7011用于接收到的第一控制信号时选择第一输入端作为输入,接收到第三控制信号时选择第二输入端作为输入,并且输出端输出相应的输入数据至加密处理单元7012。
第一级流水线701中的加密处理单元7012用于对第一次接收到的数据执行第一轮加密处理、对第二次接收到的数据执行第二轮加密处理并分别将处理后的数据发送至寄存器7013保存。
第一级流水线701中的寄存器7013用于接收到加密处理单元7012发送的数据后进行保存,接收到第三控制信号时将保存的数据发送至二选一选择器7011的第二输入端,接收到第四控制信号时将保存的数据发送至第二级流水线702中的二选一选择7021的第一输入端,并将其作为第二级流水线702的待加密数据。
第二级流水线702、第三级流水线703、第四级流水线704与第一级流水线701的结构和工作过程类似,区别在于第二级流水线702和第三级流水线703执行的加密处理均为3轮,第四级流水线704执行的加密处理为2轮,并且第二级、第三级和第四级流水线的控制单元不需要从第一存储器中读取明文数据,而是由二选一选择器的第一输入端直接接收上一级流水线输出的处理后的数据作为该级的待加密数据,第四级流水线704中的控制器7044进一步用于控制寄存器7043将保存的处理完毕的密文数据存入第二存储器706,其他类似的过程不再赘述。
可以从该具体实施例看出,第一级至第四级流水线执行的加密处理轮数之和为10,与数据加密需执行的总轮数相同。这里设定执行一次处理的时间均为T,在这个具体实施例中中处理包括加密处理、第一控制器从第一存储器中读取明文数据以及第二控制器向第二存储器存入数据,则每一级流水线执行的总时长均为3T。
在该具体实施例中,每一级流水线都包括了一个控制单元,在实现本发明的其他实施例中,全部流水线的控制单元也可以为同一控制单元,并不影响本发明的实现。
本发明还提供了一种实现加密的装置。所述装置包括多级流水线。所述多级流水线的任一级流水线可以包括:控制单元、二选一选择器、寄存器以及加密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线的控制单元用于发送第五控制信号至当前流水线的二选一选择器,在加密处理单元执行相应的加密处理后判断当前流水线对待加密数据已执行的加密处理的轮数是否达到所述当前流水线对应处理中需执行的加密处理的轮数,如果否,发送第六控制信号至当前流水线的二选一选择器和发送第七控制信号至当前流水线的加密处理单元,如果是,发送第八控制信号至当前流水线的加密处理单元。
所述第五控制信号控制所述二选一选择器将第一输入端接收的数据输出至所述寄存器,所述第六控制信号控制所述二选一选择器将第二输入端接收的数据输出至所述寄存器,所述第七控制信号控制加密处理单元将处理之后的数据输出到所述二选一选择器的第二输入端,所述第八控制信号控制加密处理单元将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
所述二选一选择器用于接收到第五控制信号时选择第一输入端的数据作为输入数据,接收到第六控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至寄存器。
所述寄存器用于保存所述二选一选择器的输出数据并且将保存的数据输出到加密处理单元。
所述加密处理单元用于对接收到的数据执行相应的加密处理,并且接收到第七控制信号时将处理之后的数据输出到所述二选一选择器的第二输入端,接收到第八控制信号时将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
其中将待加密的明文数据发送至第一级流水线中的二选一选择器的第一输入端。
所述装置可以进一步包括第一存储器和第二存储器,
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到明文数据作为待加密数据发送至第一级流水线。
最后一级流水线的控制单元进一步用于加密处理完毕时将处理后的数据存入第二存储器。
本发明还提供了一种实现解密的装置。所述装置包括多级流水线。
所述多级流水线中的每一级流水线用于接收待解密数据,根据该级流水线的级数对所述数据进行包括至少一轮解密处理在内的对应处理,并将处理后的数据作为下一级流水线的待解密数据输出,直至最后一级流水线进行对应处理完毕。
其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述解密处理的总轮数之和为数据解密需执行的总轮数。
所述多级流水线将处理后的数据作为下一级流水线的待解密数据输出之后可以进一步用于接收新一轮的待解密数据。
本发明还提供了一种实现解密的装置。所述装置包括多级流水线。所述多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及解密处理单元,所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线中的控制单元用于发送第一控制信号至当前流水线的二选一选择器,在解密处理单元执行相应的解密处理后判断当前流水线对待解密数据已执行的解密处理的轮数是否达到所述当前流水线对应处理中需执行的解密处理的轮数,如果否,发送第二控制信号至当前流水线的寄存器和发送第三控制信号至所述二选一选择器,如果是,发送第四控制信号至当前流水线的寄存器。
所述第一控制信号控制二选一选择器选择该选择器的第一输入端的数据作为输入数据并且输出端输出该输入数据至所述解密处理单元,第二控制信号控制所述寄存器发送保存的数据至二选一选择器的第二输入端,所述第三控制信号控制二选一选择器选择第二输入端的数据作为输入数据并且输出端输出该输入数据至当前流水线的解密处理单元,第四控制信号控制所述寄存器发送保存的数据至下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
所述二选一选择器用于接收到第一控制信号时选择第一输入端的数据作为输入数据,接收到第三控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至解密处理单元。
所述解密处理单元用于对接收到的数据执行相应的解密处理,并将处理后的数据发送至所述寄存器保存。
所述寄存器用于保存解密处理单元处理后的数据,以及接收到第三控制信号时发送保存的数据至二选一选择器的第二输入端,接收到第四控制信号时发送保存的数据至下一级流水线中的二选一选择器的第一输入端并将其作为下一级流水线的待解密数据。
其中将待解密的密文数据发送至第一级流水线中的二选一选择器的第一输入端。
所述装置可以进一步包括第一存储器和第二存储器,
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到明文数据作为待解密数据发送至第一级流水线。
最后一级流水线的控制单元进一步用于解密处理完毕时将处理后的数据存入第二存储器。
本发明还提供了一种实现解密的装置。所述装置包括多级流水线。所述多级流水线的任一级流水线可以包括:控制单元、二选一选择器、寄存器以及解密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端。
当前流水线的控制单元用于发送第五控制信号至当前流水线的二选一选择器,在解密处理单元执行相应的解密处理后判断当前流水线对待解密数据已执行的解密处理的轮数是否达到所述当前流水线对应处理中需执行的解密处理的轮数,如果否,发送第六控制信号至当前流水线的二选一选择器和发送第七控制信号至当前流水线的解密处理单元,如果是,发送第八控制信号至当前流水线的解密处理单元。
所述第五控制信号控制所述二选一选择器将第一输入端接收的数据输出至所述寄存器,所述第六控制信号控制所述二选一选择器将第二输入端接收的数据输出至所述寄存器,所述第七控制信号控制解密处理单元将处理之后的数据输出到所述二选一选择器的第二输入端,所述第八控制信号控制解密处理单元将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
所述二选一选择器用于接收到第五控制信号时选择第一输入端的数据作为输入数据,接收到第六控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至寄存器。
所述寄存器用于保存所述二选一选择器的输出数据并且将保存的数据输出到解密处理单元。
所述解密处理单元用于对接收到的数据执行相应的解密处理,并且接收到第七控制信号时将处理之后的数据输出到所述二选一选择器的第二输入端,接收到第八控制信号时将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
其中将待解密的密文数据发送至第一级流水线中的二选一选择器的第一输入端。
所述装置可以进一步包括第一存储器和第二存储器,
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到明文数据作为待解密数据发送至第一级流水线。
最后一级流水线的控制单元进一步用于解密处理完毕时将处理后的数据存入第二存储器。
解密装置与加密装置相对应。并且对于与加密的装置对应的解密的装置,采用的流水线级数和流水线每一级解密处理的轮数可以与加密的装置一致。
本发明实现的加密以及解密方法可以应用到大容量安全存储芯片中,此芯片能够对USB(通用串行总线)、SATA(串行高级技术附件)等接口的大容量存储设备中的数据进行加密、解密,从而保证大容量数据存储的安全性。通过本发明的方法可以极大提高加密、解密的数据吞吐率,从而可以克服加密、解密模块数据吞吐率太低时对大容量安全存储方案存储速度的影响。
请参阅图8,当主机需要将大量数据存入USB接口的大容量存储设备时,首先通过USB接口将相关命令和数据发出,安全存储芯片中的USB设备(USBDevice)801接收到相关命令和数据后进行USB协议解析,解析出的有效数据通过系统总线(AHB总线)802存入片上内存(DPRAM)803中,然后本发明实现的加密、解密装置804对DPRAM 803中的数据进行加密,加密的结果存入DPRAM804中,之后USB主设备(USB Host)807通过AHB总线806将DPRAM 805中的密文组成USB协议的数据包并发送给USB接口的大容量存储设备;当主机需要读入大容量存储设备中的数据时,安全存储芯片中的USB Host807接收来自于存储设备中的数据并进行USB协议解析,解析出的有效密文存入片上内存DPRAM806中,然后AES模块804对DPRAM 806中的数据进行解密,解密的结果存入DPRAM 803中,然后USB Device 804通过AHB总线802将DPRAM 803中的明文组成USB协议的数据包并发送给主机。
也可以不采用USB接口,而采用SATA接口等具有类似功能的接口,并不影响本发明的实现。
由于加密、解密装置在大容量安全存储方案的数据存储通路上,所以它的加密、解密的数据吞吐率直接影响了安全存储的速度,使用了本发明实现的加密、解密装置后,由于流水线划分的独特性,在不显著增加芯片面积的情况下,大大提高了数据吞吐率,从而克服了加密、解密模块对存储速度的影响。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种实现加密的方法,其特征在于,采用多级流水线对接收的待加密数据进行多级加密处理,其中:
接收待加密数据的当前流水线,根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理,并将处理后的数据作为下一级流水线的待加密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述对应处理的总时长相等并且各级流水线执行的所述加密处理的总轮数之和为数据加密需执行的总轮数。
2.根据权利要求1所述的方法,其特征在于,
当前流水线为第一级流水线时,包括至少一轮加密处理在内的对应处理包括:顺序执行的第一处理和n轮加密处理;
当前流水线为第一级和最后一级流水线除外的中间级时,包括至少一轮加密处理在内的对应处理包括:顺序执行的n+1轮加密处理;
当前流水线为最后一级时,包括至少一轮加密处理在内的对应处理包括:顺序执行的n轮加密处理和第二处理;
其中,所述第一处理为读取明文数据,所述第二处理为存储处理后的数据,所述第一处理、第二处理与一轮所述加密处理的处理时间相同。
3.根据权利要求1所述的方法,其特征在于,所述根据当前流水线的级数对所述数据进行包括至少一轮加密处理在内的对应处理之后进一步包括:将对应处理后的数据存入寄存器。
4.一种实现解密的方法,其特征在于,采用多级流水线对接收的待解密数据进行多级解密处理,其中:
接收待解密数据的当前流水线,对所述数据进行包括至少一轮解密处理在内的处理,并将处理后的数据作为下一级流水线的待解密数据输出,直至最后一级流水线进行对应处理完毕;其中,各级流水线进行所述处理的总时长相等并且各级流水线执行的所述解密处理的总轮数之和为数据解密需执行的总轮数。
5.根据权利要求4所述的方法,其特征在于,
当前流水线为第一级流水线时,包括至少一轮解密处理在内的对应处理包括:顺序执行的第一处理和n轮解密处理;
当前流水线为第一级和最后一级流水线除外的中间级时,包括至少一轮解密处理在内的对应处理包括:顺序执行的n+1轮解密处理;
当前流水线为最后一级时,包括至少一轮解密处理在内的对应处理包括:顺序执行的n轮解密处理和第二处理;
其中,所述第一处理为读取密文数据,所述第二处理为存储处理后的数据,所述第一处理、第二处理与一轮所述解密处理的处理时间相同。
6.根据权利要求5所述的方法,其特征在于,所述根据当前流水线的级数对所述数据进行包括至少一轮解密处理在内的对应处理之后进一步包括:将对应处理后的数据存入寄存器。
7.一种实现加密的装置,其特征在于,由多级流水线构成;
所述多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及加密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端;
当前流水线中的控制单元用于发送第一控制信号至当前流水线的二选一选择器,在加密处理单元执行相应的加密处理后判断当前流水线对待加密数据已执行的加密处理的轮数是否达到所述当前流水线对应处理中需执行的加密处理的轮数,如果否,发送第二控制信号至当前流水线的寄存器和发送第三控制信号至所述二选一选择器,如果是,发送第四控制信号至当前流水线的寄存器;
所述第一控制信号控制二选一选择器选择该选择器的第一输入端的数据作为输入数据并且输出端输出该输入数据至所述加密处理单元,第二控制信号控制所述寄存器发送保存的数据至二选一选择器的第二输入端,所述第三控制信号控制二选一选择器选择第二输入端的数据作为输入数据并且输出端输出该输入数据至当前流水线的加密处理单元,第四控制信号控制所述寄存器发送保存的数据至下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据;
所述二选一选择器用于接收到第一控制信号时选择第一输入端的数据作为输入数据,接收到第三控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至加密处理单元;
所述加密处理单元用于对接收到的数据执行相应的加密处理,并将处理后的数据发送至所述寄存器保存;
所述寄存器用于保存所述加密处理单元处理后的数据,以及接收到第三控制信号时发送保存的数据至二选一选择器的第二输入端,接收到第四控制信号时发送保存的数据至下一级流水线中的二选一选择器的第一输入端并将其作为下一级流水线的待加密数据。
8.根据权利要求7所述的装置,其特征在于,所述装置进一步包括第一存储器和第二存储器;
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到明文数据作为待加密数据发送至第一级流水线;
最后一级流水线的控制单元进一步用于加密处理完毕时将处理后的数据存入第二存储器。
9.一种实现加密的装置,其特征在于,由多级流水线构成;
多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及加密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端;
当前流水线的控制单元用于发送第五控制信号至当前流水线的二选一选择器,在加密处理单元执行相应的加密处理后判断当前流水线对待加密数据已执行的加密处理的轮数是否达到所述当前流水线对应处理中需执行的加密处理的轮数,如果否,发送第六控制信号至当前流水线的二选一选择器和发送第七控制信号至当前流水线的加密处理单元,如果是,发送第八控制信号至当前流水线的加密处理单元;
所述第五控制信号控制所述二选一选择器将第一输入端接收的数据输出至所述寄存器,所述第六控制信号控制所述二选一选择器将第二输入端接收的数据输出至所述寄存器,所述第七控制信号控制加密处理单元将处理之后的数据输出到所述二选一选择器的第二输入端,所述第八控制信号控制加密处理单元将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据;
所述二选一选择器用于接收到第五控制信号时选择第一输入端的数据作为输入数据,接收到第六控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至寄存器;
所述寄存器用于保存所述二选一选择器的输出数据并且将保存的数据输出到加密处理单元;
所述加密处理单元用于对接收到的数据执行相应的加密处理,并且接收到第七控制信号时将处理之后的数据输出到所述二选一选择器的第二输入端,接收到第八控制信号时将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待加密数据。
10.一种实现解密的装置,其特征在于,由多级流水线构成;
所述多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及解密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端;
当前流水线中的控制单元用于发送第一控制信号至当前流水线的二选一选择器,在解密处理单元执行相应的解密处理后判断当前流水线对待解密数据已执行的解密处理的轮数是否达到所述当前流水线对应处理中需执行的解密处理的轮数,如果否,发送第二控制信号至当前流水线的寄存器和发送第三控制信号至所述二选一选择器,如果是,发送第四控制信号至当前流水线的寄存器;
所述第一控制信号控制二选一选择器选择该选择器的第一输入端的数据作为输入数据并且输出端输出该输入数据至所述解密处理单元,第二控制信号控制所述寄存器发送保存的数据至二选一选择器的第二输入端,所述第三控制信号控制二选一选择器选择第二输入端的数据作为输入数据并且输出端输出该输入数据至当前流水线的解密处理单元,第四控制信号控制所述寄存器发送保存的数据至下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据;
所述二选一选择器用于接收到第一控制信号时选择第一输入端的数据作为输入数据,接收到第三控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至解密处理单元;
所述解密处理单元用于对接收到的数据执行相应的解密处理,并将处理后的数据发送至所述寄存器保存;
所述寄存器用于保存解密处理单元处理后的数据,以及接收到第三控制信号时发送保存的数据至二选一选择器的第二输入端,接收到第四控制信号时发送保存的数据至下一级流水线中的二选一选择器的第一输入端并将其作为下一级流水线的待解密数据。
11.根据权利要求10所述的装置,其特征在于,所述装置进一步包括第一存储器和第二存储器;
第一级流水线的控制单元进一步用于控制第一存储器将第一存储器中存储到密文数据作为待解密数据发送至第一级流水线;
最后一级流水线的控制单元进一步用于解密处理完毕时将处理后的数据存入第二存储器。
12.一种实现解密的装置,其特征在于,由多级流水线构成;
多级流水线的任一级流水线包括:控制单元、二选一选择器、寄存器以及解密处理单元;所述二选一选择器具有第一、第二输入端和一个输出端;
当前流水线的控制单元用于发送第五控制信号至当前流水线的二选一选择器,在解密处理单元执行相应的解密处理后判断当前流水线对待解密数据已执行的解密处理的轮数是否达到所述当前流水线对应处理中需执行的解密处理的轮数,如果否,发送第六控制信号至当前流水线的二选一选择器和发送第七控制信号至当前流水线的解密处理单元,如果是,发送第八控制信号至当前流水线的解密处理单元;
所述第五控制信号控制所述二选一选择器将第一输入端接收的数据输出至所述寄存器,所述第六控制信号控制所述二选一选择器将第二输入端接收的数据输出至所述寄存器,所述第七控制信号控制解密处理单元将处理之后的数据输出到所述二选一选择器的第二输入端,所述第八控制信号控制解密处理单元将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据;
所述二选一选择器用于接收到第五控制信号时选择第一输入端的数据作为输入数据,接收到第六控制信号时选择第二输入端的数据作为输入数据,并且输出端输出相应的输入数据至寄存器;
所述寄存器用于保存所述二选一选择器的输出数据并且将保存的数据输出到解密处理单元;
所述解密处理单元用于对接收到的数据执行相应的解密处理,并且接收到第七控制信号时将处理之后的数据输出到所述二选一选择器的第二输入端,接收到第八控制信号时将处理之后的数据输出到下一级流水线中的二选一选择器的第一输入端,并将其作为下一级流水线的待解密数据。
CN201210150985.7A 2012-05-15 2012-05-15 一种实现加密、解密的方法以及装置 Active CN103427981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210150985.7A CN103427981B (zh) 2012-05-15 2012-05-15 一种实现加密、解密的方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210150985.7A CN103427981B (zh) 2012-05-15 2012-05-15 一种实现加密、解密的方法以及装置

Publications (2)

Publication Number Publication Date
CN103427981A true CN103427981A (zh) 2013-12-04
CN103427981B CN103427981B (zh) 2016-07-06

Family

ID=49652197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210150985.7A Active CN103427981B (zh) 2012-05-15 2012-05-15 一种实现加密、解密的方法以及装置

Country Status (1)

Country Link
CN (1) CN103427981B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105356996A (zh) * 2015-12-14 2016-02-24 联想(北京)有限公司 一种密文处理方法、电子设备及密文处理装置
CN105743636A (zh) * 2014-12-11 2016-07-06 上海华虹集成电路有限责任公司 实现密码算法的方法
CN105740721A (zh) * 2016-01-21 2016-07-06 浪潮电子信息产业股份有限公司 一种数据加解密处理的装置、方法及系统
CN109656840A (zh) * 2018-12-21 2019-04-19 成都海光集成电路设计有限公司 一种数据加解密的装置、方法、存储介质、以及数据存储系统
CN113672946A (zh) * 2021-07-15 2021-11-19 平头哥(上海)半导体技术有限公司 数据加解密组件、相关装置和方法
CN113970906A (zh) * 2020-07-22 2022-01-25 台达电子企业管理(上海)有限公司 多单元协作分布式的电气控制系统及电气系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722046A (zh) * 2004-06-30 2006-01-18 富士通株式会社 安全处理器和用于安全处理器的程序
CN102111263A (zh) * 2011-02-21 2011-06-29 山东中孚信息产业股份有限公司 一种数据流加密的方法
US8023644B2 (en) * 2006-12-04 2011-09-20 Lsi Corporation Multimode block cipher architectures
CN102279838A (zh) * 2011-08-31 2011-12-14 公安部第三研究所 基于统一硬件任务接口的系统架构的重构方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722046A (zh) * 2004-06-30 2006-01-18 富士通株式会社 安全处理器和用于安全处理器的程序
US8023644B2 (en) * 2006-12-04 2011-09-20 Lsi Corporation Multimode block cipher architectures
CN102111263A (zh) * 2011-02-21 2011-06-29 山东中孚信息产业股份有限公司 一种数据流加密的方法
CN102279838A (zh) * 2011-08-31 2011-12-14 公安部第三研究所 基于统一硬件任务接口的系统架构的重构方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105743636A (zh) * 2014-12-11 2016-07-06 上海华虹集成电路有限责任公司 实现密码算法的方法
CN105356996A (zh) * 2015-12-14 2016-02-24 联想(北京)有限公司 一种密文处理方法、电子设备及密文处理装置
CN105356996B (zh) * 2015-12-14 2018-11-09 联想(北京)有限公司 一种密文处理方法、电子设备及密文处理装置
CN105740721A (zh) * 2016-01-21 2016-07-06 浪潮电子信息产业股份有限公司 一种数据加解密处理的装置、方法及系统
CN109656840A (zh) * 2018-12-21 2019-04-19 成都海光集成电路设计有限公司 一种数据加解密的装置、方法、存储介质、以及数据存储系统
CN113970906A (zh) * 2020-07-22 2022-01-25 台达电子企业管理(上海)有限公司 多单元协作分布式的电气控制系统及电气系统
CN113672946A (zh) * 2021-07-15 2021-11-19 平头哥(上海)半导体技术有限公司 数据加解密组件、相关装置和方法

Also Published As

Publication number Publication date
CN103427981B (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN102710415B (zh) 一种利用对称密码算法进行数据加解密的方法及查表装置
US7688974B2 (en) Rijndael block cipher apparatus and encryption/decryption method thereof
CN101753292B (zh) 用于链接式加密模式的方法和设备
CN103427981B (zh) 一种实现加密、解密的方法以及装置
CN102035641A (zh) 一种实现aes加解密的装置和方法
CN109245881A (zh) 一种照片视频云端加密存储方法
CN102664729B (zh) 一种基于fpga的aes加解密网络通讯装置及其实现方法
CN104639314A (zh) 基于aes加密/解密算法的装置和流水控制方法
WO2011029753A1 (en) A method of diversification of a round function of an encryption algorithm
CN107947916B (zh) 一种基于des算法的一体式加解密模块
CN102594549B (zh) 一种数据多级加密、解密方法
CN103580851A (zh) 信息加密及解密方法
CN103346878B (zh) 一种基于fpga高速串行io的保密通信方法
CN107534558A (zh) 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统
CN101534190A (zh) 一种多通道加/解密方法、装置及系统
WO2004102870A2 (en) A hardware implementation of the mixcolumn/ invmixcolumn functions
CN101882991B (zh) 基于分组密码算法的通讯数据流加密方法
CN105721139B (zh) 一种适用于有限io资源的fpga的aes加解密方法及电路
CN103338447B (zh) 一种应用于短距离传输的自存取加解密电路
Lv et al. AES encryption algorithm keyless entry system
CN1833399B (zh) 瑞恩多尔块密码装置及其加密/解密方法
CN102857334B (zh) 一种实现aes加解密的方法及装置
CN102546152B (zh) 一种实现数据多级加密、解密的方法
CN101877849A (zh) 无线模块与外部设备之间通讯的方法
CN108763982B (zh) 一种适用于rfid阅读器的des加密解密装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190715

Address after: 100015 Gaojiayuan No. 1, Chaoyang District, Beijing

Patentee after: Beijing Huada Zhibao Electronics System Co., Ltd.

Address before: 100015 Gaojiayuan No. 1, Jiangtai Road, Chaoyang District, Beijing (Beijing 8545 Mailbox)

Patentee before: Beijing Huahong Integrated Circuit Design Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200214

Address after: 100089 Floor 12 1506, Building A 1, 66 Zhongguancun East Road, Haidian District, Beijing

Co-patentee after: Beijing Huada Zhibao Electronics System Co., Ltd.

Patentee after: Beijing Huahong Integrated Circuit Design Co., Ltd.

Address before: 100015 Beijing city Chaoyang District Gaojiayuan No.

Patentee before: Beijing Huada Zhibao Electronics System Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220211

Address after: 211100 floor 5, building 9, zone B, artificial intelligence Industrial Park, No. 266, Chuangyan Road, Qilin scientific innovation park, Nanjing, Jiangsu Province

Patentee after: Huada Yunxin (Nanjing) Technology Co.,Ltd.

Address before: 100089 1506, 12 / F, building a 1, 66 Zhongguancun East Road, Haidian District, Beijing

Patentee before: Beijing Huahong Integrated Circuit Design Co.,Ltd.

Patentee before: Beijing Huada Zhibao Electronic System Co., Ltd

TR01 Transfer of patent right