一种AES运算电路及方法技术

技术编号:37103598 阅读:20 留言:0更新日期:2023-04-01 05:03
本发明专利技术公开了一种AES运算电路及方法,与现有技术相比,本发明专利技术通过流水线技术实现AES算法的轮内循环,即在当前轮的变换过程中,可以实现下一轮的部分变换,使得AES加解密流程耗费的时钟周期数较少,提高了数据加解密的效率;另外,由于只对当前密钥进行储存,节省了大量的存储单元,使得AES运算电路的面积大大缩小,有利于降低成本,提高市场竞争力。提高市场竞争力。提高市场竞争力。

【技术实现步骤摘要】
一种AES运算电路及方法


[0001]本专利技术涉及密码电路
,具体涉及一种AES运算电路及方法。

技术介绍

[0002]AES高级加密标准(Advanced Encryption Standard,AES)作为一种加密方法,广泛应用于通用MCU中,特别是主打性价比的MCU,需要在保证电路可工作于规格要求的工作频率的前提条件下,尽可能缩小各个模块的面积,来控制MCU的成本价格,提高市场竞争力。
[0003]传统的AES密钥处理电路,是用寄存器或者sram等存储单元,在数据加密和解密之前,将各轮对应密钥先预刷新之后,按顺序存储于存储单元之中。在此后的加解密过程中,从存储单元中再寻址读出当前轮数对应的密钥。以待加解密的数据位宽为128bit,密钥长度也为128bit为例,总共要进行11轮的数据加密,11轮的数据解密处理,需要11组每组长度为128bit的密钥。所以在进行数据加密和解密操作之前,CPU会先发送一个key_start信号,通知AES模块进行密钥运算并将11轮密钥依次写进存储单元,一共需要消耗11

128本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种AES运算电路,其特征在于,所述运算电路包括:总线接口模块,用于主机与从机之间的数据交互;FIFO模块,与总线接口模块连接,用于数据缓存;数据流控制模块,与FIFO模块和数据加解密处理模块连接,用于控制FIFO模块和数据加解密处理模块之间的数据交互;数据加解密处理模块,与数据流控制模块连接,通过轮内流水线技术实现数据加解密;密钥处理模块,与总线接口模块和数据加解密处理模块连接,用于为数据加解密处理模块提供当前密钥;其中,密钥处理模块只对当前密钥进行储存。2.根据权利要求1所述的一种AES运算电路,其特征在于,所述FIFO模块包括输入缓存FIFO模块和输出缓存FIFO模块;其中,所述输入缓存FIFO模块用于缓存总线接口模块从主机传输而来的待加解密数据;所述输出缓存FIFO模块用于缓存数据加解密处理模块传输而来的已加解密数据。3.根据权利要求1所述的一种AES运算电路,其特征在于,所述数据加解密处理模块包括:第一计数器,用于对数据加解密过程中的时钟周期个数进行计数并输出当前子轮数,每计数预设次数将当前子轮数归零重计;第二计数器,与所述第一计数器连接,接收所述第一计数器输出的当前子轮数,用于根据当前子轮数对流水线轮数进行计数;第一级加解密电路,与所述第二计数器连接,用于根据流水线轮数、当前子轮数和AES方向对待加解密数据进行第一轮的异或运算以及第二轮的S盒变换/逆S盒变换和行移位变换/逆行移位变换;其中,所述AES方向包括数据加密方向和数据解密方向;所述第一轮和第二轮分别表示AES数据加解密轮数中的初始轮和中间轮;第二级加解密电路,与所述第二计数器和所述第一级加解密电路连接,用于根据流水线轮数、当前子轮数和AES方向对所述第一级加解密电路输出的数据进行第N

