![[硕士论文精品]基于fpga技术的高性能aes_cbc算法的实现研究_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/c9df5fa8-15cf-460f-af41-25b39bfd1a4c/c9df5fa8-15cf-460f-af41-25b39bfd1a4c1.gif)
![[硕士论文精品]基于fpga技术的高性能aes_cbc算法的实现研究_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/c9df5fa8-15cf-460f-af41-25b39bfd1a4c/c9df5fa8-15cf-460f-af41-25b39bfd1a4c2.gif)
![[硕士论文精品]基于fpga技术的高性能aes_cbc算法的实现研究_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/c9df5fa8-15cf-460f-af41-25b39bfd1a4c/c9df5fa8-15cf-460f-af41-25b39bfd1a4c3.gif)
![[硕士论文精品]基于fpga技术的高性能aes_cbc算法的实现研究_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/c9df5fa8-15cf-460f-af41-25b39bfd1a4c/c9df5fa8-15cf-460f-af41-25b39bfd1a4c4.gif)
![[硕士论文精品]基于fpga技术的高性能aes_cbc算法的实现研究_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/c9df5fa8-15cf-460f-af41-25b39bfd1a4c/c9df5fa8-15cf-460f-af41-25b39bfd1a4c5.gif)
已阅读5页,还剩69页未读, 继续免费阅读
[硕士论文精品]基于fpga技术的高性能aes_cbc算法的实现研究.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文摘要AES是美国于2000年10月份确立的高级加密标准,该标准的反馈链路模式AESCBC加密算法,用于在IPSEC中替代DESCBC和3DESCBC。加密是安全数据网络的关键,要保证在公众网上传输的信息不被窃取和偷听,必须对数据进行加密。在不影响网络性能的前提下,快速实现数据加密解密,对于开发高性能的安全路由器、安全网关等对数据处理速度要求高的通信设备具有重要的意义。在目前可查询的基于FPGA技术实现AESCBC的设计中,最快的加,解密速度达到700MBLZLS400MHZ。商用CPU奔腾4主频306,用汇编语言编写程序,全部资源用于加密解密,最快的加密解密速度可以达到14GBPS。但根据国外测试结果表明,即使开发的路由器本身就基于高性能的双64位MIPS网络处理器,软件加密解决方案仅能达到路由器所要求的最低吞吐速率600MBPS。本文首先研究分析了目前几种实现AESCBC的方法有缺点的情况下,在深入研究影响硬件快速实现AES_CBC难点基础上,设计出一种适应于报文加密解密的硬件快速实现AESCBC的方案,在设计中采用加密解密和密钥展开并行工作,实现了在线提供子密钥。在解密中采用了双队列技术,实现了报文解密和子密钥展开协调工作,提高了解密速度。本文在QUARTUS全面仿真设计方案的基础上,全面验证了硬件实现AESCBC方案的正确性,全面分析了本设计加密解密的性能。并且针对设计中的流水线效率低的问题,提出改善流水线性能的方案,设计出报文级并行加密解密方案,并且给出了硬件实现VPN的初步方案。实现了单一模块加密速度达到116GBPS,单一模块解密速度达到900MBPS,多个模块并行工作加密解密速度达到64GBPS。论文最后给出了总结与展望。目前实现的AESCBC算法,只能通过仿真验证其功能的正确性,还需要下载到芯片上做进一步的验证。要用硬件实现整个IPSEC,还要进一步开发基于FPGA的技术。总之,为了适应路由器发展的需求,还有很多技术需要研究。关键词AESCBCFPGA流水线双队列加密解密安全路由器IPSEC第1页国防科学技术大学研究生院学位论文ABSTRACTALGORITHMRIJNDAELHASBEENSELECTEDASTHEADVANCEDENCRYPTIONSTANDARDAESBYNISTIN2000OCTOBERTHEAESCBCWILLBEUSEDTOREPLACETHEDESCBCAND3DES_CBCINIPSECTHEENCRYPTIONISTHEKEYTECHNOLOGYOFSECURENETWORKTHEENCRYPTIONNEEDTOBEDONETOPROTECTTHEINFORMATIONONTHEPUBLICNETWORKFROMINTERCEPTIONANDMONITORTHEHIGLLSPEEDAES_CBCENCRYPTORDECRYPTORCOREWITHNONEGATIVEAFFECTONTHEPERFORMACEOFNETWORKISVERYIMPORTANTFORHIGHSPEEDCOMMUNICATIONDEVICESUCHASHJIGHSPEEDSECUREROUTERANDSECUREGATEWAYTHEFASTESTSPEEDOFENCRYPTIONDECRYPTIONBASEDONFPGAIMPLEMENTATIONSIS700MBITSSEC400MBITSSECASFARASWEKNOWTHEFASTESTSOFTWAREIMPLEMENTATIONSOFAES_CBCAREMADEBYHELGERLIPMAA151THEPEAKENCRYPTIONDECRYPTIONSPEEDOFA306GHZPENTIUMIVPROCESSORISL4GBITSSECTHETESTMADEBYTHEABROADEXPERTSHOWSTHATAES_CBCIMPLEMENTEDBYSOFRWAREONLYGETTHESPEEDOF600MBPSWHICHISTHELOWESTTHROUGHPUTREQUIREMENTOFAROUTERWITHDOUBLEHI曲PERFORMANCE64MIPSNPINTHISPAPELWEFIRSTMAKETHECOMPARISONANDANALYSISOFSEVERALHARDWAREANDSOFTWAREIMPLEMENTATIONSOFAES_CBCITSHOWSTHATTHEIMPLEMENTATIONOFAES_CBCALGORITHMBASEDONTHETECHNOLOGYOFFPGACANGETTHECHARACTEROFBOTHTHEFLEXIBILITYOFSOFTWAREANDTHEHI曲SPEEDOFASICTHENANEWIMPLEMENTATIONOFAES_CBCFORHIGHSPEEDENCRYPTIONANDDECRYPTIONINSECUREROUTERISPROPOSEDINTHISPAPERINTHISNEWSOLUTION,ENCRYPTIONANDDECRYPTIONWORKASPARALLELTASKSANDSUB_KEYON_LINEISINTRODUCEDITISBASEDONDOUBLEQUEUESWHICHALLOWTHEENCRYPTIONANDDECRYPTIONOFAESCBCCIPHERTOWORKONTHESAMEHIGHSPEEDINTHEIMPLEMENTATION,THEENCRYPTORDECRYPTORINCLUDESANONPIPELINEDENCRYPTIONDATAPATHWITHANONTHEFLYKEYSCHEDULEDATAPATHTHISPAPERALSOADDRESSESTHEVERIFICATIONOFMYAESCBCIMPLEMENTATIONTOSHOWITSVALIDITY,ASWELLASITSPERFORMACETHESINGLECHIPENCRYPTIONCORECANRUNAT100MHZRESULTINGINATHROUGHPUTOF116GBITSSECONSTRATIXEPIS20F484C5FPGADIVERS,THEDESCRYPTIONSINGLECHIPCORECANRUNAT80MHZRESULTINGINATHROUGHPUTOF900MBITSSECONSTRATIXEPIS20F484C5THEMUTICHIPCORECANRUNAT80MHZRESULTINGINTHROUGHPUTOF国防科学技术大学研究生院学位论文64GBITSSECTHISISTHEFASTESTSINGLECHIPFPGAAES_CBCENCRYPTORDECRYPTORCOREREPORTEDTODATEATTHEPRESENTTIMEONLYSIMULATIONAPPROACHISUSEDTOVERIFYTHECORRECTNESSOFMYAESCBCENCRYPTORLDECRYPTORBECAUSEOFTHELIMITATIONSOFWORKENVIRONMENTFUTHERMOREVERIFICATIONCANBEMADETHROU曲DOWDLOADINGTHECODETOACMOSCHIPFUTUREWORKFORIPSECWILLFOCUSONTHEFPGATOACHIEVEHARDWAREIMPLEMENTAFIONINCONCLUSION,MOREEFFORTSNEEDTOBEMADETOADAPTTHEDEVELOPMENTOFHI曲PERFORMANCEROUTERKEYWORDSAESCBC,FPGA,PIPELINE,DOUBLEQUEUES,ENCRYPTIONDECRYTION,SECUREROUTER,IPSEC第1IT页里堕型堂基查奎兰竺窒圭堕兰篁堡兰图目录图II加密引擎原理框图3图21输入数据转换和输出数据转换图13图22字节替换示意图14图23字节移位示意图14图24列混合示意图14图25按轮加密示意图14图26加密原理示意图15图27密钥展开工作流程图15图28解密原理示意图17图29AESECB工作原理示意图17图210AESCBC加密过程示意图18图211AES_CBC解密过程示意图18图31AESCBC总体设计方案图21图32输入控制模块组成图24图33输入控制状态机图25图34分组加密模块组成图26图35分组加密模块层次图27图36分组加密硬件设计示意图28图37加密列混合电路29图38分组加密过程状态机图29图39密钥展开模块状态机图31图310输出控制模块状态机图33图311分组解密模块组成图35图312分组解密模块层次图36图313分组解密电路设计示意图36图314反向列混合电路设计图37图315分组解密状态机图38图316双队列工作原理示意图39图41输入控制模块仿真结果图42图42128位分组加密仿真图43图43L28位分组解密仿真图“图44报文级加密仿真图46图45报文级解密仿真图47国防科学技术大学研究生院学位论文图46流水线时空图49图47流水线“瓶颈”段细分图5L图48流水线“瓶颈”并行图51图4G“瓶颈”段重复设置对应的流水线时空图52图410报文级加密模块设计图53图41L报文级并行处理总体设计图53图51路由器中共用多种加密CORE设计图56图52新一代路由器线卡功能模块图58第IV页国防科学技术大学研究生院学位论文表11表21表22表23表31表32表41表目录软件实现AESCBC性能比较表25种入围算法软件实现开销比较表。85种算法硬件实现开销比较表9AES和3DES比较表10输入输出FIFO数据格式表22FIFO报文数据格式表23分组和报文级加密解密性能比较表48第V页独创性声明本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文题目基里堕垒挂盔鲍直性能些墼簋洼鲍塞塑盟窒学位论文作者签名逮金堡日期帅拉年J月,日、学位论文版权使用授权书本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。保密学位论文在解密后适用本授权书。学位论文题目基王里婴皇撞盔鲍壶性能缱墼篡洼鲍塞丑盟窟学位论文作者签名叠坌孟日期工响斗年P月,7日作者指导教师签名羞照勃日期妒,V年F乙月L扩日国防科学技术大学研究生院学位论文第一章绪论11课题研究背景INTERNET本身是公众网,要在网上沟通一项秘密非常不可靠,通信信息可能会被别人偷听。随着INTEMET的快速扩展,人们对他的依赖程度也越来越高。信息可以在INTERNET网上便宜而方便的传输,许多应用直接在网上进行,如电子商务、公司通过INTEMET销售产品和提供服务、信用卡信息、通过INTEMET在办事机构之间路由传输的电子邮件、通过INTERNET传输的敏感的公司内部资料等,这时通信的安全是一个最基本的前提。对于信用卡这样的敏感信息来说,它们必须得到有效的保护。此外,电子邮件通过INTEMET在办事机构之间路由传输。敏感的公司内部资料也可能通过INTEMET传输,这对安全保密来说,显然是显而易见的。当然,INTEMET的安全问题并不仅仅涉及做生意的公司,每个人都需要,而且有权利保护自己的隐私。于是如何保护INTEMET上传输的信息安全,成为网络技术研究方面的热点问题。目前来说,INTERNET传输的信息安全技术有很多,但是不管是IPSEC,还是VPN等等信息安全技术,任何一种方法都离不开对传输数据的加密。通过对传输数据进行加密,使得在网络上传输的数据即使被他人窃取,也不能被利用,以避免信息被他人利用,造成通信双方的损失。所以说,保证公众网上信息安全的首要措施就是对数据进行加密。另外,路由器作为内外网之间数据通信的核心设备,其本身的安全性能的重要性不言而喻,强化路由器本身的安全防范往往可以收到事半功倍的作用,因此基于这一理念而出现的新型网络设备安全路由器便成为了网络安全产业中的一支尖兵。作为网络转接设备的路由器,需要不断接收与发送路由信息及IP数据报,而路由信息与敏感IP数据报的安全正是网络安全防护的核心。针对网络潜在的各种安全威胁,安全路由器在实现常规路由功能的基础上,在设计时强化了数据传输加密这一关键技术问题,增强了信息保护与数据加密性能,能够有效检测及防范各类攻击事件的发生。具备IPSECIPSECURITY协议支持、能够有效利用1PSEC保证数据传输机密性与完整性或能够借助其它途径强化本身安全性能的路由器将成为保证在公众网上安全通信的关键。在保证数据传输的安全方面,目前在IPSEC中主要的对称加密算法还是DES,由于该算法的密钥强度只有56位,随着计算机技术和破解密技术的发展,在1997年被志愿者联络70000多个系统用了96天攻破。在最近有21小时破解DES加密算法的报道。说明DES第L页国防科学技术大学研究生院学位论文算法已经不能满足安全需求了。NIST于2000年10月2日选RIJNDALE算法作为AESILL然而对于128位分组的AESCBC算法,如何在路由器中快速实现,是目前开发安全路由器一个问题。如果由网络处理器软件实现数据的加密必然造成网络处理器额外的开销,并且加密速度不够快,不能满足路由器对报文数据快速交换的要求。在RFC3602标准16L中,AESCBC成为IPSEC中的加密标准。AESCBC己成为网络路由器对数据加密的主要算法。加密是安全数据网络的关键,而在日益强调安全性的今天更是如此。IPSEC在VPN中用于网络安全性,它同时需要控制通道和数据通道支持。控制平面和关键的交换可以利用运行在RISC引擎如POWERPC处理器上的软件来实现。但数据通道需要以GBPS线速度进行处理的AESCBC和三次DESCBC加密解密方案,而这是软件所不可能达到的。因此用硬件快速实现AESCBC加密算法,对开发安全路由器和安全加密卡有重要的意义。为此,如何用硬件快速实现AES,成为当前网络安全研究的热点问题。12研究现状随着安全通信数据速率的提高,关键数据加密算法的软件实现成为重要的系统瓶颈。更为糟糕的是,标准的商品化CPU和DSP无法跟上数据加密算法的计算要求134】。此外,CPU和DSP需要完成太多的其它任务。于是出现了基于FPGA的高度优化和提供了并行处理能力可编程的硬件的安全性解决方案,可以达到所要求的加密处理性能基准。表11软件实现AES_CBC性能比较表解决方案0时钟MHZI数据加密速率说明TMS320C62XX32位定200112MBPS点DSP基于MIPS的64位RISC250392MB芦P篡叫完处理器PENTIUMIII1000464MBPS采用完全一级缓冲并且CPU完全专用于加密处理【HELIONFASTAES核心LF1321536MBPS目标器件VIRTEXII2V10004表11通过基准测试的结果给出了高速数据加密软件方案的性能差距情况。在实现AES数据加密时,即使开发的路由器本身就基于高性能的双64位MIPS网络第2页国防科学技术大学研究生院学位论文处理器,但根据国外测试结果表明,软件加密解决方案仅能达到路由器所要求的最低吞吐速率要求一600MBPSL341。对于商用CPU,AES算法最快的软件实现记录为【14】配置933MPENTIUMLU实现人BRIANGLADMAN加密速率128位密钥325MBITSSEC196位密钥275MBITSSEC256位密钥236MBITSSEC所以如何用硬件技术快速实现AESCBC,成为目前数据加密方面的重要问题。在国外从事此类设计的技术人员很多,不过国内相关的报道很少。国外主要是通过FPGA技术来实现AES算法,目前最快的加密速度已经到了5GBPS以上【3】141,不过用于IPSEC中加密标准AESCBC,最快的报道只有700MBPS。具体的情况请见附录2。如何快速的用硬件实现AES_CBC,成为开发安全路由器一个技术难题。通过查找资料和分析,在实现ALES的技术方面,目前国外流行的硬件开发技术有以下3种方法,下面分别介绍。121加密引擎的引入或作用现在许多公司都在设计一个适应多种加密算法AES以及针对传统应用的专用算法的加密引擎。最终的解决方案必须保持低成本,能够支持千兆位数据速率、并且足够灵活,能够适应未来的算法变化。如图11一I图11加密引擎原理框图图11中给出了加密引擎的框图。唯一的外部接口是LOGICORE32一位66一MHZPCI总第3页国防科学技术大学研究生院学位论文线。所有加密密钥信息和需要加密的数据明文都存储在PCI系统存储器中,并由直接存储器访问DMA控制器传输至FPGA。这种配置允许软件容易地改变加密密钥,这是一项非常重要的安全性措施。DMA读写缓冲利用块RAM来支持实现最优化性能所需要的PCI猝发长读写传输。FPGA中还同时提供了加密数据密文的校验和计算和缓冲,从而可将这一任务从系统软件分流过来,系统软件则在每一DMA传输的结束读取校验和。DMA缓冲器间的主要数据通道是通过加密核心连接起来的。由于写入PCI系统存储器的明文数据流可以分段成多个口数据包,系统软件必须负责创建相应的控制数据结构,详细描述分段的大小、位置、数量,以及所使用的加密类型。这结构在每次加密传输的开始从PCI系统存储器传输到DMA控制器中的一个块RAM中。然后,加密引擎可以读取所有明文片段,利用所选择的算法对它们进行加密,然后再在存储器中重新组装密文片断。在将密文写回存储器的过程中,为每一加密后的片断计算一个校验和,这一数值加到所有片断的总校验和中。这些校验和存储在FPGA中的一个较小的分布式RAM区中,在每次传输结束后由系统CPU读回。专用算法核心在66MHZ时钟下达到了990MBPS的原始加密吞吐速率。AES核心在132MHZ时钟下原始加密吞吐能力达到1536GBPS。加密引擎的FPGA芯片,加密解密速度快。不仅增加了加密算法的可选择性,而且缩短了加密算法的开发周期。然而,提供的接口是PCI单一接口,从理论上说PCI接口要提供超过1GBPS的传输,很难实现,即使你内部的加密解密速度达到10GBPS,也会因为接口数据传输速率的瓶颈,不能满足设计的要求。再说我们设计的加密算法是要用于安全路由器,PCI接口不适合任务要求。从目前国外开发情况来看,加密引擎的开发是针对非反馈模式AES,如果是AESCBC,则加密引擎的加密速度也没有超过700MBPS的报道。122用FPGA快速实现AES在半导体革命的过程中,得益于莫尔定律,即GA器件的密度已经发展到超过1000万系统门的水平。FPGA器件集成了关键的系统级功能,如块存储器、时钟管理、数字控制阻抗匹配、嵌入式乘法器、840MBPSLVDSIO等。随着逻辑密度的增加。对简单功能、复杂DSP算法、网络协议、接口等方面的软IP核心的需求也在迅速增长【8】。FPGA能力的提高带来很多优点,从而使可编程逻辑被越来越多的设计小组所接受。FPGA可以在同一块器件中实现高度硬件并行处理和多种处理能力,这一点是吸引许多系统设计人员考虑采用基于FPGA的解决方案的原因。FPGA提供了无与伦比的计算能力、第4页L雪防科学技术大学研究生I皖学位论文连接能力、灵活性和上市时间优势【26L。可编程芯片与智力产权解决方案包括软外设和连接功能核心,再加上全面的设计资源包括开发工具和套件为未来系统开发提供了一个可编程平台【301。正因为FPGA技术发展迅速,开发环境全面友好,目前FPGA在实际工程应用中被越来越重视,特别适用于高度并行处理的硬件,很适合加密算法的硬件实现,在很短的周期内提供产品131】。用FPGA技术快速实现加密技术的主要思路是根据需要选择一种FPGA芯片,然后用VERILOG开发实现。一般来说开发周期比加密引擎的FPGA长,功能更加单一,针对性更强,可以自己定义接口。实现的方法主要有两种流水线和非流水线。流水线实现的加密算法,速度快,针对AES算法来说,一般能达到5GBITSSEC以上T21。而需要将算法中的循环展开,需要FPGA中有足够的内存和开发空间。而且不能用流水线实现IPSEC中的AESCBC。非流水线实现的非反馈加密算法,速度较快,一般能达到1GBITSSECL4】【5】。但是对于反馈的加密算法,目前报道中最快只有700MBITSSEC附录2。123用ASIC快速实现AESASICAPPLICATIONSPECIFICINTEGRATEDCIRCUIT,需要很高的花费和时间进行半导体结构设计,从行为描述到物理各三极管、二极管及电容的布置,都需要专门设计。需要较强的硬件设计能力和经验。开发周期很长,但产品性能很好,功耗很低小于100MW。适合需求量大的产品开发。对于加密算法,实现方法有两种流水线和非流水线。反馈模式的AES不能用流水线实现,所以最典型实现方式是非流水线方式。从国外的文献报道来看,最快的加密实现速度可以达到229GBITSSECI“。但是解密速度由于受到不对称密钥的影响,所以目前还没有相关的报道解密速度达到1GBITSSEC以上。综合以上三种方法,加密引擎由于接口过于单一,到具体场合应用要做修改,而且里面的AES加密引擎是非反馈的,不适合路由器中IPSEC的数据加密。ASIC开发周期长,需要较高的硬件设计技术和丰富的设计经验。所以选择用FPGA快速实现AESCBC,是一项即有挑战性,又有可能性的硕士研究生课题。如果用FPGA实现1GBITSSEC加密,解密速度,对于开发安全路由器很有意义,而且在完成FPGA设计后,可以进一步开发,用ASIC技术实现AESCBC。达到更高的加,解密速度。13本文的主要工作第5页国防科学技术大学研究生院学位论文本文以开发安全路由器的中实现IPSEC为背景,作者在系统分析安全路由器对数据加密需求的前提下,结合IPSEC中对称加密算法的更新情况,提出了一种适合报文加密的硬件实现AES_CBC的设计,并且用VEFILOG语言,从行为级建模,用FPGA技术快速实现AESCBC。主要完成的工作实现AES算法系统的体系结构设计。对AES算法进行分析、整理,从总体上,规划整个系统的体系结构。根据AES算法的结构情况和系统的实际应用场合,把系统分为五个模块,分别为核心加密模块,输入转换控制模块、输出转换控制模块,进程控制模块和密钥展开模块。快速实现各功能模块。对各个模块实现难度和实现速度进行分析,科学设计各模块的实现电路,尽量降低每个模块的实现逻辑级数,提高速度。针对电路中的关键路径,进行精心设计,降低路径长度。以达到各模块协调工作的目的。用QUARTUS对硬件实现AES进行模拟测试,对各功能块进行模拟测试,确保每个功能块不仅逻辑正确,还要保证每个功能块时序正确。对开发的AES加密系统进行逻辑综合。找出影响系统速度的关键环节,进行电路调整,提高系统的整体性能。并且进行了性能分析,和国外相关实现的性能对比。14本文的组织结构第一章,主要介绍课题的研究背景、研究现状和本文的主要工作。第二章,简单介绍对称加密算法和安全路由器发展现状。简单介绍AESCBC算法及其在IPSEC中的应用情况。分析硬件快速实现AES_CBC的难点。第三章,提出了一种硬件实现AESCBC算法的设计,并且实现了对数据加密和解密报文级并行处理,给出了性能分析和测试。第四章,提出一种在路由器中实现AESCBC的设计,并且进行了性能分析。第五章,对本文的工作进行总结,提出下一步的研究内容。15本文的研究成果本文对硬件实现AES_CBC进行了深入的分析和研究,提出了报文级并行处理的一种流水线实现方案,并且用VERILOG语言编写了程序。调试了源程序,仿真了硬件实现AES_CBC算法的加密解密效率,通过模拟对硬件实现的AES_CBC的性能进行了测试;在仿真器上仿真的结果来看,加密速度达到了1GBPS,解密速度达到了900MBS。是目前相关报道中加解密速度最快的。在设计开发AESCBC期间,撰写了论文AES_CBC算法第6页国防科学技术大学研究生院学位论文在安全路由器中硬件实现技术的研究以第一作者在全国网络和信息安全技术研讨会NETSEC2004上发表论文一篇见附录1。第7页里堕型兰垫查盔兰竺壅生竖堂垡笙苎第二章硬件实现AESCBC算法研究211对称加密算法发展的需要21需求背景1997年4月15日美国国家标准和技术研究所NIST发起了征集AES算法的活动,并成立了专门的AE8工作组,目的是为了确定一个非保密的公开的全球免费使用的分组密码算法。用于保护下一世纪政府的敏感信息并希望成为秘密和公开部门的数据加密标准。AES的基本要求是比三重DES33】快而且至少和三重DES一样安全,分组长度128比特密钥长度为128192256比特。1998年8月20日NIST召开了第一次候选大会并公布了15个候选算法【9】110】。1999年3月22日举行了第二次AES候选会议从中选出5个AES将成为新的公开的联邦信息处理标准FIPSFEDERALLNFORMATIONPROCESSINGSTANDARD1281,用于美国政府组织保护敏感信息的一种特殊的加密算法。美国国家标准技术研究所NIST预测AES会被广泛地应用于组织学院及个人入选AES的五种算法是MARS、RC6、SERPENT、TWOFISH、RIJNDAEL16J。通过对五种算法在安全性、软件实现速度、硬件实现速度和内存开销等方面进行综合测评后,于2000年10月2日选RIJNDALE算法作为AES。RIJNDALE算法在测评中,安全性能表现一般,但能满足NIST提出的要求。而且在硬件实现、软件实现和内存需求方面都是最优【11】【12L。AES算法支持12819225632NB数据块大小、支持12819225632NK密钥长度、结构简单、速度快,2000年由美国NIST采纳为加密算法,被认为是在2010年前不会被攻破的加密算法。由于其易于由硬件快速实现,密钥长且可变,是可靠、稳定的加密算法,很适合路由器加密。因此美国商业、金融业和政府将用AES算法对敏感数据进行加密。RIJNDAEL算法的原形是SQUARE算法,它的设计策略是宽轨迹策略WIDETRAILSTRATEGY,这种策略是针对差分分析和线性分析提出来的一个分组迭代密码,具有可变的分组长度和密钥长度16J。AES被设计成三个密钥长度128192256比特,用于加密长度128192256比特的分组。相应的轮数为101214,RIJNDAEL汇聚了安全性能、效率、可实现性和灵活性等优点,尤其是在无论有无反馈模式的计算环境下的软硬件中RIJNDAEL都显示出其非常好的性能。RIJNDAEL对内存的需求非常低,也使它很适合用于受限制的环境中,RIJNDAEL的操作简单,并可抵御强大和实时的攻击。下面是实现五种算法的性能。下表是软件实现性能比较I表示所需时间最少。第8页国防科学技术大学研究生院学位论文表215种入围算法软件实现开销比较表32一BIR32BITJIIVHXIG|1。IIMRSIIIFIIILLIL1LIIIJRN131一NLT32HITFC,FJA、|LMOLLLHICRIILLH11II【IIII硬件实现了开销情况见表22表225种算法硬件实现开销比较表ALGORITHMSECURITYEN,DEKEYRAMROMHARDWARERSIII5725468BELOWAVERAGERC6III1561060AVERAGESERPENTI1643937BESTRIJNDAELII66980BESTTBWFISHII902808AVERAGEAES与目前正在IPSEC中使用的3DES比较见表23【161正是因为AES的高效和消耗资源少。目前国际上许多公司已经决定用AES算法作为数据加密标准。如RSA公司目前宣布了支持AES。CHECKPOINT软件公司则正在为自家的产品研究AES的BETA版本CISCO公司也已经宣布支持AES;AES已经被因特网工程委员会IETF通过,并确立了RFC3602,对于如何在IPSEC中使用AES,作出了规定和说明。IT业界愿意在网络中使用AES的原因是AES能提供更快的数据加密方法,且与各种不同的产品兼容。没有AES,像无线EMAIL、财务交易和一些特殊应用场合,会需要不同的数据加密技术以适应其特殊需求。遵循AES标准,IT界的最大收益是使产品标准化并降低成本,取得更广的兼容性、更多的创新和更强的灵活性。IT部门要采取的一个重要步骤是,针对要加密的数据处理设备制定方案时,与AES标准兼容并符合AES要求。第9页国防科学技术大学研究生院学位论文表23AES和3DES比较表AES3DES算法类型数据加密I对称BLOCK密码I对称FEISTEL密码密钥大小128、192、256位112位或168位速度高低解密时间假设机器每秒尝试255个密钥1490000亿年46亿年资源消耗低中NIST标准编号FIPS一197FIPS463在我国目前还没有作出规定,对称加密必须使用AES_CBC。但是网络是个互联的世界。如果世界上所有的IT企业都认定了AES。那么我们就必须接受这个规定。就必须在如何快速实现AES_CBC上做研究,确保我们开发的网络安全产品和世界接轨。如何快速实现AES_CBC,对我国网络安全技术开发来说,是一个重要的问题。212安全路由器发展的需要路由器作为担当内部与外部网络之间数据通信的核心设备,其本身的安全性能尤为关键,因为作为网络转接设备的路由器,需要不断接收与发送路由信息及IP数据报,而路由信息与敏感IP数据报的安全正是网络安全防护的核心。与常规路由器产品相比,安全路由器通常具有以下特征采用IPSEC协议【33】;带有包过滤和代理协议的防火墙功能;能够隐藏内部网络拓扑结构支持路由信息与IP数据包加密;能够实现身份鉴别、数据签名和数据完整性验证;具有灵活的密钥配置、支持集中式密钥与分布式密钥管理;可有效防止虚假路由信息的接收与路由器的非法接入;能够阻止非授权人员的入侵等。安全路由器可对指定服务器客户机的数据报进行加密,可支持TELNET、EMAIL、FTP、WWW等,具有节点加密机的功能。IPSEC是一个开放性的安全标准框架,可以在一个公共IP网络上确保数据通信的可靠性和完整性,能够保障数据安全穿越公网而没有被侦听或窃改之虞,为实现通用安全策略所需的基于标准的解决方案提供了理想的应用框架。而且IPSEC的部署极为简便,只需安全通道两端的路由器或主机支持IPSEC协议即可,几乎无需对网络现有基础设施进行任何更动。IPSEC的优势主要表现为可以对所有IP级的通信进行加密和认证,可以为IP提供基于加密的互操作性强、高质量的通信安全,所支持的安全服务包括存取控制、无连接的完整性、数据发起方认证和加密。支持身份鉴别,数字签名和数据完整性验证,而且安全路由器提供的硬件加密比软件加密有更好的传输效率与安全性。安全路由器可通过广域第10页国防科学技术大学研究生院学位论文网与普通路由器或与安全路由器互联构成安全VPN通道。由于安全路由器具有数据加密的功能,局域网上需要传输的数据在通过安全路由器向外发送时,安全路由器会根据一定的加密算法将数据加密,接收到该数据的目标端也要使用相同的算法才能把数据还原。因此,自安全路由器发送的加密IP数据报可以透明地穿越普通路由器和广域网,到达目标安全路由器进行解密,这期间传送的IP数据报均为密文,可有效防止敏感信息的泄露,构成跨越公网的INTRANET。安全路由器能够对所有需要发送的IP包进行重新封装,在原来IP包上封装源和目的网关的IP地址。目的路由器接收到IP包时,先去掉IPSEC增加的IP包头,然后根据IP包的源和目的地址,把该IP包发送到局域网上的目的主机上。这样,大型企业与分支机构间传输的数据即使在公网上被拦截,拦截者也无法通过IP包获取公司内部网络IP地址,从而进一步了解内部网络拓扑结构。目前很多路由器厂商在产品中提供了IPSEE协议。IPSEC协议套件是为INTERNET上用户数据传输提供安全保障的一整套方案。整个套件包括多个标准,其中有规定对数据报文进行封装的各种格式的标准;有对报文进行加密和附加认证信息所采用算法的各种标准;有规定IP协议栈如何处理报文、对报文实施安全策略的标准。除此之外,还定义了密钥交换协议IKE,来为通信双方协商密钥。IPSEE为报文传输提供的安全机制是通过安全联盟SA,SECURITYASSOCIATION实现的。对什么样的报文采用什么样的安全措施,是由安全策略SP,SECURITYPOLICY决定的。通过定义安全策略和配置相应的SA,可以实现VPN和防火墙的功能。随着下一代网络IP协议标准的制定,IPV6也被加入了安全功能。IPV6弥补了IPV4在很多设计上的缺陷,增加了新的功能。它要求任何实现IPV6的路由器都必须强制实现IPSEE,所以一旦IPV6开始部署,其路由器必定具备一定的安全功能。众多路由器厂商对于是否在路由器中添加功能已经达成了共识,越来越多的路由器都具有了一定的安全功能。目前,市场上的安全路由器产品一般分成具有VPN、防火墙或配置加密卡的方式,其产品的功能和性能也就各不相同。可以说如何提供一个安全的网络建设方案,已经成为各大厂商争夺市场的筹码。比如CISCO的SAFE安全解决方案中,就融合了多种设备的安全联动,而不是简简单单的一两款安全产品,对安全提供了完善的支持,包括RADIUS防止未经授权的访问,PPTP提供VPN服务,KERBEROS通过第三方提供的认证服务来确认用户的身份,IPSECIKE,访问控制列表ACL等,成为网络安全非常重要的一个部分。还有一些厂商将防火墙与VPN的功能作为一个安全模块加入到路由器当中,成为我们通用的安全路由器,如凯创公司和迈普公司等。第11页国防科学技术大学研究生院学位论文众多厂商采用VPN技术是因为它为用户提供了一种通过公用网络安全地对企业内部专用网络进行远程访问的连接方式。它采用隧道作为传输通道,这个隧道是建立在公共网络或专用网络基础之上的,如INTERNET或INTRANET。搭建VPN的目的在于解决隐秘数据在公共网络或专有网络上传输时安全性较低的问题。比如,一个企业利用公共网络连接两个子公司,数据在公司内部传输被认为是安全的,而数据在两个子公司之间传输时就无法确保其不被偷听、篡改或冒充。在两个子公司之间铺设专用线路的代价又过于高昂。这时采用VPN技术,在两个子公司之间建立一条安全的数据隧道,既利用了原有的网络设施,降低了成本,又满足所需的安全性。所以,它特别适合远程办公的分支机构与总部进行信息互连,很多安全路由器都针对这方面的需求作了加强。安全路由器是在通用路由器上配置了具有特殊安全功能的专用路由器。与通用的路由器相比,它采用了一些新的安全技术,最突出的就是将IPSEC协议标准融入到产品中。另外,安全路由器内置了传统的VPN和防火墙技术,具有包过滤功能,使流经路由器的信息更加安全可靠。一些安全路由器还在产品中加装了专用的加密卡,提供密钥交换技术和身份认证功能,弥补了通用路由器的不安全性问题。从安全路由器的发展来看,不管是采用VPN技术,防火墙技术,还是IPSEC技术。都要对数据和敏感信息进行加密处理,成为安全加密路由器。加密是一个完整的流程,相对不加密来说,必然要附加一些动作,因此,效率的降低也是必然的,所以会对路由器的整体性能产生影响。如何在对数据加密的同时降低性能影响,或者设计出即使提供加密处理,也不影响路由器性能的设计,成为开发高性能路由器的热点问题。目前在国内普遍的做法就是增加加密卡和加速卡,其实只能解决表面的问题,不能根本解决问题。如果不从路由器的体系结构下手,很难开发出具备高性能的安全加密路由器。特别是如何把建立SA的硬件实现设计和安全路由器的硬件设计融合在一起,提高安全设计在路由器设计中的地位,是目前很多IT企业正在讨论的阔题。在AES_CBC算法成为IPSEC数据加密标准的前提下,3DES必然会被淘汰,AES将成为IPSEC的主要数据加密算法。研究如何在安全路由器中硬件快速实现AES_CBC加密算法,有很大的市场需求,是符合安全路由器发展需求的。22AES算法综述NIST美国国家标准和技术学会已经选择AES高级加密标准替代DES数据加密标准。竞争是公开的,并请求了公众在每一步过程中参与和评论。AESAES,原来叫做RIJNDAEL。AES成为美国政府指定采用的加密算法。预计至少直到下一个世纪AES都将第12页国防科学技术大学研究生院学位论文足够保护敏感非保密的政府信息。同样也预计AES将被商业和金融机构广泛采用。IETFIPSEC工作组已经把AES用作IPSECESP的默认密码算法“3。AES算法有以下特点安全SECURITY非保密的UNCLASSIFIED公开了的PUBLIELYDISCLOSED在全球可以以自由版权获得的能够处理至少128比特大小的块最低能够处理128、192、和256比特大小的密钥。能在各种软件和硬件平台满足计算效率和内存要求,包括智能卡。灵活、简单、且易于实现221AES加密过程介绍下面简单介绍AES工作原理。一次加密过程包括初始化、按轮加密和加密数据输出三个步骤。可以看出对数据的加密其实就是对一个矩阵进行运算。啦P“FBYWSSTATEM1毋OU,UT6RLTL0ZIL4L聍812ZMLLN5I玎9N13L门Z7J6Z开10J门14一1F13Z,|,L订11F订11SO,OSO1SO,2SO3SL,0311SLL2S30SZIS22S3曲0S31S3,233。3OTTTOOTTT4OUTSOLLTL2OUTLD甜“0LLF9OLTRL3OU怨OU如OU,LOOLITL4D“如OLL砰OTDLLLOITT5图21输入数据转换和输出数据转换图把输入的数据转换为一个矩阵的数据,在状态矩阵中对其进行加密,加密完成后输出。下面是AES算法的伪代码。第13页国防科学技术大学研究生院学位论文对状态矩阵的操作包括字节替换、字节移位、列混合和按密钥加密四项操作。可以看下面的图。岛OSO1岛2如JSL,O置1毛一2S13S20IS工2S335JOS31屯2如3图22字节替换示意图SOSC1,O2J毛1S1、2T3OS,S23S20S二L一S3,3S3OS31屯2图23字节移位示意图图24列混合示意图I110TLHDNB50FSOF如。503S1C百_一FOHSC03S10百,、51FTIJ一静SL352FS0_S2RS23S二0S2,OS3CS3BOS3F屯3AES的加密过程如图26图25按轮加密示意图第14页里堕型主垫查查堂型窒圭堕兰垒丝苎循环密钥一般循环循环NR一1次循环密钥循环密钥最后一次循环图26加密原理示意图对加密和解密,AES算法一次循环加密或解密由四个不同的转换组成1通过SBOX进行字节替换SUBBYTES。见图222通过不同的偏移量进行状态矩阵行的移动操作SHIFTROWSSTATE。见图233对状态矩阵的列数据进行混合操作MIXCOLUMNSSTATE。见图244状态矩阵加上一个循环密钥ADDROUNDKEYSTATE,WROUNDNB,ROUND1NBI见图25222加密密钥展开AES的密钥长度可为128、192和256位。对数据进行加密,必须对密钥进行展开。其伪代码如下展开的原理如图27图27密钥展开工作流程图第15页里堕型兰垫查盔堂竺壅圭堕兰笪笙苎图27可知密钥展开表的前NK字由加密密钥来赋值。对接下来的每一字WIWI一1龟抑INK。对于密钥展开表中的字所处的位置是NK的倍数时,在异或运算之前,要进行其他的转换,转换首先对WI1进行字节循环移动ROTWORD0,然后进行查表替换SUBWORD,最后与循环常数RCONI进行异或运算。223解密过程加密过程可以被反向解密,执行相反的次序可以得到简单的AES算法的解密。解密过程的伪代码为第16页国防科学技术大学研究生院学位论文在解密中使用4个单独的转换INVSHIFTROWS0,INVSUBBYTES0,INVNIXCOLUMNS0,和ADDROUNDKEY0来处理状态矩阵。INVSHIFTROWS0,INVSUBBYTES0。INVMIXCOLUMNS0分别是SHIFTROWS0,SUBBYTES,MIXCOLUMNS0的反向过程,解密原理图见图28。这里介绍的伪代码是假设预先知道所有的子密钥的前提下的解密过程。解密子密钥的获得是加密子密钥的反过程,要在路由器中进行解密密钥展开,非常困难,其中的原理请见难点分析。循环密钥最后一次循环图28解密原理示意图23AES_CBC算法及其硬件实现研究23一AESCBE算法研究我们设计的加密芯片最终将用在路由器上,因为耳前所有的路由器中IPSEC中的数据加密都采用块加密模式,常用的块加密模式分为两种,反馈和非反馈。两种模式典型的代表是ECB和CBCT321。ECB是非反馈模式。其工作原理和弊端如下图29AESECB工作原理示意图每个明文块都加密成一个密文块。由于使用相同的密钥,相同的明文块加密成相同的密文块。所以对一段已知的明文来说,完全能构造出一个密码本,其中包含所有的密文组合。如果我们知道一个IP数据包已经进行了加密处理,那么由于密文的头20个字节代表的是IP头,所以可构建个密码本,推断出真实的密钥是什么。第17页国防科学技术大学研究生院学位论文其缺点是不能隐藏明文的模式信息;相同明文形成相同密文同样信息多次出现造成泄漏;对明文的主动攻击是可能的;信息块可被替换、重排、删除、重放;误差传递;仅适合于传输短信息。由此可知非反馈加密不能在路由器的IPSEC中使用,ECB模式不能在IPSEC中使用。CBC是反馈模式,是IPSEC数据加密的模式。从图210可知,第一块数据与一个初始化矢量IV进行XOR运算后,进行加密。从第二块数据开始,取前一个密文块,在对下一个明文块进行加密之前,先对两者执行一次XOR运算。解密过程与加密相反。在IPSEC中,目前定义使用的所有加密算法都属于块加密算法,采用CBC模式图2I0AESCBC加密过程示意图图21LAESCBC解密过程示意图AESCBC优点是能隐藏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版聘请民事法律顾问合同
- 2025年度房地产开发项目地下停车位预售合同范本
- 2025年度艺术品存货质押融资服务协议
- 2025版船舶租赁项目合作协议书下载
- 2025电子商务合同法律风险识别与防范措施研究
- 2025年断桥铝合金门窗行业绿色建筑推广合同
- 2025年智能建筑电气系统维护分包工程合同
- 2025年智能家居产品贴牌生产与品牌运营协议
- 2025版耐寒塑料编织袋采购合同范本版
- 2025版通信设备售后服务合同范本
- 2023年江苏省连云港市灌南县小升初数学试卷
- 绘本分享《狐狸打猎人》
- 中兴ZCTP-SDH传输售后认证考试题库(含答案)
- 义务教育英语课程标准2022年(word版)
- 产品表面外观缺陷的限定标准
- 肾上腺皮质激素课件
- 紧急宫颈环扎术的手术指征及术后管理
- 冻结法原理岳丰田
- Unit 2 Lets celebrate Developing ideas-Writing a letter to express 课件【知识精讲+拓展训练】高中英语外研版(2019)必修第二册
- 新教材高中历史必修中外历史纲要上全册教学课件
- 图标设计与制作PPT完整全套教学课件
评论
0/150
提交评论