des程序分析

上传人:xzh****18 文档编号:34348723 上传时间:2018-02-23 格式:DOCX 页数:2 大小:20.29KB
返回 下载 相关 举报
des程序分析_第1页
第1页 / 共2页
des程序分析_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《des程序分析》由会员分享,可在线阅读,更多相关《des程序分析(2页珍藏版)》请在金锄头文库上搜索。

1、DES 程序分析( 3-1)专业班级:信管 1201 学号:311209030107 姓名:吕艳芳 数据加密标准(DES) 是近 30 年来应用的最广泛的加密算法之一。 DES 的产生可以追溯到 1972 年,其前身是 IBM 公司的 Lucifer 算法。后来美国联邦政府采用了这个算法并将其更名为数据加密标准。 DES 是一个块加密算法,其块长为 64 比特。DES 的密钥长度也是 64 比特,但由于其中的第 8、16、24、32、40、48 、56、64 位用作奇偶校验位,所以实际的密钥长度只有 56 比特。DES 利用香农提出的混淆和扩散的概念。 DES 共有16 轮,每一轮都进行混淆和

2、扩散。DES 主要有三个步骤:一是利用初始置换函数 IP 对 64 比特明文块按照表 1 所示进行初始置换。将初始置换的输出分为两半,分别表示为左明文 L0 和右明文 R0。表 1 初始置换表58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 462 54 46 38 30 22 14 6 64 56 48 40 32 24 16 857 49 41 33 25 17 9 1 59 51 43 35 27 19 11 361 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7二是进行 16 轮迭代,迭代规则如下:L i=Ri

3、 ,Ri=Li-1f(R i-1,Ki)。其中 Li,Ri 分别表示第 i 轮的左半部和右半部。f()是运算函数,K i 是长为 48 位的子密钥。子密钥 k1 ,k2 , ,k3 ,k16 是根据 56 比特的密钥 K 计算而来的。每一轮的迭代运算都包含以下五步:密钥变换、扩展置换、S 盒替换、P 盒替换以及异或与交换。第一步:密钥变换由最初的 56 位密钥生成 48 位子密钥。生成的规则如下:将 56 位密钥循环左移一位或两位之后,按照表 2 进行压缩变换,选择其中的 48 位。表 2 压缩变换表14 17 11 24 1 5 3 28 15 6 21 1023 19 12 4 26 8

4、16 7 27 20 13 241 52 31 37 47 55 30 40 51 45 33 4844 49 39 56 34 53 46 42 50 36 29 32第二步:扩展变换由于子密钥为 48 位,但是初始置换的输出为各 32 位的左右两部分。所以需要将 32 位的右明文按照扩展置换表 3 所示扩展为 48 位。48 位的子密钥和 48位的右明文异或运算,将结果送入下一步,及 S 盒替换。表 3 扩展置换表32 1 2 3 4 5 4 5 6 7 8 98 9 10 11 12 13 12 13 14 15 16 1716 17 18 19 20 21 20 21 22 23 24

5、 2524 25 26 27 28 29 28 29 30 31 32 1第三步:S 盒替换S 盒替换是 DES 的核心内容。共有 8 个 S 盒,每个 S 盒具有 6 位输入和 4位输出。那么,S 盒是如何将 6 位输入变成 4 位输出的呢?假设 S 盒的 6 位输入 b1b2b3b4b5b6,取 b1b6(03)作为行数,b2b3b4b5(015)作为列数,取行列的交叉处的数字为 S 盒的输出。第四步:P 盒替换对 8 个 S 盒的 32 位输出按照表 4 所示进行 P 盒置换。表 4 P 盒置换16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 102 8

6、 24 14 32 27 3 9 19 13 30 6 22 11 4 25如此反复,进行 16 轮的迭代。三是末置换。在 16 轮迭代完成以后,再按照表 5 所示进行一次末置换以得到最终的密文。表 5 末置换40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 3138 6 46 14 54 22 62 30 37 5 45 13 53 21 61 2936 4 44 12 52 20 60 28 35 3 43 11 51 19 59 2734 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25以上是 DES 的加密过程,解密过程和加密过程几乎一样。唯一不同的是子密钥的使用顺序不同。在加密过程中子密钥的使用顺序是 K1,K2 ,.,K16,而在解密过程中子密钥的使用顺序是 K16,K15 ,.,K1 。通过以上分析可以看出,DES 加密算法有分组比较短、密钥太短、密码生命周期短、运行速度较慢等特点。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号