所有提交的EM系统将被重定向到网上投稿系统.作者被要求将文章直接提交给网上投稿系统各自的日志。

基于健壮aes硬件的高速并行并发错误检测方案

Amandeep Kamboj1, R. K .班萨尔2还有萨维娜·班萨尔2
  1. 印度旁遮普省巴辛达PTU GZS校区教育与教育系学生
  2. 印度旁遮普省巴辛达PTU GZS校区教育与教育系教授
有关文章载于Pubmed,谷歌学者

更多相关文章请访问国际电气、电子和仪器工程高级研究杂志

摘要

提出了一种鲁棒AES硬件的高速并行并发错误检测方案。非常大规模的集成器件非常容易受到瞬态误差的影响。由于高级加密标准(AES)算法的高效和灵活,它成为嵌入式系统等不同应用的热门选择;卫星等。AES是目前使用的密钥加密标准。FIPS 197使用了一种称为Rijndael AES算法的标准化版本。本文主要介绍了在硬件实现过程中对AES密码输出中软错误的检测。采用VHDL语言完成了该AES块的硬件设计,并在Xilinx Virtex 6 FPGA上实现。在这个项目中使用的建模过程是自底向上的方法。设计层次结构中的所有模块都采用行为风格建模,但根模块由数据流建模组成。 This process yields better results as hardware is developed in such a fashion that it supports parallelism in it.

关键字

AES,软错误,密码输出和错误检测

介绍

近年来,由于技术的进步,集成电路的性能有了很大的提高,也降低了设备的尺寸,低功耗也有助于提高设备的性能。但另一方面,现代设备已经变得更容易受到瞬时故障的影响,当这些故障执行时,它会产生软错误。软误差是指不一致的误差,它们是随机的。虽然软错误不会损坏芯片的物理硬件,但它们可以损坏存储在芯片中的值。硬错误与系统硬件有关。所以软错误和硬错误的区别在于,软错误可以通过应用不同的技术来纠正,而硬错误则必须在硬件上进行物理改变。
由于辐射通量、阿尔法粒子、宇宙射线、电源波动、温度、压力、湿度和电磁干扰等环境条件,可能会出现软误差。软误差的原因是来自包装衰变和宇宙射线发射和热中子的阿尔法粒子。α粒子从放射性原子中释放出来,它们含有正电荷和动能,当它穿过半导体时,它可以扰乱电子空穴对的分布。通过这种方法,数字信号可以从0变为1,反之亦然。宇宙射线也会造成软误差。地球表面的大部分都含有高能中子。这些高能中子的通量被称为宇宙射线。宇宙射线的通量取决于海拔高度。因此,与海平面相比,在海拔较高的地方,系统会遭受更多的软误差。
温度变化、电磁场和应力会影响电子设备,导致其异常工作和错误输出。直到1996年,人们才知道密码算法的错误输出可以用来执行攻击。Boneh等人首次表明,用于安全的算法可以通过在加密过程中诱导错误来破坏。这些故障攻击可能是瞬态故障的原因,可以利用它在设备的寄存器中引起位翻转错误。高级加密标准取代了64位数据加密标准,因为AES算法是一种对称密码,它使用一个单独的秘密密钥进行加密和解密。

AES算法

AES是一个更大的加密算法Rijndael的子集,Rijndael是NIST竞争成为标准加密算法的众多提议之一。NIST于2000年10月宣布,Rijndael算法在安全性、性能、效率、实现能力和简单性方面的综合得分最高。AES算法是一种对称密码。在对称密码中,一个单独的密钥用于加密和解密,而在非对称密码中,有两组密钥,称为私钥和公钥。明文使用公钥加密,只能使用私钥解密。此外,AES算法是一种分组密码,因为它操作的是固定长度的位(块)组,而在流密码中,明文位一次加密一个,应用于连续位的转换集可能在加密过程中有所不同。每一轮AES密码(除了最后一轮)由以下所有转换组成:
1)块和密钥:AES算法在128位的块上操作,通过使用长度为128、192或256位的加密密钥进行加密过程。块大小通常记为Nb,密钥大小通常记为Nk。AES算法的明文输入和密文输出都是128位的块。密码密钥输入是一个128位、192位或256位的序列。换句话说,加密密钥Nk的长度是4、6或8个单词,它们表示加密密钥中的列数。
2)轮:AES加密的轮数取决于密码密钥的大小。算法使用若干轮来转换每个块的数据。所使用的子弹数为Nb和nk的最大值。在AES算法中,轮数用Nr表示,Nk= 4时Nr= 10, Nk= 6时Nr= 12, Nk= 8时Nr= 14。AES算法的变化如下表所示。对于AES算法,块大小(Nb),表示组成状态的列数为Nb = 4。
3)密钥扩展:原来的密码密钥需要从16字节扩展到16(轮+ 1)个字节。圆键将为16字节,类似于块大小。在每一轮之后和第一轮之前都需要一个圆角键。然后将展开的键分解为圆形键。轮键在每一轮之后和第一轮之前添加到当前状态。
4) S Box:用于将原来的明文转换为密文。这些值可以用十六进制表示。
5)移位行:在这一行被移位x字节的数字向左,其中x是行号。这意味着第0行不会被移动,第1行将向左移动1个字节,依此类推。
6)混合列:混合列表取一个字节并将其转换为四个字节。
所有AES算法操作都是在一个称为State的二维4x4字节数组上执行的,State中的任何单个字节都被称为sr,c,其中字母“r”表示行,字母“c”表示列。在加密过程开始时,用明文填充State。然后,密码对状态执行一组替换和排列。对状态进行密码操作后,将状态的最终值复制到密文输出中。AES密码可以操作State的单个字节,也可以操作整个行/列。在密码开始时,将输入复制到所描述的状态中。然后,对State执行初始的RoundKey添加。圆密钥使用密钥扩展例程从密码密钥派生。键展开例程为在State上执行的每一轮转换生成一系列圆键。

