基于数据冗余检错机制的AES加/解密电路制造技术

技术编号:10660563 阅读:136 留言:0更新日期:2014-11-19 20:03
本发明专利技术公开了一种基于数据冗余检错机制的AES加/解密电路,用于抵御错误注入攻击或用于提高在极端应用环境中的电路可靠性。电路包括AES加/解密单元和比较器两部分,AES加/解密单元用于AES加/解密运算,AES加/解密单元在数据处理过程中采用数据冗余处理技术,由相邻的两级轮变换单元对每组数据进行两次相同的运算,检测单元中的比较器对两次运算结果进行比较,如果运算结果相同则AES加/解密单元工作正常,如果不相同,则AES加/解密单元发生错误。与传统的结构冗余检错机制相比,采用数据冗余检错机制能够极大减少电路面积。

【技术实现步骤摘要】
基于数据冗余检错机制的AES加/解密电路
本专利技术属于密码电路实现
,特别是涉及一种基于数据冗余检错机制的AES加/解密电路。
技术介绍
AES(AdvancedEncryptionStandard,高级加密标准)是由美国国家标准与技术研究院2001年制定的新一代分组对称密码算法,用于取代原来的DES(DataEncryptionStandard,数据加密标准)。AES密码算法的数据分组长度为128比特,密钥长度有128,192和256比特三种。AES规定,根据这三种不同的密钥长度,加密过程分别需要进行10,12和14轮轮变换运算,每一个轮变换运算又包括包括字节替换,行移位,列混合和密钥加四个子运算,除了最后一轮。为了消除对称性,最后一轮轮变换不包含列混合运算,并且在第一轮轮变换运算之前加上一次密钥加运算。AES解密过程为加密过程的逆过程,因此也分别需要进行10,12和14轮轮变换运算,且每一轮轮变换包括逆字节替换,逆行移位,逆列混合和逆密钥加四个子运算,除了第一轮。第一轮轮变换不包括逆列混合运算,在最后一轮运算结束后还需要加上一次逆密钥加运算。根据不同的应用需求,AES采用不同的实现架构。参见图1,AES加/解密电路实现架构一般可分为两种:循环展开结构和全展开结构。循环展开结构中使用了Nk(1≤Nk≤Nr,Nr=10/12/14)个轮变换单元(包括独立的密钥加运算),与全展开结构相比,循环展开结构需要更小的电路面积,特别是当Nk=1时(Nk=1时又称为全循环结构),循环展开结构具有最小的电路面积。但循环展开结构需要迭代⌈Nr/Nk⌉次才能得到最终结果,因此数据处理速度比较低。循环展开结构用于要求电路面积小、数据速率不高的场合,如无线传感网,RFID等。循环展开结构还可以根据具体应用需求对电路面积和速度的进行折衷。全展开结构使用了Nr+1个轮变换电路单元,电路面积大,但数据不需要反馈,数据处理速度高。全展开结构还可以通过增加流水线级数的方式来加快数据处理速度。全展开结构适用于高速数据实时处理场合,如实时视频信号传输等。错误注入攻击是一类针对密码系统旁路攻击方式,攻击者通过电磁、激光等手段向密码硬件电路中注入错误,使密码设备产生错误消息,因而使解密方得不到正确的信息认证而拒绝服务,更进一步,攻击者可以通过差分错误分析得到系统密钥。另外一些极端条件应用环境,如高空环境、深海环境,对设备要求可靠性较高。针对错误注入攻击,以及一些极端条件应用环境对设备高可靠性的要求,传统的解决方案主要采用结构冗余检错机制,即将采用多个相同功能的电路,同时对同一组数据进行处理,并将结果数据进行比较。一个简单的结构冗余检错机制的电路原理框图如图2所示,电路1和电路2具有相同的运算功能,电路1和电路2对数据A同时进行处理,比较器对电路1和电路2的输出结果进行比较,如果电路1和电路2的输出结果相同,则电路工作正常,如果电路1和电路2的输出结果不同,则电路工作发生异常。结构冗余检错机制需要增加大量冗余电路来实现检错功能。
技术实现思路
本专利技术所要解决的技术问题是针对结构冗余检错机制需要增加大量冗余电路来实现检错功能的缺陷,提出了一种基于数据冗余检错机制的AES加/解密电路,用于抵御错误注入攻击和提高AES密码电路可靠性。本专利技术为解决上述技术问题,采用的技术方案如下:一种基于数据冗余检错机制的AES加/解密电路,包括AES加/解密单元和比较器,以及数据输入端口、检测输出端口和数据输出端口,AES加/解密单元的输入端与数据输入端口相连接,AES加/解密单元有两个输出端,其中第一输出端与比较器的一个输入端相连接,第二输出端与比较器的另一个输入端以及数据输出端口相连接,比较器的输出端与检测输出端口相连接;所述AES加/解密单元在数据处理过程中采用数据冗余处理技术,由相邻的两级轮变换单元对每组数据进行两次相同的运算;AES加/解密运算完成之后,两次运算的最终结果分别从第一输出端和第二输出端输出;所述比较器在AES加/解密运算完成之后,对AES加/解密单元的第一输出端和第二输出端输出的数据进行比较,如果运算结果相同则AES加/解密单元工作正常,如果不相同,则AES加/解密单元发生错误;比较结果从检测输出端口输出,同时AES加/解密运算结果从数据输出端口输出。进一步的,本专利技术的AES加/解密电路,所述AES加/解密单元为全展开结构,由Nr+2个轮变换单元和一个二选一选择器构成,其中Nr为AES标准所规定的轮变换运算数量;所述数据输入端口分别与选择器的一个输入端、第一轮变换单元的输入端相连接,第一轮变换单元的输出端与选择器的另一个输入端相连接,选择器的输出端与第二轮变换单元的输入端相连接;第i轮变换单元的输入端与第i−1轮变换单元的输出端相连接,第i轮变换单元的输出端与第i+1轮变换单元的输入端相连接,其中3≤i≤Nr+1;第Nr+1轮变换单元的输出端作为AES加/解密单元的第一输出端与比较器的一个输入端相连接;第Nr+2轮变换单元的输出端作为AES加/解密单元的第二输出端分别与比较器的另一个输入端以及数据输出端口相连接;各轮变换单元之间采用流水线数据处理方式,AES加/解密单元每两个时钟周期从数据输入端口输入一组数据。进一步的,本专利技术的AES加/解密电路,所述第一轮变换单元用于实现密钥加运算功能;第二轮变换单元为可重构轮变换单元,用于实现密钥加运算功能和轮变换运算功能;第k轮变换单元用于实现轮变换运算功能,其中3≤k≤Nr;第Nr+1轮变换单元为可重构轮变换单元,用于实现轮变换运算功能和末轮轮变换运算功能;第Nr+2轮变换单元用于实现末轮轮变换运算功能。进一步的,本专利技术的AES加/解密电路,所述第一轮变换单元由密钥加运算单元构成;其中密钥加运算单元的输入、输出端分别与数据输入、输出端连接。进一步的,本专利技术的AES加/解密电路,所述第二轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;其中,数据输入端分别与字节替换/逆字节替换运算单元的输入端、二选一选择器的一个输入端相连接,字节替换/逆字节替换运算单元的输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端相连接;列混合/逆列混合运算单元的输出端与二选一选择器的另一个输入端相连接;二选一选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过二选一选择器对数据通路的选择,第二轮变换单元分别实现密钥加运算功能和轮变换运算功能。进一步的,本专利技术的AES加/解密电路,所述第k轮变换单元用于实现轮变换运算功能,由依次连接的字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元和密钥加运算单元构成;其中,字节替换/逆字节替换运算单元的输入端与数据输入端相连接,密钥加运算单元输出端与数据输出端相连接。进一步的,本专利技术的AES加/解密电路,所述第Nr+1轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;其中,字节替换/逆字节替本文档来自技高网
...
基于数据冗余检错机制的AES加/解密电路

