苏 州 科 技 学 院 实 验 报 告 学生姓名:杨刘涛 学 号:1220126117 指导教师:陶滔 刘学书 1220126114 实验地点:计算机学院大楼东309 实验时间:2015-04-20 一、 实验室名称:软件实验室 二、实验项目名称:DES 加解密算法实现 三、实验学时:4 学时 四、实验原理: DES 算法由加密、子密钥和解密的生成三部分组成
现将DES 算法介绍如下
1.加密 DES 算法处理的数据对象是一组64 比特的明文串
设该明文串为m=m1m2…m64 (mi=0 或 1)
明文串经过 64 比特的密钥K 来加密,最后生成长度为64 比特的密文E
其加密过程图示如下: 图2-1:DES 算法加密过程 对DES 算法加密过程图示的说明如下: 待加密的64 比特明文串 m,经过IP 置换(初始置换)后,得到的比特串的下标列表如下: 表 2-1:得到的比特串的下标列表 IP 58 50 42 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 该比特串被分为32 位的L0 和32 位的R0 两部分
R0 子密钥K1(子密钥的生成将在后面讲)经过变换f(R0,K1)(f 变换将在下面讲)输出32 位的比特串f1,f1 与L0 做不进位的二进制加法运算
运算规则为: f1 与L0 做不进位的二进制加法运算后的结果赋给R1,R0 则原封不动的赋给L1
L1 与R0 又做与以上完全相同的运算,生成L2,R2…… 一共经过16 次运算
最后生成R16 和L16