所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

低功率MIPS处理器基于AES加密算法

辛格Kirat朋友* 1,Shivani Parmar2
VLSI设计部门学术&咨询服务部门发展先进的中心计算旁遮普(C-DAC)莫哈里(- 160071年,印度
通讯作者:Kirat Pal辛格电子邮件:kirat_addiwal@yahoo.com
相关文章Pubmed,谷歌学者

访问更多的相关文章全球研究计算机科学杂志》上

文摘

本文描述了低功率32位MIPS处理器基于AES加密算法和MIPS管道架构。MIPS处理器的管道阶段被安排在这样一种方式,管道可以在高频时钟和时钟门控技术是用于降低功耗。加密块高级加密标准(AES)密码系统和依赖之间的管道阶段详细解释的帮助下框图。为了减少能源消耗,特别是便携式设备和安全应用程序切换活动内部管道阶段使用。设计已经在40纳米工艺合成目标使用Xilinx Virtex-6设备。加密的MIPS管道处理器能在210 mhz和能耗为1.313 w。

关键字

ALU,寄存器文件、管道、内存时距,吞吐量

介绍

TodayA¢€Ÿ年代数字世界,密码学是处理的艺术和科学的原则和方法保持信息安全。加密是新兴disintegrable所有通讯网络和信息处理系统的一部分,包括传输的数据。加密是纯数据的转换(称为明文)inintengible数据(密文)通过一个算法称为密码。有两类主要基于加密算法:对称算法和非对称算法。最常用的技术,生产数据传输的保密性是对称的算法。该算法对明文执行各种数学和逻辑函数使用相同的密钥,而不对称算法使用不同的密钥进行加密和解密的过程。在这两种算法,关键是加密和解密过程的重要组成部分,提供安全的发送方和接收方之间的数据流量。
MIPS只是每秒数以百万计的指示和是一个最好的RISC(精简指令集计算机)处理器设计。MIPS架构是用于广泛的应用程序。所有基于MIPS处理器的体系结构保持不变而实现可能不同[1]。有一个16位的RSA加密MIPS密码系统之前设计[2]。一些调整和次要改进MIPS管线式架构设计是由使用验证设备[3]等高级加密标准(AES)来保护数据传输在不安全的媒体。高速MIPS处理器拥有管道架构加快处理以及增加的频率和性能。描述了一个基于MIPS的RISC处理器[4]。它包括基本的五个阶段的流水线指令取出,指令解码,指令执行、内存访问和回信。这五个管道阶段生成5个时钟周期期间处理延迟和几个危险操作[2]。这些管道风险消除由插入NOP(没有操作执行)指令生成一些延迟的正确执行指令[4]。 The pipelining Hazards are of three types: data, structural and control hazard. These hazards are handled in the MIPS processor by the implementation of Forwarding Unit, Pre-fetching or Hazard detection unit, Branch and Jump Prediction Unit [2].
转发单元是用来防止数据危害检测依赖和所需的运行指令的数据转发到相关指令[5]。失速发生在连续的管线式架构指令使用相同的操作数的指令,需要更多的时钟周期执行。这降低了性能。为了克服这种情况,指令预取单位使用,减少了摊位并提高了性能。控制风险发生在分支预测是错误的或在一般情况下,当系统没有处理机制控制风险[5]。控制风险是由两种机制:刷新机制和延迟机制。分支和跳预测单元使用这两种机制对预防控制危害。刷新机制运行指令分支和刷新后管道后的错误预测[5]。频繁冲洗可能增加时钟周期和降低性能。在延迟跳机制,具体数字NOPA¢€Ÿ年代是管线式跳转指令处理后控制风险。 The branch and jump prediction unit placement in the pipelining architecture may affect the critical or the longest path. The standard method of increasing performance of the processor is to detect the longest path and design hardware that results in minimum clock period.

系统架构

单片MIPS加密处理器如图1所示,由不同的组件,如Datapath公司数据I / O单元、控制单元、存储器单元,加密特定单元,依赖解析器,危害检测单位、运输单位,取指令解码单元和算术逻辑单元。专用数据处理块由Datapath公司和加密IP核心(协处理器)执行the128-bit AES密码操作。
图像
高级加密标准(AES)算法作用于128位块大小通过使用密码密钥长度128年,分别为192和256位加密过程。传入的数据和密钥存储在一个矩阵称为状态矩阵和执行的所有操作状态矩阵[6]。Datapath公司处理单元执行5阶段流水线过程内部的处理器。它由程序计数器,32位通用寄存器,Extender单位关键寄存器和标志。程序计数器单元的值更新可用的输入总线在每一个积极的边缘时钟周期同时获取下一个指令的指令ROM存储器。通用寄存器的读取寄存器的操作码传递给控制单元断言所需的控制信号。符号扩展用于计算有效地址。的数据和指令内存有能力存储256字节,每个字节的地址被称为0到256之间。地址是由8位表示。
MIPS的主要核心控制器的体系结构由控制单元和ALU控制信号单元。控制器的作用是控制专用加密块并执行与外部设备的接口和具体操作,如内存、I / O总线接口控制器。单一的控制单元控制其他模块的活动根据指令存储在内存中。
加密特定块执行等其他私钥和公钥算法RSA、DSA、椭圆曲线和想法与其他应用程序如用户身份验证程序来保护机密信息。算术逻辑单元(ALU)执行NOP(没有操作),加法,减法,或者,也没有设置不足,左移位逻辑操作。计算数据和地址加载和存储指令是由运算器。写和读的加载和存储指令从RAM内存的内存单元,而ALU和数据从内存读取结果写在注册文件的注册类型和分别装入指令。数据I / O两种不同的外部接口存储数据最初在缓冲寄存器或移动数据输出。依赖性解析器块有一个函数来避免失速重新安排的指令序列和连续检查指令停滞的可能性通过比较它们的操作数。这个模块处理停滞以及数据转发之前的阶段。在两个连续的指令接收指令之间的数据依赖关系等待一个时钟周期。因此依赖解析器控制管道阶段的数据转发。
微指令集:
MIPS指令集是简单的像其他RISC设计。MIPS加载/存储体系结构,这意味着只有加载和存储指令访问内存。其他指令只能操作寄存器中的值[8]。一般来说,MIPS指令可以分为三类:存储器参考指令,算术-逻辑指令,分支指令。同时,有三个不同的指令格式(如图2所示)在MIPS架构:异形战机指令,i类型指令和j指令。指令的一个子集已经实现在我们的设计中,采用表2给出的列表。
图像
图像

高级加密标准

有许多现在常用的加密算法在计算,但U。年代政府采用了高级加密标准(AES)使用联邦部门和机构为保护敏感信息。AES算法(图3所示)是一个对称密码和一个密钥用于加密和解密。此外,AES算法是一个块密码,因为它作用于固定长度组比特(块),而在流密码的明文加密的一次,和一组转换应用到连续位很可能在加密过程中。AES算法作用于块长度(Nb) 128 -位,通过使用密码键与键长度(Nk)的128,192或256位加密的过程。
图像
AES块的加密和解密过程包含许多不同的连续变换数据块部分,视为一系列4 x4的8位字节(也称为“状态”的算法)。国家经历了四个不同的转换在每一轮有固定数量的迭代。这些转换“子字节”、“行”的转变,“混合列”,“添加圆键”转换。“子字节”可以实现非线性独立运作的每个字节的字节替换国家使用替换附近地区(盒)。在这个天地盒;每个字节状态矩阵是一个元素的伽罗瓦域GF(28),与不可约多项式m (x) =×8 + x4 + x3 + x + 1。简而言之,GF (2 n)是一组2 n个元素每个代表一个n位串0 a¢€Ÿ年代和1 a¢€Ÿ年代和仿射变换应用(GF (2))。
“转移行”可以实现使用一个周期性变化的行状态不同的偏移量。“混合柱”被认为是最复杂的操作在算法和需要GF(28)字段和乘以模x4 + 1固定多项式(x) = {03} x3 + {01} x2 + {02} x。“添加圆键”添加到状态的逻辑异或操作。每一轮Nb的关键包括文字从扩张的关键。这些Nb单词添加到状态列。每一轮密钥是一4-word(128位)数组生成的产物上一轮密钥,替代和附近地区为每个32位字的关键。生成的主要扩张Nb (Nr + 1)。

设计和实现方法

当前的应用程序需求高速处理器大量的实时数据传输。比软件选择、硬件实现提供高度安全算法和高性能应用程序的快速解决方案的方法。软件的方法可能是一个不错的选择,但它有一些局限性像低性能和速度。软件的主要优点是低成本和短时间内市场。但是他们是不可接受的高速度和性能方面的规范。因此,硬件的选择可以选择实现MIPS加密处理器体系结构。
硬件实现同时支持现场可编程门阵列(fpga)和特定于应用程序的集成电路(ASIC)在高数据率。这种设计高性能但更耗时和昂贵相比软件替代。硬件v / s软件解决方案的详细比较实现MIPS加密处理器体系结构如表2所示。比较的基础上,硬件解决方案是一个更好的选择在大多数情况下,因为他们有很高的性能。FPGA的主要优势在硬件选择,FPGA是低密度和低消费领域。逻辑集成,大小和密度的主要缺点是ASIC但比FPGA具有更高的性能。
图像
实施加密引擎:
加密和解密的全球架构MIPS处理器管道被修改,它执行加密指令。图4显示了加密的MIPS处理器的框图。修改MIPS处理器用于加密,我们插入加密模块高级加密标准(AES)管道阶段。只有单一的加密模块中使用相同的硬件实现。加密的MIPS的指令取出单元包含程序计数器(PC),指令内存,核心和MUX解密。电脑的指令内存读取地址和存储指令值的特定地址所指出的电脑。指令内存发送指令MUX加密和解密的核心。
解密核心给解密进一步送到MUX的指令。MUX喂养如果寄存器的输出。MUX控制信号来自控制单元。指令解码单元包含文件和关键注册登记。关键寄存器存储关键数据加密/解密的核心。关键地址和关键数据来自回信阶段。关键数据存储到寄存器文件和仍然是相同的程序指令执行。控制单元提供各种控制信号到其他阶段。这作为选择线两个多路复用器。当控制单元检测到一个存储/分支/跳它断言控制信号并保持高断言直到检测到负载指令。
在此期间,回信阶段得到转发数据和内存阶段得到一个常数零值只从而防止进一步的转换。de-asserted控制信号时,数据通过标准的管道结构。执行单元执行注册文件输出数据和执行特定的操作由ALU决定。ALU输出数据发送到EXE注册临时存储地址值。核心内存访问单元包含加密,解密,数据存储器,MUX和多路分配器。第二个寄存器的数据寄存器文件是加密的核心和MUX美联储。这里的地下室信号发生时启用/禁用加密操作。数据存储器的读/写信号描述是否读/写操作完成。输出数据的内存通过多路分配器的输出去解密一个核心和其他MEM注册。这里的未加密的内存数据和解密数据暂时存储MEM注册。 The MEM output is fed to the write back data MUX and according to the control signal, the output of MUX goes to register file.
图像
功率降低技术:
在任何基于微处理器的系统的一个关键问题是能耗。功耗是静态或动态。静态功耗是由于漏电和短路电流而引起的动态功耗是由于各种电路中晶体管的开关活动。动态能力形成了在CMOS电路功耗的主要部分,需要大量的关注。在我们的设计功率降低是通过绕过管道阶段从而引起不必要的转换活动。动态功耗的影响因素之一是交换活动和动态功率方程,给出的
图像
在上面的方程C代表电容和Vdd代表漏电压在CMOS电路和Fclk时钟频率。通过减少切换活动(E (sw))导致减少动态功耗。的管道阶段不同类型的指令如图5所示。里面有NOP插入管道阶段作为一个时钟周期的延迟。
图像
可以看出,数据存储器阶段所使用的管道不是任何算术指令。在未使用状态转换导致额外的功耗。为了避免这种浪费,绕过这个阶段的管道重新配置这些设置的指令。因此数据获得执行阶段直接转发回复阶段。在这段时间里,EXE / MEM流水线寄存器是维持在零值从而确保没有过渡发生并降低功耗。算术指令有„NOPA¢€MEMŸ阶段阶段而有„NOPA¢€Ÿ在回信阶段/存储/分支跳转指令。因此回信阶段的算法可能会搬到MEM阶段不会引起任何资源冲突。负荷指令使用管道的所有五个阶段,因此会产生资源冲突。因此,数据必须通过常规管道结构直到遇到/存储/分支跳转指令之后可以再次重新配置管道。

实现结果

完整的流水线处理器硬件描述语言(VHDL)的建模阶段。RTL设计的语法使用Xilinx工具检查。功能验证的设计建模的MIPS处理器硬件描述语言。设计验证块级别和顶级。完整的设计以及时间限制,面积利用率和优化选项描述使用综合报告。设计是针对40纳米三氧化合成的过程技术使用Xilinx FPGA Virtex-6 (xc6vlx240t-3ff1156)设备。Virtex家族是最新、最快的FPGA旨在提供动态和静态功耗低15%和15%的改进的性能比上一代。很明显,有一个最大的时钟频率和面积利用率之间的平衡(数片LUTA¢€Ÿ年代),因为基本可编程的FPGA的片包含四个附近地区(查表)和八人字拖。的一些片可以用他们LUTA¢€Ÿ年代分布式RAM。
Xilinx的功耗估计XPOWER分析器工具,使用post布局网表加密处理器以及节点的活动数据为每个算法。可以进一步降低功耗运行处理器的电压低于正常电压1.5 v(只要速度和吞吐量需求得到满足)。权力分析之间的部分为EXE / MEM和MEM /白平衡阶段。时钟门控技术用于最小化能源减少管道停滞阶段。这种方法识别低处理需求时间,降低工作电压和时钟频率(电压频率缩放),导致减少平均操作功耗。这可能会或可能不会频繁发生取决于编译器效率。动力分析结果进行相同的时钟频率。在我们的设计中,一个符号处理每个时钟周期;吞吐量计算的基础上每秒的指令执行。吞吐量的计算公式:
吞吐量= f *符号宽度/总时钟频率
f在哪里操作频率和符号宽度是我们的一个参数化的值。在AES加密处理器,43个时钟周期用于特定执行数据块加密,47个时钟周期执行异形战机需要指令,48个时钟周期需要i类型指令和46个时钟周期j指令数据。表3显示了吞吐量性能;面积和功耗估计基于AES的MIPS加密处理器。最大吞吐量基于AES的MIPS加密处理器在4.76 ns 560 mbit / s。此外,它是可能的贸易表现领域和权力的实现。例如,可以获得更高的性能通过运行在更高的频率300 mhz处理器当前设计(增加功耗)和/或使用管道(增加区)性能要求应用程序。
图像

结论

在本文中,我们提出了一个权力有效的硬件架构设计32位MIPS处理器中执行加密加密指令。最初它从指令读取加密的数据内存和解密相同的数据并将其发送给下一个管道阶段。处理器使用对称的AES平原/密码,可以处理数据块长度为128位。加密块在MIPS处理器执行数据加密。设计已经在硬件描述语言(VHDL)和功能验证政策建模采用。优化设计和合成进行最新、最快的FPGA Viretx-6装置,提高了性能。每个程序指令的测试向量由MIPS。我们得出结论,MIPS的性能使用AES加密处理器是高560 mbit / s。MIPS加密处理器的功耗是1.313 w。加密处理器的高性能和高灵活性的设计使其适用于各种安全应用程序

引用

  1. 在P,从事R, Karthi Balasubramanian.2009,管线式MIPS处理器的低功耗设计,国际集成电路研讨会上(ISIC 2009),页462 - 465。
  2. Zulkifli、Yudhanto Soetharyo adinono。2009, “Reduced Stall MIPS architecture using Pre-fetching accelerator”, International conference on electrical engineering and informatics, IEEE, pp. 611-616, ISBN: 978-1-4244-4913-2, IEEE, Aug. 2009.
  3. 普拉文·b·ghewari Jaymala k·帕蒂尔太太,阿米特·b·Chougule.2010“AES密码系统的高效的硬件设计与实现”,国际工程科学与技术杂志》,2010年,卷2(3),2010年,页213 - 219,ISSN: 0975 - 5462。
  4. d·a·帕特森和j·l·轩尼诗、计算机组织与设计、硬件/软件界面。2005年摩根考夫曼。
  5. Pejman lotfi, Ali-Asghar Salehpour,阿里•Afzali-kusha阿米尔·穆罕默德,压力和zainalabedin Navabi.2011,“动态功率降低的摊位管线式架构处理器”,国际期刊的设计、分析和电路与系统工具,2011年6月,1卷,1号,9 - 15页。
  6. Refik切断,A Neslin Ismailoglu,优素福c . tekmen和Murat Askar,“rijndael算法的高速ASIC实现”,IEEE国际研讨会在电路和系统中,2004年。
  7. 高级加密标准(AES), 2001年11月美联储。Inf。过程。Syandards酒吧. .
  8. Rupali s Balpande Rashmi s Keote.2011“设计基于FPGA的指令取出&解码模块的32位RISC处理器(MIPS)”,通信系统和网络技术国际会议上,2011年,pp.409 - 413, ISBN: 978-0-7695-4437-3, IEEE 2011。
  9. Saeid Taherkhani,恩,Orhan Gemikonakli.2010“实施爆炸,管线式数据加密标准(DES)使用Xilinx Virtex-6技术”,10日IEEE计算机和信息技术国际会议(CIT 2010),页1257 - 1262。