【技术保护点】
一种基于数据冗余检错机制的AES加/解密电路,包括AES加/解密单元和比较器,以及数据输入端口、检测输出端口和数据输出端口,其特征在于:AES加/解密单元的输入端与数据输入端口相连接,AES加/解密单元有两个输出端,其中第一输出端与比较器的一个输入端相连接,第二输出端与比较器的另一个输入端以及数据输出端口相连接,比较器的输出端与检测输出端口相连接;所述AES加/解密单元在数据处理过程中采用数据冗余处理技术,由相邻的两级轮变换单元对每组数据进行两次相同的运算;AES加/解密运算完成之后,两次运算的最终结果分别从第一输出端和第二输出端输出;所述比较器在AES加/解密运算完成之后,对AES加/解密单元的第一输出端和第二输出端输出的数据进行比较,如果运算结果相同则AES加/解密单元工作正常,如果不相同,则AES加/解密单元发生错误;比较结果从检测输出端口输出,同时AES加/解密运算结果从数据输出端口输出。

【技术特征摘要】
1.一种基于数据冗余检错机制的AES加/解密电路,包括AES加/解密单元和比较器,以及数据输入端口、检测输出端口和数据输出端口,其特征在于:AES加/解密单元的输入端与数据输入端口相连接,AES加/解密单元有两个输出端,其中第一输出端与比较器的一个输入端相连接,第二输出端与比较器的另一个输入端以及数据输出端口相连接,比较器的输出端与检测输出端口相连接;所述AES加/解密单元在数据处理过程中采用数据冗余处理技术,由相邻的两级轮变换单元对每组数据进行两次相同的运算;AES加/解密运算完成之后,两次运算的最终结果分别从第一输出端和第二输出端输出;所述比较器在AES加/解密运算完成之后,对AES加/解密单元的第一输出端和第二输出端输出的数据进行比较,如果运算结果相同则AES加/解密单元工作正常,如果不相同,则AES加/解密单元发生错误;比较结果从检测输出端口输出,同时AES加/解密运算结果从数据输出端口输出。2.根据权利要求1所述的AES加/解密电路,其特征在于:所述AES加/解密单元为全展开结构,由Nr+2个轮变换单元和一个二选一选择器构成,其中Nr为AES标准所规定的轮变换运算数量;所述数据输入端口分别与选择器的一个输入端、第一轮变换单元的输入端相连接,第一轮变换单元的输出端与选择器的另一个输入端相连接,选择器的输出端与第二轮变换单元的输入端相连接;第i轮变换单元的输入端与第i-1轮变换单元的输出端相连接,第i轮变换单元的输出端与第i+1轮变换单元的输入端相连接,其中3≤i≤Nr+1;第Nr+1轮变换单元的输出端作为AES加/解密单元的第一输出端与比较器的一个输入端相连接;第Nr+2轮变换单元的输出端作为AES加/解密单元的第二输出端分别与比较器的另一个输入端以及数据输出端口相连接;各轮变换单元之间采用流水线数据处理方式,AES加/解密单元每两个时钟周期从数据输入端口输入一组数据;所述第一轮变换单元用于实现密钥加运算功能;第二轮变换单元为可重构轮变换单元,用于实现密钥加运算功能和轮变换运算功能;第k轮变换单元用于实现轮变换运算功能,其中3≤k≤Nr;第Nr+1轮变换单元为可重构轮变换单元,用于实现轮变换运算功能和末轮轮变换运算功能;第Nr+2轮变换单元用于实现末轮轮变换运算功能。3.根据权利要求2所述的AES加/解密电路,其特征在于:所述第一轮变换单元由密钥加运算单元构成;其中密钥加运算单元的输入、输出端分别与数据输入、输出端连接。4.根据权利要求2所述的AES加/解密电路,其特征在于:所述第二轮变换单元由字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元、密钥加运算单元和二选一选择器构成;其中,数据输入端分别与字节替换/逆字节替换运算单元的输入端、二选一选择器的一个输入端相连接,字节替换/逆字节替换运算单元的输出端与行移位/逆行移位运算单元的输入端相连接;行移位/逆行移位运算单元的输出端与列混合/逆列混合运算单元的输入端相连接;列混合/逆列混合运算单元的输出端与二选一选择器的另一个输入端相连接;二选一选择器的输出端与密钥加运算单元的输入端相连接;密钥加运算单元的输出端与数据输出端相连接;通过二选一选择器对数据通路的选择,第二轮变换单元分别实现密钥加运算功能和轮变换运算功能。5.根据权利要求2所述的AES加/解密电路,其特征在于:所述第k轮变换单元用于实现轮变换运算功能,由依次连接的字节替换/逆字节替换运算单元、行移位/逆行移位运算单元、列混合/逆列混合运算单元和密钥加运算单元构成;其中,字节替换/逆字节替换运算单元...

【专利技术属性】
技术研发人员:吴宁张肖强葛芬叶云飞魏永康刘摇平
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

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

1