当前位置:首页>> >>


基于FPGA的DES算法.rar

收藏

资源目录
    文档预览:
    编号:20181030002151400    类型:共享资源    大小:3.82MB    格式:RAR    上传时间:2018-10-30
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    25
    金币
    关 键 词:
    基于 FPGA DES 算法
    资源描述:
    贵州大学科技学院本科毕业论文(设计) 第 1 页科技学院 2011 届本科毕业论文论文(设计)题目——副标题(可不写)专 业: 通信工程 指导教师: 张荣芬 学生姓名: 代瑞 学生学号: 072004111442 中国﹒贵州﹒ 贵阳2011 年 5 月贵州大学科技学院本科毕业论文(设计) 第 2 页贵州大学科技学院本科毕业论文(设计)诚信承诺书本人郑重承诺:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所完成。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。特此声明论文(设计)作者签名: 专业(班级): 学号: 日 期: 贵州大学科技学院本科毕业论文(设计) 第 I 页目录摘要 .................................................................................................................................IIIAbstract ...........................................................................................................................IV第 1 章 绪论 .....................................................................................................................11.1 课题设计背景 .......................................................................................................11.2 课题设计的目的和意义 .......................................................................................21.3 课题的发展现状和前景展望 ...............................................................................31.4 本课题的基本理论与相关知识点 .......................................................................31.4.1 加密与解密 ................................................................................................31.4.2 单钥密码系统 ............................................................................................31.4.3 分组密码的总体结构 .................................................................................51.4.4 分组密码的安全性 .....................................................................................51.5 论文的组织结构与安排 ......................................................................................6第 2 章 现场可编程门阵列 .............................................................................................72.1 FPGA 简介 ............................................................................................................72.1.1 FPGA 的基本结构 ......................................................................................82.1.2 FPGA 的特点 ..............................................................................................92.2 自顶向下(Top to Down)设计方法 ..................................................................92.3 VHDL 概述 .........................................................................................................112.3.1 VHDL 语言简介 .......................................................................................122.3.2 VHDL 设计的特点 ...................................................................................122.4 系统开发平台 ....................................................................................................132.4.1 QUARTUS 简介 .......................................................................................132.4.2 Quartus II 设计仿真过程 ..........................................................................142.4.3 Quartus II 开发界面 ..................................................................................142.6 小结 ....................................................................................................................15第 3 章 DES 算法研究 .................................................................................................163.1 DES 算法描述 .....................................................................................................16贵州大学科技学院本科毕业论文(设计) 第 II 页3.2 DES 加密过程 .....................................................................................................183.2.1 DES 中的初始置换 IP 与初始逆置换 IP-1 ..............................................183.2.2 密码函数 f.................................................................................................183.3 小结 .....................................................................................................................24第 4 章 DES 算法的 VHDL 描述 .................................................................................254.1 初始置换 IP.........................................................................................................254.2 子密钥生成 .........................................................................................................264.3 密码函数 f..........................................................................................................274.4 其它重要部分 VHDL 描述 ................................................................................284.5 小结 .....................................................................................................................29第 5 章 系统设计与仿真 ...............................................................................................305.1 新建项目 .............................................................................................................305.1.1 输入源程序 ...............................................................................................305.1.2 创建工程 ...................................................................................................315.2 编译 .....................................................................................................................335.2.1 编译 ...........................................................................................................335.2.2 查看编译结果 ...........................................................................................345.3 仿真 .....................................................................................................................345.4 小结 .....................................................................................................................36第 6 章 结束语及展望 ...................................................................................................376.1 总结 .....................................................................................................................376.2 展望 .....................................................................................................................37参考文献 .........................................................................................................................38致谢 .................................................................................................................................39贵州大学科技学院本科毕业论文(设计) 第 III 页基于 FPGA 的 DES 算法摘要随着网络通信技术的发展,如何保护数据传输过程的安全已成为一项急迫的要求。政府部门、金融行业、通信行业、情报等系统都非常重视信息的安全。密码安全技术则是所有安全服务的基础。数据加密是信息安全的重要手段,DES 算法是最有代表性的分组加密算法,简单说来,DES 算法是采用传统的替代和移位的方法加密的分组密码,其算法是对称的,这样既可以用于加密也可以用于解密。目前广泛应用于保密通信中。本文第一章介绍了本课题的课题研究背景,研究意义,以及 DES 算 法的应用前景,还对本课题的基本理论和相关知识做了介绍;接着第二章详细介绍了FPGA 以及 VHDL 语言和 Quartus II 软件开发平台;第三章介绍了 DES 算法的实现和加密过程;第四章概述了 DES 算法的 VHDL 描述;最后,本文的第五章通过了 DES 算法的仿真与测试,得出了电路图和波形图,通过比较加密与解密过程,验证了程序的正确性;文章结尾第六章总结了全文并对 DES 未来的发展做出了展望。关键词: DES 算法; FPGA; VHDL;功能仿真贵州大学科技学院本科毕业论文(设计) 第 IV 页DES Algorithm Based on FPGAAbstractWith the development of the internet communication technology, how to make safe of the data during its transmission is becoming an emergent requisition. Many departments of government, finance, communication, information system are all pay attention to information security. The cipher security technology is the foundation of all the security services. Data encryption is an important method of information security, and DES algorithm is the most representative of grouping encryption algorithm. Simply speaking, DES algorithm is grouping code by using traditional encryption method of replacement and shift, and its algorithm is symmetrical, which can be used for not only encryption but also deciphering. Nowadays, this technology is widely used in secret communication. This paper first chapter presents a this topic research background, meaning, and the application prospect of law DES calculate this subject, but also the basic theory and knowledge are introduced; Then the second chapter introduces the FPGA and VHDL language and Quartus II software development platform; The third chapter presents a DES algorithm implemented and encryption process; The fourth chapter Outlines DES algorithm described VHDL; Finally, this paper of the fifth chapter through the simulation and testing DES algorithm, it is concluded that the circuit diagram and waveform figure, by comparing encryption and decryption process, and verifies the program correctness; The sixth chapter summarizes the end of text and the future development of the DES made prospect Key Words: DES Algorithm, FPGA, VHDL, Functional Simulation贵州大学科技学院本科毕业论文(设计) 第 1 页第 1 章 绪论1.1 课题设计背景随着计算机网络的飞速发展,产生了大量的电子数据。这些电子数据在网络的传输过程中受到了很多威胁。现代密码学的应用保证了电子数据的保密性、完整性和真实性。未作任何处理的消息称为明文,用某种方法伪装消息以隐藏其内容的过程称为加密,加密后的消息称为密文。将密文转换为明文的过程称为解密。密码算法也称密码函数,是用于加密和解密的数学函数。如果算法本身是保密的,这种算法称为受限算法。受限算法不可能进行质量控制或标准化。现代密码学利用密钥解决了加密算法的受限性。基于密钥的算法的安全性在于其密钥的安全性,其算法本身是公开的。基于密钥的算法通常有两类:对称算法和公开密钥算法。对称算法又称为传统密码算法。对称算法的对称性体现在加密密钥能够从解密密钥推算出来,反之亦然。在大多数对称算法中,加解密的密钥是相同的。可见,对称密钥算法的加解密密钥都是保密的。而公开密钥算法的加密密钥是公开的,解密密要是保密的。对称密钥算法又分为两种:分组密码和流密码。分组密码将明文分割为若干个定长的数据块(称为一个分组),每次对一个分组进行处理;流密码又称序列密码,依次对输入每个元素进行处理。DES算法是1977年得到美国政府正式许可的一种用 56位密钥加密64为数据的方法。DES是一种特殊类型的迭代密码,简单说来, DES是采用传统的替代和移位的方法加密的分组密码,其算法是对称的,这样既可以用于加密也可以用于解密。DES用56位密钥对64位的明文数据块进行加密,每次加密可以对 64位的明文数据进行16轮编码,经过一系列替换和移位后,输出完全不同的64位密纹数据。DES 入口参数有3个:Key、 Data、Mode,其中Key为7个字节共56 位(另有8位作为奇偶校验位,这样保证了明文与密钥长度的一致性) ,是DES算法的工作 密钥;Data为8位字节 64位,是要被加密或解密的数据; Mode为 DES的贵州大学科技学院本科毕业论文(设计) 第 2 页工作方式,有两种:加密、解密。 由于DES算法使用 64位的标准算法和逻辑运算、运算速度快、密钥产生容易,因此适合当前大多数计算机上用软件方法实现,同时也适用于专用芯片上。1.2 课题设计的目的和意义DES 的实现方法通常分为软件实现和硬件实现两种。软件实现时速度较慢,软件实现 DES 算法的最快速度不到 150 Mb/s,在某些高速数据传输的场合,数据传输速率达到 1 Gb/s 以上,这样会在很大程度上占用系统资源,造成系统性能的严重下降,而 DES 算法本身并没有大量的复杂数学计算 ,在加/ 解密过程和密钥生成过程中仅有逻辑运算和查表运算,因而,无论是从系统性能还是加/解密速度的角度来看,采用硬件实现都是一个理想的方案。 随着 EDA 技术的迅猛发展,随着现代微电子技术的成熟与完善、可编程逻辑密度的不断提高,面对当今社会对数据在传输过程中的高效安全的需求现状,研究开发更有效的实现方法及其 FPGA(Field Programmable Gate Array,现场可编程门阵列)硬件实现甚至是编解码算法片上系统(SOPC:System on a Programmable Chip)的实现变得势在必行,并且已经逐渐成为可能, ,这无疑增添了人们对加密算法及其硬件实现形式展开研究的热情和信心。采用FPFA/CPLD 可编程器件,可利用计算机软件的方式对目标器件进行设计,而以硬件的形式实现既定的系统功能 。在设计过程中,可根据需要随时改变器件的内部逻辑功能和管脚的信号方式,借助于大规模集成的 FPFA/CPLD 和高效的设计软件,用户不仅可通过直接对芯片结构的设计实行多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量及难度,同时,这种基于可编程芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。DES 算法用 64 位的密钥对 64 位的明文加密,64 位密钥中每 8 位就有一奇偶校验位,不参与运算,因此有效密钥只有 56 位。此外,由于该算法的对称性,其加密和解密运算过程完全相同,只是在迭代运算时子密钥的使用顺序不同利用已有的高密度 FPGA 工具和 EDA 器件,在较短的时间内开发出高质量的相关 IP 模块和高性能的专用芯片,灵活适应市场要求,具有一定的实际意义。贵州大学科技学院本科毕业论文(设计) 第 3 页所以,应用 FPGA 来设计和实现 DES 加密算法具有十分重要的现实意义和广阔的应用前景。1.3 课题的发展现状和前景展望密码技术自古有之。目前,已经从外交和军事领域走向公开,且已发展成为一门结合数学、计算机科学、电子与通信、微电子等技术的交叉学科,使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和确定性,防止信息被篡改、伪造和假冒。信息安全服务依靠安全机制来完成,而安全机制主要依赖于密码技术,因此,密码技术是信息安全的核心。而密码算法(Cryptography Algorithm ,用于加密和解密的数学函数) 又是密码的核心,所以,密码算法是保障信息安全的核心之核心,其重要性不言而喻。为此,世界各国对密码算法的研制都高度重视,1977 年美国 NIST 提出数据加密标准(DES) ,出于政治原因和技术原因, 多种密码算法在世界各国相继出现, 这些算法有:RIJ INDAEL 、MARS 、RC6 、Twofish、Serpent 、IDEA、CS2Cipher 、MMB、CA21. 1 、SKIPJACK、Karn 等对称密码算法以及背包公钥密码算法、RSA、ElGamal 、椭圆曲线密码算法 ( ECC) 、NTRU等非对称密码算法。1.4 本课题的基本理论与相关知识点1.4.1 加密与解密加密技术是基于密码学原理来实现计算机、网络乃至一切信息系统安全的理论与技术基础。简单的说,加密的基本意思是改变信息的排列形式,使得只有合法的接受才能读懂,任何他人即使截取了该加密信息也无法使用现有的手段来解读。解密是我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。1.4.2 单钥密码系统密码学中有两种重要类型的密码系统,单钥(私钥)和双钥(公钥)密码贵州大学科技学院本科毕业论文(设计) 第 4 页系统。在单钥密码系统中,明文的加密和密文的解密是用同样的密钥。直到1976 年 Diffie、Hellman 引入公钥(双钥)密码学之前,所有的密码都是单钥系统,因此单钥系统也称为传统密码系统。传统密码系统广泛地用在今天的世界上,有两种单钥密码体制:流密码和分组密码 [3]。流密码是利用密钥 k 产生一个密钥流 z=z0z1…,并使用如下规则对明文串x=x0x1x2…加密: y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。密钥流由密钥流发生器 f 产生: zi=f(k,σi),这里 σi是加密器中的记忆元件(存储器)在时刻 i 的状态,f 是由密钥 k 和 σi产生的函数 [3]。而分组密码就是将明文消息序列:m ,m ,…,m ,…12k划分为等长的消息组(m ,m ,…m),(m ,m ,…,m ),…121n2n各组明文分别在密钥 k=(k1,k2,…,kt)的控制下,按固定的算法 E 一组一组进k行加密。加密后输出等长密文组(y ,…,y ) , (y ,…,y ),…1m1m2分组密码的模型,如图 1.1 所示 [3]。图 1.1 分组密码的模型它与流密码的不同之处在于输出的每一位数字不只与相应时刻输入明文数字有关,而是与一组长为 m 的明文数组有关。它们的区别就在于有无记忆性(如图 1.2) 。流密码的滚动密钥 z0=f(k,σ0)由函数 f、密钥 k 和指定的初态 σ0完全确定。此后,由于输入加密器的明文可能影响加密器中内部记忆元件的存储状态,因而 σi(i>0)可能依赖于 k,σ0 ,x0,x1, …,xi-1 等参数。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于FPGA的DES算法.rar
    链接地址:http://www.gold-doc.com/p-254693.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    [email protected] 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开