(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好在实验室就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)[4] 。
早期的可编程逻辑器件只有可编程只读存贮器(ROM),紫外线可擦除只读存贮器(EPROM)和电可擦除只读存贮器(EEPROM)。其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。这一阶段的产品主要有PAL(可编程逻辑阵列)和GAL(通用阵列逻辑)。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使他们只能实现规模较小的电路。而FPGA和CPLD则都具有体系结构和逻辑单元灵活,集成度高以及实用范围宽等特点。他们可以实现较大规模的电路,编程也很灵活,而且有具有设计开发周期短,设计制造成本低,开发工具先进,标准产品无需测试,质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产。几乎所有应用门阵列,PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。FPGA芯片及其开发系统问世不久,就受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。
综上所述,应用FPGA来设计和实现DES加密系统具有十分重要的现实意义和广阔的应用前景。
1.3本文主要工作及章节安排
1.3.1本文主要工作
本文研究的主要内容就是应用FPGA来设计和实现DES加密系统.具体完成了以下三方面的工作:
I: 完成了DES加密系统的整体设计。整个系统包括DES加密核心模块,UART通信接口模块和BLOCKRAM存储模块。
2: 以EITS2003开发板为硬件开发平台,ISEwebpack为开发软件,用Verilog硬件描述语言设计并且实现了三大模块的具体功能及整体连接。
3: 用PC,串口调试工具,UART通信接口和EITS2003开发板测试并验证了整个系统的功能。
1.3.2章节安排
全文共分五章,各章内容安排如下:
第一章介绍了DES加密系统的研究背景,现状,意义及应用前景。
第二章介绍了DES加密算法原理以及系统的开发环境。
第三章介绍了DES加密系统的设计与实现。整个系统由三大模块组成:DES加密核心,UART通信接口模块和BLOCKRAM存储模块。
第四章对系统进行了性能分析并对系统进行了功能验证。
第五章介绍了DES加密系统在军事通信总站内的应用方案。
本章小结
本章首先介绍了DES的基本概念及特点,然后讲述了DES加密系统的研究背景, 现状,意义及应用前景。本章的最后给出了本文的主要研究工作及各章节的安排。
第二章DES加密算法原理及系统开发环境
2.1 DES加密算法原理
2. 1. 1 DES加密算法原理简介
DES运算的明文(加密前数据)和加密密钥都是64位的,将原始数据经过初始的置换,然后与子密钥(由加密密钥产生)经过一系列迭代运算,最后再经过逆置换,即可到密文(加密后数据)。解密过程与此类似。分组密码是将明文消息编码表示后的数字序列X1,X2,?Xi.划分成长为m的组X=(
X.X01...Xm?1),各组(长为m的矢量)分别在密钥K=(K)
的控制下变换成等长度的输出数字序列(Y?数E?V
×K,Vyy.....y01n?1)(长为n的矢量),其加密函
nn是n维矢量空间。K 为密钥空间,
K
如图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 位作为新序列中的第2位,其他位也都同样地进行序列变换,最后一位数据是原序列的第 7位。
图1中的具体运算如以下算式(1),(2),(3)所示:
[6]
L’=R’ (1)
R=L⊕f(R,K) Kn=KS(n,KEY) (2)
Ln=Rn-1
Rn=Ln-1⊕f(R,Kn) (3)
初始序列变换的逆运算(IIP)如表2所示:
表2-2 IP
序列变换的过程和IP类似。
2.1.3加密函数f
加密函数f的运算框图如图2所示[7]。