CN108183790B - 一种aes加密装置、芯片及系统 - Google Patents
一种aes加密装置、芯片及系统 Download PDFInfo
- Publication number
- CN108183790B CN108183790B CN201810149964.0A CN201810149964A CN108183790B CN 108183790 B CN108183790 B CN 108183790B CN 201810149964 A CN201810149964 A CN 201810149964A CN 108183790 B CN108183790 B CN 108183790B
- Authority
- CN
- China
- Prior art keywords
- encryption
- key
- unit
- register
- column
- 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
Images
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
Abstract
本发明公开了一种AES加密装置及系统,包括:移位阵列模块,用于将输入的状态矩阵中不同行的待加密数据进行循环位移并输出第一列矩阵;字节代换模块,用于对第一列矩阵中的每个字节执行字节代换处理,得到第二列矩阵;列混淆模块,用于将第二列矩阵进行列混淆处理,得到第三列矩阵;轮密钥加模块,用于对第三列矩阵执行轮密钥加处理,并对处理后的第三列矩阵进行存储以得到中间状态矩阵;轮密钥加模块还用于将中间状态矩阵输出至移位阵列模块进行加密迭代以完成加密。采用本发明的AES加密装置及系统,能够有效简化电路结构、减小电路面积、降低制备成本以及减小逻辑运算延时。
Description
技术领域
本发明涉及安全技术领域,尤其涉及一种AES加密装置、芯片及系统。
背景技术
AES(Advanced Encryption Standard,即高级加密标准)是由NIST(美国国家标准与技术研究院)于2001年发布的加密算法,已被广泛应用于加密协议、通信协议和通信终端中。NIST确定的AES算法标准将分组长度固定为128位,仅支持128位、192位或256位的密钥长度。AES算法由加密、解密和密钥扩展三种基本运算构成,所有的运算都是基于完整的字节操作。AES加密运算和解密运算都采取迭代结构,不同密钥长度在加密或解密运算中迭代的轮数不同,128位、192位和256位的密钥长度分别对应10轮、12轮和14轮的迭代运算。如图1所示,AES算法除去最后一轮运算之外,其它每轮加密运算均包含字节代换、行移位、列混淆和轮密钥加操作,而解密运算分别为对应的逆操作。
现有的分组密码的操作模式是以分组密钥为基础的密码装置,主要分为反馈模式和非反馈模式,其中,反馈模式中每一组数据的加密都需要上一组数据的加密结果参与,各组数据的加密过程只能串行执行;非反馈模式中每组数据的加密是相互独立的,各组数据可并行加密。
现有的反馈模式大多采用Round-based型电路来实现分组密码或解密操作,非反馈模式普遍采用并行型电路;其中,Round-based型电路对分组数据的加密过程只能串行执行,对分组数据进行1次运算只能完成1轮加密或解密运算。如图2所示,Round-based型电路包括第一选择器、密钥扩展模块,以及与第一选择器顺次连接的字节代换模块、行位移模块、列混淆模块、第二选择器、轮密钥加模块。发明人在实施本发明的过程中发现:由于AES算法标准将分组长度固定为128位,且所有的运算都是基于完整的字节操作,则Round-based型电路中各个模块均需16个8位的逻辑运算单元才能支持各模块的逻辑运算,这就使得现有的Round-based型电路的电路结构复杂、电路面积大、制备成本高;并且其逻辑运算较多,还存在较大的延时问题。
发明内容
针对上述问题,本发明的一种AES加密装置及系统能够有效简化电路结构、减小电路面积、降低制备成本以及减小逻辑运算延时。
为解决上述技术问题,本发明的一种AES加密装置,包括:
移位阵列模块,用于将输入的状态矩阵中不同行的待加密数据按照不同偏移量进行循环位移,并依次输出第一列矩阵;所述第一列矩阵用于指示状态矩阵移位后的列数据;
字节代换模块,与所述移位阵列模块连接,用于在每次输入所述第一列矩阵时,对所述第一列矩阵中的每个字节执行字节代换处理,得到第二列矩阵;
列混淆模块,与所述字节代换模块连接,用于在每次输入所述第二列矩阵时,将所述第二列矩阵进行列混淆处理,得到第三列矩阵;
轮密钥加模块,与所述列混淆模块连接,用于在每次输入所述第三列矩阵时,对所述第三列矩阵执行轮密钥加处理,并对处理后的所述第三列矩阵进行存储以得到中间状态矩阵;
所述轮密钥加模块,还用于在获取到所述中间状态矩阵时,将所述中间状态矩阵输出至所述移位阵列模块进行加密迭代,并在加密迭代的轮数达到预设数量阈值时,输出对应的中间状态矩阵以完成加密。
与现有技术相比,本发明的AES加密装置通过移位阵列模块输出的数据正好为列混淆需要的第一列数据,使得该加密装置无需使用移位操作运算逻辑,能够减小关键路径上的逻辑运算、简化电路结构、降低电路制备成本,同时减小逻辑运算延时。
作为上述方案的改进,所述移位阵列模块包括4个并行排列的移位阵列单元;
每个所述移位阵列单元包括第一选择器,以及与所述第一选择器顺次连接的第一寄存器、第二寄存器、第三寄存器、第四寄存器;其中,所述第一选择器具有第一输入端、第二输入端和第三输入端,所述第一输入端与所述第四寄存器的输出端连接,所述第二输入端用于输入所述状态矩阵中的1行数据,所述第三输入端用于输入所述中间状态矩阵的1行数据;
所述4个移位阵列单元中的第一移位阵列单元通过第四寄存器输出、第二移位阵列单元通过第三寄存器输出、第三移位阵列单元通过第二寄存器输出、第四移位阵列单元通过第一寄存器输出,以实现循环位移。
作为上述方案的改进,所述字节代换模块包括4个并行排列的S运算单元;
所述4个S运算单元的输入端与所述4个移位阵列单元的输出端一对一连接,以向所述4个S运算单元输入所述第一列矩阵,使得全部所述S运算单元对所述第一列阵列中对应的字节同时执行字节代换处理。
作为上述方案的改进,所述轮密钥加模块包括第一异或单元和暂存单元,其中,所述第一异或单元具有第一输入端、第二输入端、第一输出端和第二输出端;所述第一异或单元的第一输入端用于输入轮密钥,所述第一异或单元的第二输入端与所述列混淆模块连接以输入所述第三列矩阵;
所述暂存单元具有顺次连接的第一暂存寄存器、第二暂存寄存器和第三暂存寄存器;所述第一暂存寄存器的输入端与所述第一异或单元的第一输出端连接,以暂存3个所述第三列矩阵;所述第一暂存寄存器的输出端、所述第二暂存寄存器的输出端、所述第三暂存寄存器的输出端以及所述第一异或单元的第二输出端共同连接至所述第一选择器的第三输入端,以向所述移位阵列模块提供所述中间状态矩阵;
所述暂存单元在所述加密迭代的轮数达到预设数量阈值时,经所述第一暂存寄存器输出对应的中间状态矩阵,完成加密数据的输出。
为解决上述技术问题,本发明还提供一种加密芯片,包括:上述任一种加密装置。
为解决上述技术问题,本发明还提供一种加密系统,包括:至少一组上述任一种的加密装置;其中,每组所述加密装置包括4个;
4个加密装置的第一加密装置的移位阵列模块的输出端分别与其它3个加密装置的字节代换模块的输入端连接,以同时对移位后状态矩阵的4个第一列矩阵执行字节代换处理、列混淆处理以及轮密钥加处理;
所述3个加密装置的第一异或单元的第一输出端共同连接至所述第一加密装置的第一选择器的第三输入端,以向所述第一加密装置的移位阵列模块提供中间状态矩阵。
与现有技术相比,本发明的AES加密系统,通过个加密装置的第一加密装置的移位阵列模块的输出端分别与其它3个加密装置的字节代换模块的输入端连接,以同时对移位后状态矩阵的个第一列矩阵执行字节代换处理、列混淆处理以及轮密钥加处理;其它个加密装置的第一异或单元的第一输出端共同连接至第一加密装置的第一选择器的第三输入端,以向第一加密装置的移位阵列模块提供中间状态矩阵,使得本发明的AES加密系统在减小关键路径上的逻辑运算、简化电路结构的前提下,还能够在一个周期可完成轮加密运算,能够有效提高资源的利用率,加快加密运算的速度。
作为上述方案的改进,所述的加密系统,还包括一密钥扩展模块;所述密钥扩展模块分别与每组所述加密装置中的4个轮密钥加模块连接,用于同时提供4列轮密钥以进行轮密钥加处理。
作为上述方案的改进,所述密钥扩展模块具有顺次连接的4个密钥寄存单元,以及顺次连接的第二异或单元、第三异或单元、第四异或单元和第五异或单元;每个所述密钥寄存单元具有第二选择器以及与所述第二选择器连接的密钥寄存器;其中,
所述4个密钥寄存器中第一密钥寄存器的第一输出端通过T处理单元连接至第三选择器的第一输入端,使得所述T处理单元在i=4n时依次执行字循环移位、字节代换和轮常量异或处理,得到T(Wi-1),Wi-1为第i-1列轮密钥,i为轮内加密迭代的次数且i≥4,n为整数;所述第一密钥寄存器的第二输出端连接至所述第三选择器的第二输入端,使得所述第一密钥寄存器在i≠4n时将存储的Wi-1输出至所述第三选择器;
所述第三选择器的输出端连接至所述第二异或单元的第一输入端,所述4个密钥寄存器中第四密钥寄存器的输出端连接至所述第二异或单元的第二输入端,以向所述第一加密装置输出Wi,Wi为第i列轮密钥;
所述4个密钥寄存器中第三密钥寄存器的输出端连接至所述第三异或单元的输入端,以向所述第二加密装置输出Wi+1,Wi+1为第i+1列轮密钥;
所述4个密钥寄存器中第二密钥寄存器的输出端连接至所述第四异或单元的输入端,以向所述第三加密装置输出Wi+2,Wi+2为第i+2列轮密钥;
所述4个密钥寄存器中的第一密钥寄存器的输出端连接至所述第五异或单元的输入端,以向所述第四加密装置输出Wi+3,Wi+3为第i+3列轮密钥。
本发明还提供一种加密芯片,包括上述任一种加密系统。
附图说明
图1是现有技术中AES128的加密过程示意图。
图2是现有技术中Round-based型电路的结构示意图。
图3是本发明实施例1的一种AES加密装置的结构示意图。
图4是现有技术中并行型电路的结构示意图。
图5是本发明实施例2的一种AES加密系统的结构示意图。
图6是本发明实施例2中密钥扩展模块的结构示意图。
图7是本发明实施例2中密钥扩展模块与加密装置的连接示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
下面结合具体实施例和附图对本发明的技术方案进行清楚、完整的描述。
实施例1
如图3所示,是本发明实施例1的一种AES加密装置的结构示意图。
该AES加密装置,包括:移位阵列模块1,用于将输入的状态矩阵中不同行的待加密数据按照不同偏移量进行循环位移,并依次输出第一列矩阵;第一列矩阵用于指示状态矩阵移位后的列数据;字节代换模块2,与移位阵列模块1的连接,用于在每次输入第一列矩阵时,对第一列矩阵中的每个字节执行字节代换处理,得到第二列矩阵;列混淆模块3,与字节代换模块2连接,用于在每次输入第二列矩阵时,将第二列矩阵进行列混淆处理,得到第三列矩阵;轮密钥加模块4,与列混淆模块3连接,用于在每次输入第三列矩阵时,对第三列矩阵执行轮密钥加处理,并对处理后的第三列矩阵进行存储以得到中间状态矩阵;轮密钥加模块3,还用于在获取到中间状态矩阵时,将中间状态矩阵输出至移位阵列模块1进行加密迭代,并在加密迭代的轮数达到预设数量阈值时,输出对应的中间状态矩阵以完成加密。
具体地,移位阵列模块1包括4个并行排列的第一移位阵列单元11、第二移位阵列单元12、第三移位阵列单元13和第四移位阵列单元14。下面以第一移位阵列单元11为例,详细说明移位阵列单元的结构。
第一移位阵列单元11包括第一选择器110,以及与第一选择器110顺次连接的第一寄存器111、第二寄存器112、第三寄存器113、第四寄存器114,第一寄存器111、第二寄存器112、第三寄存器113、第四寄存器114均为数据长度为8位的寄存器;其中,第一选择器110具有第一输入端、第二输入端和第三输入端,第一输入端与第四寄存器114的输出端连接,第二输入端用于输入状态矩阵中的1行数据,第三输入端用于输入中间状态矩阵的1行数据。第二移位阵列单元12、第三移位阵列单元13以及第四移位阵列单元14与该第一移位阵列单元11的结构相似,在此不再赘述。
进一步地,该移位阵列模块1的第一移位阵列单元11通过第四寄存器114输出、第二移位阵列单元12通过第三寄存器123输出、第三移位阵列单元13通过第二寄存器132输出、第四移位阵列单元14通过第一寄存器141输出,以实现循环位移。
字节代换模块2包括4个并行排列的S运算单元;4个S运算单元的输入端与4个移位阵列单元的输出端一对一连接,以向4个S运算单元输入第一列矩阵,使得全部S运算单元对第一列阵列中对应的字节同时执行字节代换处理。
具体地,字节代换模块2包括第一S运算单元21、第二S运算单元22、第三S运算单元23和第四S运算单元24;其中,第一S运算单元21的输入端与第一移位阵列单元11的第四寄存器114的输出端连接;第二S运算单元22的输入端与第二移位阵列单元12的第三寄存器123的输出端连接;第三S运算单元23的输入端与第三移位阵列单元13的第二寄存器132的输出端连接;第四S运算单元24的输入端与第四移位阵列单元14的第一寄存器141的输出端连接。
在本发明实施例1中,轮密钥加模块4包括第一异或单元41和暂存单元42;其中,第一异或单元41具有第一输入端、第二输入端、第一输出端和第二输出端;第一异或单元41的第一输入端用于输入轮密钥,第一异或单元41的第二输入端与列混淆模块3连接以输入第三列矩阵;暂存单元42具有顺次连接的第一暂存寄存器421、第二暂存寄存器422和第三暂存寄存器423;第一暂存寄存器421的输入端与第一异或单元41的第一输出端连接,以暂存3个第三列矩阵;第一暂存寄存器421的输出端、第二暂存寄存器422的输出端、第三暂存寄存器423的输出端以及第一异或单元41的第二输出端共同连接至移位阵列模块1中第一选择器110的第三输入端,以向移位阵列模块1提供所述中间状态矩阵;暂存单元42在加密迭代的轮数达到预设数量阈值时,经第一暂存寄存器421输出对应的中间状态矩阵,完成加密数据的输出。
下面结合图3对实施例1的AES加密装置的工作过程进行说明。
初始状态矩阵(明文分组)按列从移位阵列模块1的输入端输入,经过4个周期后完成128位数据输入,使得移位阵列模块1中第一移位阵列单元11存储初始状态矩阵的第一行数据,第二移位阵列单元12存储初始状态矩阵的第二行数据,第三移位阵列单元13存储初始状态矩阵的第三行数据,第四移位阵列单元14存储初始状态矩阵的第四行数据。此后,移位阵列模块1每个周期执行向右移位1个字节,使得移位阵列模块1从第一移位阵列单元11的第四寄存器114、第二移位阵列单元12的第三寄存器123、第三移位阵列单元13的第二寄存器132、第四移位阵列单元14的第一寄存器141输出数据,进而实现对初始状态矩阵的移位处理;移位阵列模块1执行4个周期的向右移位即完成1轮加密运算。由于经移位阵列模块1输出的数据正好为列混淆需要的第一列数据,因而当采用本发明的AES加密装置时,可移除现有技术中的行移位操作,进而可有效减小关键路径上的逻辑运算、简化电路结构、降低电路制备成本,同时还能减小逻辑运算延时。
移位阵列模块1每次将第一列矩阵输出至字节代换模块2时,字节代换模块2中的第一S运算单元21、第二S运算单元22、第三S运算单元23和第四S运算单元24同时对该第一列矩阵中对应的字节进行字节代换处理,得到第二列矩阵。由于本发明中移位阵列模块1仅需4个S运算单元就可实现字节代换处理,从现有技术的16个压缩至4个,仅为现有技术中的1/4,因而可进一步减小加密装置的电路面积。
字节代换模块2每次将第二列矩阵输出至列混淆模块3时,混淆模块3就对输入的第二列矩阵执行一次列混淆运算,得到第三列矩阵;列混淆模块3再将第三列矩阵输出至轮密钥加模块4,以通过第一异或单元41对第三列矩阵进行轮密钥加处理,并由暂存单元42存储第三列矩阵。当1轮加密迭代运算完成后,暂存单元42中的第三列矩阵和第一异或单元41输出的第三列矩阵共同构成中间状态矩阵,并一起输出至移位阵列模块1开始下一轮的加密迭代运算。当加密迭代的轮数达到预设的数量阈值时,暂存单元42经第一暂存寄存器421输出加密数据;其中,加密迭代的轮数有密钥长度决定,当密钥长度为128位时,该加密装置的加密运算需进行10轮;当密钥长度为192位时,该加密装置的加密运算需进行12轮;当密钥长度为256位时,该加密装置的加密运算需进行14轮。由于列混淆模块3与轮密钥加模块4中的运算逻辑均从现有技术的4个减少至1个,因而可进一步减小电路面积和逻辑运算延时。
另一方面,由于现有的Round-based型电路只能对分组数据执行串行加密运算,使得单个Round-based型电路的数据吞吐量很低;而如图4所示,虽然现有技术中并行型电路能够对分组数据执行并行加密运算,但是由于并行型电路中各个加密执行电路是相互独立的,例如,当采用长度为128位的密钥时,需采用10个并行的加密执行电路以及1个加密执行电路才能完成加密运算,因此并行型电路并不适用于反馈模式电路。为了进一步解决现有并行加密电路执行反馈模式加密操作吞吐量低的问题,本发明在AES加密装置的基础上,还提供一种基于AES加密系统,使得在简化电路结构的同时,还能够有效提高并行加密电路执行反馈模式加密操作的吞吐量,进而提高加密运算的运算速度和逻辑运算资源的利用效率。下面对该AES加密系统进行详细介绍。
实施例2
为解决上述技术问题,本发明还提供一种加密系统,如图5所示,是本发明加密系统的结构示意图。
该加密系统包括:至少一组上述加密装置;每组加密装置包括4个,分别为第一加密装置100、第二加密装置200、第三加密装置300和第四加密装置400;第一加密装置100的移位阵列模块1的输出端分别第二加密装置200、第三加密装置300和第四加密装置400的字节代换模块2的输入端连接,以同时对移位后状态矩阵的4个第一列矩阵执行字节代换处理、列混淆处理以及轮密钥加处理;第二加密装置200、第三加密装置300和第四加密装置400的第一异或单元41的第一输出端共同连接至第一加密装置100的第一选择器1的第三输入端,以向第一加密装置100的移位阵列模块1提供中间状态矩阵。
在该实施例中,初始轮密文通过第一复用器6输入,加密数据通过第二录用器7输出,其中,加密系统通过相邻的4个并行加密装置的组合逻辑,使得加密系统在1个周期内可并行执行16个S盒字节代换处理和4个列混淆处理,也就是说,该加密系统在一个周期可完成1轮加密运算,使得AES加密系统具有较高的数据吞吐量,能够有效提高资源的利用率,加快加密运算的速度。例如,当密钥长度为128位时,该系统经过4个周期的数据输入和10个周期的加密运算就可完成一组数据加密;而实施例1中的加密装置需经过4个周期的数据输入和40个周期的加密运算,才能完成一组数据加密。同时,由于现有的并行型电路中组合逻辑资源的利用率仅为1/11,而本发明的加密系统中组合逻辑资源的利用率为4/11,其利用率高。另外,当密钥长度为192位或256位时,组合逻辑资源的利用率还分别从1/13提高至4/13,从1/15提高至4/15。
优选地,如图6~7所示,该加密系统还包括一密钥扩展模块5;该密钥扩展模块5分别与每组加密装置中的4个轮密钥加模块连接,用于同时提供4列轮密钥以进行轮密钥加处理。
具体地,该密钥扩展模块具有顺次连接的4个密钥寄存单元,以及顺次连接的第二异或单元521、第三异或单元522、第四异或单元523和第五异或单元524;每个密钥寄存单元具有第二选择器以及与第二选择器连接的密钥寄存器;其中,4个密钥寄存器中第一密钥寄存器511的第一输出端通过T处理单元53连接至第三选择器54的第一输入端,使得T处理单元53在i=4n时依次执行字循环移位、字节代换和轮常量异或处理,得到T(Wi-1),Wi-1为第i-1列轮密钥,i为轮内加密迭代的次数且i≥4,n为整数;第一密钥寄存器511的第二输出端连接至第三选择器53的第二输入端,使得第一密钥寄存器511在i≠4n时将存储的Wi-1输出至第三选择器53;第三选择器53的输出端连接至第二异或单元521的第一输入端,4个密钥寄存器中第四密钥寄存器514的输出端连接至第二异或单元521的第二输入端,以向第一加密装置100输出Wi,Wi为第i列轮密钥;4个密钥寄存器中第三密钥寄存器513的输出端连接至第三异或单元522的输入端,以向第二加密装置200输出Wi+1,Wi+1为第i+1列轮密钥;4个密钥寄存器中第二密钥寄存器512的输出端连接至第四异或单元523的输入端,以向第三加密装置300输出Wi+2,Wi+2为第i+2列轮密钥;4个密钥寄存器中的第一密钥寄存器511的输出端连接至第五异或单元524的输入端,以向第四加密装置400输出Wi+3,Wi+3为第i+3列轮密钥。
优选地,本发明的AES加密装置和AES加密系统可通过FPGA和ASIC设计实现,本发明不对AES加密装置或AES加密系统的实现方式做限制。本发明中的AES加密装置或AES加密系统可集成于电子芯片上,本发明不对AES加密装置或AES加密系统的制备形式做限制。
综上所述,本发明的AES加密装置通过移位阵列模块1输出的数据正好为列混淆需要的第一列数据,使得该加密装置无需使用移位操作运算逻辑,能够减小关键路径上的逻辑运算、简化电路结构、降低电路制备成本,同时减小逻辑运算延时;并且,移位阵列模块1仅需4个S运算单元就可实现字节代换处理,从现有技术的16个压缩至4个,仅为现有技术中的1/4,可进一步减小加密装置的电路面积;另外,列混淆模块3与轮密钥加模块4中的运算逻辑均从现有技术的4个减少至1个,因而可进一步减小电路面积。
本发明的AES加密系统,通过4个加密装置的第一加密装置100的移位阵列模块1的输出端分别与其它3个加密装置的字节代换模块的输入端连接,以同时对移位后状态矩阵的4个第一列矩阵执行字节代换处理、列混淆处理以及轮密钥加处理;其它3个加密装置的第一异或单元的第一输出端共同连接至第一加密装置100的第一选择器的第三输入端,以向第一加密装置100的移位阵列模块提供中间状态矩阵,使得本发明的AES加密系统在一个周期可完成1轮加密运算,能够有效提高资源的利用率,加快加密运算的速度。
以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,故凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种AES加密装置,其特征在于,包括:
移位阵列模块,用于将输入的状态矩阵中不同行的待加密数据按照不同偏移量进行循环位移,并依次输出第一列矩阵;所述第一列矩阵用于指示状态矩阵移位后的列数据;
所述移位阵列模块包括4个并行排列的移位阵列单元;
每个所述移位阵列单元包括第一选择器,以及与所述第一选择器顺次连接的第一寄存器、第二寄存器、第三寄存器、第四寄存器;其中,所述第一选择器具有第一输入端、第二输入端和第三输入端,所述第一输入端与所述第四寄存器的输出端连接,所述第二输入端用于输入所述状态矩阵中的1行数据,所述第三输入端用于输入中间状态矩阵的1行数据;
所述4个移位阵列单元中的第一移位阵列单元通过第四寄存器输出、第二移位阵列单元通过第三寄存器输出、第三移位阵列单元通过第二寄存器输出、第四移位阵列单元通过第一寄存器输出,以实现循环位移;
字节代换模块,与所述移位阵列模块连接,用于在每次输入所述第一列矩阵时,对所述第一列矩阵中的每个字节执行字节代换处理,得到第二列矩阵;
列混淆模块,与所述字节代换模块连接,用于在每次输入所述第二列矩阵时,将所述第二列矩阵进行列混淆处理,得到第三列矩阵;
轮密钥加模块,与所述列混淆模块连接,用于在每次输入所述第三列矩阵时,对所述第三列矩阵执行轮密钥加处理,并对处理后的所述第三列矩阵进行存储以得到所述中间状态矩阵;
所述轮密钥加模块,还用于在获取到所述中间状态矩阵时,将所述中间状态矩阵输出至所述移位阵列模块进行加密迭代,并在加密迭代的轮数达到预设数量阈值时,输出对应的所述中间状态矩阵以完成加密。
2.如权利要求1所述的加密装置,其特征在于,所述字节代换模块包括4个并行排列的S运算单元;
所述4个S运算单元的输入端与所述4个移位阵列单元的输出端一对一连接,以向所述4个S运算单元输入所述第一列矩阵,使得全部所述S运算单元对所述第一列阵列中对应的字节同时执行字节代换处理。
3.如权利要求2所述的加密装置,其特征在于,所述轮密钥加模块包括第一异或单元和暂存单元;其中,
所述第一异或单元具有第一输入端、第二输入端、第一输出端和第二输出端;所述第一异或单元的第一输入端用于输入轮密钥,所述第一异或单元的第二输入端与所述列混淆模块连接以输入所述第三列矩阵;
所述暂存单元具有顺次连接的第一暂存寄存器、第二暂存寄存器和第三暂存寄存器;所述第一暂存寄存器的输入端与所述第一异或单元的第一输出端连接,以暂存3个处理后的所述第三列矩阵;所述第一暂存寄存器的输出端、所述第二暂存寄存器的输出端、所述第三暂存寄存器的输出端以及所述第一异或单元的第二输出端共同连接至所述第一选择器的第三输入端,以向所述移位阵列模块提供所述中间状态矩阵;
所述暂存单元在所述加密迭代的轮数达到预设数量阈值时,经所述第一暂存寄存器输出对应的中间状态矩阵,完成加密数据的输出。
4.一种AES加密芯片,其特征在于,包括如权利要求1~3中任一项所述加密装置。
5.一种AES加密系统,其特征在于,包括:至少一组如权利要求3所述的加密装置;其中,每组所述加密装置包括4个;
4个加密装置的第一加密装置的移位阵列模块的输出端分别与其它3个加密装置的字节代换模块的输入端连接,以同时对移位后状态矩阵的4个第一列矩阵执行字节代换处理、列混淆处理以及轮密钥加处理;
所述3个加密装置的第一异或单元的第一输出端共同连接至所述第一加密装置的第一选择器的第三输入端,以向所述第一加密装置的移位阵列模块提供中间状态矩阵。
6.如权利要求5所述的加密系统,其特征在于,还包括一密钥扩展模块;所述密钥扩展模块分别与每组所述加密装置中的4个轮密钥加模块连接,用于同时提供4列轮密钥以进行轮密钥加处理。
7.如权利要求6所述的加密系统,其特征在于,所述密钥扩展模块具有顺次连接的4个密钥寄存单元,以及顺次连接的第二异或单元、第三异或单元、第四异或单元和第五异或单元;每个所述密钥寄存单元具有第二选择器以及与所述第二选择器连接的密钥寄存器;其中,
所述4个密钥寄存器中第一密钥寄存器的第一输出端通过T处理单元连接至第三选择器的第一输入端,使得所述T处理单元在i=4n时依次执行字循环移位、字节代换和轮常量异或处理,得到T(Wi-1),Wi-1为第i-1列轮密钥,i为轮内加密迭代的次数且i≥4,n为整数;所述第一密钥寄存器的第二输出端连接至所述第三选择器的第二输入端,使得所述第一密钥寄存器在i≠4n时将存储的Wi-1输出至所述第三选择器;
所述第三选择器的输出端连接至所述第二异或单元的第一输入端,所述4个密钥寄存器中第四密钥寄存器的输出端连接至所述第二异或单元的第二输入端,以向所述第一加密装置输出Wi,Wi为第i列轮密钥;
所述4个密钥寄存器中第三密钥寄存器的输出端连接至所述第三异或单元的输入端,以向所述第二加密装置输出Wi+1,Wi+1为第i+1列轮密钥;
所述4个密钥寄存器中第二密钥寄存器的输出端连接至所述第四异或单元的输入端,以向所述第三加密装置输出Wi+2,Wi+2为第i+2列轮密钥;
所述4个密钥寄存器中的第一密钥寄存器的输出端连接至所述第五异或单元的输入端,以向所述第四加密装置输出Wi+3,Wi+3为第i+3列轮密钥。
8.一种加密芯片,其特征在于,包括如权利要求5~7中任一项所述加密系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810149964.0A CN108183790B (zh) | 2018-02-13 | 2018-02-13 | 一种aes加密装置、芯片及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810149964.0A CN108183790B (zh) | 2018-02-13 | 2018-02-13 | 一种aes加密装置、芯片及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108183790A CN108183790A (zh) | 2018-06-19 |
CN108183790B true CN108183790B (zh) | 2020-10-13 |
Family
ID=62552774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810149964.0A Active CN108183790B (zh) | 2018-02-13 | 2018-02-13 | 一种aes加密装置、芯片及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108183790B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314050B (zh) * | 2018-12-11 | 2023-06-30 | 北京思源理想控股集团有限公司 | 一种加解密方法及装置 |
CN110336658B (zh) * | 2019-07-01 | 2023-03-21 | 武汉能钠智能装备技术股份有限公司 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
CN113392432A (zh) * | 2021-06-11 | 2021-09-14 | 山东华宇工学院 | 加密存储装置及电子设备 |
CN117390642B (zh) * | 2023-10-17 | 2024-03-01 | 苏州元脑智能科技有限公司 | 一种数据加解密方法、装置、设备和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009034393A1 (en) * | 2007-09-15 | 2009-03-19 | University Of Sheffield | Aes-encryption apparatus and method |
CN102223228A (zh) * | 2011-05-11 | 2011-10-19 | 北京航空航天大学 | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8625781B2 (en) * | 2007-09-07 | 2014-01-07 | Greenpeak Technologies B.V. | Encrypton processor |
CN104639314A (zh) * | 2014-12-31 | 2015-05-20 | 深圳先进技术研究院 | 基于aes加密/解密算法的装置和流水控制方法 |
CN106506142B (zh) * | 2016-11-22 | 2020-11-03 | 北京航空航天大学 | 一种低复杂度的aes一体化加解密器实现方法 |
-
2018
- 2018-02-13 CN CN201810149964.0A patent/CN108183790B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009034393A1 (en) * | 2007-09-15 | 2009-03-19 | University Of Sheffield | Aes-encryption apparatus and method |
CN102223228A (zh) * | 2011-05-11 | 2011-10-19 | 北京航空航天大学 | 基于fpga的aes加密芯片设计方法及嵌入式加密系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108183790A (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108183790B (zh) | 一种aes加密装置、芯片及系统 | |
JP5141910B2 (ja) | Sms4暗号アルゴリズムを実現する暗号化および復号化処理方法とそのシステム | |
EP2316189B1 (en) | Method for generating a cipher-based message authentication code | |
KR100377176B1 (ko) | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 | |
CN110572255B (zh) | 基于轻量级分组密码算法Shadow的加密方法、装置及计算机可读介质 | |
CN110784307B (zh) | 轻量级密码算法scenery实现方法、装置及存储介质 | |
James et al. | An implementation of modified lightweight advanced encryption standard in FPGA | |
Cui et al. | On compact cauchy matrices for substitution-permutation networks | |
Arshad et al. | Compact implementation of SHA3-512 on FPGA | |
CN116488794A (zh) | 基于fpga的高速sm4密码模组实现方法及装置 | |
CN108494547B (zh) | 一种aes加密系统及芯片 | |
Mulani et al. | Area optimization of cryptographic algorithm on less dense reconfigurable platform | |
Deshpande et al. | AES encryption engines of many core processor arrays on FPGA by using parallel, pipeline and sequential technique | |
Gilbert et al. | Decorrelated Fast Cipher: an AES Candidate | |
US11283619B2 (en) | Bit mixer based parallel MAC and hash functions | |
US8909510B2 (en) | LFSR emulation | |
CN108768615B (zh) | 散列算法在同一框架下的asic芯片实现方法 | |
WO2007129197A1 (en) | Cryptographic apparatus and process | |
Rais et al. | A novel FPGA implementation of AES-128 using reduced residue of prime numbers based S-Box | |
CN109039608B (zh) | 一种基于双S核的8-bitAES电路 | |
US20180054307A1 (en) | Encryption device | |
Gomes et al. | A fast cryptography pipelined hardware developed in FPGA with VHDL | |
CN111064563A (zh) | 一种高效并行gcm实现方法 | |
CN113872752B (zh) | 安全引擎模组、安全引擎装置和通信设备 | |
Guo et al. | A pipelined implementation of the Grøstl hash algorithm and the advanced encryption standard |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |