基于动态可重构的自恢复容错AES结构及其加密方法技术

技术编号:9145716 阅读:167 留言:0更新日期:2013-09-12 06:55
本发明专利技术提出一种基于动态可重构的自恢复容错AES结构及其加密方法,属于信息安全技术领域。所述自恢复容错AES结构具有时钟模块、控制模块、可重构阵列模块、密钥扩展模块和输入输出接口模块,可重构阵列模块为2D-TORUS网络结构的M×N互连开关连接的M×N可重构处理单元阵列;本加密方法在K-1轮运算中顺序进行求异或、字节变换、行变换和列混合,最后一轮省略列混合运算,最后进行一次求异或运算。本发明专利技术将运算功能细分到单独的可重构运算单元中,加入相同的单元做冗余部分,构成可重构的自恢复容错AES结构,能够实现AES算法的自恢复功能。

【技术实现步骤摘要】
基于动态可重构的自恢复容错AES装置及其加密方法
本专利技术属于信息安全
,具体涉及一个基于动态可重构的自恢复容错AES装置及其加密方法。
技术介绍
为了提高芯片的可靠性和安全性,通常采用容错技术来设计整个系统。通过对资源的冗余利用,在结构发生故障时,绕过故障区域,完成系统功能,以牺牲一部分冗余资源为代价,换取可靠性的提高。动态重构阵列网络作为新型手段,在芯片坏点屏蔽,多核处理器动态交互,多核芯片错误容忍提高芯片成品率等方面,都展现了其特有的功效。灵活的重构系统,数据的连线交互,都对系统可靠性有了更大的提高。针对AES(AdvancedEncryptionStandard,高级加密标准)加密系统的结构特点,采用动态重构的思想,将运算功能细分到单独的可重构运算单元中,加入相同的单元做冗余部分,使用连接开关将其连接成为二维TORUS网络,构成可重构的系统结构。该系统使用一定的冗余资源实现了AES的自修复功能,在其受到太空影响导致一部分芯片资源失效时,通过动态重构完成系统功能的恢复,保证数据加密功能的实现。动态重构AES加密系统在设计上更加复杂,需要适当的自我检测和系统重构算法,针对性的屏蔽掉了损坏的单元,来实现自修复,在系统上增强了冗余的灵活性,跟传统的三模冗余结构相比,具有更高的可靠性和安全性。重构阵列通常用在超大规模集成电路VLSI以及WSI的硬件电路冗余设计上,由于大规模集成电路集成度的提高,导致芯片复杂度增加,面积增加,进而影响到缺陷数量增加,影响了成品率。在设计VLSI和WSI级别的电路时,为了提高可靠性和芯片成品率,使用容错技术,以使电路具备容错的能力。国外早期的数字系统容错著作里面包含了可重构的基本概念和很多经典设计。在国内,廖国宁和童勤义最早在90年之前,陆续发表了多篇文章介绍了VLSI的容错技术,包括:整片集成中的容错技术及结构设计、阵列结构矩阵乘法器的容错模块方法、实时信号处理用VLSI的容错设计、VLSI二维阵列的容错设计和容错VLSI的可靠性分析模型及其应用等论文。1999年赵天绪、郝跃等人在VLSI容错结构设计及其可靠性模型研究一文中,对树形冗余结构进行了总结。最新的研究是基于仿生学阵列的容错技术设计。在1990年,天津大学计算机系王镭公开了《容错多处理器网络系统结构》,提出应该在分布式/多处理器系统方面对可靠性、容错多处理器网络的研究引起关注,实现在提高晶片合格率的同时,提高系统的灵活性。现有的AES可重构设计,主要是结构上的功能添加,比如可以支持多种长度,可以支持AES和SMS4密码算法切换,加密解密部分电路复用,实现资源的节约。
技术实现思路
本专利技术针对AES加密系统的结构特点,为了克服传统的三模冗余结构灵活性差,可靠性与安全性低的不足,采用动态重构的思想,提出一种基于动态可重构的自恢复容错AES装置及其加密方法。本专利技术提供了一种基于动态可重构的自恢复容错AES装置,包括:时钟模块、控制模块、可重构阵列模块、密钥扩展模块以及输入输出接口模块。时钟模块接收外部输入的时钟,输出AES装置工作需要的时钟信号给控制模块,驱动电路工作。输入输出接口模块将需要加密的数据输入可重构阵列模块,将作为密钥的数据输入密钥扩展模块。密钥扩展模块对接收到的数据进行密钥扩展处理,并将处理生成的数据传输到可重构阵列模块。控制模块生成自测试数据,接收判断错误信号,执行AES加密运算处理的控制流程,发送对可重构阵列模块、密钥扩展模块和输入输出接口模块工作的控制信号,并接收可重构阵列模块、密钥扩展模块和输入输出接口模块的工作反馈信号。可重构阵列模块对从输入输出接口模块输入进来的数据结合密钥扩展模块输入的密钥进行AES加密运算处理,并将生成的密文数据通过输入输出接口模块输出。可重构阵列模块包括M行×N列的可重构处理单元和M行×N列的互连开关,M行×N列的互连开关为2D-TORUS网络结构,每行的可重构处理单元与相邻的互连开关相连,在相邻行的可重构处理单元之间由互连开关直接相连。本专利技术基于所述的自恢复容错AES装置,提供了一种AES加密方法,具体步骤如下:步骤1:在第一轮运算处理中,各可重构处理单元的第一选择器选择明文数据输入给第一异或运算单元;步骤2:进行轮运算,每轮中顺序进行求异或、字节变换、行变换和列混合;具体是:步骤2.1:可重构处理单元将输入的扩展密钥和从第一选择器选择的数据在第一异或运算单元进行异或运算,在第二轮运算开始,第一选择器选择列混合运算单元输出的数据;步骤2.2:将经过异或运算的数据输入字节变换运算单元进行字节变换;步骤2.3:进行行变换;经过字节变换的数据,由第二选择器选择输出,实现数据向左移位;由第三选择器选择输出,实现不移位;由第四选择器选择输出,实现右移位;步骤2.4:判断当前是否是最后一轮运算,若是,执行步骤3;若否,则将行变换后的数据输入同列可重构处理单元的列混合运算单元进行列混合运算,然后转步骤2.1执行;步骤3:将行变换后的数据输入第二异或运算单元,与输入的扩展密钥进行异或运算,得到加密数据,并将加密数据恢复顺序输出。本专利技术的自恢复容错AES装置及其加密方法的优点与积极效果在于:本专利技术的自恢复容错AES装置及其加密方法可用于特殊环境下的AES加密硬件系统,在器件部分功能单元受损失效后,可通过动态配置冗余的功能单元,并重构为正确的AES加密功能,实现容错自恢复的效果。使在特殊条件下工作的加密芯片即使受到了一些特殊的高辐射、剧烈温度变化,信息位翻转等各种软硬错误时,依旧可以通过可重构技术在无人在场的情况下,自主的将故障部件或失效模块重新配置,完成自主修复,保证芯片的正常运行,大大提高了系统的可靠性和可用性。附图说明图1是本专利技术的自恢复容错AES装置的模块示意图;图2是本专利技术实施例的可重构阵列模块的结构示意图;图3a是现有原始的AES算法流程图;图3b是本专利技术改进后的AES算法流程图;图4是本专利技术重构处理单元的结构示意图;图5是本专利技术的输入输出接口模块输入可重构阵列模块的数据示意图;图6a是4种行变换移位的示意图;图6b是本专利技术实现行变换移位的示意图;图7是本专利技术实现列混合的结构示意图;图8a是本专利技术实施例中的阵列标号示意图;图8b是本专利技术实施例中可重构处理单元损坏和选择的示意图。具体实施方式下面将结合附图和实施例对本专利技术作进一步的详细说明。本专利技术的自恢复容错AES装置及其加密方法,采用更加细的模块,使用重构网络连接,使其具有重构的功能,在提供冗余模块单元时,能够完成使用剩余模块单元构成AES加密系统,抵御一定程度的系统损坏,完成自修复功能。如图1所示,本专利技术的基于动态可重构的自恢复容错AES装置,包括:时钟模块1、控制模块2、可重构阵列模块3、密钥扩展模块4以及输入输出接口模块5。该AES装置与外部有3个接口,一个时钟输入,一个数据输入,一个数据输出。时钟模块1把外部的50MHz晶振产生的时钟输入CLK进行倍频,得到AES装置内部工作需要的合适频率的时钟信号。时钟模块1将生成的时钟信号输入控制模块2,再由控制模块2把时钟信号传输到其余各个模块中,驱动电路工作。外部的数据通过输入输出接口模块5输入AES装置中,输入输出接口模块5把需要加密的数据输入到可重构阵列模块3中本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201310163791.html" title="基于动态可重构的自恢复容错AES结构及其加密方法原文来自X技术">基于动态可重构的自恢复容错AES结构及其加密方法</a>

【技术保护点】
一种基于动态可重构的自恢复容错AES结构,包括如下模块:时钟模块、控制模块、可重构阵列模块、密钥扩展模块以及输入输出接口模块;时钟模块接收外部输入的时钟,输出AES结构工作需要的时钟信号给控制模块,驱动电路工作;其特征在于:输入输出接口模块将需要加密的数据输入可重构阵列模块,将作为密钥的数据输入密钥扩展模块;密钥扩展模块对接收到的数据进行密钥扩展处理,并将处理生成的数据传输到可重构阵列模块;控制模块生成自测试数据,接收判断错误信号,执行AES加密运算处理的控制流程,发送对可重构阵列模块、密钥扩展模块和输入输出接口模块工作的控制信号,并接收可重构阵列模块、密钥扩展模块和输入输出接口模块的工作反馈信号;可重构阵列模块对从输入输出接口模块输入进来的数据结合密钥扩展模块输入的密钥进行AES加密运算处理,并将生成的密文数据通过输入输出接口模块输出;可重构阵列模块包括M行×N列的可重构处理单元和M行×N列的互连开关,M行×N列的互连开关为2D?TORUS网络结构,每行的可重构处理单元与相邻的互连开关相连,在相邻行的可重构处理单元之间由互连开关直接相连,M为大于4的整数,N为大于等于4的整数。

【技术特征摘要】
1.一种基于动态可重构的自恢复容错AES装置,包括如下模块:时钟模块、控制模块、可重构阵列模块、密钥扩展模块以及输入输出接口模块;时钟模块接收外部输入的时钟,输出AES装置工作需要的时钟信号给控制模块,驱动电路工作;其特征在于:输入输出接口模块将需要加密的数据输入可重构阵列模块,将作为密钥的数据输入密钥扩展模块;密钥扩展模块对接收到的数据进行密钥扩展处理,并将处理生成的数据传输到可重构阵列模块;控制模块生成自测试数据,接收判断错误信号,执行AES加密运算处理的控制流程,发送对可重构阵列模块、密钥扩展模块和输入输出接口模块工作的控制信号,并接收可重构阵列模块、密钥扩展模块和输入输出接口模块的工作反馈信号;可重构阵列模块对从输入输出接口模块输入进来的数据结合密钥扩展模块输入的密钥进行AES加密运算处理,并将生成的密文数据通过输入输出接口模块输出;可重构阵列模块包括M行×N列的可重构处理单元和M行×N列的互连开关,M行×N列的互连开关为2D-TORUS网络结构,每行的可重构处理单元与相邻的互连开关相连,在相邻行的可重构处理单元之间由互连开关直接相连,M为大于4的整数,N为大于等于4的整数。2.根据权利要求1所述的自恢复容错AES装置,其特征在于,所述的时钟模块,将外部50MHz晶振产生的时钟输入进行倍频,得到AES装置工作需要的时钟信号。3.根据权利要求1所述的自恢复容错AES装置,其特征在于,所述的可重构阵列模块选用6行×4列的可重构处理单元结构。4.根据权利要求1所述的自恢复容错AES装置,其特征在于,所述的可重构处理单元包含五个输入端口、四个输出端口、一个列混合运算单元、四个选择器、两个异或运算单元和一个字节变换运算单元;第一输入端口为明文数据输入端口,将明文数据输入第一选择器;第二输入端口为密钥输入端口,将密钥输入两个异或运算单元;第三输入端口为左开关输入端口,与可重构处理单元左边相邻的互连开关连接,第三输入端口输入的数据输入第三选择器和第四选择器;第四输入端口为右开关输入端口,与可重构处理单元右边相邻的互连开关连接,第四输入端口输入的数据输入第二选择器和第三选择器;第五输入端口为列混合输入端口,与同列M个可重构处理单元的列混合输出端口连接,第五输入端口输入的数据输入列混合运算单元;列混合运算单元将列混合运算后的数据输入第一选择器,第一选择器的输出端连接第一异或运算单元,第一异或运算单元将输入的密钥数据和第一选择器输入的数据进行异或运算处理,输出处理后的数据给字节变换运算单元,经字节变换运算单元处理后的数据输入第二选择器、第三选择器和第四选择器;第二选择器的输出端连接第二输出端口,第二输出端口为左开关输出端口,与可重构处理单元左边相邻的互连开关连接;第三选择器的输出端连接第四输出端口和第二异或运算单元,第四输出端口为列混合输出端口...

【专利技术属性】
技术研发人员:李洪革沈慧曹魏栋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1