FPGA的DES加密系统设计方案与实现.docx

上传人:b****5 文档编号:4042763 上传时间:2022-11-27 格式:DOCX 页数:46 大小:1.05MB
下载 相关 举报
FPGA的DES加密系统设计方案与实现.docx_第1页
第1页 / 共46页
FPGA的DES加密系统设计方案与实现.docx_第2页
第2页 / 共46页
FPGA的DES加密系统设计方案与实现.docx_第3页
第3页 / 共46页
FPGA的DES加密系统设计方案与实现.docx_第4页
第4页 / 共46页
FPGA的DES加密系统设计方案与实现.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

FPGA的DES加密系统设计方案与实现.docx

《FPGA的DES加密系统设计方案与实现.docx》由会员分享,可在线阅读,更多相关《FPGA的DES加密系统设计方案与实现.docx(46页珍藏版)》请在冰豆网上搜索。

FPGA的DES加密系统设计方案与实现.docx

FPGA的DES加密系统设计方案与实现

基于FPGA的DES加密系统设计与实现

摘要

随着信息技术的发展,计算机应用渗透到社会生活的各个领域,特别是军事的应用,使人们对信息的依赖程度越来越高,因而信息安全技术显得格外重要。

加密作为信息安全中一个最为有力的武器,正在发挥着重要的作用。

DES(DataEncryptionStandard)加密算法在成为加密标准到今天,经历了长期的考验。

实践证明DES算法的安全性是能够满足大部分的安全要求的。

采用软件方式实现的DES算法会在很大程度上占用系统资源,造成系统性能的严重下降,而DES算法本身并没有大量的复杂数学计算,在加/解密过程和密钥生成过程中仅有逻辑运算和查表运算,因而,无论是从系统性能还是加/解密速度的角度来看,采用硬件实现都是一个理想的方案。

