VHDL基于DES数据加密标准的加解密系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

---------------------------------------------------------------范文最新推荐------------------------------------------------------ VHDL基于DES数据加密标准的加解
密系统设计
摘要:本文介绍了一种以DES加密算法为标准的加解密系统的设计方法。

本设计采用DES数据加密技术,在QuartusII软件中使用VHDL语言设计IP置换模块、逆IP置换模块、轮计数模块、密钥生成模块以及轮加密模块构成稳定的加解密系统并对其进行综合仿真以及适配,综合仿真和适配的结果表明该设计在不占用过多资源的情况下实现了对数据的加密和解密功能。

9976
关键词:DES;加密;解密
Design of Encryption System on DES Data Encryption Standard
Abstract:This article discusses the DES encryption algorithm as the standard of a encryption system design.
1 / 11
This design uses DES data encryption technology to design a stable system which is consist of IP replacement model,reverse IP replacement model,count model,key model and encryption model designed by VHDL language in the QuartusII then do system simulation and fit, the result verifies that this design achieved the function to encrypt and decrypt while the encryption system occupied little resources.
Key Words:Data Encryption Standard; Decryption; Encryption
目录
摘要1
引言1
1. 设计原理2
1.1 DES简介2
---------------------------------------------------------------范文最新推荐------------------------------------------------------ 1.2 DES加密运算过程2
1.3 DES解密运算过程9
2. 系统设计10
2.1 系统设计原理10
2.2 系统总体设计10
3. 仿真结果14
4. 结论15
参考文献15
附录17
致谢22
基于DES数据加密标准的加解密系统设计引言
3 / 11
随着我国信息技术的发展和互联网的兴起,电子商务、电子政务、电子金融信息安全问题已经成为了人们关注的焦点,密码学贯穿于信息安全的整个过程,在解决信息的机密性保护、可见别性、完整性保护和信息抗抵赖性等方面发挥着极其重要的作用加密技术是确保信息安全的核心技术是保护数据的重要的工具[1]。

DES的一般设计准则包括;
(1) 随机性性,即输出和输入之间是无规律的;
(2) 完整性,每个输出位都是所有出入位的一个复杂函数;
(3) 雪崩效应,即任意改变输入中的一位,平均要导致一半的输出位被改变;
(4) 非线性,即加密函数对于任何密钥来说全部都是
---------------------------------------------------------------范文最新推荐------------------------------------------------------ 非线性的;
(5) 相关免疫性,即输入是统计上独立于任何输入的子集,它不会与输入的任何子集有关联。

DES中多次重复交替使用代替运算S和换位运算P这两种变换,以此达到混乱和扩散数据的目的[5]。

图1 DES加密算法的结构
明文经过初始置换后顺序改变,然后分成左右各32bit的两组进行之后,右边的那组直接作为下一轮运算的左半部分,而左边组与经过f函数后的数据进行异或运算后作为下一轮的右边组,经过十六次这样的运算之后的两组数据组合在一起输入到逆置换IP中再次经过重新排列后即为所要获得的密文。

1.2.1 初始置换IP
输入64位的明文M(M1,M2,…,M64),经过
5 / 11
IP置换后就得到Z(M58,M50,…,M7)[6]。

例如原来数据前32位都为1后32位都是0,那么经过初始置换之后数据就会变成0000111100001111000011110000111100001111000011110 0001111。

表1 初始置换IP
585042342618102
605244362820124
625446383022146
645648403224168
左移位数1122222212222221
下图为每一轮子密钥产生的详细过程:
---------------------------------------------------------------范文最新推荐------------------------------------------------------
图2 密钥生成框图
以第一轮子密钥的产生为例子,输入数据长度为64位的初始密钥,这串数据经过置换选择1重新排列之后,这其中的56位非校验码的数据被分成各有28位的左右两组,左边的那组向左循环一位,右边一组向右循环一位,循环位移之后的这两组数据又被输入到置换选择2中产生,通过置换选择产生出48位的第一轮子密钥K1,后面的几轮密钥的产生过程与第一轮的是一样的,唯一不同的就是不同的轮密钥产生所经过的循环位移位数是不相同的,每次位移的位数在表2中都被详细地列出来。

1.2.3 DES的轮结构
轮结构主要包括:扩展置换,与48位密钥的异或运算,S盒置换以及P盒置换,它的详细过程如图3所示。

在每一轮变换中的结构和Feistel加密结构一样[8]。

7 / 11
图3 DES轮函数结构框图
轮函数就是DES加密原理图中的f,其过程可以分为四个步骤,首先是右边的32位数据Ri经过E表被置换扩展为48位,然后这48位重新排列之后的数据又和置换选择PC2所产生的48位子密钥Ki进行异或运算,再然后运算的结果被输入到8个六进四出的S 盒之后得到一个32位数据的输出,最后输出的数据最后再经过P置换改变其排列的顺序后即把它作为函数的结果。

该结果再与Li-1进行异或运算就会得到Ri,而Li与Ri-1是一样的。

表3 E置换表
321234545
(4) 任何一个S盒的6位输入中,若其中某一位的输入不发生变化,当其他的5位输入发生变化的时候,
---------------------------------------------------------------范文最新推荐------------------------------------------------------
输出的数里面0与1的数目分布总数一定是近似相等的。

轮函数中的代换/选择盒是由8个S盒组成,S盒将48位的数据均匀分成8组,每组6位,每个S盒的输入是6位,输出是4位,对于Si盒,它的6位输入中,第一位和第六位形成一个两位的二进制数用来选择Si 的行,中间4位用来选择列。

行与列选定后,得到其交叉位置的十进制数,将这个数表示为4位的二进制数就可以得到这一个S盒的输出数据,最后8个S盒出来的数据合起来组成32位的输出。

下面列出了对8个S盒的定义:
表4 S1盒的定义1441312151183106125907 0157414213110612119538 4114813621115129731050
9 / 11
1512824917511314100613 表5 S2盒的定义
1101306987415143115212 表7 S4盒的定义7131430691012851112415 1381156150347212110149 1069012117131513145284 3150610113894511127214 表8 S5盒的定义2124171011685315130149
---------------------------------------------------------------范文最新推荐------------------------------------------------------ 1411212471315015103986
表10 S7盒的定义4112141508133129751061 1301174911014351221586 1411131237141015680592 6111381410795015142312
表11 S8盒的定义1328461511110931450127 1151381037412561101492 7114191214206101315358
11 / 11。

相关文档
最新文档