《基于FPGA的DES加密系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于FPGA的DES加密系统设计与实现.doc(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于FPGA的DES加密系统设计与实现摘要随着信息技术的发展,计算机应用渗透到社会生活的各个领域,特别是军事的应用,使人们对信息的依赖程度越来越高,因而信息安全技术显得格外重要。加密作为信息安全中一个最为有力的武器,正在发挥着重要的作用。DES (Data Encryption Standard)加密算法在成为加密标准到今天,经历了长期的考验。实践证明DES算法的安全性是能够满足大部分的安全要求的。采用软件方式实现的DES算法会在很大程度上占用系统资源,造成系统性能的严重下降,而DES算法本身并没有大量的复杂数学计算,在加/解密过程和密钥生成过程中仅有逻辑运算和查表运算,因而,无论是从系统性能
2、还是加/解密速度的角度来看,采用硬件实现都是一个理想的方案。随着微电子技术的发展,可编程逻辑器件由早期的只读存贮器(PROM)发展到今天十分流行并广泛应用的现场可编程门阵列FPGA 。 FPGA具有体系结构和逻辑单元灵活,集成度高以及实用范围宽等特点,可以实现较大规模的电路,编程也很灵活,而且设计开发周期短,设计制造成本低,开发工具先进,标准产品无需测试,质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产。所以,应用FPGA来设计和实现DES加密算法具有十分重要的现实意义和广阔的应用前景。本文设计实现了一种基于FPGA的DES加密系统。概括起来,本文主要完成了以下几方面
3、的主要工作:1: 完成了DES加密系统的整体设计。整个系统包括DES加密核心模块,UART通信接口模块和BLOCKRAM存储模块。 2: 以EITS2003开发板为硬件开发平台,ISEwebpack为开发软件,用Verilog硬件描述语言设计并且实现了三大模块的具体功能及整体连接。 3: 用PC,串口调试工具,UART通信接口和EITS2003开发板测试并验证了整个系统的功能。 4: 探讨了DES加密系统在军事通信总站内的应用。关键字:DES, FPGA, Verilog, UART, B1ockRAM, 数据加密ABSTRACT With the development of informa
4、tion technology, the application of computer has come into social any field. Especially in military field, people rely on information more seriously. So information security becomes very important. Encryption as a sort of power weapon is widely used in the field of information security. DES (Data En
5、cryption Standard) encryption arithmetic has stood the long test from when it became the encryption standard to now. It is proved by much practice that the security of the DES encryption can satisfy the voluminous need of security. Implementing the DES arithmetic by software will engross much system
6、 resource and make the system function decline. But the DES arithmetic has not much and complex mathematics count and only has logic operation and look-up-table operation. So, thinking from the point of system function and speed of encryption and decryption, implementing the DES arithmetic by hardwa
7、re is an ideal project. With the development of micro-electronic technology, the programmable logic device develop from earlier ROM to very popular and extensive applied FPGA(Field Programmable Gate Array) today. The FPGA has the characteristic of flexible system structure and logic unit, high Integ
8、ration and wide application. Especially, the FPGA can carry out the more large-scale circuit, programmed flexibly. When the engineers use the FPGA to design and develop the product, the time is short, the cost is low, the tool is advanced, the standard product dont need to test, the quality is stead
9、y and the product can be inspected on line. So, the FPGA is widely used to design and make product. Therefore, using the FPGA to design and implement the DES encryption arithmetic is very important and it will be widely used in much field. The main contributions of the paper are as follow: 1: Comple
10、ted the whole design of the DES encryption system .The whole system includesthe DES encryption core module, he UART communication interface module and Block RAM memory module. 2: Used the Verilog hardware design language to design and implement the function and the whole connection of the three modu
11、les by the EITS2003 as the hardware development flat roof and the ISEwebpack as the software development tool. 3: Used the PC, SCOMAssistant, the UART communication interface and the EITS2003 development plat roof to test and rerify the function of the whole system. 4: Discussed the application of t
12、he DES encryption system in the military communication station.Key words:DES,FPGA, Verilog, UART, BIockRAM, Data Encryption摘要.工ABSTRACT.工工第一章绪论. 11. 1 DES的基本概念及特点. .1 1. 2基于FPGA的DES加密系统的研究背景,意义,及应用前景.1 1. 2. 1 DES加密系统现状及发展.1 1. 2. 2 PLD发展过程. .1 1. 3本文主要工作及章节安排.2 1. 3. 1本文主要工作.2 1.3.2章节安排.2 本章小结.3第二章
13、DES加密算法原理及系统开发环境.4 2. 1 DES加密算法原理.4 2. 1. 1 DES加密算法原理简介.4 2. 1. 2初始序列变换IP.5 2. 1. 3加密函数f.6 2. 1. 4子密钥生成.9 2. 2系统开发环境.11 2. 2. 1硬件开发平台E工TS2003.11 2. 2. 2软件开发工具ISE WebPack.12 2. 2. 3硬件描述语言Verilog HDL.13 本章小结.15第三章DES加密系统设计与实现.16 3. 1 DES加密系统设计方案.16 3. 1. 1 DES加密核心设计方案.16 3. 1. 2通信接口设计方案.17 3. 1.3 Bloc
14、kRAM存储模块设计方案.18 3. 1. 4系统设计实现的功能.18 3. 2 DES加密系统的实现.19 3. 2. 1 DES加密核心模块的实现.19 3. 2. 2 UART通信接口模块的实现.21 3.2.3 B1ockRAM存储模块的实现.22 3. 2. 4 DES加密系统整体设计结果.25 本章小结.31第四章性能分析与功能验证.32 4. 1性能分析.32 4. 1. 1 DES加密核心的性能分析.32 4. 1. 2整体性能分析.32 4. 2功能验证.33 4. 2. 1基于ModelSim仿真的功能验证.33 4. 2. 2实际硬件验证.34 本章小结.36第五章DES
15、加密系统在军事通信总站内的应用.37 5. 1 DES加密系统在军事通信总站内的应用背景37 5. 2军事通信总站用户服务呼叫中心系统结构.37 5. 3 DES加密系统在军事通信总站用户服务呼叫系统中的应用39 本章小结40结束语41参考文献42致谢42第一章绪论1.1 DES的基本概念及特点 数据加密标准(Data Encryption Standard, DES)1,作为ANSI的数据加密算法(Data Encryption Algorithm ,DEA)和IS0的DEA-1,成为一个世界范围内的标准己经20多年了。尽管它带有过去时代的特征,但它很好地抗住了多年的密码分析,除可能的最强有
16、力的敌手外,对其他的攻击仍然是安全的。DES是一个分组加密算法,它以64位为分组对数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。DES是一个对称算法:加密和解密用的是同一种算法。密钥的长度为56位。(密钥通常表示为64的数,但每个第8位都用作奇偶校验,可以忽略。)密钥可以是任意的56为的数,且可在任意的时候改变。其中极少量的数被认为是弱密钥,但能容易地避开它们。所有的保密性依赖于密钥。21. 2 基于FPGA的DES加密系统的研究背景,意义,及应用前景1.2.1 DES加密系统现状及发展 随着信息技术的发展,计算机应用渗透到社会生活的各个领域,特别是在军事中的应用,使人
17、们对信息的依赖程度越来越大,从而使信息安全技术显得格外重要。从技术角度讲,网络安全除了依赖安全的网络通信协议及应用协议外,更多地取决于网络设备如交换机、路由器、网桥等所提供的加/解密功能。目前,基于DES算法的加/解密硬件广泛地应用于军事,卫星通信、网关服务器、机顶盒、视频传输以及其它大量的数据传输业务中。 DES (Data Encryption Standard)加密技术是一种常用的对称加密技术,该技术算法公开,加密强度大,运算速度快,在各行业甚至军事领域得到广泛的应用。DES算法从1977年公布到现在已有将近30年的历史,虽然有些人对它的加密强度持怀疑态度,但现在还没有发现实用的破译DE
18、S的方法。并且在应用中,人们不断提出新的方法增强DES算法的加密强度,如3重DES算法、带有交换S盒的DES算法等.因此 DES算法在信息安全领域仍有广泛地应用。采用软件方式实现的DES算法会在很大程度上占用系统资源,造成系统性能的严重下降,而DES算法本身并没有大量的复杂数学计算(如乘、带进位的加、模等运算)3,在加/解密过程和密钥生成过程中仅有逻辑运算和查表运算,因而,无论是从系统性能还是加/解密速度的角度来看,采用硬件实现都是一个理想的方案。1.2. 2 PLD发展过程 当今社会是数字化的社会,是数字集成电路广泛应用的社会。信息高速公路,多媒体电脑,移动电话系统,数字电视,各种自动化设备
19、以及我们日常的一些小制作都要用到数字集成电路。随着科学技术的发展,数字集成电路本身也在不断地进行更新换代.它由早期的电子管,晶体管,小规模集成电路,中规模集成电路,大规模集成电路,发展到超大规模集成电路以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务己不完全由半导体厂商来独立承担。系统设计们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好在实验室就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD
20、)4 。 早期的可编程逻辑器件只有可编程只读存贮器(ROM),紫外线可擦除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)。其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。这一阶段的产品主要有PAL(可编程逻辑阵列)和GAL(通用阵列逻辑)。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使他们只能实现规模较小的电路。而FPGA和CPLD则都具有体系结构和逻辑单元灵活,集成度高以及实用范围宽等特点。他们可以实现较大规模的电路,编程也很灵活,而且有具有设计开发周期短,设计制造成本低,开发工具先进
21、,标准产品无需测试,质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产。几乎所有应用门阵列,PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。FPGA芯片及其开发系统问世不久,就受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。综上所述,应用FPGA来设计和实现DES加密系统具有十分重要的现实意义和广阔的应用前景。1.3本文主要工作及章节安排1.3.1本文主要工作 本文研究的主要内容就是应用FPGA来设计和实现DES加密系统.具体完成了以下三方面的工作: I: 完成了DES加密系统的整体设计。整个系统包括DES加密核心模块,UART通信接口模块和B
22、LOCKRAM存储模块。 2: 以EITS2003开发板为硬件开发平台,ISEwebpack为开发软件,用Verilog硬件描述语言设计并且实现了三大模块的具体功能及整体连接。3: 用PC,串口调试工具,UART通信接口和EITS2003开发板测试并验证了整个系统的功能。1.3.2章节安排 全文共分五章,各章内容安排如下: 第一章介绍了DES加密系统的研究背景,现状,意义及应用前景。 第二章介绍了DES加密算法原理以及系统的开发环境。 第三章介绍了DES加密系统的设计与实现。整个系统由三大模块组成:DES加密核心,UART通信接口模块和BLOCKRAM存储模块。 第四章对系统进行了性能分析并对
23、系统进行了功能验证。第五章介绍了DES加密系统在军事通信总站内的应用方案。本章小结本章首先介绍了DES的基本概念及特点,然后讲述了DES加密系统的研究背景,现状,意义及应用前景。本章的最后给出了本文的主要研究工作及各章节的安排。第二章DES加密算法原理及系统开发环境2.1 DES加密算法原理2. 1. 1 DES加密算法原理简介 DES运算的明文(加密前数据)和加密密钥都是64位的,将原始数据经过初始的置换,然后与子密钥(由加密密钥产生)经过一系列迭代运算,最后再经过逆置换,即可到密文(加密后数据)。解密过程与此类似。分组密码是将明文消息编码表示后的数字序列X1,X2,Xi.划分成长为m的组=
24、(),各组(长为m的矢量)分别在密钥=()的控制下变换成等长度的输出数字序列()(长为n的矢量),其加密函数,是维矢量空间。 为密钥空间, 如图1所示,DES算法是64位明文由一个初始序列变换(IP)开始,经过16轮的加密运算,再通过初始序列变换的逆变换(IIP)得到所需的密文。在每一轮中,数列块的右边32位数据和密钥(KEY)一起传送给函数f,函数f运算的结果再和数列块左边32位数据进行异或操作。其中S盒(选择函数)是DES算法的心脏,靠它实现非线性变换5。2. 1. 2初始序列变换IP如表1所示:表2-1 IP IP运算可以描述为将原数据序列中第58位作为新序列中的第1位,原序列中的第50
25、位作为新序列中的第2位,其他位也都同样地进行序列变换,最后一位数据是原序列的第7位6。 图1中的具体运算如以下算式(1),(2),(3)所示:L=R (1)R=Lf(R,K)Kn=KS(n,KEY) (2)Ln=Rn-1Rn=Ln-1f(R,Kn) (3)初始序列变换的逆运算(IIP)如表2所示:表2-2 IP序列变换的过程和IP类似。2.1.3加密函数f加密函数f的运算框图如图2所示7。图2-2加密函数f的运算框图E运算是一个函数,它将32位输入数据扩充为48位的数据块作为输出。E(R)的前三位在R中的位置分别是32, 1和2,而E(R)中的最后两位则分别是R中是第32和1位。表2-3 E变
26、换表每个单独的选择函数S1 ,S2. ., S8 ,将6位数据块作为输入,并且产生4位数据块作为输出,选择函数S,根据下表进行运算。表2-4选择函数S1 假设S1是如上表定义的选择函数,B是输入的6位数据块,那么S1(B)定义如下:B的第1和6位构成03的一个数,设它为i。B的中间4位代表015的一个数,设它为j。在上表中查询第i行,第j列的那个数。比如,输入6位数据为,行是01,表示第1行,列由1101定义,表示第13列。第l行第13列的数是5,那么输出就0101 选择函数S1 ,S2. ., S8分别如下所示; 表2-5选择函数S图2-2中的P运算如下表所示:表2-6 P运算2.1.4子密
27、钥生成 图2-3子密钥生成 首先,64位的密钥KEY通过阵列选择变换操作PC-1,成为48位数据。这48位数据又被分成两个部分,第1部分为C0,第2部分为D0。如果KEY的数据从1到64进行标号,那么C0就分别是KEY的57, 49, 41, ,44和36位,同样地,D0分别是KEY的63, 55, 47,,12和4位。表2-7 PC-1C0和D0定义后,再接着定义Cn和Dn如何从Cn-1:和Dn-1得到,n=1,2, ,16。这是根据表7的每个数据块的左移运算完成的。表2-8左移表 比如,C3和D3分别由C2和D2通过左移两位得到,C16和D16分别由C15和Dl5左移位得到。为了得到子密钥
28、,Cn和Dn需经过阵列选择变换PC-2的运算8 a。PC-2如下: 表2-9 PC-2DES算法的原理和整个过程如上所述。2.2系统开发环境2. 2.1硬件开发平台EITS2003 EITS2003是多用途EDA(电子设计自动化)开发实验平台,核心器件是Xilinx公司的Spartan-IIE系列的FPGA芯片,可选型号的门阵列规模从5万门到30万门不等.Spartan一IIE基于先进的Virtex-E FPGA架构,专为价格敏感的消费类电子设计,具有强大的功能,可能达到与ASIC相比拟的系统级集成度9。 平台在设计中兼顾了试验与科研开发的需要,在提供了大量可用IO同时,采用核心芯片“嵌入式”
29、的架构,使得可以在Spartan-IIE多种型号间自由选择所需的目标芯片。这种主芯片嵌入式结构,连同平台设计中采用的其他耐用性措施,使得平台具有灵活的使用方式,长期的使用寿命和低廉的维护费用。EITS2003实验平台在FPGA周围提供了丰富的资源:有串口,PS/2接口,VGA接口,LED和七段数码显示管,拨码开关和按钮,AT89S52单片机,SRAM, 12C, A/D, D/A转换,扬声器,电源,时钟晶振等10。EITS2003的用户可以在PC机上通过并口对FPGA进行配置,也可以使用板上的单片机配合EEPROM来配置FPGA。EITS2003的性能与特点:*可编程逻辑器件Xilinx Sp
30、artan-IIE系列FPGA-XC2S100E,PQ208封装,10万门,其他兼容可选的FPGA规模从5万门到30万门不等。*板载晶体震荡器,50MHz频率,可选购晶振频率从l0MHz到100MHz: *六个按钮和一个八路拨码开关,可用作通用地逻辑输入;*八个LED和四个七段数码管,可用来显示FPGA和单片机的输出信息; *标准RS232接口,可方便的连接PC及其他工业设备; *标准PS/2接口,用来外联键盘或鼠标,扩展输入设备; *标准VGA接口,可显示64种颜色; *集成Xilinx PBI型并口下载接口,允许PC机下载配置文件; *ADC电路,把FPGA的数字信号转换成模拟信号输出;
31、*板载Atmel S系列的AT89S52单片机,可减轻FPGA编程负担,也可独立进行单片机实验,AT89S52不需要编程器,在线可编程; *I2C EERPROM-24C256,提供另一种通用存储方式; *恒定直流供电,分为5V, 3. 3V, 1.8V o 实物图如下: 图2-4 EITS2003实验开发板2. 2. 2软件开发工具ISE WebPackEITS2003选用的软件是Xilinx公司提供的ISE5.2 WebPack,加上配合ISE使用的ModelSim Xilinx Edition(MXE)5.6E11。WebPack是基于Xilinx工SE的一个软件套件,提供了原理图输入,
32、综合,布局布线,编程下载等功能。在仿真方面,Mentor公司的Model Technology为Xilinx ISE专门定制T一个Xilinx版本的ModelSim,称为ModelSim Xilinx Edition(MXE)。 MXE可以用来做逻辑仿真(前仿真),也可以做精确的布局布线后仿真(后仿真)。配合MXE的仿真,ISE WebPack提供T基于GUI的TestBench生成工具,方便直观的生成用户想要的测试模块。下面是WebPack结合MXE的典型设计流程: 图2-5 WebPack典型设计流程 1:根据设计思路进行逻辑输入,可以选择的有:使用ECS进行原理图输入,使用Design
33、Entry进行硬件描述语言输入(VHDL, Ver i logHDL, ABEL),使用StateCAD进行状态机转换图的输入。 2:使用MXE进行功能仿真,仿真时可以自己单步控制逻辑量的变化,也可以用语言写一个TestBench来进行仿真,还可以使用WebPack中提供的TestBench生成工具HDLBencher来用图形化的界面生成一个TestBencho 3:使用Xilinx ISE WebPack中集成的XST综合工具进行逻辑综合。 4:在布局布线这个步骤中,对FPGA来说,有四个步骤: 1) Translate一解释设计,执行规则检查。 2) Map一对不同的目标器件来计算和分配资
34、源。 3) Place and Route一对可配置逻辑块进行布局,使用布线资源. 4) Configure一生成可以下载编程的Bit流文件。 5:在布局布线后,也可以使用与功能仿真相同的TestBench来对设计进行仿真,这称为后仿真。后仿真结合了布局布线的因素,可以精确的反映下载后芯片内部的执行情况,可以观测逻辑变量的延迟情况,毛刺,冒险竞争等。 6:使用WebPack集成的IMPACT工具进行下载芯片。2. 2. 3硬件描述语言Yerilog IiDL 硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自
35、己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构12。 硬件描述语言HDL的发展至今己有20多年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层次,而且众多的语言使用户无所适从。因此,急需一种面向
36、设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,VHDL和Verilog HDL语言适应了这种趋势的要求,先后成为IEEE标准。 Verilog.HDL是一种应用广泛的硬件描述语言,可以用于从算法级,门级到开关级的多种抽象层次的数字系统设计。 Verilog HDL是在1983年,由GDA (Gateway Design Automation)公司的PhilMoorby首创的。Phil Moorby后来成为Verilog-XL的主要设计者和Cadence公司的第一合伙人。在19841985年,Phil Moorby设计出T第一个名为Verilog-XL的仿真器;19
37、86年,他对Verilog HDL的发展又作出了另一个巨大的贡献:提出了用于快速门级仿真的XL算法。 随着Verilog-XL算法的成功,Verilog HDL语言得到迅速发展。1989年,Cadence公司收购 GDA公司,Verilog HDL语言成为Cadence公司的私有财产。1990年,Cadence公司决定公开Verilog HDL语言,于是成立了OVI (Open Verilog International)组织,负责促进Verilog HDL语言的发展。基于Verilog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准,即Verilog HDL
38、1364-1995; 2001年发布了Verilog HDL 1364-2001标准。在这个标准中,加入了 Verilog HDL-A标准,使Verilog有了模拟设计描述的能力。 从语法结构上看,Verilog HDL语言与C语言有许多相似之处,并继承和借鉴了C语言的多种操作符和语法结构。下面列出的是Verilog HDL硬件描述语言的一些主要特点:l 能形式化地表示电路的结构和行为。l 借用高级语言的结构和语句,例如条件语句,赋值语句和循环语句等,在VerilogHDL中都可以使用,既简化了电路的描述,又方便了设计人员的学习和使用。l 能够在多个层次上对所设计的系统加以描述,从开关级,门级
39、,寄存器级到功能 级和系统级,都可以描述。设计的规模可以是任意的,语言不对设计的规模施家任何限制。l Verilog HDL具有混合建模的能力,即在一个设计中各个模块可以在不同设计层次 上建模和描述。l 基本逻辑门,例如and, or和nand等都内置在语言中;开关级结构模型,例如pmos和nmos等也被内置在语言中,用户可以直接调用。l 用户定义原语创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是 时序逻辑原语。Verilog HDL还具有内置逻辑函数。 Verilog HDL语言最大的特点就是易学易用,通过学习和使用,可以在最短的时间内掌握该语言。另外,该语言的功能强大,可以满足
40、各个层次设计人员的需要,从高层的系统描述到地层的版图设计,都可以很好的支持。由于Verilog HDL巨大的优越性,使得它广泛流行,尤其是在ASIC设计领域,更是处于主流地位。在美国,日本等国家,Verilog HDL语言也一直是使用最为广泛的硬件描述语言,其使用人数大大超过其他语言的使用人数。在国内,Verilog HDL的应用群体也在不断扩大,越来越多的人使用该语言进行设计和仿真。本章小结本章先介绍了DES加密算法的基本原理,然后介绍了本系统开发的环境,包括硬件,硬件开发平台EITS2003,软件开发工具ISE WebPack和3硬件描述语言Verilog HDL。第三章DES加密系统设计与实现3.1 DES加密系统设计方案整个系统包括DES加密核心,UART通信接口和BLOCKRAM存储模块三大功能块,DES加密核心即对DES算法的硬件实现,以在合理的资源占用下实现尽可能高的性能为目标;而UART通信接口则负责加密核心与外界通信链路之间的数据吞吐。由于外界通信链路的速率不尽相同,如何协调加密核心与通信接口之间的数据率也是一个值得考虑的问题。FPGA内部的B1ockRAM主要起到两方面作用:1、缓冲数据;2, UART与DES模块之间的位宽转换。3.1.1 DES加密核心