建议的方法

虽然目前存在的普通AES硬件设计是高度可靠的,但不能排除出现软错误的可能性。这无疑是设计微电子电路和系统的主要障碍。设计微电子芯片是一项非常昂贵的任务,过高的设计成本是半导体行业持续增长的最大威胁。为了遏制这种威胁,必须通过开发新的和更有效的设计方法和工具来缓解新系统的复杂性和系统设计方法的生产力之间日益增加的差距。系统的功能正确性越来越难以实现,它正在成为系统开发过程中的主要瓶颈。
本文试图制定一套能够始终保证所设计的AES硬件功能正确性的设计程序。在这种方法中,错误检测是通过在硬件实现过程中验证输出分组密码来完成的。采用VHDL语言完成了该AES块的硬件设计,并在Xilinx Virtex 6 FPGA上实现。在这个项目中使用的建模过程是自底向上的方法。这意味着首先开发设计层次结构中的叶组件,通过实例化它们的子组件并将它们与内部信号连接来构造高级模块。设计层次结构中的所有模块都采用行为风格建模,但根模块还包括数据流建模,以实现四个主要的密码转换。
设计的输入是:-
•明文
•键块
•钟
•重置
输出为软错误强化密文。这是通过两个步骤来完成的:I)根据内置的可靠性函数库,设计人员指定要纳入电路的编码技术;然后,利用特定的故障注入技术,对电路的可靠性进行估计。这两个步骤都是在VHDL高级描述语言中执行的。该方法的第一步是基于将编码技术合并到原始VHDL电路描述中。所考虑的编码方法是:(a)汉明码加上每个存储单元(单个寄存器)一个奇偶校验位,以纠正单个错误和检测双错误(SEC/DED);和(b)应用于嵌入式存储阵列的列和行的二维奇偶码。
图像
图像
图像
图像
互连和组件的密集矩阵可以在上面看到。实现的净硬件效率(面积/逻辑门)约为92%(大约)。

比较表

图像

结论

高级加密标准AES (Advanced encryption standard, AES)算法是各种应用程序的普遍选择,因此有必要对其进行错误检测。因此需要一些技术来减少这些软误差,提高系统的性能和可靠性。该方法通过在硬件实现过程中验证输出密码块来检测错误。该AES块的硬件设计采用VHDL语言完成,并在Xilinx Virtex 6 FPGA上实现。我们展示了并行水平以获得高吞吐量。这是一个耗时的方法,提供了更好的效率。

鸣谢

衷心感谢共同作者;r·k·班萨尔博士和萨维娜·班萨尔博士,感谢他们的指导和支持。我也要感谢所有在准备这篇论文时作为参考的研究人员。

参考文献

  1. Kalaiarasi等,“一种用于空间应用的混合故障检测和校正AES”,国际电子与通信工程杂志ISSN 0974-2166第6卷,第2期,pp. 187-197, 2013
  2. Akashi Satoh等,“AES硬件的高性能电流错误检测方案”,E Oswald和P. Rohatgl (Eds): CHES 2008, LNCS 5154, pp. 100- 11,2008
  3. N. MiskovZivanov和D. Marculescu,“组合电路中软误差的建模和减少”,皮斯卡塔韦,新泽西州,美国,第767- 72,2006。
  4. Norbert Seifert, Zhu Xiaowei和Lloyd w.m essengill,“商业微处理器中缩放对软错误率的影响”,IEEE核科学学报,vol.49, No.6, 2002年12月。
  5. Timothy.C。5月,“动态存储器中阿尔法粒子诱导的软误差”,IEEE汇刊,ED 26卷,第1期,1979年1月。
  6. AtulMaheshwari,“平衡深亚微米(DSM) VLSI电路的瞬态容错和功耗”,IEEE超大规模集成系统汇刊,第12卷,第3期,2008年3月。
  7. P. Chodowiec, K. Gaj,“使用可重构硬件的AES候选硬件性能比较”,AES3候选会议,2000年4月。
  8. P. Chodowiec, K. Gaj,“非常紧凑的FPGA实现的AES算法”,在国际象棋2013年,卷2799,页。319 - 333年,斯普林格出版社,2013年版。
  9. 严志宏,吴伯峰,“基于硬件实现的高级加密标准的简单错误检测方法”,《IEEE计算机学报》,第55卷,第6期,pp 720-731, 2006年6月。
  10. G. Bertoni, L. Breveglieri,“高级加密标准硬件实现的错误分析和检测程序”,IEEE计算机汇刊,第52卷,第4期,第492-505页,2003年4月。
全球科技峰会