1 / 9
文档名称:

DES加密算法.doc

格式:doc   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DES加密算法.doc

上传人:ffy51856fy 2016/3/7 文件大小:0 KB

下载得到文件列表

DES加密算法.doc

相关文档

文档介绍

文档介绍:实现DES 加解密算法实验报告一、 DES 加解密算法问题简介 DES 算法全称为 Data Encryption Standard ,即数据加密算法,它是 IBM 公司于 1975 年研究成功并公开发的。 DES 算法的入口参数有三个: Key 、 Data 、 Mode 其中 Key 为 8个字节共 64 位, 是 DES 算法的工作密钥; Data 也为 8个字节 64 位, 是要被加密或被解密的数据: Mode 为 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, 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位。 LO 、 R0 则是换位输出后的两部分, LO 是输出的左 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,58 26,33,1,41, 9,49,17,57,25, 放大换位表 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10,11, 12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21, 22,23,24,25,24,25,26,27,28,29,28,29,30,31,32, 1, 单纯换位表 16,7,20,21,29,12,28,17, 1,15,23,26, 5,18,31,10, 2,8,24,14,32,27, 3, 9,19,13,30, 6,22,11, 4,25, 在f (Ri,Ki) 算法描述图中, S1,S2...S8 为选择函数, 其功能是把 6bit 数据变为 4bit 数据。下面给出选择函数 Si(i=1,2......8) 的功能表:选择函数 Si S