基于VHDL语言的DES加密算法设计_第1页
基于VHDL语言的DES加密算法设计_第2页
基于VHDL语言的DES加密算法设计_第3页
基于VHDL语言的DES加密算法设计_第4页
基于VHDL语言的DES加密算法设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 /20 /20范文最新推荐基于VHDL语言的DES加密算法设计摘要DES算法,广泛应用于信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等领域。本论文将对DES加密算法的原理进行详细的描述和分析,提出分模块设计思想,用一个组合逻辑模块来实现算法每次迭代内部的运算,用一个状态机来控制好迭代次数以及乘积交换步骤,用一个单独的模块来完成子密钥的产生,用顶层模块控制算法的流程,并调用子密钥产生模块和组合运算模块完成算法功能。最后将给出基于VHDL语言实现DES加密算法系统的分模块设计过程,完成之后将对算法系统进行仿真以验证算法的正确性。7956关键词DES算法加

2、密VHDL毕业设计说明书(论文)外文摘要TitleDESencryptionalgorithmdesignbasedonVHDLlanguageAbstractDESalgorithm,iswidelyusedintheareaofPINencryptedtransmissionofcreditcardholders,two-wayauthenticationbetweentheICcardandPOS,financialtransactiondatapacketMACverification.Thispaperwillgiveadetaileddescriptionandanalysisto

3、theprincipleoftheDESencryptionalgorithm.Itwillputforwardpointsmoduledesignthought,anduseaportfoliologicmoduletoachieveeachiterationalgorithmofinternaloperation,astatemachinetocontroltheiterationtimesandproductexchangesteps,asinglemoduletocompletethesonofkeygeneration.Finally,takeatop-levelmoduletoco

4、ntrolalgorithmprocess,andcallthesonproducemodulesandthekeycombinationoperationmodulefunctioncompletealgorithm.Atlast,useVHDLlanguagerealizaeDESencryptionalgorithm.Afterthecompletionofthealgorithm,simulationsystemwillbeusedtoverifythecorrectnessofthealgorithm.KeywordsDESAlgorithmencryptionVHDL目次1引言12

5、DES算法的原理42.1DES算法原理4跨入21世纪,人类社会已经进入了信息时代,信息已经成为最重要的资源,信息的保密问题就越来越重要了。无论是个人信息通信还是电子商务的发展,都迫切需要保证信息传输的安全以及保证信息的安全。其中,数据加密是信息安全的核心。数据加密就是把信息隐藏起来,使隐藏后的信息在传输的过程中,即使被窃取或截获,窃取者也不能了解信息的内容,从而保证了信息传输的安全以及信息的安全。数据加密技术是一门学科,它集合了数学、计算机科学、电子与通信等学科于一身。加密技术发展到今天,主要分为对称加密和非对称加密。其中,对称加密是指使用同样的密钥对数据进行加密和解密。4本文讨论的DES算法

6、就是对称加密的一种加密技术,而且也是最重要的一种加密技术之一。3上世纪五十年代以来,密码学研究领域出现了最具代表性的两大成就。其中之一就是1971年美国学者塔奇曼(Tuchman)和麦耶(Meyer)根据信息论创始人香农(Shannon)提出的“多重加密有效性理论”创立的,后于1977年由美国国家标准局颁布的数据加密标准。在20世纪60年代末IBM设计了一个由HorstFeistel领导的计算机密码编码学方面的研究项目,这个任务在1971年结束时研制出了一种称为LUCIFERFEIS73算法,这个算法卖给了伦敦的劳埃德保险公司,用于一个也是由IBM所研发的现金分配系统。DES密码实际上是Luc

7、ifer密码的进一步发展。它是一种采用传统加密方法的区组密码。它的算法是对称的,既可用于加密又可用于解密。4 /20范文最新推荐1973年美国标准局NBS(NationalBureauofStandards)征求国家密码标准方案,IBM就提交了其Tuchman-Meyer项目的结果。这是当时提出的最好的方法。美国国家标准局于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES密码算法要求)主要为以下四点:DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空

8、间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见,这是难以实现的,当然,随着科学技术的发展,当出现超高速计算机后,我们可考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。7虽然56位密钥的DES算法已经风光不在,而且常有用DES加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余热。目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的

9、保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。8在电子商务蓬勃发展的今天,电子银行、网上交易和网上支付变得日益频繁。各种针对网络的犯罪活动成为信息时代的一个特征,给国家和企业以及个人带来了极大的损失,如何保护这些网络的敏感信息,最大限度的减少损失成为一个关注的课题。加密作为信息安全中一个最为有力的武器,正在发挥着重要的作用。DES算法(数据加密标准)在1981年被ANSI(美国国家标准研究所)正式批准为加密的标准。DES算法是典型的对称加密算法,也是第一个公开源代码的、非基于算法保密性的加密算法,在成为加密标准到今范文最新推

10、荐天,DES算法经历了长期的考验,实践证明DES算法的安全性是能够满足大部分的安全要求的。尽管目前DES算法已经出现很多变型算法,如3DES(三重DES算法),但基础仍然是DES算法本身。在新一代的因特网的安全标准IPSEC协议集中已经把DES-CBC(分组的DES算法)作为默认的加密算法。由此可见,对DES算法的研究是具有很大的现实意义的。92.1.1子密钥产生器子密钥产生器的具体结构在图2中没有画出,但可以看到,每次迭代使用的密钥长度均为48bit,且16次迭代中使用的48bit密钥均不同。下面说明如何从64bit的初始密钥得到16个互不相同的48bit子密钥。11DES算法中输入的密钥长

11、度为64bit,其中8bit用于奇偶校验,实际有效的密钥长度为56位。而16次迭代是在16个子密钥(48bit)的控制下进行的。子密钥k(i),(i=116)的产生框图如图2-3所示。64bit的初始密钥经过PCI置换选择后分为28bit的两组数据,分别存储于寄存器C和D中。PCI表如图4所示。其中,第&16,32和64位在置换过程中被删除了,因而不出现在图2-4中。各次迭代中,寄存器C和D分别将所存储的数据进行左循环移位置换,各次迭代的移位次数如表2-1所示。表2-1循环移位次数第i次迭代12345678910111213141516循环左移位数1122222212222221每次移位后,将

12、寄存器C和D中所存储的数据合并为56bit,并进行置换选择II,通过置换后,56bit的数据,范文最新推荐, /20将变为48bit。置换选择II表如表2-2所示。至此,16个48bit的子密钥kk(16)已经生成,可应用于各次迭代运算中。下面,根据图2-2所示的DES算法流程图,分别介绍各步骤的运算规则。5951433527191136153453729211356355473931231572.1.3选择扩展运算E选择扩展运算将右边的32bit数据扩展成48bit数据,具体规律如表2-4所示。表2-4选择扩展运算E32123454567898910111213121314151617161

13、718192021202122232425242526272829282930313212.1.4加密运算加密过程是将扩展运算得到的48bit数据与子密钥产生器输出的48bit子密钥逐位模2相加,输出仍为48bit。2.1.5选择压缩运算S它将来自加密运算的48bit数据自左到右分为8组,每组6bit。然后并行送入8个S盒,每个S盒都是一个非线性变换网络,输出4bit数据,如图2-5所示。其中,每个S盒将6bit的输入经过代换输出4bit数据。以S1盒为例,说明其中的代换方法。例如,当输入为110010时,可确定行号为2(10),列号为(1001),确定的数字为12,因此,输出矢量为1100。

14、其他7个S盒的代换表分别如下:S2:15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10丄3,15,4,2,11,6,7,12,0,5,14,9,S3:10,0,9,14,6,3,15,5,1,13,12异,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8异

15、,4,15,14,3,11,5,2,12,S4:7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,S5:2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,11,8,12

16、,7,1,14,2,13,6,15,0,9,10,4,5,3,S6:12,1,10,15,9,2,6,8,0,13,3,4,14异,5,11,10,15,4,2异,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13,S7:4,11,2,14,15,0,8,13,3,12,9,7,5,10,6丄13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6

17、,11,13,8,1,4,10异,9,5,0,15,14,2,3,12,S8:13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11,2.1.6置换选择P置换运算是将S1盒到S8盒输出的32bit数据依次合并后再进行坐标变换,具体规律如表2-6所示。表2-6置换选择P表16720212912281711523265183110331419491757

18、252.2DES解密方法DES算法的解密与加密大致相似,区别仅仅在于第一次迭代时使用子密钥k(16)、第二次k(15)、最后一次使用k(1),算法本身并没有任何变化。3DES算法的VHDL实现3.1总体设计DES算法的原理比较复杂,因而用VHDL实现也具有一定的难度。幸运的是,DES算法每次迭代内部的运算都可以用组合逻辑实现。系统控制部分只要控制好迭代次数以及乘积交换步骤即可,而子密钥的产生由单独的模块来完成。系统的总体框图如图3-1所示。其中,组合电路模块完成每次迭代中的逻辑运算,包括选择扩展运算E、密钥加密运算、选择压缩运算S、置换运算P和左右分组异或运算。这些运算都是组合逻辑可以完成的,

19、不需要时钟信号的控制,因此将它们集成到一个统一的模块中。而16次迭代过程的管理和控制由时序电路来完成,该时序电路可以描述为一个状态机,依次完成读原始密钥、读数据、循环迭代控制和输出结果控制等功能。子密钥产生模块在时序控制电路的控制下,根据当前迭代次数,产生子密钥提供给组合电路模块。123.2子密钥产生模块如图3-2所示,子密钥产生模块的输入为原始密钥64bit,模块才艮据当前迭代次数产生相应的子密钥。才艮据图2-3和图2-4,子密钥的产生是一个纯组合逻辑过程,运算类型只有置换和移位两种,且子密钥由原始密钥和当前迭代次数唯一确定。因此,子密钥的数据最终表现为原始密钥的置换(去除原始密钥的第8,16,32,64位)。因而,可以直接用信号赋值语句实现子密钥的产生和输出。13下面先分别描述各运算的内部功能,最后将它们全部连接起来,构成组合逻辑运算模块block_top。3.3.1选择扩展运算E选择扩展运算的实现非常简单,只要按照表2-4所示,将输入的32bit数据映射到输出即可。为了描述的方便,程序将输出的48bit分为8组,每

温馨提示

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

评论

0/150

提交评论