图3.2的右边是使用56比特密钥的方法。密钥首先通过一个置换函数,然后,对加密工程的每一轮,通过一个左循环移位和一个置换产生一个子密钥。其中每轮的置换都相同,但由于密钥被重复迭代,所以产生的每轮子密钥不相同。
子密钥产生过程
子密钥产生过程的输入,为使用者持有的64位初始密钥。加密或解密时,使用者将初始密钥输入至子密钥产生流程中。首先经过密钥置换A,将初始密钥的8个奇偶较验位去掉。留下真正的56位初始密钥。接着,分为两个28位分组C0及D0,再分别经过一个循环左移函数,连结成56位数据,再按密钥置换B做重排,便可输出K1(48位),依此类推。
要注意的是,密钥置换A的输入为64位,输出为56位;而密钥置换B的输入和输出分别为56位和48位。
1、子密钥产生过程示意图3.3
2、密钥置换A如图3.4
经密钥置换A,K由64bit成为56bit的重新排列,成为C0D0
3、循环左移位数如表3.1
4、密钥置换B如图3.5
经密钥置换B,密钥变为 6×8=48位的轮子密钥。未入选的:9、18、22等密钥置换B是混乱+压缩。
 图3.3 子密钥产生过程
图 3.4密钥置换A
表3.1 循环左移位
轮数    1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
位数    1  1  2  2  2  2  2  2  1 2  2  2  2  2  2 1
图3.5 密钥置换B
3.3.2    初始置换
表3.2 初始置换表
   (a)初始置换表        (b)逆初始置换表
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    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

初始明文按照IP重排;16轮后的密文按照IP-1重排即为最后密文。
3.3.3    DES轮结构
 
图3.6 DES加密算法的轮结构
首先看图3.6的左半部分。将64比特的轮输入分成各为32比特的左右两半,分别记为L和R 。
和Feistel网络一样,每轮变换可由以下公式表示:
Li=Ri-1
Ri=Li-1⊙F(Ri-1,KI)
图3.7扩展变换 (选位表E)
Ri的32bit →48bit两边的是重复选中的
函数F(R,K)的计算过程:
图3.8f(Ri-1,Ki)流程图
3.3.4    DES的S盒定义
图3.9DES的S-盒
F中的代换有8个S盒组成,每个S盒的输入长为6比特、输出长为4比特,其变换由上表定义,每个S盒给出了4个代换(由一个表的4行给出)。
对每个盒Si,其6比特输入中,第1个和第6个比特形成一个2位二进制数,用来选折Si的4个代换中的一个。6比特输入中,中间4位用来选折列。行和列定后,得到其交叉位置的十进制数,将这个数表示为4位二进数即得这一S盒的输出。
3.3.5    DES加密算法的具体步骤
本模块是用来完成电子商务交易过程中传输的数据的DES加密算法。DES加密算法是用64位明文和64位密钥进行相关的运算得到。具体的实现步骤为:
1.    将输入的明文字符转为64位的二进制代码
2.    将输入的密钥字符转为64位的二进制代码
3.    将64位明文二进制进行位变换
4.    将变换后的明文二进制分为左右两个32数组
上一篇:VB+sqlserver学生信息管理系统设计
下一篇:ASP.net中小型酒店管理系统设计+ER图

银行行办公信息服务系统【1544字】

论信息技术茬外语教學中的應用【3270字】

计算机信息管理茬第三方...

网络安全的研究【1797字】

电子商务中信息不對称问题研究【2365字】

用友NC信息系统的实施應用实践研究【3307字】

浅谈校园网安全控制策略【1715字】

志愿者活动的调查问卷表

10万元能开儿童乐园吗,我...

C#学校科研管理系统的设计

神经外科重症监护病房患...

国内外图像分割技术研究现状

医院财务风险因素分析及管理措施【2367字】

公寓空调设计任务书

AT89C52单片机的超声波测距...

中国学术生态细节考察《...

承德市事业单位档案管理...