当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于双S核的8-bitAES电路制造技术

技术编号:19827861 阅读:21 留言:0更新日期:2018-12-19 16:51
本发明专利技术公开了一种基于双S核的8‑bitAES电路,属于保密或安全通信装置的技术领域。该电路面向IoT应用,与传统128‑bit AES电路相比,采用了8比特的数据路径,通过充分利用串行处理和部分并行处理来降低电路面积与功耗,提高能量效率。电路包括:数据处理模块、密钥扩展模块、控制模块、密钥加模块。双S核的设计使数据处理模块和密钥扩展模块可以并行执行,数据处理模块充分利用S核不被密钥扩展模块调用的空闲时间,降低周期数,提高吞吐率。同时,移位操作采用寄存器到寄存器的方式实现,减少了中间寄存器,进一步降低了电路面积。

【技术实现步骤摘要】
一种基于双S核的8-bitAES电路
本专利技术公开了一种基于双S核的8-bitAES电路,属于保密或安全通信装置的

技术介绍
随着物联网(InternetofThings,IoT)技术的迅速发展,市场对物联网芯片的需求也越来越多。就物联网的安全性需求而言,由于存在大量的信息交互,数据安全是物联网中很重要的一个问题。为了保障信息安全,加密算法被广泛地应用在片上系统(SystemonaChip,SoC)中,其中最具代表性的是高级加密算法(AdvancedEncryptionStandard,AES)。AES算法也称为Rijndael算法是一种对称分组密码算法,数据以128位的块进行加密和解密。传统128-bitAES采用的是16字节的128位数据路径,64个布线轨道用于行移位置换,以实现单周期轮延迟和10周期的迭代。然而,这些并行操作导致的大面积开销和能量消耗使得它们不适合在受电池电量约束的移动和可穿戴系统以及IoT领域使用。由于物联网领域对数据加密有迫切需求,同时128-bitAES的面积和功耗已经无法满足轻量级设备的使用,8-bitAES逐渐受到了重视。面向IoT应用的8-bitAES采用了8比特的数据路径,与传统128-bitAES电路相比,通过充分利用串行处理和部分并行处理来降低电路面积与功耗来提高能量效率,其中一个重要的模块S-box通过非线性变化完成字节替代变换功能。数据路径为8-bit的AES电路将S-Box数量减少至只剩一个或者两个,即,通过减少组合逻辑来降低功耗并减小面积,但是实现加密运算的周期明显增多,吞吐率大大降低。专利技术内容本专利技术的专利技术目的是针对上述
技术介绍
的不足,提供了一种基于双S核的8-bitAES电路,在双S核的电路架构下,通过合理划分密钥扩展模块的运算周期将S-Box运算集中在前期处理周期,使得密钥扩展模块调用的S-Box核在后期处理周期空闲,数据处理模块通过调用空闲的S-Box核分担已调用S-Box的运算任务,通过并行处理数据处理和密钥扩展,以较短的运算周期实现了8-bitAES电路吞吐率的提高,解决了传统128-bitAES电路功耗面积大、传统8-bitAES电路加密运算周期过长的技术问题。本专利技术为实现上述专利技术目的采用如下技术方案:一种基于双S核的8-bitAES电路包括:数据处理模块、密钥扩展模块、控制模块、密钥加模块;数据处理模块,在第一至第四周期内调用一个S-Box核对中间数据的四个字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内调用两个S-Box核对中间数据的其余十二个字节进行S-Box运算并完成其余十二个字节的循环移位运算以及所有字节的列混合运算,生成新的中间数据,密钥扩展模块,在第一至第四周期内共享数据处理模块正在调用的S-Box核对所有字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内对移位后的扩展密钥进行异或运算,生成新的扩展密钥,密钥加模块,对数据处理模块产生的中间数据和密钥扩展模块更新的扩展密钥进行异或运算产生下一轮的中间数据或者密文,控制模块,使能数据处理模块对中间数据进行S-Box运算、行移位运算、列混合运算以生成新的中间数据,使能密钥扩展模块对扩展密钥进行S-Box运算、循环移位运算、异或运算以更新扩展密钥,使能密钥加模块生成下一轮的中间数据或者密文。作为基于双S核的8-bitAES电路的进一步优化方案,用仿射变换S-Box核代替LUTS-Box核,减少面积,同时仿射变换S-Box核三条路径插入D触发器的方式能够减少毛刺功耗,以降低使用仿射变换S-Box核所增加的额外功耗。作为基于双S核的8-bitAES电路的进一步优化方案,数据处理模块把S-Box运算、行移位运算、列混合运算进行整合,在5-11周期调用密钥扩展完成后空闲的S-Box1进行并行运算,降低数据处理模块执行周期数;移位操作通过寄存器到寄存器的赋值方式实现,减少了中间寄存器,其具体流程为:步骤一:当收到来自控制模块的数据处理使能信号sub_start_i时,进行数据处理。若为第一轮,则直接调用明文;若非第一轮,则对密钥加运算后的结果进行数据处理;步骤二:在第1-4个周期,通过S-Box2对第12-15四个字节数据进行S-Box运算,第12-14字节完成运算后存入中间寄存器,第15字节运算完成后存入原始寄存器,总共带来3个字节的中间寄存器面积代价;步骤三:在第5-6个周期,对第11和第5字节通过S-Box2进行S-Box运算,由于S-Box1已处于空闲状态,对第10和第0字节通过S-Box1进行S-Box运算,这四个字节完成运算后直接存入原始寄存器,未带来任何面积代价;S-Box运算完成后对新的第12-15字节进行列混合运算;步骤四:在第7-8个周期,对第9和第6字节通过S-Box2进行S-Box运算,对第8和第1字节通过S-Box1进行S-Box运算,第9和第8字节完成运算后存入中间寄存器,第6和第1字节完成运算后存入原始寄存器,带来两个字节的中间寄存器面积代价;S-Box运算完成后对新的第8-11字节进行列混合运算;步骤五:在第9-10个周期,对第7和第3字节通过S-Box2进行S-Box运算,对第2和第4字节通过S-Box1进行S-Box运算,运算结果均存入寄存器,未带来任何面积代价;S-Box运算完成后对新的第4-7字节进行列混合运算;步骤六:在第11周期对新的第0-3字节进行列混合运算,至此,经过数据处理后的新的128位数据已经完全产生,输出数据处理完成信号sub_ready_o至控制模块。作为基于双S核的8-bitAES电路的进一步优化方案,密钥扩展模块采用循环地址发生器的方式(one-hot-shift)整体实现以及利用卡诺图实现的方式代替Rcon传统查找表的方式,减小模块面积;密钥扩展模块在11个周期完成运算,在1-5周期内完成密钥最后一列所有元素的S-Box运算以及最后一列数据的字节循环移位,在第5-11周期内对经字节循环位移操作后的扩展密钥以及还未进行扩展的密钥的各列数据进行异或运算得到更新后的扩展密钥,密钥扩展模块和数据处理模块完全并行,从而减少周期数,提高吞吐率,其具体运算流程如下:步骤一:当收到来自控制模块的密钥使能信号key_start_i时,进行密钥扩展。若为第一轮,则直接调用原始密钥;若非第一轮,则进行密钥扩展;步骤二:第1-4周期完成对矩阵中最后一列数据的S-Box运算,每个周期对矩阵最后一列中的一个数据进行S-Box运算;同时,第2-5周期对已完成S-Box运算的字节进行字节循环移位;步骤三:第5个周期,更新下一轮扩展密钥的第一列数据;步骤四:第6-11个周期,更新剩下12个字节的扩展密钥,每个周期更新两个字节;步骤五:第11个周期,生成经过密钥扩展后的新密钥以及密钥扩展完成信号key_ready_o。作为基于双S核的8-bitAES电路的进一步优化方案,密钥扩展模块采用循环地址发生器的方式(one-hot-shift)方式实现新的密钥扩展模块,是一种循环地址发生器,由11个串联的寄存器组成,在每个时钟周期,只有一个触发器被使能。本专利技术采用上述技术方案,具有以下有益效果:(1)在双S核的电路架构下,通本文档来自技高网
...

