CN111865560B - 一种aes密码协处理器及终端设备 - Google Patents
一种aes密码协处理器及终端设备 Download PDFInfo
- Publication number
- CN111865560B CN111865560B CN202010584439.9A CN202010584439A CN111865560B CN 111865560 B CN111865560 B CN 111865560B CN 202010584439 A CN202010584439 A CN 202010584439A CN 111865560 B CN111865560 B CN 111865560B
- Authority
- CN
- China
- Prior art keywords
- key
- unit
- module
- encryption
- data
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于信息安全技术领域,具体涉及一种AES密码协处理器及终端设备,包括:运算控制模块、密钥扩展运算模块、数据存储管理模块以及STTMRAM存储模块;运算控制模块采用加解密数据通路复用结构,加密和解密数据通路复用原始密钥加单元、字节替换单元、行移位单元和输出寄存器单元;密钥扩展运算模块用于按照AES算法规定执行密钥扩展及配置操作,其中g变换计算结构采用加法器复用结构,且h变换复用g变换中的字节替换单元组;数据存储管理模块用于控制存储AES算法加解密过程中的临时数据和最终结果到STTMRAM存储器的不同分区中。本发明采用分时复用、STTMRAM存储器等低资源开销加密硬件架构,实现了低功耗地AES密码协处理,降低了计算资源、极大提升了计算效率。
Description
技术领域
本发明属于信息安全技术领域,更具体地,涉及一种AES密码协处理器及终端设备。
背景技术
随着物联网(IoT)和片上系统(System on a Chip,SoC)的不断发展,以及先进技术的不断采用,物联网芯片在设计时需要对安全考虑的需求也越来越多。由于存在大量的信息交互,数据存储和数据安全是物联网中很重要的一个问题。在安全方面,高级加密标准(Advanced Encryption Standard,AES)算法以其速度快、内存需求低、灵活、易维护等优点广泛应用于数字签名、文档加密、邮件加密、传输加密。
AES是一种迭代型对称分组密码算法,加密和解密使用相同的原始密钥。AES密码算法分组数据长度为128位,而密钥长度Nk根据安全级别由低到高共有三种,分别为128、192、256位,与之相应的轮变换迭代次数Nr依次为10、12、14。其流程图如图1所示。AES加解密核心流程包含四种基本变换,字节替换、行移位、列混淆和密钥加以及对应的逆变换。在AES加解密的计算过程中,需要对密钥和明文或密文进行载入,同时对密钥扩展数据通路和加解密数据通路计算产生的临时数据进行反复存取。密钥明密文的读取和上述两种通路临时数据的反复存取所消耗的时间是AES密码处理器加解密速率的重要影响来源。对于现有的AES硬件存储结构主要是随机存储器(RAM)存储临时数据(较快的读写速度,但掉电数据丢失),非易失性存储器(NVM)存储加解密结果和密钥(掉电数据保留,但读写速度较慢),虽然满足了AES协处理器对数据的存储运算速率要求和非易失性要求,但是RAM+NVM的存储结构较为复杂。另外,现有协处理器的硬件实现面积也需要进行优化,以满足小型化或规整化的使用需求。
发明内容
本发明提供一种AES密码协处理器及终端设备,用以解决现有AES密码协处理器因结构复杂而存在高功耗的技术问题。
本发明解决上述技术问题的技术方案如下:一种AES密码协处理器,包括:运算控制模块、密钥扩展运算模块、数据存储管理模块以及STTMRAM存储模块;
所述运算控制模块用于控制轮变换按照AES算法规定有序执行并控制轮变换迭代次数,该模块采用加解密数据通路复用结构,加密和解密数据通路复用原始密钥加单元、字节替换单元、行移位单元和输出寄存器单元;
所述密钥扩展运算模块用于按照AES算法规定执行密钥扩展及配置操作,其中的g变换计算结构采用加法器复用结构,且h变换复用所述g变换中的字节替换单元组;
所述数据存储管理模块用于控制存储AES算法加解密过程中的临时数据和最终结果到所述STTMRAM存储模块的不同分区。
本发明的有益效果是:本发明提出的AES密码协处理器,运算控制模块和密钥扩展运算模块均采用复用结构,运算控制模块采用加解密数据通路复用方案,密钥扩展运算模块中,g变换计算结构采用加法器复用结构,同时h变换复用g变换中的字节替换单元组,这些分时复用等低资源开销的加密硬件架构,实现了低功耗的AES密码协处理,降低了计算资源。另外,本发明的存储结构完全采用STTMRAM存储器,AES算法执行过程中的中间结果和最终结果分别存储在STTMRAM存储器的不同分区中,改进了加解密数据存储结构,极大提升了计算效率。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,每个所述STTMRAM存储器的容量为64x32bit。
本发明的进一步有益效果是:相比于存储常规方案需要分别设计RAM和非易失型NVM两种读写电路,本设计存储结构完全采用STTMRAM存储器,仅需要一种读写电路,从而降低存储结构的复杂度;STTMRAM存储器较快的读写速度和非易失性等特点可以有效降低数据的读写功耗的同时保证数据的高速读写。采用64x32bit容量的STTMRAM存储器能够满足常规的存储需要,同时不过多的占用资源。
进一步,所述加解密数据通路复用结构设有两个轮密钥加单元HARK,分别用于加密和解密;其中,加密时,PT明文数据通路依次为原始密钥加单元IARK、字节替换单元HSB、行移位单元HSR、轮密钥加单元HARK1,从而通过输出寄存器单元得到加密后的CT密文数据;解密时CT密文数据为加密的逆操作,通路依次为原始密钥加单元IARK、字节替换单元HSB、行移位单元HSR、列混淆单元HMC、轮密钥加单元HARK2,从而通过所述输出寄存器单元得到加密后的PT明文数据。
本发明的进一步有益效果是:相比加解密数据通路完全分离的常规方案,本发明加解密数据通路复用方案在加解密过程中复用了原始密钥加模块IARK,字节替换模块HSB,行移位模块HSR以及输出寄存器模块可有效的降低电路的资源消耗,从而实现安全协处理器在低功耗系统的集成。
进一步,所述加解密数据通路复用结构兼容128位、192位和256位明密文长度。
本发明的进一步有益效果是:本发明的兼容明密文长度选取目前市场上主流的128位、192位和256位,在较好的控制电路的资源占用的同时满足不同场景下的AES加密安全等级。
进一步,所述加法器复用结构中,串行连接加法器单元形成迭代电路,以通过复用加法器单元,迭代计算上一轮轮密钥g变换轮系数字节用多项式值得到下一轮的g变换轮数字节用多项式值。
本发明的进一步有益效果是:本发明在密钥扩展运算模块中采用加法器复用结构和迭代电路,相比与现有的并行运算结构,在实现计算的同时,可以有效地减少基本运算单元的数量和控制电路的复杂性,从而降低电路的整体功耗和资源消耗。
进一步,所述密钥扩展运算模块包括:第一全加器ADD1,第二全加器ADD2,第三全加器ADD3,第四全加器ADD4,第五全加器ADD5,第六全加器ADD6,第七全加器ADD7,第八全加器ADD8,第九全加器ADD9,第十全加器ADD10,第一二路选择器MUX1,第二二路选择器MUX2,第三五路选择器MUX3,第四三路选择器MUX4,第五二路选择器MUX5,第六二路选择器MUX6,第一D触发器D1,第一字节替换单元S1,第二字节替换单元S2,第三字节替换单元S3,以及第四字节替换单元S4;
其中,ADD1~ADD4的输出端对应连接到ADD2~ADD5的输入端形成级联结构产生进位,MUX4~MUX6的输出端对应连接到ADD6~ADD8的输入端形成级联结构产生进位;
g变换运算结果信号G_OUT由ADD10、S3、S4、S1的输出端由低到高组合而成的32位数据,并连接到ADD1的输入端;h变换运算结果信号H_OUT由S1、S3、S4、S1的输出端由低到高组合而成的32位数据,并连接到ADD9的输入端,W4连接到ADD9另一路输入端,ADD9输出端输出到MUX4的一路输入端。
本发明的进一步有益效果是:本发明通过简化g变换和h变换公式,复用四路字节替换单元结构实现,进一步减少电路资源消耗,同时也减少了临时数据的产生使得对存储器的读写操作减少,从而降低电路的整体功耗。
进一步,所述密钥扩展运算模块中,MUX1的两路输入端连接轮密钥扩展信号Key_Round和密钥初始化信号Key_Init、控制端连接密钥扩展开始标志信号Key_Generate_start,MUX1的输出端由低到高分为8组32位数据W0~W7,并对应连接到ADD1~ADD8的输入端;
ADD1~ADD4的输出端和MUX4~MUX7的输出端分别连接到MUX2的输入端,MUX2的输出端连接到D1的输入端,D1的输出端为Key_Round;
W3、W5、W7和ADD4的输出端以及32位固定接地信号32`b0分别连接到MUX3的输入端,MUX3的输出端由低到高分为4组8位数据V0~V3,并且连接到S1~S4的输入端;MUX4~MUX7的一路输入端固定为32`b0,另一输入端分别为ADD5~ADD8的输出端。
本发明还提供一种终端设备,包括如上所述的一种AES密码协处理器。
本发明的有益效果是:终端设备中设有上述AES密码协处理器,不需要占用过多的硬件和/或软件资源,实用性强。
附图说明
图1为AES密码协处理器加解密流程图;
图2为本发明实施例提供的一种AES密码协处理器整体结构示意图;
图3为本发明实施例提供的运算控制模块中加解密数据通路复用结构图;
图4为本发明实施例提供的密钥扩展运算模块电路结构图;
图5为本发明实施例提供的数据存储管理模块结构图;
图6为本发明实施例提供的轮换密钥扩展数据流程图;
图7为本发明实施例提供的加解密流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例一
一种AES密码协处理器,包括:运算控制模块、密钥扩展运算模块、数据存储管理模块以及STTMRAM存储模块;
运算控制模块用于控制轮变换按照AES算法规定有序执行并控制轮变换迭代次数,该模块采用加解密数据通路复用结构,加密和解密数据通路复用原始密钥加单元、字节替换单元、行移位单元和输出寄存器单元;密钥扩展运算模块用于按照AES算法规定执行密钥扩展及配置操作,其中的g变换计算结构采用加法器复用结构,且h变换复用g变换中的字节替换单元组;数据存储管理模块用于控制存储AES算法加解密过程中的临时数据和最终结果到STTMRAM存储模块的不同分区中。
需要说明的是,原始密钥经密钥扩展可以得到加密过程密钥加及解密过程逆密钥加需要的各个轮密钥。密钥扩展运算过程使用二进k位有限域GF(2k)内的数学运算。选取有限域GF(2k)的不可约多项式通式P(x)=xk+…xw+x+1,其中w<k。密钥扩展方案中g变换的轮系数字节用多项式通式表示为:RC[i]=xi-1mod P(x)(i=1,2,…,Nr),其中Nr代表轮密钥次数。对RC[i]进行拆分RC[i]=xi-1mod xk+…+xi-1mod xw+xi-1mod x+xi-1(i=1,2,…,Nr)。密钥扩展运算模块g变换电路复用方案为:通过RC[i]公式拆分简化,串行连接加法器模块形成迭代电路,通过复用加法器模块迭代计算上一轮轮密钥RC[i-1]得到下一轮的RC[i],从而完成密钥扩展运算模块g变换电路内加法器模块的复用。另外,具有非易失性的新型存储器自旋转移力矩磁性随机存储器(Spin-transfer torque Magnetic RAM,STT-MRAM)具有非易失性、高性能(读写速度和DRAM相当,接近SRAM的读写速度)、高密度、高擦写次数(擦写次数>3*1016)及与CMOS工艺兼容等优良特性,被认为是构建下一代通用存储器的理想器件。基于STTMRAM存储结构的AES密码协处理器很好的发挥存储和安全的性能。
另外,如图2所示,协处理器结构还包括数据输入模块AHB_Interface、寄存器配置模块AES_CFG。
数据输入模块AHB Interface作为与主处理器(协处理器的外部单元)通信的接口可采用AMBA 2.0协议,完成AHB总线和寄存器配置模块AES_CFG内SFR(即寄存器)间的数据传输,以实现原始输入信息加载和计算结果信息读取;寄存器配置模块AES_CFG用于配置AES协处理器所需的寄存器模块,内部特殊寄存器SFR包括密钥长度寄存器AES_DEN_SIZE、加解密模式寄存器AES_DEN_MODE、明密文寄存器AES_TXT_IN、原始密钥寄存器AES_KEY_IN、完成标志寄存器AES_DEN_DONE、运算结果寄存器AES_TXT_OUT,分别表示密钥长度模式、加/解密模式控制、明密文输入数据、原始密钥输入数据、加解密完成标志状态、加解密运算后的结果;运算控制模块AES_Ctrl控制轮内四种基本变换按照算法规定有序执行,并控制加解密时轮变换迭代次数;密钥扩展运算模块Key_Generate用于密钥的扩展和配置操作;数据存储管理模块MEM_Ctrl控制存储加解密过程的临时数据和最终结果到存储器中;STTMRAM存储模块充当协处理器的RAM和NVM存储器,用于数据的存储。优选的,每个STTMRAM存储器的容量为64x32bit。
数据输入模块AHB Interface可包括9个输入信号和3个输出信号,输入信号分别是位宽为1bit的时钟信号aes_clk、复位信号aes_rst、片选信号hsel_aes、写使能信号hwrite、空闲标志位hready_in;位宽为2bits的数据宽度信号hsize、状态标志位htrans;位宽为32bits的写数据总线hwdata、地址总线haddr;输出信号分别是位宽为1bit的状态信号hresp、空闲信号hready_out;位宽为32bits的读数据总线hrdata。
运算控制模块AES_Ctrl模块电路采用加解密数据通路复用方案,如图3所示,加密和解密数据通路复用原始密钥加单元IARK、字节替换单元HSB、行移位单元HSR和输出寄存器单元。在轮变换结构内部设有两个轮密钥加单元HARK(HybridAddRoundKey),分别用于加密和解密,轮密钥无需预先进行逆列混淆变换,轮密钥加单元HARK对应硬件电路只有异或门,而逆列混淆模块包含四个乘法因子,0E、0B、0D和09,对应多级乘2变换;AES_Ctrl模块电路包含4个输入和输出信号,分别是位宽为128bits的明文数据PT和密文数据CT;位宽为128bits的原始密钥数据IK和轮密钥数据RK。
运算控制模块AES_Ctrl采用混合加解密数据通路复用方案。在轮变换内部增加一个轮密钥加单元HARK,交换逆轮密钥加和逆列混淆变换的执行顺序后,进行逆轮密钥加时先将该轮轮密钥进行逆列混淆变换加密时,完全复用了加解密数据通路,无需多路选择结构,因此消耗硬件资源更少。
具体的,如图4所示,密钥扩展数据通路复用电路模块包括:第一全加器ADD1,第二全加器ADD2,第三全加器ADD3,第四全加器ADD4,第五全加器ADD5,第六全加器ADD6,第七全加器ADD7,第八全加器ADD8,第九全加器ADD9,第十全加器ADD10,第一二路选择器MUX1,第二二路选择器MUX2,第三五路选择器MUX3,第四三路选择器MUX4,第五二路选择器MUX5,第六二路选择器MUX6,第一D触发器D1,第一字节替换单元S1,第二字节替换单元S2,第三字节替换单元S3,第四字节替换单元S4;其中,MUX1的两路输入端连接轮密钥扩展信号Key_Round和密钥初始化信号Key_Init、控制端连接密钥扩展开始标志信号Key_Generate_start,MUX1的输出端由低到高分为8组32位数据W0~W7,并对应连接到ADD1~ADD8的输入端;ADD1~ADD4的输出端和MUX4~MUX7的输出端分别连接到MUX2的输入端,MUX2的输出端连接到D1的输入端,D1的输出端为Key_Round;W3、W5、W7和ADD4的输出端以及32位固定接地信号32`b0分别连接到MUX3的输入端,MUX3的输出端由低到高分为4组8位数据V0~V3,并且连接到S1~S4的输入端;MUX4~MUX7的一路输入端固定为32`b0,另一输入端分别为ADD5~ADD8的输出端。
第一到第四全加器ADD1~ADD4的输出端还对应连接到第二到第五全加器ADD2~ADD5的输入端形成级联结构产生进位,第四到第六选择器MUX4~MUX6的输出端还对应连接到第六到第八全加器ADD6~ADD8的输入端形成级联结构产生进位,第四到第七选择器MUX4~MUX7的一路输入端固定为32`b0,另一输入端分别为第五到第八全加器ADD5~ADD8的输出端。g变换运算结果信号G_OUT由ADD10、S3、S4、S1的输出端由低到高组合而成的32位数据,并连接到ADD1的输入端;h变换运算结果信号H_OUT由S1、S3、S4、S1的输出端由低到高组合而成的32位数据,并连接到ADD9的输入端,W4连接到ADD9另一路输入端,ADD9输出端输出到MUX4的一路输入端。寄存器配置模块的密钥长度控制信号aes_den_size和运算控制模块寄存器模块的加解密轮次计数信号ram_ac_cnt由高位到低位合并后连接到第三选择器MUX3的控制端。
如图5所示,数据存储管理模块内部的上电使能信号地址PWDN_ADDR和数据输入模块的数据地址信号haddr连接到第一判决器E1的输入端,第一判决器E1的输出端和写使能信号WriteAccess连接到第三与门AND3的输入端,第三与门AND3的输出端作为第一二路选择器MUX1的控制信号,数据输入模块的写数据总线hwdata和数据存储管理模块内部的上电使能信号pwdn_reg连接到第一二路选择器MUX1的输入端,第一二路选择器MUX1的输出端连接到第一D触发器D1的输入端,第一D触发器D1的输出端为上电使能信号pwdn_reg控制信号,并连接到STTMRAM存储器的存储上电使能信号PWDN上。
数据存储管理模块内部的模式选择信号地址MODE_ADDR和数据输入模块的数据地址信号haddr连接到第二判决器E2的输入端,第二判决器E2的输出端和写使能信号WriteAccess连接到第四与门AND4的输入端,第四与门AND4的输出端作为第二二路选择器MUX2的控制信号,数据输入模块的写数据总线hwdata和数据存储管理模块内部的模式选择信号mode_reg连接到第二二路选择器MUX2的输入端,第二二路选择器MUX2的输出端连接到第二D触发器D2的输入端,第二D触发器D2的输出端为模式选择信号mode_reg控制信号,并连接到STTMRAM存储器的存储模式选择信号TM_MODE上。
数据存储管理模块内部的上电状态信号地址ANA_OK_ADDR和数据输入模块的数据地址信号haddr连接到第三判决器E3的输入端,第三判决器E3的输出端和写使能信号WriteAccess连接到第五与门AND5的输入端,第五与门AND5的输出端作为第三二路选择器MUX3的控制信号,数据输入模块的写数据总线hwdata和数据存储管理模块内部的上电状态信号ana_ok_reg连接到第三二路选择器MUX3的输入端,第三二路选择器MUX3的输出端连接到第三D触发器D3的输入端,第三D触发器D3的输出端为上电状态信号ana_ok_reg控制信号,并连接到STTMRAM存储器的存储上电状态信号信号ANA_OK上。
为了更好的说明本发明AES密码协处理器结构,现对该结构执行AES算法的流程进行说明。
AES加解密过程使用有限域GF(28)内的数学运算。有限域GF(28)的不可约多项式为P(x)=x8+x4+x3+x+1。AES 128位分组数据中任意一个字节{a7a6a5a4a3a2a1a0}在有限域GF(28)中均可表示为系数为GF(2)中元素的多项式:
因此有限域GF(28)中的运算都可以等效为多项式运算,其中系数的运算遵循GF(2)内运算规则。
对于加法操作,有
可知,有限域GF(28)中的加法操作可以等效为按位异或操作。
对于乘法操作,有:
对其中乘b3x3项进行分析,若b3为1,有:
密钥扩展流程原始密钥经密钥扩展可以得到加密过程密钥加及解密过程逆密钥加需要的各个轮密钥。
AES密钥扩展流程示意图如图6所示,密钥扩展过程涉及S盒、异或和移位变换,计算过程同样遵循有限域GF(28)内运算规则。在图6中,K0到K31依次为原始密钥高位字节到低位字节。{W[0],W[1],W[2],W[3]}为原始密钥,{W[4],W[5],W[6],W[7]}为第1轮轮密钥,{W[8],W[9],W[10],W[11]}为第2轮轮密钥,以此类推。密钥扩展方案中g变换的轮系数字节用多项式表示为:
RC[i]=xi-1mod P(x)(i=1,2,…,10) (5)
上述AES协处理器使用时流程如图7所示。在步骤001中,首先总线通过AHBinterface模块对ct/pt和key进行输入。在步骤002中,AES_CRG模块的AES_DEN_SIZE,AES_TXT_IN,AES_KEY_IN寄存器分别进行配置,配置完成后使能加解密寄存器AES_DEN_MODE,一个始时钟周期后AES_DEN_MODE_r信号被置高,开始执行密钥扩展操作。在步骤003中,密钥扩展过程各轮变换对应轮密钥位宽均为128位,由运算控制模块寄存器模块的加解密轮次计数信号ram_ac_cnt控制两个周期分别写入到STTMRAM存储器中的计算结果具体部分,ram_ac_cnt为低使能第1个周期写入,ram_ac_cnt为高使能第2个周期写入。以256位密钥扩展为例,实际上key_round[255:0]全部256位都用于计算轮密钥,密钥扩展共迭代7轮。当key_generate_start为高,第1个周期写入key_init[255:128],第2个周期写入key_init[127:0]。除最后一轮外的其他轮,第1个周期写入key_round[255:128],第2个周期写入key_round[127:0]。最后一轮,第1个周期写入key_round[255:128],第2个周期不写入。
在步骤004中,key_generate_done在密钥扩展完成后置高后进加解密通过操作,加密时PT明文数据通路依次为原始密钥加模块IARK、字节替换模块HSB、行移位模块HSR、轮密钥加模块HARK1,从而得到加密后的CT密文数据;解密时CT密文数据为加密的逆操作,通路依次为原始密钥加模块IARK,字节替换模块HSB,行移位模块HSR,列混淆模块HMC,轮密钥加模块HARK2,从而得到加密后的PT明文数据;以实现加解密通路模块复用功能。
在步骤005中,当检测到计算完成标志AES_DEN_DONE_r为高电平时,表示加解密操作已经完成,同时AHB总线发起写操作存储AES_TXT_OUT,hsel_aes和hwrite置高,数据存储管理模块MEM_Ctrl开始工作,如图4所示,WriteAccess为高,写地址haddr指向PWDN_ADDR,STTMRAM存储器模块开始上电工作,接受AES_TXT_OUT的数值到DIN,并在四个时钟周期和WriteAccess的操作下在对应haddr存储加解密后的明密文数据并保存,并将ANA_OK信号置高,表示数据写入成功。从而完成一次完整的协处理器加解密操作。
表1AES密码协处理器配置寄存器功能表
实施例二
一种终端设备,包括如上实施例一所述的一种AES密码协处理器,相关技术方案同实施例一,在此不再赘述。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种AES密码协处理器,其特征在于,包括:运算控制模块、密钥扩展运算模块、数据存储管理模块以及STTMRAM存储模块;
所述运算控制模块用于控制轮变换按照AES算法规定有序执行并控制轮变换迭代次数,该模块采用加解密数据通路复用结构,加密和解密数据通路复用原始密钥加单元、字节替换单元、行移位单元和输出寄存器单元;
所述密钥扩展运算模块用于按照AES算法规定执行密钥扩展及配置操作,其中,g变换计算结构采用加法器复用结构,且h变换复用所述g变换中的字节替换单元组;
所述数据存储管理模块用于控制存储AES算法加解密过程中的临时数据和最终结果到所述STTMRAM存储模块的不同分区中;
所述加法器复用结构中,串行连接加法器单元形成迭代电路,以通过复用加法器单元,迭代计算上一轮轮密钥g变换轮系数字节用多项式值得到下一轮的g变换轮数字节用多项式值;
所述密钥扩展运算模块包括:第一全加器ADD1,第二全加器ADD2,第三全加器ADD3,第四全加器ADD4,第五全加器ADD5,第六全加器ADD6,第七全加器ADD7,第八全加器ADD8,第九全加器ADD9,第十全加器ADD10,第一二路选择器MUX1,第二二路选择器MUX2,第三五路选择器MUX3,第四三路选择器MUX4,第五二路选择器MUX5,第六二路选择器MUX6,第一D触发器D1,第一字节替换单元S1,第二字节替换单元S2,第三字节替换单元S3,以及第四字节替换单元S4;
其中,ADD1~ADD4的输出端对应连接到ADD2~ADD5的输入端形成级联结构产生进位,MUX4~MUX6的输出端对应连接到ADD6~ADD8的输入端形成级联结构产生进位;
g变换运算结果信号G_OUT由ADD10、S3、S4、S1的输出端由低到高组合而成的32位数据,并连接到ADD1的输入端;h变换运算结果信号H_OUT由S1、S3、S4、S1的输出端由低到高组合而成的32位数据,并连接到ADD9的输入端,W4连接到ADD9另一路输入端,ADD9输出端输出到MUX4的一路输入端;其中,W4为轮密钥扩展信号Key_Round通过MUX1的一组输出信号数据。
2.根据权利要求书1所述的一种AES密码协处理器,其特征在于,每个所述STTMRAM存储模块的容量为64x32bit。
3.根据权利要求1所述的一种AES密码协处理器,其特征在于,所述加解密数据通路复用结构设有两个轮密钥加单元HARK,分别用于加密和解密;其中,加密时,PT明文数据通路依次为原始密钥加单元IARK、字节替换单元HSB、行移位单元HSR、轮密钥加单元HARK1,从而通过输出寄存器单元得到加密后的CT密文数据;解密时CT密文数据为加密的逆操作,通路依次为原始密钥加单元IARK、字节替换单元HSB、行移位单元HSR、列混淆单元HMC、轮密钥加单元HARK2,从而通过所述输出寄存器单元得到解密后的PT明文数据。
4.根据权利要求1所述的一种AES密码协处理器,其特征在于,所述加解密数据通路复用结构兼容128位、192位和256位明密文长度。
5.根据权利要求1至4任一项所述的一种AES密码协处理器,其特征在于,所述密钥扩展运算模块中,MUX1的两路输入端连接轮密钥扩展信号Key_Round和密钥初始化信号Key_Init、控制端连接密钥扩展开始标志信号Key_Generate_start,MUX1的输出端由低到高分为8组32位数据W0~W7,并对应连接到ADD1~ADD8的输入端;
ADD1~ADD4的输出端和MUX4~MUX7的输出端分别连接到MUX2的输入端,MUX2的输出端连接到D1的输入端,D1的输出端为Key_Round;
W3、W5、W7和ADD4的输出端以及32位固定接地信号32`b0分别连接到MUX3的输入端,MUX3的输出端由低到高分为4组8位数据V0~V3,并且连接到S1~S4的输入端;MUX4~MUX7的一路输入端固定为32`b0,另一输入端分别为ADD5~ADD8的输出端。
6.一种终端设备,其特征在于,包括如权利要求1至5任一项所述的一种AES密码协处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010584439.9A CN111865560B (zh) | 2020-06-23 | 2020-06-23 | 一种aes密码协处理器及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010584439.9A CN111865560B (zh) | 2020-06-23 | 2020-06-23 | 一种aes密码协处理器及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865560A CN111865560A (zh) | 2020-10-30 |
CN111865560B true CN111865560B (zh) | 2021-07-27 |
Family
ID=72988499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010584439.9A Active CN111865560B (zh) | 2020-06-23 | 2020-06-23 | 一种aes密码协处理器及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865560B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910628A (zh) * | 2021-01-29 | 2021-06-04 | 苏州浪潮智能科技有限公司 | 一种aes运算的方法和设备 |
CN113193950B (zh) * | 2021-07-01 | 2021-12-10 | 广东省新一代通信与网络创新研究院 | 数据加密方法、数据解密方法及存储介质 |
CN113938268B (zh) * | 2021-10-15 | 2023-07-28 | 湖南麒麟信安科技股份有限公司 | 分组密码算法的硬件控制系统 |
CN114244510B (zh) * | 2021-12-20 | 2024-08-06 | 深圳忆联信息系统有限公司 | 硬件加速装置、方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707924A (zh) * | 2012-05-02 | 2012-10-03 | 广州中大微电子有限公司 | 一种rfid智能卡芯片的rsa协处理器 |
CN103903047A (zh) * | 2014-03-27 | 2014-07-02 | 华中科技大学 | 一种适用于rfid安全通信的椭圆曲线加密协处理器 |
CN110704109A (zh) * | 2019-09-30 | 2020-01-17 | 华中科技大学 | 一种椭圆曲线密码协处理器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080019524A1 (en) * | 2006-06-29 | 2008-01-24 | Kim Moo S | Apparatus and method for low power aes cryptographic circuit for embedded system |
US8538015B2 (en) * | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
CN101588233B (zh) * | 2008-05-19 | 2013-10-09 | 北京大学深圳研究生院 | 一种无线传感器网络节点应用中aes协处理器中的模块复用方法 |
CN101729242A (zh) * | 2008-10-29 | 2010-06-09 | 苏州中科集成电路设计中心有限公司 | 对称分组密码的生成方法及其装置 |
CN102799800B (zh) * | 2011-05-23 | 2015-03-04 | 中国科学院计算技术研究所 | 一种安全加密协处理器及无线传感器网络节点芯片 |
CN102801519A (zh) * | 2012-07-10 | 2012-11-28 | 记忆科技(深圳)有限公司 | 一种实现aes加解密的方法及装置 |
-
2020
- 2020-06-23 CN CN202010584439.9A patent/CN111865560B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707924A (zh) * | 2012-05-02 | 2012-10-03 | 广州中大微电子有限公司 | 一种rfid智能卡芯片的rsa协处理器 |
CN103903047A (zh) * | 2014-03-27 | 2014-07-02 | 华中科技大学 | 一种适用于rfid安全通信的椭圆曲线加密协处理器 |
CN110704109A (zh) * | 2019-09-30 | 2020-01-17 | 华中科技大学 | 一种椭圆曲线密码协处理器 |
Non-Patent Citations (1)
Title |
---|
Design and Hardware Implementation of a STT-MRAM Based SoC Architecture for Smart Card Chip;Jiawang Hu 等;《2018 IEEE Asia Pacific Conference on Circuits and Systems》;20181231;第309-312页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111865560A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111865560B (zh) | 一种aes密码协处理器及终端设备 | |
JP7107670B2 (ja) | ビットミキサにより暗号ラウンド鍵を生成するためのシステム及び方法 | |
CN101626289B (zh) | Aes加密芯片的设计方法及电脑加密机 | |
Mangard et al. | A highly regular and scalable AES hardware architecture | |
Pramstaller et al. | Efficient AES implementations on ASICs and FPGAs | |
US9843441B2 (en) | Compact, low power advanced encryption standard circuit | |
CN106921487B (zh) | 可重构s盒电路结构 | |
CN110120867B (zh) | 一种基于量子可逆线路的aes硬件加密系统的实现方法 | |
Reyhani-Masoleh et al. | New area record for the AES combined S-box/inverse S-box | |
Yang et al. | Improving AES core performance via an advanced ASBUS protocol | |
Aagaard et al. | Hardware design and analysis of the ACE and WAGE ciphers | |
US7403615B2 (en) | Methods and apparatus for accelerating ARC4 processing | |
Noor et al. | Resource shared galois field computation for energy efficient AES/CRC in IoT applications | |
Zhang et al. | Sealer: In-sram aes for high-performance and low-overhead memory encryption | |
Plos et al. | Compact hardware implementations of the block ciphers mCrypton, NOEKEON, and SEA | |
Jothi et al. | Parallel RC4 Key Searching System Based on FPGA | |
CN112564890A (zh) | 一种加速sm4算法的方法、装置、处理器及电子设备 | |
Gaur et al. | Enhanced aes architecture using extended set alu at 28nm fpga | |
CN114826560B (zh) | 一种轻量级分组密码cref实现方法及系统 | |
CN116647328A (zh) | 一种新型psp结构的轻量级分组密码实现方法及系统 | |
Hsiao et al. | Efficient substructure sharing methods for optimising the inner-product operations in Rijndael advanced encryption standard | |
Kim et al. | Low power circuit architecture of AES crypto module for wireless sensor network | |
Satoh et al. | High-Speed MARS Hardware. | |
Liu et al. | Design and implementation of a low-cost aes coprocessor based on estt-mram ip | |
Dhanuskodi et al. | An improved clocking methodology for energy efficient low area AES architectures using register renaming |
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 |