[硕士论文精品]混沌变形des算法的fpga设计与实现_第1页
[硕士论文精品]混沌变形des算法的fpga设计与实现_第2页
[硕士论文精品]混沌变形des算法的fpga设计与实现_第3页
[硕士论文精品]混沌变形des算法的fpga设计与实现_第4页
[硕士论文精品]混沌变形des算法的fpga设计与实现_第5页
已阅读5页,还剩83页未读 继续免费阅读

[硕士论文精品]混沌变形des算法的fpga设计与实现.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要摘要随着信息技术的发展和计算机网络的普及,信息安全显得尤为重要。考虑到传统密码学的不足和密码分析者破解水平的不断提升,基于混沌的数据加密技术正成为当前密码学研究的一大热点,并有可能成为密码学新的发展方向。DES作为传统分组密码算法的典型代表,存在密钥空间太小的致命弱点,在穷举密钥攻击下被破译。针对DES密钥空间过小而不能抵抗穷举攻击的问题,本文给出了一种基于混沌映射的密钥空间拓展方法,从而构造了一种混沌变形DES算法。密钥空间拓展方法基于三条原理SHANNON的“一次一密“,“无限密钥空间”及混沌映射系统可构造一个确定性的随机数发器。基于切延迟椭圆反射腔映射混沌系统TDERCS已被理论分析和测试证明具有良好的密码学性质。利用TDERCS混沌系统可产生高度安全的伪随机序列这一特性,将DES的密钥空间从256拓展至2160,从而构成一种近似“一次一密”的混沌变形DES算法,极大地提高了DES抗穷举密钥攻击的能力。基于这种混沌变形DES算法,提出了以现场可编程门阵列FPGA为平台的硬件设计实现方案,依据自顶向下的模块设计方法,根据其特有硬件结构,采用硬件描述语言VHDL完成了整个系统的设计,通过了仿真与适配,完成了硬件调试;详细地论述了系统总体框架及内部模块设计,重点介绍了数据分配器和DES算法实现单元的设计,并在系统中设计加入了异步串行接口,完善了整个系统的模块化,可使系统嵌入到现有的各类密码系统与设备中。关键词混沌,加密,TDERCS,CPRSG,DES,FPGAABSTRACTWITHTHEDEVELOPMENTOFINFORMATIONTECHNOLOGYANDTHEPREVALENCEOFCOMPUTERNETWORK,INFORMATIONSECURITYISAKEYPROBLEMINCONSIDERATIONOFTHEDEFICIENCYOFTRADITIONALCRYPTOLOGYANDTHECEASELESSIMPROVEDABILITYOFCRYPTANALYSIS,DATAENCRYPTIONBASEDONCHAOSHASBECAMEAFOCUSOFRESEARCHANDMAYBEANEWPROSPECTIVEAPPROACHINTHEFUTUREASTHEREPRESENTATIVEOFTRADITIONBLOCKENCRYPTIONALGORITHM,DESHASADEADLYWEAKNESSTHATISTOOSMALLKEYSPACETOPREVENTEXHAUSTATTACKSTOAIMATTHEPROBLEMTHATTHEKEYSPACEOFDESISTOOSMALLTOPREVENTEXHAUSTARACKS,ANEXPANDINGKEYSPACEMETHODISPROPOSEDANDACHAOTICTRANSFORMEDDESALGORITHMISCONSTRUCTEDTHEEXPANDINGKEYSPACEMETHODISBASEDON3PRINCIPLESOFTHESHANNONSIDEA“ONETIMEPAD”“INFINITEKEYSPACE”ANDACHAOTICSYSTEM,WHICHCANMAKEUPOFADETERMINATERANDOMNUMBERGENERATORTANGENTDELAYELLIPSEREFLECTINGCAVITYMAPSYSTEMTOERCSHASBEENPROVEDTOHAVEGOODCRYPTOGRAPHICPROPERTIESBYTHEORETICRESEARCHANDTESTSUSINGTHECHARACTERISTICOFTHEBETTERSECURITYCHAOSPSEUDORANDOMSEQUENCECPRSPRODUCEDBYTDERCS,THEKEYSPACEOFDESINCREASESFROM256TO2160ANDACHAOTICTRANSFORMEDDESALGORITHMSUCHAS“ONETIMEPAD”ISCONSTRUCTED,IMPROVINGTHEABILITYOFPREVENTIONEXHAUSTATTACKSEXTREMELYCONSIDERINGTHESPECIFICSTRUCTUREOFTHEFPGA,ACCORDINGTOTHETOPTOBOTTOMDESIGNMETHOD,THEFPGAIMPLEMENTATIONOFSUCHCHAOTICTRANSFORMEDDESALGORITHMISPRESENTEDUSINGVHDL、FULFILLINGTHESOFTWARESIMULATIONANDHARDWAREDEBUGGING;THEWHOLEANDMODULEDESIGNISDETAILEDLYDISCUSSEDESPECIALLYTHEDESIGNOFDATADISTRIBUTORANDDESUNITS;THESYRSTEMISENABLEDTOBEEMBEDDEDINEXISTINGCRYPTOGRAPHICEQUIPMENTSBYADDINGANUAI玎MODULEKEYWORDSCHAOS,ENCRYPTION,TDERCS,CPRSG,DES,FPGA硕E学位论文术语缩略对照表DESAESIDEADEATDERCSVHDLNBSNISTCPRSCPRSGSOPCPLDFPGACPLDASICCLBLEUAIURTLFIF0FSM术语缩略对照表DATAENCRYPTIONSTANDARDADVANCEDENCRYPTIONSTANDARDINTERNATIONALDATAENCRYPTIONALGORITHMDATAENCRYPTIONALGORITHMTANGENTDELAYELLIPSEREFLECTINGCAVITYMAPSYSTEMVHSICHARDWAREDESCRIPTIONLANGUAGENATIONALBUREAUOFSTANDARDNATIONALINSTITUTEOFSTANDARDSANDTECHNOLOGYCHAOSPSEUDORANDOMSEQUENCECHAOSPSEUDORANDOMSEQUENCEGENERATORSYSTEMONAPROGRAMMABLECHIPPROGRAMMABLELOGICDEVICEFIELDPROGRAMMABLEGATEARRAYCOMPLEXPROGRAMMABLELOGICDEVICEAPPLICATIONSPECIFICINTEGRATEDCIRCUITCONFIGURABLELOGICBLOCKLOGICELEMENTUNIVERSALASYNCHRONOUSRECEIVERTRANSMITTERREGISTERTRANSFERLEVELFIRSTINFIRST0UTFINITESTATEMACHINE111数据加密标准高级加密标准国际数据加密算法数据加密算法切延迟椭圆反射腔映射系统硬件描述语言美国国家标准局美国国家标准与技术研究院混沌伪随机序列混沌伪随机序列发生器片上可编程系统可编程逻辑器件现场可编程门阵列复杂可编程逻辑器件专用集成电路可编程逻辑块逻辑单元异步收发器寄存器传输级先入先出存储器有限状态机原创性声明本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均己在论文中作了明确的说明。作者签名匈毒日期冱亟年卫月业日学位论文版权使用授权书本人了解中南大学有关保留、使用学位论文的规定,即学校有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公众提供信息服务。硕士学位论文第一章绪论11研究背景第一章绪论弟一早珀Y匕计算机网络通信技术的蓬勃发展,给人们的工作和生活提供了巨大的方便,缩短了人与人之间的距离,淡化了国与国之问的界限。但也随之产生了越来越严重的信息安全问题,大量的敏感数据直接通过公共信道进行传递和交换,给非法的第三方提供了盗取、查看、篡改甚至攻击的可能,信息安全已成为当前以及未来相当长时期内亟待解决的一大难题。全世界由于信息系统安全的脆弱性而导致的经济损失逐年上升,安全问题R益严重。信息安全的风险制约着信息的有效使用,并对经济、国防乃至国家的安全带来了威胁。也就是说信息安全对现代社会健康有序地发展,保障国家安全和社会稳定有着重要作用,对信息革命的成败有着关键的影响。密码技术是信息安全技术的核心,它是实现保密性、完整性、不可否认性的关键。111密码学概述提到信息安全,人们首先会联想到密码学。密码学是以研究数据秘密通信为目的的一门科学,即研究对传输信息采取何种秘密的变换以防止第三者对信息的窃取,形成于70年代。密码学的基本思想是对机密信息进行交换,以保护信息在传送过程中不被非法窃取、解读和利用,它的理论基础之一应该首推1949年香农SHANNON发表的保密通信理论【LJ。经过数十年的发展和应用,密码学己逐渐成为一门崭新的、系统的学科门类,成为有些学科的基础,广泛应用于通信安全保密和存储加密等领域。许多密码标准已经广泛融入到了人们的工作、生活之中,如DES、IDEA、AES等密码标准【2J。密码体制的分类方法有很多,一般是通过加密算法与解密算法所使用的密钥是否相同的原则分为对称密钥密码体制和公开密钥密码体制。后者一般基于一个数学上的难题实现,适用于开放的使用环境,可以安全方便的实现数字签名和认证,通常用于密钥的分配与传输上,但对数据加、解密的速度较慢。而前者的安全性基于复杂的非线性变换,由于其加密速度比公钥密码相对较快,因此是目前商业领域比较重要而流行的一种加密体制。硕士学位论文第一章绪论对称密钥密码体制从加密模式上又可分为序列密码和分组密码。序列密码使用密钥短的位串生成长的位串,然后再与明文按位模2相加产生密文,它的安全基于密钥的随机性。如果密钥是真正的随机数,则这种密码体制在理论上就是不可攻破的,这也可以称为一次一密乱码本体制。严格的该体制所需的密钥量不存在上限,且很难得到真正意义上的随机数序列。实际中更多的是采用伪随机数序列。为了提高安全强度,伪随机序列的周期要足够长,并且序列要有很好的随机性,但这也很难做到,因此除了一些高度保密的环境以外,很少使用。应用在网络通信环境中的数据加密方法更多的是采用分组加密体制。分组密码算法通常由加、解密算法和密钥扩展算法两部分组成,密钥扩展算法用于生成M个子密钥。加密算法由一个密码学上的函数厂对数据分组进行一系列变换之后,每次与一个子密钥迭代,总共迭代,次完成一个分组加密。分组密码已成为IPSEE和SSL等相关协议的应用层数据安全保护的主要手段。L、密码学的一些基本概念加密前的信息简称为明文PLAINTCXT,以P或M表示;加密后的信息简称为密文CIPHERTEXT,以C表示;从明文到密文的变换称为加密运算ENCRYPTION,以E表示;从密文到明文的逆变换称为解密运算DECRYPTION,以D表示;密码系统的典型模型如图11所示。公用信秘密信图11密码系统模型加密和解密都是在密钥KEY的控制下进行的,给定一个密钥,就可以确定一个具体的加密变换和解密变换。一个密码体制通常由以下五部分组成1明文空间全体明文的集合。2密文空间全体密文的集合。3加密算法由加密密钥控制的加密变换的集合。4解密算法由解密密钥控制的解密变换的集合。5密钥空间全体密钥的集合,包括加密密钥七,和解密密钥B。2硕十学位论文第一章绪论在密码体制中,要求加密变换和解密变换是一对可逆变换,即对任意的明文M要求有BEMM1一1成立。密钥空间中不同密钥的个数称为密码体制的密钥量,它是衡量密码体制安全性的一个重要指标。如果一个密码体制的加密密钥与解密密钥相同,即11式中屯如则称其为对称密码体制,否则为非对称密码体制。2、密码安全性能分析对于一个密码体制,分析者主要采取以下四种攻击方法【3】1唯密文攻击法破译者只能截获到密文C,欲由密文直接破解出明文。2已知明文攻击法破译者拥有一些明文一密文对惕,C1,M,C2,呢,Q,欲由这些明文一密文对,求出解密密钥,或求出下一个密文CI。3选择明文攻击破译者可选择明文确,M2,搬,由密码系统将其加密为Q,C2,Q,并送回给破译者,破译者据此进行攻击。4选择密文攻击破译者选择一些密文,由密码系统将其解密为明文可能该明文并无任何意义,并送回给破译者,破译者据此进行攻击。以上四种攻击方法的强度依次增强,选择密文攻击方法是破译者获取信息最多和对密码系统最具威胁的一种攻击手段。传统的密码系统,只需密码能抵抗唯密文攻击即可,但现在的密码系统必须经得起选择密文攻击,方可称得上安全。为了确保算法的安全性,一个好的密码体制至少应满足以下两个条件411在己知明文砌和加密密钥屯时,计算CE优容易;在己知密文C和解密密钥K时,计算M眈C容易。2在不知解密密钥岛时,由密文C推知明文M几乎不可能。112数据加密标准发展过程L、数据加密标准DES1972年,国家标准局NBS拟定了一个旨在保护计算机和通信数据的计划,开发一个单独的标准密码算法,1973年公开征集算法,1974年第二次公开征集,IBM的LUCIFER的变形当选,1976年11月宣布成为联邦标准DESL5J,随后投入使用。不久DES的应用范围迅速扩大到美国以外的公司,甚至某些美国的军事部门也使用了DES。DES是世界上第一个公认的实用分组密码算法标准。迄今为止,在针对DES的攻击中最有效的方法还是穷举搜索法,遍历密钥空间。由于计算机硬件的速度越来越快,DES密钥长度太短的缺陷就显露了出来。硕士学位论文第一章绪论最终能在合理的时间内完成对56位密钥的强力攻击【每7】。1987年NBS宣布DES不安全,但由于商业上已广泛使用,且没有合适的方案替代,所以DES还继续使用。进入上世纪九十年代后,另一种由DES衍生出来的算法三重DES,被广泛使用。但是它的安全性并不意味着建立在168位的密钥之上,研究表明,可以将其转化为对112位密钥的攻击。最重要的是,三重DES的加密和解密时间消耗较大,不能很好的适用飞速增长的实时信息加密需求。2000年,原设计寿命10年左右的DES已使用23年,单重已攻击成功。2、高级加密标准AES1997年1月1日,美国国家标准与技术研究所NIST宣布启动高级加密标准AES的开发研究工作,并于同年9月12日正式发出了征集算法的公告。NIST的目标是确定一种保护敏感信息的、公开的、免费的并且全球通用的算法作为AES,以弥补DES退出后,数据加密标准留下的空缺【89J。在征集公告中,NIST对算法作了最低要求算法必须是对称密钥体制的分组密码,并且要支持128位的分组长度和128、192、256位的密钥长度。1998年8月20日,NIST召开了第一次AES候选会议,在会议上宣布了15个AES候选算法,并恳请公众对这15个算法进行评估【LO】。经过一年时间的评估,NIST于1999年8月又召开了第二次候选会议,在这次会议上,NIST宣布从15个候选算法中选出了5个候选算法参加最后的决赛,并再次恳请公众对这5个候选算法进行评估,并规定评估于2000年5月25同结束。为了更好的选出一种候选算法作为AES,NIST在评估正式结束自订的一个多月又召开了第三次AES候选会议,在这次会议上,对各种评估结果作了详细的分析,为AES算法的确定提供了详尽的材料】。2000年10月2日,NIST宣布采用RIJNDAEL算法作为AES,此后NIST授权联邦信息处理标准出版社为AES制定了标准草案用以征集公众的评议,随后在公众评议的基础上对草案进行修改,于2001年11月26日发布了正式的197号标准AES标准【12L,并指出标准生效的具体时间为2002年5月26号,至此经历数年的AES开发研究才大功告成。12数据加密标准DES研究现状121算法研究数据加密标准DES113】,是美国国家标准局NBS于1977年批准通过作为美国数据加密标准文件号为FIPSPUB46,其前身为IBM公司的LUCIFER4硕上学位论文第一章绪论算法。DES作为ANSI的数据加密算法DEA和ISO的DEA1,成为一个世界范围内的标准已经20多年了。DES算法完全符合美国国家标准局提出的数据加密四个要求1提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改。2具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握。3DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。4实现经济,运行有效,并且适用于多种完全不同的应用。DES算法从1977年公布到现在已有30多年的历史,虽然有些人对它的加密强度持怀疑态度,到目前为止,除了用穷举搜索法强力穷举搜索整个密钥空间外,还没有发现更有效的办法破译DES。而56位长的密钥穷举空间为256,这意味着如果一台计算机的速度为每一秒钟检测1000000个密钥,则它搜索完全部密钥就需要将近2285年的时间。虽然“挑战DESCHALL小组”声称已经破译了DES密钥,但是它是把大学、公司,甚至某些政府部门的计算资源汇集起来,协调和分配其强力攻击,这种攻击是非常公开的,同时DES的密钥是静态的实际应用中密钥会不定期修改,所以这并不构成对DES所保护的商业秘密的攻击。尽管它带有过去时代的特征,但它很好地抵抗住了多年的密码分析,除可能的最强有力的敌手外,对其他的攻击仍然是安全的。虽然差分分析和线性分析,特别随着网络和计算机技术发展而发展的穷举密钥方法都给DES致命的打击,但由于DES产品在加密市场上依然占主导地位,还不能在短期内完全更换DES算法。同时DES的另一个突出优点是本身算法的公开性,使得DES算法分析和优化很方便。DES是一个分组加密算法,它以64位为分组对进行数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。DES是个对称算法加密和解密用的是同一种算法,密钥长度为56位密钥通常表示为64位的数,但每个第8位都用作奇偶校验,可以忽略。密钥可以是任意的56位的数,且可在任意的时候改变。其中极少量的数被认为是弱密钥,但容易避开它们,所有的保密性依赖于密钥114J。DES运算的明文加密前的数据和加密密钥都是64位的,将原始数据经过初始的置换,然后与子密钥由加密密钥产生经过一系列迭代运算,最后再经过逆置换,即可得到密文加密后的数据。解密过程与此类似。为了能够继续利用现有的DES芯片,又不削弱其安全性能,密码设计者提出了DES算法的强化思想,提出了多种改进算法,其思想是尽可能增长密钥,硕士学位论文第一章绪论使得穷举密钥攻击失败,主要有以下几种方法L、三重DES算法该算法是由密码专家默克尔MERKLE及赫尔曼HELLMAN推荐的。它的目的是针对标准DES算法中56位长度的密钥不能很好的对抗穷举法破解的缺点来进行改良的,原理是使用3个不同的密钥进行循环加密。即先使用密钥1对明文进行加密产生密文1,使用密钥2对密文L进行加密产生密文2,使用密钥3对密文2进行加密产生密文3,并将密文3作为密文输出。对安全性需要不那么高的数据,密钥1可以等于密钥3,这样使56位的密钥扩展为112因每个密钥只有56位有效位,密钥空间从256拓展到22,使穷举算法无能为力。但这种方法是以牺牲速度为代价,加密时间成倍的增长【B61,并且密钥空问拓展有限,不是一种最好的方法。3DES算法的结构如图12所示。细密,解密图123DES算法结构2、改变DES算法中S盒的设计及顺序的算法【17191在DES算法中S盒的作用是提高算法抗差分分析的能力,它的选择非常重要。如果S盒选择不当会导致只使用几个明文就可以用差分分析的方法进行破解,但同样如果S盒选择得当,也可以增强算法的加密能力,这一点比哈姆和沙米尔已经进行了证明。但是这种方法对于抗穷举破解却没有多少帮助。3、随机化数据加密标准RDES算法1201该算法是日本密码学家NAKAOY,KANEKOT等四人于1996年初提出的一种新的DES改进算法。它没有对DES进行根本性的改造,只是在每轮迭代前的右半部增加了一个随机置换SW,其他均与DES相同,如图13所示。6硕上学位论文第一章绪论图13RDES加密算法NAKAOY等人指出,RDES算法比简单地增加DES的轮数来提高抗差分分析能力的方法更为有效。虽然RDES看起来比DES安全得多,但是使用时仍需慎重,毕竟RDES问世时间太短,随着岁月的流逝,看似安全的算法很可能会被新的密码分析法破译。4、具有独立子密钥的DES算法该算法针对每次迭代时使用相同密钥产生的子密钥进行加密造成的加密能力不强的弱点进行修改。每一次迭代使用不同密钥产生的子密钥进行加密,来增强加密强度。目前有以下几种研究方法1以DES为基础的“一组一密”密码系统模型211将分组密码与流密码技术相结合,增强其安全性。系统模型如图14所示,不同的明文组M运用不同的密钥K进行加密,采用基于RSA的密钥生成器产生密钥。输入己K输MML,M2,图14“一组一密”系统模型CI,岛,输出该生成器的安全性基于大数分解的困难性,要求选用大的整数,因而算法费时,如何提高运算速度是关键问题。2基于LOGISTIC映射的分组密码算法【22】这是一种基于混沌系统的密钥7硕七学位论文第一章绪论空间拓展技术。此算法是利用混沌LOGISTIC映射定时迭代产生的伪随机序列,然后经过变换后作为DES算法的密钥,使其分组加密算法的密钥处于不断的变化中,从而提高加密强度。密钥采用LOGISTIC方程以LAXK1一也K0,L,2,312式中,0,4】,当X0【0,1】,则在迭代之后矗【0,L】。混沌动力学系统的研究指出,当35699456256,则变形算法就实现了DES的密钥空间拓展。这种变形算法仍然是对称的,加密密钥与解密密钥相同,只是密钥位不再是固定不变的,它可以根据实际情况而调整。为了方便,不妨称XO、TGA、M为K的构件。理论上,X。、TGA、M都取实数,因此K是一个无限密钥空间。但实际过程中,由于计算机或数字处理器都是有限自动机,X。、TGA、M只能取有限位有理数,截断效应使得序列218成为长周期的伪随机序列,因此,K仍然是一个有限密钥空间。K的大小与计算机的有效位数、混沌系统参数和初始条件的数目有关,由此可以算出K的实际大小。对于22节所介绍的TDERCS混沌系统,XO【1,1】,TGA00,OO,O05,L】,M2,4,5,6,4097,4098,根据IEEE754标准163】定义的双精度浮点数存储格式,XO、TGA、1的变化位均为52位,为便于混沌系统产生伪随机序列,压缩切延迟参数M的取值范围M2,4,5,6,14,15,M的变化位为4位。因此密钥有效长度共约5252524160位,K2160256。由此可见,密钥空间得到了拓展。研究表明,一个用来实现密钥空间拓展的理想混沌系统,至少应具有以下五条基本性质【22】1系统是离散的;2具有全域混沌特性;3具有全域零相关性;4具有巨大的参数和初值空间;5有极强的抗退化能力。计算速度也是考虑因素之一,但混沌系统一般都能满足速度要求。寻找一个理想的混沌系统是密钥空间拓展技术走向实用的关键。目前还没有发现一个其他的混沌系统能够同时满足这五个安全性条件。已经证明TDERCS混沌系统全部满足上述五个条件,尤其是极强的抗退化能力【571,具有很好的安全性特质。因此,TDERCS是一个用来实现密钥空间拓展的理想混沌系统,可用来构造混沌变形DES算法。硕士学位论文第三章开发语言与开发环境介绍第三章开发语言与开发环境介绍本章详细介绍了进行FPGA设计所采用的开发语言以及开发软件,并给出了作者选择的开发语言、开发环境、芯片和设计方法。31硬件描述语言电子系统的设计主要有原理图输入和硬件描述语言设计两种方法1641。图形输入是设计规模较小的电路时经常采用的方法,这种方法直接把设计的系统用原理图的方式表现出来,具有直观、形象的优点,尤其对表现层次结构、模块化结构更为方便。但图形设计方式要求设计工具提供必要的元件库,以供调用。它适于描述连接关系和接口关系,不适于描述逻辑功能。同时,如果所设计系统的规模比较大,或设计软件不能提供设计者所需的库单元时,这种方法就显得很受限制了,而且用原理图表示的设计、通用性、可移植性也弱一些,所以在现代的设计中,越来越多的采用基于硬件描述语言的设计方式。硬件描述语言HDL是一种用文本形式来描述和设计电路的语言16引。设计者可利用HDL来描述自己的设计,然后利用EDA工具进行综合和仿真,最后变为某种目标文件,再用ASIC或FPGA来具体实现。这种方法已被普遍采用。硬件描述语言发展至今已有20多年的历史,已成功应用于系统开发的各个阶段设计、综合、仿真、验证等。到目前,已有数十种硬件描述语言,当前各芯片制造商都相继开发了用于各自目的的HDL语言,一般面向特定的设计领域与层次,但由于没有标准化,因此通用性较差。最终,VHDL和VERILOGHDL适应了面向多领域、多层次,并得到普遍认同,先后成为IEEE标准。它们都能形式化的、抽象的表示电路的结构和行为,支持逻辑设计中层次与领域的描述,可借用高级语言的特点来简化电路的描述,具有电路仿真与验证机制以保证设计的正确,支持电路描述由高层到低层的综合和转换,便于文档管理,易于理解和移植重用。两者相比,VHDL的语法较为严格,其行为描述能力更强,具有丰富的仿真语句和库函数VERILOGHDL是在C语言的基础上发展起来的,语法较自由,但容易出错。并且VERILOGHDL用户国内相对较少,而VHDL相关的参考书籍及资料较多,有利于开发。因此,本文选用VHDL硬件描述语言对整个系统进行设计。26硕士学位论文第三章开发语言与开发环境介绍32QUARTUSII开发环境目前世界上主要有十多家可编程逻辑器件供应商,最大的三家是ALTERA、XILINX,、LATTICE。每个可编程逻辑器件供应商都为了便于用户开发,提供了自己的一套开发工具。作者选用了市场份额高的厂商ALTERA公司提供的QUARTUSII开发工具,其简单易学、易用、可视化、集成化设计环境等优点为业界所公认。ALTERA公司的QUARTUSII提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统SOPC设计的综合性环境和SOPC开发的基本设计工具。QUARTUSII集成环境166J包括以下内容系统级设计,嵌入式软件开发,可编程逻辑器件PLD设计,综合,布局和布线,验证和仿真。QUARTUSII包含整个FPGA和CPLD设计阶段的解决方案,图31说明了QUARTUSII软件的开发设计流程。图31中所示的上排是QUARTUSII编译设计主控界面,它显示了QUARTUSII自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编装配、时序参数提取以及变成下载几个步骤。在图31的下排的流程框图,是与上面的QUARTUSII设计流程相对照的标准的EDA开发流程。QUARTUSII软件支持VHDL和VERILOGHDL硬件描述语言的设计输入、基于图形的设计输入方式以及集成系统级设计工具。QUARTUSII软件可以将设计、综合、布局和布线以及系统的验证都整合到一个无缝的环境之中,其中还包括和第三方EDAI具的接口。图31QUARTUSII设计流程QUARTUSII软件的优点和主要设计特征首先是基于模块的设计方法提高了工作效率。ALTERA特别为QUARTUSII软件用户提供了LOGICLOCK逻辑锁基于模块的设计方法,便于用户独立设计和实施各种设计模块,并且在将模块集成到顶层工程时仍可以维持各个模块的性能。由于每个模块都只需要进行一次优化,因此逻辑锁流程可以显著缩短设计和验证的周期。硕士学位论文第三章开发语言与开发环境介绍其次,更快集成IP。QUARTUSII的MEGAWIZARDPLUGINMANAGER可对QUARTUSII软件中所包含的参数化模块库LPM或其合作伙伴的IP进行参数设置和初始化操作,从而节省设计输入时间,优化设计性能。再次,在设计周期的早期对IO引脚进行分配和确认。QUARTUSII软件可以进行预先的IO分配和验证操作无论项层的模块是否已经完成,这样就可以在整个设计流程中尽早开始印刷电路板的布线设计工作。同样,设计人员可以在任何时间对引脚的分配进行修改和验证,无需再进行一次设计编译。该软件还提供各种分配编辑的功能,例如选择多个信号和针对一组引脚同时进行的分配修改等,所有这些都进一步简化了引脚分配的管理。最后,支持CPLD、FPGA和基于HARDCOPY的ASIC。除了CPLD和FPGA以外,QUARTUSII软件还使用和FPGA设计完全相同的设计工具、IP和验证方式,支持HARDCOPYSTRATIX器件系列,在业界首次允许设计工程师通过易用的FPGA设计软件来进行结构化的ASIC设计,并且能够对设计后的性能和功耗进行准确的估算。33芯片选择在FPGA硬件实现开发中,选择合适的芯片类型也是设计中一项很重要的工作,是整个设计的基础。其主要过程为L、选择合适的FPGA芯片厂商目前,FPGA芯片厂商较多,选择合适芯片,除经验及实际条件考量外,还应把握以下几个原则1如果需要设计新的产品,尽快完成设计,一般选择开发较为简单的ALTERA或者XILINX的产品2如果产品已经稳定,需要提高稳定性能等,可以选择LATTICE,QUICKLOGIC或者ACTEL公司的反融丝类型或者FLASH类型;3如果产品工作环境较为恶劣如航空航天,需要提高抗干扰性能,一般选择ACTEL。本文设计属于第一种情况,而对于ALTERA和XILINX两家厂商提供的产品,区别不是很大,对于一家厂商的产品,另一家都推出了几乎与之相对应的类型。由于ALTERA的芯片在国内公司、高校及研究所中较流行,参考书籍与资料相对较多,因此,本文设计选取ALTERA厂商提供的产品。2、选择合适的FPGA芯片系列ALTERA的芯片产品比较齐全,主要有FLEXLOK系列、ACEXLK系列、CYCLONE系列和STRATIX系列。STRATIX系列性能高,价格贵,一般应用到高端领域。FLEXL0K系列问世较早,价格不菲,虽然抗干扰性能好,但功耗和体积都较大,规模也有限制。28硕J学位论义第三章开发语言与开发环境介绍ACEXLK是一个比较成功的系列,价格不高,但最大规模仅10万门,升级空间小。CYCLONE系列采用全新的低成本构架,支持多种IO标准,具有丰富的嵌入式存储资源,支持NIOSII系列嵌入式处理器,是目前ALTERA公司性价比最高的FPGA。综合考虑,本文设计选用ALTERA厂商提供的CYCLONE系列FPGA。CYCLONE是一款高密度低成本的FPGA,它是基于I5V、013TM及全铜SRAM工艺,其密度增加至20060个LE,RAM增加至288KB。它具有用于时钟的锁相环,并支持多种IO标准。表31列出了CYCLONE系列器件的性能。表31CYCLONE器件的性能CYCLONE系列器件是一种实现数据路径时性价比比较高的器件。它的架构参考图32,垂直结构的逻辑单元LE、嵌入式存储模块和锁相环以及周围环绕的IO单元,高效的内部连线和低延时的时钟网络保证了每个结构单元之问时钟和数据信号的连通性。蝣ANAY嚣粥凝辫焱ASP乙乞黪LEL2图32CYCLONE器件的架构图磁番KRAMB|铺KS粉ELEMEN貉L移翰硕LJ学位论文第三章开发语言J开发环境介绍3、选择合适的FPGA芯片型号考虑系统规模与产品的升级,本文最终选用逻辑资源为50万门的CYCLONE系列EPLC20F400型芯片。34硬件平台本文课题作为国家自然科学基金“混沌的安全性与安全混沌的研究”项目的一部分,对硬件首次实现混沌变形DES算法进行了有益探索,希望由此开发出一款实验芯片,因而选用通用的硬件开发板。采用由华清远见公司提供的高级FPGA教学实验平台,实际电路板如图33所示,包括核心板与底板。核心板硬件资源包括FPGA芯片EPLC20F400、4MBIT储存量配置芯片EPCS4、384KBYTE高速异步SRAM、8MBYTE高速SDARM、2MBYTE快速FLASH;底板硬件资源包括两个9针RS232串口、8色的VGA接口、PS2鼠标、键盘接口、USB20高速数据接口、USBL1实验接口、LCD接口、12C接口及功能扩展接口。该实验平台能满足本文研究目标的要求。35设计方法图33高级FPGA教学实验平台在电子设计中,其设计方法可分为自顶向下和自底向上两种F671。TOPDOWN设计,即自顶向下的设计。这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,在功能级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,然后用综合工具将设计转化为具体门电路网表。自顶向下的设计方法是从一个抽象的高层次上形成一个设计思想,然后从整体要求出发,实现系统实际内容的细化。从电子工程的角度来看,意味着先30硕十学位论文第三章开发语言与开发环境介绍在功能级定义一个系统,再进行逻辑划分,实现分层后的低层次逻辑。实现后必须进行逻辑功能验证,才能进行版图设计,最后验证设计的具体电路与最初的系统功能描述是否吻合。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。TOPDOWN设计须经过“设计一验证一修改设计一再验证”的过程,不断反复,直到得到的结果能够完全实现所要求的逻辑功能,并且在速度、功耗、价格和可靠性方面实现较为合理的平衡为止。BOTTOMUP设计,即自底向上的设计,这是一种传统的设计思路。这种设计方式一般是设计者选择标准的集成电路,或者将各种基本单元,如各种门电路以及像加法器、计数器等模块做成基本单元库,逐级向上组合。这种方法效率低,容易出错,对整个系统缺乏规划。目前,TOP。DOWN设计更为人们所接受,也为更多的EDA工具所支持,这是由于这种设计思想更符合人们思维的习惯,也容易使设计者对复杂的系统进行合理的划分与不断的优化。利用EDA工具和硬件描述语言HDL,根据产品的特定要求设计性能价格比高的片上系统,是目前国际上广泛使用的方法。与传统的设计方法不同,在设计开始阶段并不一定需要具体的单片微控制器MCU和开发系统仿真器以及带有外围电路的线路板来进行调试,所需要的只是由集成电路制造厂家提供的用HDL描述的MCU核和各种外围器件的HDL模块。设计人员在EDA工具提供的虚拟环境下,不但可以编写和调试汇编程序,也可以用HDL设计、仿真和调试具有自己特色的快速算法电路和接口,并通过综合和布线工具自动转换为电路结构,与制造厂家的单元库、库宏及硬核对应起来,通过仿真验证后,即可投片制成专用的片上系统SOC集成电路。自顶向下的设计方法是面向系统的设计技术,是各方面知识的综合。其关键技术在于系统的仿真、综合和测试。设计者必须站在系统的高度看待一个设计,同时还要在电路设计,对EDA工具工作原理的了解,对微电子有关知识的掌握等方面下一番功夫,才能进行自顶向下设计。自顶向下的设计方法有以下优点能够处理复杂设计,增加设计的可重用性,节省设计时间,提高设计质量。作者在设计中基本上采用自项向下的方法,通过该方法对系统进行划分和分解,在局部单元的实现中,也采用了自底向上的方法以便更有利于设计的实现。硕上学位论文第四章混沌变形DES算法的FPGA整体设计第四章混沌变形DES算法的FPGA整体设计本章详细介绍了混沌变形DES算法的FPGA整体设计。对系统的实现进行了分析,确定了实现方案、参数以及关键技术等,并给出了总体设计框图,描述了系统主控流程。41FPGA实现系统分析FPGA实现的系统分析主要从硬件实现方法的分析、系统的性能参数以及实现系统所涉及的关键技术这几个方面来进行分析和考虑的。41。1硬件实现方法分析基于硬件实现的某种密码算法,首先要用硬件描述语言如VHDL,VERILOGHDL进行系统设计和编码,然后采用专用集成电路方法ASIC或现场可编程逻辑阵列FPGA方法来具体实现。专用集成电路方法耗时较多,同时所需的费用也比较昂贵,而现场可编程逻辑阵列方法则能提供弹性的设计方式,并允许多次清除和重新烧录,可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。密码算法的硬件实现性能指标般可以从数据处理性能特征、功能特征和设计开发过程三个方面来分析1在数据处理性能特征上,专用集成电路方法与现场可编程逻辑阵列方法十分相似,这两种方法都可以并行的处理数据,都支持流水线方法来提高同一时间内数据处理量,并且这两种方法的实现字长都是可变的,只是由于其设计工艺的不同,现场可编程逻辑阵列所实现的密码算法的速度比专用集成电路实现的要慢,但与软件实现相比仍然要快很多。2从功能特征上说,这两种实现方法有较大差别。如果用专用集成电路实现,则功能一确定就不能更改,而现场可编程逻辑阵列只需重新配置就可以实现完全不同的功能但正是这一点,与现场可编程逻辑阵列所实现的密码算法相比,用专用集成电路所实现的密码算法的抗干扰能力较强,由此对密钥的访问控制也较严。3由设计丌发的过程来看,这两种方法系统设计和编程可以采用相同的硕士学位论文第四章混沌变形DES算法的FPGA整体设计硬件描述语言,只是在设计周期、设计所需工具的费用、测试及维护更新的费用上,专用集成电路实现方法比现场可编程逻辑阵列实现方法要昂贵。上面的三类性能指标的比较可见表41。表41ASIC与FPGA实现的性能比较412性能参数一个算法硬件实现的系统结构的优劣需要通过参数指标来衡量,在密码算法的硬件实现中,最为重要的参数是速度和电路面积。1速度硬件实现密码算法中,与速度有关的参数主要有吞吐量、带宽和加解密时延。定义1将单位时间内完成加密或解密的位数称为加密或解密的吞吐量,记为THROUGHPUT。通常一个密码算法的加密和解密过程吞吐量差不多,因此加密和解密的吞吐量可用同一个参数来表示,吞吐量的单位为兆位每秒MBITS。定义2单位时问内完成加密或解密过程的次数为带宽,单位为次每秒1S,记为BANDWIDTH。定义3完成一个分组加密或解密所需的时间称为加密或解密时延,单位为NS,记为LATENCY。记一个分组长度为BLENGTH,完成一个分组加密过程所需的变换轮数为,硕士学位论文第四章混沌变形DES算法的FPGA整体设计令密码算法在同一时刻同时可以处理的分组数为NUMBER矿BSAMETIME则以上三个参数有以下关系THROUGHPUT6一LENGTHXBANDWIDTH4一1BANDWIDTHNUMBEROFBSAMETIMELATENCY42THROUGHPUT6一LENGTHXNUMBEROFBSAMETIMELATENCY43在实际应用中,需要处理加密或解密的数据量往往比较大,由上可知完成所有数据处理所需的时间由吞吐量THROUGHPUT来反应比较适合,因此可用吞吐量来衡量密码算法的速度;如果在实际应用所要处理的数据量较小只有几个分组,可以用吞吐量或时延来衡量密码算法的速度。2电路面积用硬件实现密码算法必须要考虑电路面积的问题,与软件实现不一样,在硬件实现中电路面积直接关系到成本。通常的集成电路设计,若不考虑封装,一般认为集成电路的成本是与电路的面积成正比的。用FPGA实现密码算法,由于FPGA芯片布线和可编程单元的限制,可用的电路面积是有限的。具体实现中可用基本的可编程逻辑块CLB和相关的逻辑阵列来衡量。速度与电路面积这两个参数相互关联,在电路面积一定的情况下,速度也是有限制的。换句话说,密码算法速度的增加肯定要以增加电路面积为代价。413关键技术在本课题的研究中,对系统的FPGA设计主要用到了串并转换、流水线等关键技术,这些技术也是FPGA设计中的关键技术,下面分别介绍。1串并转换串并转换是FPGA设计的一个重要技巧,从小的着眼点讲,它是数据流处理的常用手段,从大的着眼点讲它是面积与速度互换思想的直接体现。串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用寄存器、RAM等实现。对于数量比较小的设计可以采用寄存器完成串并转换。如无特殊需求,应该用同步时序设计完成串并之间的转换。对于排列顺序有规定的串并转换,可以用CASE语句判断实现。对于复杂的串并转换,还可以用状态机实现。2流水线操作流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是“单流向的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入则可以考虑采用流水线设计方法提高系统的工作频率。流水线设计的结构示意图如图41所示34硕士学位论文第四章混沌变形DES算法的FPGA整体设计钲三卜钷D刮三J哥图41流水线设计的结构示意图其基本结构为将适当划分的IV个操作步骤单流向串联起来。流水线操作的最大特点和要求是,数据流在各个步骤的处理,从时间上看是连续的,如果将每个操作步骤简化假设为通过一个D触发器就是用寄存器打一个节拍,那么流水线操作就类似一个移位寄存器组,数据流依次流经D触发器,完成每个步骤的操作。流水线设计时序示意图如图42所示。T斟LL冈型I冲制司图42流水线设计时序示意图流水线设计的一个关键在于整个设计时序的合理安排、前后级接口间数据流速的匹配。这就要求每个操作步骤的划分必须合理,要统筹考虑各个操作步骤的数据流量。如果III级操作时间恰好等于后级的操作时间,设计最为简单,前级的输出直接汇入后级的输入即可。如果前级操作时间小于后级的操作时间,则需要对前级的输出数据适当缓存,才能汇入后级,还必须注意数据速度的匹配,防止后级数据的溢出。如果前级操作时间大于后级的操作时间,则必须通过逻辑复制、串并转换等手段将数据流分流。流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现。另外,对于一个流水线来说,从它第一个输入到达算起,直到有相关的输出出现,这段时间所包含的周期个数就称之为流水线的滞后等待期。流水线的级数并非越多越好,如果流水线划分成的片断级数越多,或者说流水线深度越深,则所需的时钟周期就越短,而等待期就越长。深度适当,时钟下降明显,效率提高;深度太深,效益非但不明显,且等待期呈线性上升。整个流水线处理的延迟比原一一IIII“一“R。厂。RH叫川邸“二郾一“一伦二伦二把伧一S二S二SS圜倒回网Q一一一嵋一钯二伦兰哪硕士学位论文第四章混沌变形DES算法的FPGA整体设计来组合逻辑的延迟总是要大一些,这主要是存储单元需要留有必要的建立和保持时间。但是时钟周期显著降低,因为关键延迟路径长度经过流水处理之后已经与其他模块大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论