随着微电子技术的发展,可编程逻辑器件由早期的只读存贮器((PROM)发展到今天十分流行并广泛应用的现场可编程门阵列FPGA。

FPGA具有体系结构和逻辑单元灵活,集成度高以及实用范围宽等特点,可以实现较大规模的电路,编程也很灵活,而且设计开发周期短,设计制造成本低,开发工具先进,标准产品无需测试,质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产。

所以,应用FPGA来设计和实现DES加密算法具有十分重要的现实意义和广阔的应用前景。

本文设计实现了一种基于FPGA的DES加密系统。

概括起来,本文主要完成了以下几方面的主要工作:

1:

完成了DES加密系统的整体设计。

整个系统包括DES加密核心模块,UART通信接口模块和BLOCKRAM存储模块。

2:

以EITS2003开发板为硬件开发平台,ISEwebpack为开发软件,用Verilog硬件描述语言设计并且实现了三大模块的具体功能及整体连接。

3:

用PC,串口调试工具,UART通信接口和EITS2003开发板测试并验证了整个系统的功能。

4:

探讨了DES加密系统在军事通信总站内的应用。

关键字:

DES,FPGA,Verilog,UART,B1ockRAM,数据加密

ABSTRACT

Withthedevelopmentofinformationtechnology,theapplicationofcomputerhascomeintosocialanyfield.Especiallyinmilitaryfield,peoplerelyoninformationmoreseriously.Soinformationsecuritybecomesveryimportant.Encryptionasasortofpowerweaponiswidelyusedinthefieldofinformationsecurity.

DES(DataEncryptionStandard)encryptionarithmetichasstoodthelongtestfromwhenitbecametheencryptionstandardtonow.ItisprovedbymuchpracticethatthesecurityoftheDESencryptioncansatisfythevoluminousneedofsecurity.ImplementingtheDESarithmeticbysoftwarewillengrossmuchsystemresourceandmakethesystemfunctiondecline.ButtheDESarithmetichasnotmuchandcomplexmathematicscountandonlyhaslogicoperationandlook-up-tableoperation.So,thinkingfromthepointofsystemfunctionandspeedofencryptionanddecryption,implementingtheDESarithmeticbyhardwareisanidealproject.

Withthedevelopmentofmicro-electronictechnology,theprogrammablelogicdevicedevelopfromearlierROMtoverypopularandextensiveappliedFPGA(FieldProgrammableGateArray)today.TheFPGAhasthecharacteristicofflexiblesystemstructureandlogicunit,highIntegrationandwideapplication.Especially,theFPGAcancarryoutthemorelarge-scalecircuit,programmedflexibly.WhentheengineersusetheFPGAtodesignanddeveloptheproduct,thetimeisshort,thecostislow,thetoolisadvanced,thestandardproductdon'tneedtotest,thequalityissteadyandtheproductcanbeinspectedonline.So,theFPGAiswidelyusedtodesignandmakeproduct.

Therefore,usingtheFPGAtodesignandimplementtheDESencryptionarithmeticisveryimportantanditwillbewidelyusedinmuchfield.Themaincontributionsofthepaperareasfollow:

1:

CompletedthewholedesignoftheDESencryptionsystem.Thewholesystemincludes

theDESencryptioncoremodule,heUARTcommunicationinterfacemoduleandBlockRAMmemorymodule.

2:

UsedtheVeriloghardwaredesignlanguagetodesignandimplementthefunctionandthewholeconnectionofthethreemodulesbytheEITS2003asthehardwaredevelopmentflatroofandtheISEwebpackasthesoftwaredevelopmenttool.

3:

UsedthePC,SCOMAssistant,theUARTcommunicationinterfaceandtheEITS2003developmentplatrooftotestandrerifythefunctionofthewholesystem.

4:

DiscussedtheapplicationoftheDESencryptionsysteminthemilitarycommunicationstation.

Keywords:

DES,FPGA,Verilog,UART,BIockRAM,DataEncryption

摘要…………………………………………..………………………………………………..工

ABSTRACT…………………………………………………………………………………..工工

第一章绪论………………………………………………..………………………………………1

1.1DES的基本概念及特点…………………………………………………………….…..1

1.2基于FPGA的DES加密系统的研究背景,意义,及应用前景………………………..1

1.2.1DES加密系统现状及发展………………………………………………...……..1

1.2.2PLD发展过程………………………………………………..…………………..1

1.3本文主要工作及章节安排…………………………………………………………….....2

1.3.1本文主要工作………………………………………………….……………..…..2

1.3.2章节安排……………………………………………………………………….…..2

本章小结…………………………………………………………………………………..…..3

第二章DES加密算法原理及系统开发环境……………………………………………….……..4

2.1DES加密算法原理……………………………………………………………...………..4

2.1.1DES加密算法原理简介……………………………………………...…………..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软件开发工具ISEWebPack……………………………………..……………..12

2.2.3硬件描述语言VerilogHDL………………………………….………..………..13

本章小结…………………………………………………………………..…………………15

第三章DES加密系统设计与实现……………………………………………………..………..16

3.1DES加密系统设计方案………………………………………………………………..16

3.1.1DES加密核心设计方案………………………………………………………..16

3.1.2通信接口设计方案………………………………………………………….…..17

3.1.3BlockRAM存储模块设计方案…………………………………………...……..18

3.1.4系统设计实现的功能…………………………………………………..….……18

3.2DES加密系统的实现………………………………………………...…………………19

3.2.1DES加密核心模块的实现………………………………………..………...…..19

3.2.2UART通信接口模块的实现………………………………………………..…..21

3.2.3B1ockRAM存储模块的实现………………………………….…………..……..22

3.2.4DES加密系统整体设计结果………………………………….…………..……25

本章小结…………………………………………………………………….………….……31

第四章性能分析与功能验证...................………………………………………….…..................32

4.1性能分析…………………………………………………………………..…….………32

4.1.1DES加密核心的性能分析………………………………………..…….………32

4.1.2整体性能分析……………………………………………………..…………….32

4.2功能验证…………………………………………………………………..…………….33

4.2.1基于ModelSim仿真的功能验证………………………………….……………33

4.2.2实际硬件验证…………………………………….………………..……………34

本章小结………………………………………………………………………..……………36

第五章DES加密系统在军事通信总站内的应用……………………………………………..37

5.1DES加密系统在军事通信总站内的应用背景………………………………………37

5.2军事通信总站用户服务呼叫中心系统结构………………………………………….37

5.3DES加密系统在军事通信总站用户服务呼叫系统中的应用………………………39

本章小结……………………………………………………………………………………40

结束语……………………………………………………………………………………………41

参考文献…………………………………………………………………………………………42

致谢………………………………………………………………………………………………42

第一章绪论

1.1DES的基本概念及特点

数据加密标准(DataEncryptionStandard,DES)[1],作为ANSI的数据加密算法(DataEncryptionAlgorithm,DEA)和IS0的DEA-1,成为一个世界范围内的标准己经20多年了。

尽管它带有过去时代的特征,但它很好地抗住了多年的密码分析,除可能的最强有力的敌手外,对其他的攻击仍然是安全的。

DES是一个分组加密算法,它以64位为分组对数据加密。

64位一组的明文从算法的一端输入,64位的密文从另一端输出。

DES是一个对称算法:

加密和解密用的是同一种算法。

密钥的长度为56位。

(密钥通常表示为64的数,但每个第8位都用作奇偶校验,可以忽略。

)密钥可以是任意的56为的数,且可在任意的时候改变。

其中极少量的数被认为是弱密钥,但能容易地避开它们。

所有的保密性依赖于密钥。

[2]

1.2基于FPGA的DES加密系统的研究背景,意义,及应用前景

1.2.1DES加密系统现状及发展

随着信息技术的发展,计算机应用渗透到社会生活的各个领域,特别是在军事中的应用,使人们对信息的依赖程度越来越大,从而使信息安全技术显得格外重要。

从技术角度讲,网络安全除了依赖安全的网络通信协议及应用协议外,更多地取决于网络设备如交换机、路由器、网桥等所提供的加/解密功能。

目前,基于DES算法的加/解密硬件广泛地应用于军事,卫星通信、网关服务器、机顶盒、视频传输以及其它大量的数据传输业务中。

DES(DataEncryptionStandard)加密技术是一种常用的对称加密技术,该技术算法公开,加密强度大,运算速度快,在各行业甚至军事领域得到广泛的应用。

DES算法从1977年公布到现在已有将近30年的历史,虽然有些人对它的加密强度持怀疑态度,但现在还没有发现实用的破译DES的方法。

并且在应用中,人们不断提出新的方法增强DES算法的加密强度,如3重DES算法、带有交换S盒的DES算法等.因此DES算法在信息安全领域仍有广泛地应用。

采用软件方式实现的DES算法会在很大程度上占用系统资源,造成系统性能的严重下降,而DES算法本身并没有大量的复杂数学计算(如乘、带进位的加、模等运算)[3],在加/解密过程和密钥生成过程中仅有逻辑运算和查表运算,因而,无论是从系统性能还是加/解密速度的角度来看,采用硬件实现都是一个理想的方案。

1.2.2PLD发展过程

当今社会是数字化的社会,是数字集成电路广泛应用的社会。

信息高速公路,多媒体电脑,移动电话系统,数字电视,各种自动化设备以及我们日常的一些小制作都要用到数字集成电路。

随着科学技术的发展,数字集成电路本身也在不断地进行更新换代.它由早期的电子管,晶体管,小规模集成电路,中规模集成电路,大规模集成电路,发展到超大规模集成电路以及许多具有特定功能的专用集成电路。

但是,随着微电子技术的发展,设计与制造集成电路的任务己不完全由半导体厂商来独立承担。

系统设计们更愿意自己设计专用集成电路(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.1DES加密算法原理

2.1.1DES加密算法原理简介

DES运算的明文(加密前数据)和加密密钥都是64位的,将原始数据经过初始的置换,然后与子密钥(由加密密钥产生)经过一系列迭代运算,最后再经过逆置换,即可到密文(加密后数据)。

解密过程与此类似。

分组密码是将明文消息编码表示后的数字序列X1,X2,…Xi.划分成长为m的组

=(

),各组(长为m的矢量)分别在密钥

=(

)的控制下变换成等长度的输出数字序列(

)(长为n的矢量),其加密函数

×

维矢量空间。

为密钥空间,

如图1所示,DES算法是64位明文由一个初始序列变换(IP)开始,经过16轮的加密

运算,再通过初始序列变换的逆变换(IIP)得到所需的密文。

在每一轮中,数列块的右边32

位数据和密钥(KEY)一起传送给函数f,函数f运算的结果再和数列块左边32位数据进行异

或操作。

其中S盒(选择函数)是DES算法的心脏,靠它实现非线性变换[5]。

2.1.2初始序列变换IP

如表1所示:

表2-1IP

IP运算可以描述为将原数据序列中第58位作为新序列中的第1位,原序列中的第50

位作为新序列中的第2位,其他位也都同样地进行序列变换,最后一位数据是原序列的第

7位[6]。

图1中的具体运算如以下算式

(1),

(2),(3)所示:

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-2IP

序列变换的过程和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-3E变换表

每个单独的选择函数S1,S2....,S8,将6位数据块作为输入,并且产生4位数据块作为输出,选择函数S,根据下表进行运算。

表2-4选择函数S1

假设S1是如上表定义的选择函数,B是输入的6位数据块,那么S1(B)定义如下:

B的第1和6位构成0~3的一个数,设它为i。

B的中间4位代表0~15的一个数,设它为j。

在上表中查询第i行,第j列的那个数。

比如,输入6位数据为011011,行是01,表示第1行,列由1101定义,表示第13列。

第l行第13列的数是5,那么输出就0101

选择函数S1,S2....,S8分别如下所示。

表2-5选择函数S

图2-2中的P运算如下表所示:

表2-6P运算

2.1.4子密钥生成

图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-7PC-1

C0和D0定义后,再接着定义Cn和Dn如何从Cn-1:

和Dn-1得到,n=1,2,……,16。

这是根据表7的每个数据块的左移运算完成的。

表2-8左移表

比如,C3和D3分别由C2和D2通过左移两位得到,C16和D16分别由C15和Dl5左移位得到。

为了得到子密钥,Cn和Dn需经过阵列选择变换PC-2的运算[8]a。

PC-2如下:

表2-9PC-2

DES算法的原理和整个过程如上所述。

2.2系统开发环境

2.2.1硬件开发平台EITS2003

EITS2003是多用途EDA(电子设计自动化)开发实验平台,核心器件是Xilinx公司的Spartan-IIE系列的FPGA芯片,可选型号的门阵列规模从5万门到30万门不等.Spartan一IIE基于先进的Virtex-EFPGA架构,专为价格敏感的消费类电子设计,具有强大的功能,可能达到与ASIC相比拟的系统级集成度[9]。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1