1轮的列混合变换/逆列混合变换和异或运算以及第N轮的S盒变换/逆S盒变换和行移位变换/逆行移位变换;其中,N表示AES数据加解密轮数,N为正整数且大于2,N的最大值由密钥长度决定;第三级加解密电路,与所述第二计数器和所述第二级加解密电路连接,用于根据流水线轮数和当前子轮数对所述第二级加解密电路输出的数据进行异或运算,然后输出已加解密数据。4.根据权利要求3所述的一种AES运算电路,其特征在于,所述第一计数器每接收一次AES模块使能则对时钟周期个数计数一次;每计数预设次数,所述第一计数器产生一次密钥刷新使能,然后将当前子轮数归零重计。5.根据权利要求4所述的一种AES运算电路,其特征在于,所述第二计数器每接收预设次数的当前子轮数则对流水线轮数计数一次;当流水线轮数达到N的最大值且总的时钟周期个数达到预设值时,所述第二计数器产生一个已加解密数据有效标志信号。6.根据权利要求5所述的一种AES运算电路,其特征在于,所述第一级加解密电路包括:第一数据选择器,用于根据当前子轮数选择待加解密数据的对应位数以及当前密钥的对应位数,并输出至第一异或运算模块;
第一异或运算模块,与所述第一数据选择器连接,用于对待加解密数据的对应位数以及当前密钥的对应位数进行异或运算;第二数据选择器,与所述第二计数器连接,用于根据流水线轮数选择对应轮数的异或运算结果输出至第一寄存器;第一寄存器,与所述第二数据选择器连接,用于储存经所述第二数据选择器选择后的数据,若此时流水线轮数达到N的最大值且总的时钟周期个数达到预设值,则第一寄存器将接收到的数据输出为已加解密数据,否则第一寄存器将接收到的数据暂存直至被下一模块读取;第三数据选择器,与所述第一寄存器连接,用于根据当前子轮数选择所述第一寄存器中的异或运算结果的对应位数,然后传输至S盒变换模块;S盒变换模块,与所述第三数据选择器连接,用于根据AES方向对所述第三数据选择器输出的数据进行S盒变换/逆S盒变换;数据合并模块,与所述S盒变换模块连接,用于对所述S盒变换模块输出的数据进行合并;行移位变换模块,与所述数据合并模块连接,用于根据AES方向对合并后的数据进行行移位变换/逆行移位变换;第四数据选择器,与所述行移位变换模块连接,用于根据当前子轮数选择所述行移位变换模块中的变换结果的对应位数并输出至下一级电路;其中,所述第一异或运算模块和S盒变换模块的数据处理位宽为第一预设位宽,所述行移位变换模块的数据处理位宽为第二预设位宽,所述第二预设位宽为所述第一预设位宽的整数倍,所述第一寄存器的存储空间为第一预设值,所述第一预设值的大小与所述第二预设位宽的大小相等,所述对应位数的大小与所述第一预设位宽的大小相等。7.根据权利要求6所述的一种AES运算电路,其特征在于,所述数据合并模块包括第二寄存器和第三寄存器,其中,第二寄存器,与所述S盒变换模块连接,用于储存所述S盒变换模块输出的数据;第三寄存器,分别与所述S盒变换模块和所述第二寄存器连接,用于在所述第一寄存器的存储空间不足时,接收所述S盒变换模块输出的数据,同时也接收所述第一寄存器中的数据,然后将所有数据进行合并;其中,所述第二寄存器的存储空间为第二预设值,所述第三寄存器的存储空间为第一预设值,所述第二预设值小于所述第一预设值,所述第二预设值为所述第一预设位宽的整数倍。8.根据权利要求6所述的一种AES运算电路,其特征在于,所述第二级加解密电路包括:列混合变换模块,与所述第四数据选择器连接,用于根据AES方向对所述行移位变换模块中的变换结果的对应位数进行列混合变换/逆列混合变换;第五数据选择器,用于根据当前子轮数选择当前密钥的对应位数;密钥逆列混合变换模块,与所述第五数据选择器连接,用于在数据解密时对所述第五数据选择器输出的当前密钥的对应位数进行逆列混合变换;第六数据选择器,与所述第五数据选择器和所述密钥逆列混合变换模块连接,用于根据AES方向选择所述第五数据选择器或所述密钥逆列混合变换模块输出的数据并传输给第
二异或运算模块;第二异或运算模块,与所述第六数据选择器和所述列混合变换模块连接,用于对所述列混合变换模块和所述第六数据选择器输出的数据进行异或运算;所述第二级加解密电路还包括所述第二数据选择器、所述第一寄存器、所述第三数据选择器、所述S盒变换模块、所述数据合并模块、所述行移位变换模块以及所述第四数据选择器;其中,所述列混合变换模块、密钥逆列混合变换模块和第二异或运算模块的数据处理位宽均为第一预设位宽。9.根据权利要求8所述的一种AES运算电路,其特征在于,所述第三级加解密电路包括:第七数据选择器,用于根据当前子轮数选择当前密钥的对应位数;第三异或运算模块,与所述第七数据选择器和所述第四数据选择器连接,用于对所述行移位变换模块中的变换结果的对应位数与当前密钥的对应位数进行异或运算;所述第三级加解密电路还包括所述第二数据选择器和所述第一寄存器;其中,所述第二数据选择器分别与所述第一异或运算模块、所述第二异或运算模块和所述第三异或运算模块连接;其中,所述第三异或运算模块的数据处理位宽为第一预设位宽。10.根据权利要求6

9任一项所述的一种AES运算电路,其特征在于,所述第一预设位宽的大小为32bit,所述第二预设位宽和第一预设值的大小为128bit,所述第二预设值的大小为96bit。11.根据权利要求4所述的一种AES运算电路,其特征在于,所述密钥处理模块包括:密钥预刷新控制状态机模块,用于产生密钥预刷新使能,以控制密钥变换模块进行密钥预刷新,并在密钥预刷新完成后输出密钥预刷新完成中断信号;第一或门,与密钥预刷新控制状态机模块连接,对密钥预刷新使能和数据加解密处理模块产生的密钥刷新使能作或运算;密钥变换模块,与第一或门连接,用于密钥刷新,以更新密钥寄存器中的密钥;数据选择器,与密钥变换模块连接,根据数据选择信号选择相应的密钥传输给密钥寄存器;密钥寄存器,与数据选择器连接,用于储存当前密钥。12.根据权利要求11所述的一种AES运算电路,其特征在于,所述密钥变换模块包括密钥正变换模块和密钥反变换模块,其中,密钥正变换模块,与第一或门连接,用于接收密钥预刷新使能...

【专利技术属性】
技术研发人员:胡展常子奇黄明强
申请(专利权)人:珠海一微半导体股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1