【技术保护点】
1.一种基于双S核的8‑bitAES电路,其特征在于,包括:数据处理模块,在第一至第四周期内调用一个S‑Box核对中间数据的四个字节进行S‑Box运算并完成循环移位运算,在第五至第十一周期内调用两个S‑Box核对中间数据的其余十二个字节进行S‑Box运算并完成其余十二个字节的循环移位运算以及所有字节的列混合运算,生成新的中间数据,密钥扩展模块,在第一至第四周期内共享数据处理模块正在调用的S‑Box核对所有字节进行S‑Box运算并完成循环移位运算,在第五至第十一周期内对移位后的扩展密钥进行异或运算,生成新的扩展密钥,密钥加模块,对数据处理模块产生的中间数据和密钥扩展模块更新的扩展密钥进行异或运算产生下一轮的中间数据或者密文,及,控制模块,使能数据处理模块对中间数据进行S‑Box运算、行移位运算、列混合运算以生成新的中间数据,使能密钥扩展模块对扩展密钥进行S‑Box运算、循环移位运算、异或运算以更新扩展密钥,使能密钥加模块生成下一轮的中间数据或者密文。

【技术特征摘要】
1.一种基于双S核的8-bitAES电路,其特征在于,包括:数据处理模块,在第一至第四周期内调用一个S-Box核对中间数据的四个字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内调用两个S-Box核对中间数据的其余十二个字节进行S-Box运算并完成其余十二个字节的循环移位运算以及所有字节的列混合运算,生成新的中间数据,密钥扩展模块,在第一至第四周期内共享数据处理模块正在调用的S-Box核对所有字节进行S-Box运算并完成循环移位运算,在第五至第十一周期内对移位后的扩展密钥进行异或运算,生成新的扩展密钥,密钥加模块,对数据处理模块产生的中间数据和密钥扩展模块更新的扩展密钥进行异或运算产生下一轮的中间数据或者密文,及,控制模块,使能数据处理模块对中间数据进行S-Box运算、行移位运算、列混合运算以生成新的中间数据,使能密钥扩展模块对扩展密钥进行S-Box运算、循环移位运算、异或运算以更新扩展密钥,使能密钥加模块生成下一轮的中间数据或者密文。2.根据权利要求1所述基于双S核的8-bitAES电路,其特征在于,所述S-Box核基于仿射变换实现,并在S-Box核的若干路径中插入D触发器。3.根据权利要求1所述基于双S核的8-bitAES电路,其特征在于,所述数据处理模块在接收到控制模块的使能信号后执行如下步骤生成新的中间数据:A、在第1至第4周期,调用一个S-Box核对中间数据的第12至第15四个字节进行S-Box运算,将第12至第14字节的S-Box运算结果存入中间寄存器,将第15字节S-Box运算结果存入原始寄存器;B、在第5至第6周期,继续调用前4周期使用的S-Box核对中间数据的第11字节和第5字节进行S-Box运算,调用处于空闲状态的另一个S-Box核对中间数据的第10和第0字节进行S-Box运算,将第11字节、第5字节、第10字节、第0字节的S-Box运算结果存入原始寄存器,对移位后中间数据的第12至第15字节进行列混合运算;C、在第7至第8周期,继续调用前4周期使用...

【专利技术属性】
技术研发人员:单伟伟徐嘉铭
申请(专利权)人:东南大学东南大学—无锡集成电路技术研究所
类型:发明
国别省市:江苏,32

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

1