文档详情

DES算法实验报告.docx

发布:2024-03-09约1.27万字共19页下载文档
文本预览下载声明

DES算法实验报告

姓 名:王超

学 号:

课程名称:计算机安全技术指导教师:王景中

目录

DES算法实验报告 错误!未定义书签。

目录 错误!未定义书签。

一、 DES算法简介 错误!未定义书签。

二、 DES算法原理 错误!未定义书签。

(一) 加密 错误!未定义书签。

(二) 子密钥Ki(48bit)的生成算法 错误!未定义书签。

三、 流程图 错误!未定义书签。

(一) 加密流程图 错误!未定义书签。

(二) 子密钥生成流程图 错误!未定义书签。

(三) 解密流程图 错误!未定义书签。

(四) 功能流程图 错误!未定义书签。

四、 实验说明 错误!未定义书签。

(一) 运行环境 错误!未定义书签。

(二) 试验目的 错误!未定义书签。

(三) 功能说明 错误!未定义书签。

(四) 程序运行效果图 错误!未定义书签。

五、 主要函数 错误!未定义书签。

六、 小结 错误!未定义书签。

一、DES算法简介

DES(DataEncryptionStandard,DES)起源于1973年美国国家标准局(NBS)征求国家密码标准方案。DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。其密钥长度为56位,明文按64位进行分组,将分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。

DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密,如果Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式作为DES的输出结果。在使用DES时,双方预先约定使用的“密码”即Key,然后用Key去加密数据;接收方得到密文后使用同样的Key解密得到原数据,这样便实现了安全性较高的数据传输。DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。

DES(DataEncryptionStandard) 算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而且常有用 Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的 ,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余热。

二、DES算法原理

(一) 加密

DES算法把64位的明文输入块变为 64位的密文输出块,它所使用的密钥也是64位,其功能是把输入的 64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长 32位,其置换规则见下表:

58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,

1

62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,

57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,

61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,

即将输入的第58位换到第一位,第50位换到第2位,……,依此类推,最后一位是原来的第 7位。L0、R0则是换位输出后的两部分, L0是输出的左32位,R0是右32位,例:设置换前的输入值为 D1D2D3……D64,则经过初始置换后的结果为: L0=D550……D8;R0=D57D49...D7。

经过26次迭代运算后,得到 L16、R16,将此作为输入,进行逆置换,即得到密文输出。逆置换正好是初始置的逆运算,例如,第 1位经过初始

置换后,处于第 40位,而通过逆置换,又将第 40位换回到第1位,其逆置换规则如下表所示:

40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,

38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,

36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,

34,2,42,10,50,18,5826,33,1,41,9,49,17,57,25,

放大换位表

32,1,2,3,4,5,4,

显示全部
相似文档