英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
吞吐量和地区有效的FPGA实现数据加密标准(DES)
摘要
保护机密信息的最受欢迎的标准之一是数据加密标准(德)。虽然它已经被高级加密标准(AES)取代,它仍然被广泛使用在自动取款机(ATM)、智能卡、SIM卡和手机。在本文中,我们提出了有效的区域和高通量的DES FPGA实现,这是使用Xilinx ISE设计套件开发的FPGA。事实上,我们提出修改的最快的设计在文献报道,并实现了1.1倍的速度更高。同时,我们引入一个8级流水线的设计,只需要0.75倍的功率寄存器和一个类似的16个阶段消耗0.65倍的流水线设计。高速设计和综合优化技术,包括流水线,登记重定时和逻辑复制使用。布局后的综合结果表明,所提出的实现高吞吐量的面积比。做一个公平的比较,使用FPGA设备被其他实现文献中报道了该设计用于匹配。
关键词:DES;FPGA;流水线;迭代;安全、效率、加密
1.简介
数据加密已被用于保护敏感数据的时间长。已经建立了几个加密机制,以打击安全威胁。安全应用不同的要求,这增加了一个额外的挑战,因为一个高度安全的机制可能不是唯一的要求,而是一个更高效的实现在性能方面,面积和功耗也可能需要。基于此,各种加密机制采用软件和硬件包括特定应用集成电路(ASIC)和实施现场可编程门阵列(FPGA)来满足这些要求。利用FPGA实现加密机制提供了关键的好处相对于ASIC和软件,因为它们结合速度的硬件和软件的灵活性、可编程性的实现。
DES是由IBM公司与美国国家安全局的帮助,70年代中期提出(NSA)。它已被公认为超过20年的全球标准。在2000年底,它被替换高级加密标准(AES)。然而,据估计,德仍将在使用多年来之前,它完全取代。事实上,据估计,70亿以上的移动电话卡仍然在使用(七月2013),许多(如果不是大多数),他们仍然依赖于算法。此外,它还被用在许多系统,如自动取款机(ATM)、数据存储、数据库、数字卫星系统。
该算法的重复执行相同的操作集。从硬件设计的角度看,这样的操作可以在2个不同的方式执行或执行:一个硬件单元可以重复使用多次迭代/顺序的方式迭代的方式。这是类似于使用的概念软件中的“循环”。这种方法的优点是在面积和功率方面的成本低,但其缺点是低速自同一硬件被反复使用,直到完成计算。其他方法称为“循环展开”。它依赖于使用多实例的硬件单元来执行全算法。如果“全”循环展开使用,然后有许多硬件单元迭代。很明显,这种方法比迭代方法在面积和功率方面要差完成一个周期的计算。如果采用的是与循环展开的设计,那么这将增加的吞吐量(每秒计算),因为流水线使得整个设计运行在一个更高的频率通过将循环展开通路多个阶段。阶段的数目通常是迭代,但一些设计师可以选择增加(或减少)的数量,以满足特定领域的阶段,功率,或速度要求。
在本文中,对DES算法的有效实现(的吞吐量和地区)使用FPGA提出了。我们使用的是Xilinx公司的FPGA的可重构硬件平台。介绍了DES算法的不同实现方法:迭代,16级流水线,8级流水线,48级流水线。提出的8级方案不违反原来的16轮标准,而是结合两轮在一个阶段,以节省面积和功率,这是最需要在广泛的应用领域,如无线传感器网络(无线传感器网络)。
其余的论文安排如下:2节介绍的算法。在3节,我们讨论FPGA的硬件实现的DES算法相关的工作。我们提出的实现在第4节。在5节中,我们提供了实验结果,并评估我们的设计其他已知的植入文学。最后,得出结论,在第6节。
2.DES
DES是一个对称分组密码算法,其加密和解密使用最初的64位数据块64位密钥。图1,2显示了算法的总体结构。基本上,是一个迭代结构;它将输入数据拆分为64位块。每一个街区都经过16轮,每一个都有几个台阶:排列,替换,异或逻辑运算。在每一轮中,一个子密钥是从初始生成的钥匙使用一种特殊的过程称为关键时刻表。
图1,2显示了生成16个子密钥的步骤。虽然密钥长度是64位长,有效键的长度只有56位,因为奇偶下降,其中下降的位(8,16,24,32hellip;hellip;和64)从64位初始密钥。奇偶性下降的输出被拆分,然后每个一半被转移,取决于上轮数。对于循环1,2,9,和16,移位计数是一。否则,移位计数是2。
之后的每一个转变,两半组合排列第二置换给子键。在解密过程中,子键用于在相反的顺序,所使用的密钥循环(i)的加密采用的是循环(16-i)解密。
DES的轮的基本要素是:初始置换盒(IP),绞肉机功能(F)和最终的每—突变盒。该机功能(F)包含三个盒子:扩展(E)、替代(S),和置换(P)如图3所示。
对于每一个64位块加密,一个初始的固定排列(IP)阶段是通过散射的64位块在一个固定的著名模式的数据。最初的置换的结果被保存为2个32位寄存器,通常命名为半寄存器(左半)和左半寄存器(升)。和升寄存器用于保存中间轮的结果。
如图3所示,该寄存器的内容扩展到将32位数据转换为48位数据(电子盒)。扩展的48位与对应的48位密钥进行XOR。48位的结果随后被分为八组(各八位)来产生S盒,每4位输出。这个结果将是一个32位的是另一个固定的排列顺序(P盒)。之后,对绞肉机功能的输出将与信用登记的内容进行XOR。这一结果将被保存到下一轮的寄存器中,而下轮的升寄存器将是当前轮的寄存器。这个过程是重复的16个回合。后第十六圆,R和L登记内容的子系最终固定排列(IPminus;1)阶段,即初始置换的逆(IP)。结果(IPminus;1)将64位数据加密。
图1,2:DES算法结构
图3:S盒原理
3.相关的工作
一个迭代使用DES算法的Xilinx XC4000 FPGA平台的单片机实现方法[ 19 ]。设计实现了所有的元素在一个圆形的计划,并采取了24个周期来完成加密对于一个数据块。实现利用224个CLB,54输入/输出模块(IOB)和加密速度26.7 Mbps。在[ 20 ],帕特森提出了一个全面展开的流水线实现DES。此外,一个辅轮是也分为多个流水线阶段。作者调查的最佳数量的阶段,每轮和报道称,一个块操作所需的管道阶段总数为35。这个结果当结合良好的布局是一个超过10 Gbps的吞吐量。在[ 21 ]的工作中使用的并行技术,通过分解成若干个工作并联单元的并行技术,以减少延迟。根据所提出的设计,多个处理单元执行两异或,两班,一盒,登记负荷和关键锁操作的使用。由于重用这些处理单元之间需要反馈导线。因此,多个寄存器来处理部分输出和更多的时钟周期是必要的电路同步。据报道的加密速率93 Mbps。对[ 15 ] 的作者提出目前高性能加密/解密核心为16级流水线辅的Virtex II和Virtex-E平台DES算法。高速是由于全循环展开和深流水线的使用来实现。事实上,设计被实现为16个阶段,每一个又分为分为3个阶段,使管道总数的48个阶段。本设计实现了15.1 Gbps的吞吐量DES和13.3 Gbps的DES。三重德需要约3倍的面积。紧凑和高效的迭代使用DES算法的VirtexE XCV400E平台的可重构硬件实现是在[ 1 ]提出了。为了最大限度地减少延迟,这是与设计的关键路径,利用平行结构,允许计算所有八个DES的S盒同时。一个全面的算法提出了一个数据加密/解密274 Mbps的占地只有117分片率。
在[ 7 ]中,作者提出了2种设计:非流水线迭代和流水线。非流水线迭代设计依赖于一个有限状态机(FSM)控制DES运算的核心和关键的调度和圆形的音序器单元之间的通信而不是计数器控制器。流水线设计划分全面进入16个阶段。非流水线的设计实现了4.8 Gbps的吞吐量而流水线版本实现了18.8 Gbps的Virtex 6装置。
在[ 22 ],一个高性能的知识产权的核心实现的算法,提出了使用16阶段流水线技术,以支持高速的加密过程。改进技术提供了一个加密率高达到3.87 Gbps。作者声称,FPGA DES的实现使用流水线技术的平台,可以28倍的速度比软件实现的。
对[ 13 ]中的作者使用循环展开和流水线技术来提高其迭代吞吐量设计。迭代设计实现了99.1 Mbps的吞吐量,而循环展开4级流水线版本实现了402.7 Mbps的使用XC4008E和xc4028ex设备,分别。
作者在[ 23 ]提出有效的和不同的解决方案,在空间和数据速率的硬件辅之实施。他们提出了一个21阶段和37阶段的流水线设计。37阶段设计实现21.3 Gbps的最大吞吐量的Virtex II平台。
在[ 24 ],一个迭代的DES IP核(Alliance Core at Xilinx)从安富利介绍支持所有DES选项和配置。它是适合于执行在ECB、CBC和CFB模式。核心可以运行在双模式操作:连续和突发模式的接口与任何终点模块很容易集成。核心可以提供加密速率高达172 Mbps。
一个迭代的DES算法增强安全的抗功耗分析FPGA实施了[ 25 ]。实施是基于布尔掩蔽技术。据报道,掩码DES的实现可以非常有效的面积和速度在现代FPGA由于其可用性大的记忆。使用的平台是Virtex Pro的828 Mbps的加密速率提供适。
表1显示了最近可配置的硬件实现的一个概要Xilinx公司的FPGA家庭类型。主要是,这些实现已被应用于利用迭代或流水线设计技术。
4.硬件实现
算法中有很多不同的可重构硬件实现。一般而言,这些实现集中于如何实现最高效的架构,通过改进的算法吞吐量,速度,面积和/或功耗。在这一节中,我们提出了各种硬件算法的实现。
4.1迭代实现
图4显示了迭代设计,它使用一个计数器(roundcounter)跟踪循环数。轮数是用来获得相应的子密钥生成的子密钥发生器。生成的子密钥进行DES的核心使用它进行绞肉机功能。这些操作是重复的,直到回合计数器等于16,在该时间的复位信号是断言重置计数器和加载信号生成另一块64位的明文进行加密。
4.2 16级流水线实现
在这个实现中,流水除以DES操作分16个阶段实现数据通路。一个流水线阶段实现一个辅轮。这是通过插入流水线寄存器在每个阶段结束。如图5所示,在电子、的组合逻辑运算,以及一个圆形的,输出被保存到的升和寄存器为下一轮准备它们。
4.3 21级和31级流水线实现
这些的实现是基于两劳弗罗依等人提出的设计。在[ 23 ]。基本上,劳弗罗依等人介绍了通过重组减少LUT的逻辑运算以获得块的最佳方式以4输入和产生输出的1。在我们的实现中,我们研究了劳弗罗依等人的设计。和介绍了一种增强的设计,在原设计中删除冗余块。这些块是E和R的定义和使用的完全一样,在[ 23 ]。具体而言,研究阶段是电子阶段的逆,该数据被减少从48位到32位,相反,在电子阶段进行的。这没有圆的计算结果的影响。然而,需要额外的逻辑和路由资源电子、和块。删除这些块导致更少的逻辑和路由延迟。因此,我们的修改设计将在较高的频率下运行,并提供更高的吞吐量。图6显示了劳弗罗依等人的原始设计。图7显示了我们的改进设计。我们的改性设计是流水线分为21级和37级完全一样的[ 23 ]。
4.4 48级流水线实现
此实现类似于16节中描述的4.2级流水线实现。然而,每个该设计阶段进一步细分为3个子流水线阶段。结果,我们得到了48级流水线实施。图8显示了如何将一轮的数据分为3个子流水线阶段。这设计需要更多的硬件资源,因为更多的流水线寄存器的介绍。
4.5 8级流水线实现
在这个实现中,在算法的结构上进行了修改,同时保留了算法的正确性。这个修改的目标是在8个阶段完成整个加密或解密过程。这是通过结合两轮原16轮为一个阶段实施。这可以实现通过插入中间寄存器(升和寄存器)进行流水线操作。如图9所示,将原标准的0轮和1轮合并为一个回合/阶段。这个综合轮的输出是直接保存在升和2轮的寄存器。此外,2轮和3轮原来的标准是以同样的方式和他们的输出相结合的方式,他们的输出被保存为4轮的。其余的回合以同样的方式组合在一起。
5.实验结果与比较
在这一节中,我们提出了我们的硬件实现的实验结果。我们使用Xilinx14.2 FPGA ISE设计套件。放置和路由后的结果。这些实现的结果进行比较,在文献中发现的。我们开始讨论之前,需要注意的是,LUT数量重要的是一个更加精确的测量比较时,面积要求比切片计数从一片有多个LUT和片中的一些可供使用。另外,一个LUT在硬件资源和面积FF方面更加昂贵。例如,在一个单一的Spartan6 FPGA 6输入LUT可以编程实现6-input逻辑函数通过配置表中的64位项。这意味着它是64倍的FF。
表16显示了2轮和修改后的执行结果8流水线设计。这个16轮的设计可以执行DES在高达15.488 Gbps速率而8轮设计性能9.6Gbps。然而,8级的设计只需要0.75次16轮的设计所需的FFS,关于由于16轮相同的LUTS,并且只消耗功率的0.65倍。然而,16轮设计给出了1.61倍的8轮设计吞吐量。这是由于将数据通路的16级流水线的另外,一个LUT在硬件资源和areameans核心可以运行在更高的时钟频率,但更多的寄存器流水线需要昂贵得多。这符合我们的最初的争论的8轮设计是针对小面积的功率约束等应用的无线传感器网络。
表3显示了对其他实现方法的比较,在文献中。做一个公平的比较,使用匹配的FPGA设备设计合成了。从表中的结果,我们可以发现,我们的迭代设计给出了1.7,1.3,和3.4倍的吞吐量比在[ 1 ] [ 24 ] [ 25 ]中的迭代设计。看表计数,我们的设计也需要一半的LUTS所需的[ 25 ]。由于LUT计数不在[ 1 ]和[ 24 ]的报道,我们用切片计数比较地区虽然是不甩算准确,正如我们以前解释的。看片数,我们的设计需要1.22倍的在[ 1 ]中所需的片,但在[ 24 ]所需的0.366倍。我们的迭代设计也达
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[152510],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。